gst/: Update GstTagSetter and GstTagMergeMode documentation. Mention that tags can...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gsttaglist.h:
4         * gst/gsttagsetter.c:
5           Update GstTagSetter and GstTagMergeMode documentation. Mention
6           that tags can come from events and from application. Fix example.
7
8 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
9
10         * docs/design/part-TODO.txt:
11         Remove the seqnum entry that we implemented in 0.10 already.
12         Add entry about removing the format return value for queries.
13
14 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
15
16         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17         (gst_base_sink_init), (gst_base_sink_set_property),
18         (gst_base_sink_get_property):
19         Expose the render-delay as a property so things like appsink can use it
20         to tweak the synchronisation.
21
22 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
23
24         * libs/gst/check/gstcheck.h: Allow check tests to use
25         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
26         CK_FORK=no to be used with multiple check test that use threads.
27
28 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
29
30         * gst/gstutils.c: (gst_element_get_compatible_pad):
31         Fix a caps memory leak introduced by the last change.
32
33 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
34
35         * gst/gstutils.c: (gst_element_get_compatible_pad):
36         Check if the caps of the pads are compatible before returning
37         a pad and claiming it is compatible. This, among other things,
38         fixes a bug with gst-launch where an incompatible pad is chosen
39         and linking fails. Fixes bug #544003.
40
41 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
42
43         * libs/gst/check/gstcheck.c: (gst_check_init):
44         Revert accidentially commited patch for bug #404631 which
45         tries to print a backtrace if a testcase is terminated by
46         a signal. This code was never activated as the corresponding
47         configure.ac change wasn't committed.
48
49 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
50
51         * tests/check/libs/controller.c: (GST_START_TEST):
52         This test should return TRUE now as syncing an uncontrolled
53         object will succeed now (there's nothing to sync).
54
55 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
56
57         * libs/gst/controller/gstcontroller.c:
58           Aggregate return value for gst_controller_sync_values(). More info in
59           logging. Always set values on first sync-call.
60
61         * libs/gst/controller/gstcontrolsource.c:
62           Microoptimizations.
63
64         * libs/gst/controller/gsthelper.c:
65           Fix return code and comment.
66
67 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
68
69         * tools/gst-launch.1.in:
70           Fix description of how to specify a type in caps. Fixes #553873.
71           Also ranges and list contain values and not property-assignments.
72
73 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
74
75         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
76         Check for changed pads-list before checking the last returned
77         GstFlowReturn because the pad could have been removed and we
78         need to ignore the value in that case.
79
80 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
81
82         * libs/gst/base/gstbasetransform.c:
83         (gst_base_transform_prepare_output_buffer),
84         (gst_base_transform_getrange), (gst_base_transform_chain):
85         * libs/gst/base/gstbasetransform.h:
86         Add vmethod that is called before we start the transform and which can
87         be used to configure the transform, such as dynamic properties.
88
89 2008-12-05  David Schleef  <ds@schleef.org>
90
91         * gst/gst.c:
92         Search for plugins on win32 based on the location of the
93         gstreamer DLL.  Fixes #548786
94
95 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
96
97         * configure.ac:
98         Apparently AC_CONFIG_MACRO_DIR breaks when using more
99         than one macro directory, reverting last change.
100
101 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
102
103         * configure.ac:
104         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
105         our M4 macros.
106
107 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
108
109         Patch by: Cygwin Ports maintainer
110                   <yselkowitz at users dot sourceforge dot net>
111
112         * autogen.sh:
113         * configure.ac:
114         Require gettext 0.17 because older versions don't mix with libtool
115         2.2. At build time an older gettext version will still work.
116         Fixes bug #556091.
117
118 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         Patch by: 이문형 <iwings at gmail dot com>
121
122         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
123         Adds support for FD_CONNECT event (win32). See #562258.
124
125 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
126
127         * libs/gst/base/gstbasesink.c:
128           Turn comment into gtk-doc comment.
129
130 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
131
132         * libs/gst/base/gstbasetransform.c:
133         (gst_base_transform_acceptcaps):
134         Revert quick accepcaps attempt, it's not fully equivalent to the old
135         behaviour and thus causes regressions.
136
137 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
138
139         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
140         Fix memory leak.
141
142 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
143
144         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
145
146         * gst/gstregistry.c: (gst_registry_scan_path_level):
147         Reduce the number of stat() calls for every file from three times
148         to one time. Fixes bug #560360.
149
150 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
151
152         * libs/gst/base/gstbasetransform.c:
153         (gst_base_transform_acceptcaps):
154         Rename a variable to make the code clearer.
155
156 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
157
158         * plugins/elements/gstidentity.c:
159         Don't warning on offset==-1. Taken from _check_imperfect_offset().
160
161 2008-11-21  Michael Smith <msmith@songbirdnest.com>
162
163         * plugins/elements/gstfilesrc.c:
164           Check for localhost in URI was backwards, fix it. Fixes unit test.
165
166 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
167
168         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
169         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
170         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
171         Add beginnings of a more optimized acceptcaps function than the default
172         core one.
173
174 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
175
176         * gst/gstpad.c: (gst_pad_accept_caps):
177         Avoid getting the acceptcaps function too early.
178
179 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
180
181         * tools/gst-launch.c: (event_loop):
182         Make gst-launch handle LATENCY messages and make it recalculate the
183         latency.
184
185 2008-11-20  Michael Smith <msmith@songbirdnest.com>
186
187         * plugins/elements/gstfilesrc.c:
188           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
189           out own slightly incorrect version. Fixes use of some paths on
190           win32.
191
192 2008-11-20  Michael Smith <msmith@songbirdnest.com>
193
194         * gst/gstregistrybinary.c:
195           In win32 codepath, if we fail to write the registry, create the
196           directory for it and try again, matching the behaviour in non-win32
197           codepaths.
198
199 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
200
201         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
202         Changing the render delay changes the latency and so we must post a
203         latency message.
204
205 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
206
207         * gst/gstquery.c:
208         * gst/gstquery.h:
209         Add GstQueryType for custom queries instead of having to use the
210         not-so-very-convenient registration infrastructure to register new
211         types.
212
213 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
214
215         Patch by: Andrew Feren <acferen at yahoo dot com>
216
217         * gst/gstobject.c: (gst_object_default_deep_notify):
218         Unref the GEnumClass after usage again. Fixes bug #561501.
219
220 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
221
222         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
223         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
224         (gst_bin_change_state_func):
225         * gst/gstbin.h:
226         Add do-latency signal with the old default fallback implementation. This
227         allows for custom latency calculations for when the default is not
228         sufficient.
229         API: GstBin::do-latency signal.
230
231 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
232
233         * win32/common/libgstreamer.def:
234         Add new symbols to .def file.
235
236 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
237
238         * docs/gst/gstreamer-sections.txt:
239         * gst/gstbin.c: (gst_bin_recalculate_latency),
240         (gst_bin_change_state_func):
241         * gst/gstbin.h:
242         Add method to recalculate and redistribute the latency on a bin.
243         API: gst_bin_recalculate_latency().
244
245 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
246
247         * gst/gstbuffer.h:
248         Document the free_func.
249
250 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
251
252         * libs/gst/controller/gstinterpolation.c:
253         * libs/gst/controller/gstlfocontrolsource.c:
254         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
255         as it is mapped to a cast on non-win32 platforms.
256
257 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
258
259         * libs/gst/controller/gstcontroller.c:
260         * libs/gst/controller/gstcontrollerprivate.h:
261           Keep last-value and only call set_property if value has changed. This
262           supresses all the g_object_notifies we would trigger otherwise. It
263           also allows the user to chage the value while there is no controller
264           change.
265
266 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
267
268         * gst/gstvalue.c:
269           Don't crash if either of the string GValues is empty.
270
271 2008-11-17  Andy Wingo  <wingo@pobox.com>
272
273         * tools/gst-inspect.c (print_all_uri_handlers): New function,
274         prints a summary of what URI schemes are supported by what
275         elements.
276         (main): Plumb in support for --uri-handlers or -u, and fix the
277         argc check for -a and -u.
278
279 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
280
281         * gst/gstutils.h:
282         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
283         conversion functions.
284
285 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
286
287         * gst/gstbuffer.c: (gst_buffer_finalize):
288         Avoid costly typechecking for trivially correct pointers.
289
290         * gst/gstpoll.c: (gst_poll_wait):
291         Add some G_LIKELY here and there.
292
293         * libs/gst/base/gstadapter.c: (gst_adapter_push):
294         Add some debug info.
295
296 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
297
298         * docs/random/wtay/poll-timeout:
299         Small tweaks.
300
301 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
302
303         * tests/old/testsuite/caps/intersection.c: (main):
304         * tests/old/testsuite/plugin/loading.c: (main):
305         Remove references to deprecated API g_mem_chunk*.
306         Fixes #560442.
307
308 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
309
310         * tools/gst-inspect.c: (main):
311         Add --plugin option. Fixes #560301.
312
313 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
314
315         * docs/random/wtay/poll-timeout:
316         Quick braindump for a possible (not totally verified) atomic case.
317
318 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
319
320         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
321         (gst_registry_binary_initialize_magic),
322         (gst_registry_binary_write_cache),
323         (gst_registry_binary_check_magic):
324         * gst/gstregistrybinary.h:
325         Don't write and check a CRC for the binary registry file. It's
326         guaranteed that the registry is completely written (it's first written
327         to a temporary file and then moved) and if the registry was corrupted
328         by some hardware failure we would have bigger problems.
329
330         Bump binary registry version to 0.10.21.1 for this as it's an
331         incompatible change and to ensure that the registry gets rebuild
332         after the update.
333
334         This saves some milliseconds for reading/writing the registry.
335         Fixes bug #560399.
336
337 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
338
339         * docs/random/wtay/poll-timeout:
340         Some pseudo code for how we could implement clock timeouts with GstPoll.
341
342 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
343
344         * plugins/elements/gstfilesink.c:
345           Update Author string to match others.
346
347 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
348
349         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
350         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
351         being fixed and inline the trivial check.
352
353 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
354
355         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
356         (gst_caps_merge_structure), (gst_caps_get_structure),
357         (gst_caps_copy_nth), (gst_caps_set_simple),
358         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
359         (gst_caps_is_equal_fixed), (gst_caps_intersect),
360         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
361         (gst_caps_to_string):
362         Callgrind micro optimisations.
363         Avoid array bounds checks and force inline of trivial function.
364
365         * gst/gstobject.c: (gst_object_set_name_default):
366         -1 is equivalent to letting glib to the strlen but then there is more
367         room for optimisations and it's not our fault.
368
369         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
370         no need to clear the array, we're cool.
371
372         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
373         The most common _is_fixed() check is done on fundamental glib base
374         types so we check this first instead of doing a huge amount of
375         useless GST_TYPE_ARRAY calls.
376
377 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
378
379         * gst/gstevent.h:
380         Add a SKIP seek flag for use with advanced trickmodes.
381         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
382
383 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
384
385         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
386         No need to memset, we can clear the value ourselves.
387
388         * gst/gstvalue.c: (gst_type_is_fixed),
389         (gst_value_get_compare_func):
390         Some optimisations from a few callgrind sessions:
391         When checking if a type is fixed, check for trivial fundamental types
392         first before checking types for which we need to get the type followed
393         by the heavy duty type checks, this reduces the amount of
394         g_type_fundamental() calls a lot.
395         When getting the compare function, first check for our registered types.
396         If that fails, do the heavy duty g_type_is_a() checks, reduces the
397         amount of g_type_is_a() considerably.
398
399 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
400
401         * docs/design/part-TODO.txt:
402         Mumble something about removing GstXML.
403
404 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
405
406         * gst/gstbin.c: (gst_bin_handle_message_func):
407         Get the seqnum before we dispose the message.
408
409 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
410
411         * docs/design/part-TODO.txt:
412         Refer to the framestepping document.
413
414 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
415
416         * gst/gstbin.c: (bin_handle_async_start),
417         (gst_bin_handle_message_func), (gst_bin_query):
418         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
419         (gst_base_sink_event), (gst_base_sink_change_state):
420         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
421         (gst_base_src_loop), (gst_base_src_change_state):
422         Copy seqnums from events to messages so that they can all be related
423         back to eachother.
424
425 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
426
427         * tools/gst-launch.c: (event_loop):
428         Print the message seqnums.
429
430 2008-11-04  Andy Wingo  <wingo@pobox.com>
431
432         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
433
434 2008-11-04  Andy Wingo  <wingo@pobox.com>
435
436         Add sequence numbers to events and messages. See #559250.
437
438         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
439         API: New functions.
440
441         * gst/gstevent.h:
442         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
443         events with a new sequence number, and copy it when copying.
444         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
445         an event's sequence number.
446
447         * gst/gstmessage.h:
448         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
449         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
450         so with messages.
451
452         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
453
454 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
455
456         * docs/manual/advanced-position.xml:
457         * docs/manual/basics-bins.xml:
458         * docs/manual/basics-bus.xml:
459         * docs/manual/basics-pads.xml:
460         * docs/manual/intro-gstreamer.xml:
461         * docs/manual/intro-preface.xml:
462         Some Application Development Manual fixes thanks to
463         Andrew Feren. Fixes #558459.
464
465 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
466
467         * gst/gstregistrybinary.c:
468           Don't bother with the GTimer if we don't output the results.
469
470 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
471
472         Patch by: David Schleef  <ds@schleef.org>
473
474         * libs/gst/net/Makefile.am:
475         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
476
477 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
478
479         * gst/gstregistrybinary.c:
480           Oh my, studip, stupid me. Remove double stat() call.
481
482 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
483
484         * gst/gstpreset.c:
485           Use g_unlink instead of unlink.
486
487         * gst/gststructure.c:
488           Use glib type.
489
490         * gst/gstutils.c:
491           Add a FIXME:.
492
493         * gst/gsttaglist.c:
494         * gst/gsttypefind.c:
495         * gst/gstvalue.c:
496           Formatting & whitespaces.
497
498 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
499
500         * plugins/elements/gstidentity.c:
501           Doc typo. Use return value of parent_class->event.
502   
503         * plugins/elements/gsttypefindelement.c:
504           Chain up at the end for consistency.
505   
506 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
507
508         * docs/Makefile.am:
509         * docs/gst/gstreamer-docs.sgml:
510         * docs/gst/gstreamer-sections.txt:
511         * docs/gst/running.xml:
512         * docs/libs/gstreamer-libs-docs.sgml:
513           Change to xinclude based build - its faster and easier to maintain.
514
515 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
516
517         * gst/gstregistrybinary.c:
518         * gst/gstregistryxml.c:
519           Use g_unlink() as none of these are directories.
520
521 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
522
523         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
524         Some more comments.
525
526 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
527
528         * libs/gst/base/gstbasetransform.c:
529         (gst_base_transform_find_transform), (gst_base_transform_getrange):
530         If we have a fixate function, call it even if we already have fixed caps
531         because the subclass might add some caps. Makes audioconvert add a
532         default channel layout.
533
534 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
535
536         * libs/gst/base/gstbasetransform.c:
537         (gst_base_transform_prepare_output_buffer),
538         (gst_base_transform_getrange):
539         Clear the output buffer variable.
540         Cleanups to the error path in the getrange function.
541         Fixes #557649.
542
543 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
544
545         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
546         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
547         Use gst_buffer_try_new_and_alloc() and handle errors instead of
548         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
549         be allocated.
550
551 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
552
553         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
554         Set the last_stop to a more meaningful position when configuring the
555         segment. ie. the start/stop of the segment or clipped against the
556         updated segment boundaries.
557
558         * tests/check/gst/gstsegment.c: (GST_START_TEST):
559         Add some unit tests for the last_stop.
560
561 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
562
563         * libs/gst/base/gstbytereader.c:
564         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
565         copies of them.
566
567 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
568
569         * docs/gst/gstreamer-sections.txt:
570         * gst/gstutils.h:
571         API: Move float endianness conversion macros from libgstfloatcast
572         to core as it's useful in general, even in core. Fixes bug #555196.
573         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
574         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
575         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
576
577         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
578         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
579         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
580         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
581
582 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
583
584         * docs/libs/gstreamer-libs-sections.txt:
585         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
586         (gst_byte_reader_peek_data):
587         * libs/gst/base/gstbytereader.h:
588         * win32/common/libgstbase.def:
589         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
590         to get a pointer to the data at the current position and have
591         a guaranteed size.
592
593 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
594
595         * configure.ac:
596         Fix a bug in the output of the configure script summary
597         when --gst-disable-registry is supplied
598
599 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
600
601         * libs/gst/base/gstbitreader.c:
602         * libs/gst/base/gstbytereader.c:
603         Fix the names of 2 functions in the docs strings.
604
605 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
606
607         * libs/gst/base/gstbasetransform.c:
608         (gst_base_transform_prepare_output_buffer),
609         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
610         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
611         refcount problems as seen in banshee and maybe also in farsight2.
612         Remove atomic int now that we need to take the lock anyways.
613
614 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
615
616         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
617         (gst_base_sink_default_prepare_seek_segment),
618         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
619         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
620         (gst_base_sink_query):
621         Implement more seeking in pull mode.
622         Use pad convert functions to convert position to the requested format.
623         Fix position/duration reporting in pull mode.
624         Implement position and duration reporting in other formats than time.
625
626         * libs/gst/base/gstbasesink.h:
627         Add member to keep track of when the segment is playing.
628
629 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
630
631         * gst/gstpad.c: (gst_pad_configure_src):
632         When we use gst_pad_alloc_buffer() without wanting to set the caps we
633         also don't need to check if the caps are compatible because the caller
634         presumably is going to perform its own custom checks. Fixes some cases
635         where basetransform elements would error out when it was not needed.
636
637 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
638
639         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
640         Update comment.
641
642         * libs/gst/base/gstbasetransform.c:
643         (gst_base_transform_handle_buffer),
644         (gst_base_transform_reconfigure):
645         Add some debug info.
646
647         * win32/common/libgstbase.def:
648         Add new method.
649
650 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
651
652         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
653           Remove duplicated assignment and log a message in failure case.
654
655 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
656
657         Patch by: Dig Ge <dig.ge.cn at gmail com>
658
659         * tests/examples/helloworld/helloworld.c: (main):
660           Fix copy'n'paste bug in hello world example (#556900).
661
662 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
663
664         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
665         (gst_base_sink_query):
666         Query the total number of bytes when activating the pad in pull mode.
667         Implement duration query in pull mode by using the installed pad convert
668         function to convert from bytes to the requested format.
669
670 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
671
672         * docs/libs/gstreamer-libs-sections.txt:
673         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
674         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
675         (gst_base_sink_event), (gst_base_sink_perform_seek),
676         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
677         (gst_base_sink_send_event), (gst_base_sink_change_state):
678         * libs/gst/base/gstbasesink.h:
679         Add method to commit the state in subclasses.
680         Refactor the flush_start and flush_stop code because we need it for
681         flushing while seeking too.
682         Implement the beginnings of seeking in pull mode.
683         Use the segment last_stop field for the pulling offset.
684         Fix the pause method in pull mode.
685         Configure the segment to BYTES for pull mode.
686         API: GstBaseSink::gst_base_sink_do_preroll()
687
688 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
689
690         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
691         Update some docs.
692
693 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
694
695         * gst/gstquark.c: (_priv_gst_quarks_initialize):
696           Fix printf format warning.
697
698 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
699
700         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
701         Fix flow aggregation of tee. Error out immediately for all flow returns
702         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
703         and return OK if at least one pad is linked.
704
705         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
706         and otherwise returned the flow return of the last pad, which is wrong.
707         
708         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
709         (GST_START_TEST), (tee_suite):
710         Add unit tests for the flow aggregation.
711
712 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
713
714         * docs/design/part-TODO.txt:
715         Remove item from the todo list because it was fixed with the latency
716         state change rewrites.
717
718         * docs/design/part-seeking.txt:
719         * docs/design/part-segments.txt:
720         Update some docs.
721
722         * gst/gstevent.c: (gst_event_new_new_segment_full),
723         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
724         (gst_event_parse_buffer_size), (gst_event_new_qos),
725         (gst_event_parse_qos), (gst_event_new_seek),
726         (gst_event_parse_seek), (gst_event_new_latency),
727         (gst_event_parse_latency):
728         Use quarks to construct and parse events.
729
730         * gst/gstquark.c: (_priv_gst_quarks_initialize):
731         * gst/gstquark.h:
732         Add some more quarks to the table.
733         Emit a warning when the quark tables are not in sync.
734
735         * tests/check/gst/gstbus.c: (GST_START_TEST):
736         Add an assert.
737
738 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
739
740         * plugins/elements/Makefile.am:
741         * plugins/indexers/Makefile.am:
742           Don't install static libs for plugins. Fixes #550851 for core.
743
744 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
745
746         * gst/gstbus.c: (gst_bus_source_finalize),
747         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
748         (gst_bus_enable_sync_message_emission),
749         (gst_bus_disable_sync_message_emission),
750         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
751         Fix deadlock, g_source_get_id() cannot be called in finalize.
752         Keep track of the watch source by keeping a pointer to the source object
753         instead.
754         Use the bus lock to protect access to the pointer to the current
755         watch source.
756
757 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
758
759         Base on Patch by: Olivier Crete <tester at tester dot ca>
760
761         * gst/gstbus.c: (gst_bus_source_finalize),
762         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
763         Only allow one bus watch to be set at a time. This is necessary
764         because the dispatcher pops the message from the bus and the second
765         watcher will then get NULL or the next message (and the first won't
766         get this next message then, etc). If more than one "watcher" is
767         required signal watches should be used. Fixes bug #526044.
768
769 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
770
771         * tools/gst-launch.c:
772         Change the printing of the 'buffering...' output to avoid putting
773         a \r in a translateable string (flagged by the TP).
774
775 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
776
777         * gst/gstxml.c:
778         Clarify that the save_thyself() and restore_thyself() virtual
779         functions of GstObject need to be overriden, not
780         gst_object_(save|restore)_thyself() which is impossible.
781         Fixes bug #555700.
782
783 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
784
785         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
786         Revert a patch from 21 months ago that broke caps negotiation in pull
787         mode. Basically, having a buffer pass over a pad will trigger the
788         setcaps function when caps change, just like in push mode.
789
790 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
791
792         * docs/design/part-negotiation.txt:
793         Update the docs some more.
794
795         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
796         If we pull a buffer with non-trivial caps, suggest those caps with the
797         max probability.
798
799 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
800
801         * docs/design/part-TODO.txt:
802         Add another limitation of pad-blocking with segment seeks not pushing
803         EOS events.
804
805 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
806
807         * win32/common/libgstbase.def:
808         * win32/common/libgstreamer.def:
809         Add new symbols to the win32 defs files
810
811 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
812
813         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
814         (gst_bin_handle_message_func):
815         The message src can be NULL, don't try to print the object names in that
816         case.
817
818         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
819         Add some more debug info.
820
821         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
822         (GST_START_TEST):
823         Add some debug.
824         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
825         scheduling modes.
826
827 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
828
829         * docs/design/part-negotiation.txt:
830         Small doc update.
831
832         * docs/libs/gstreamer-libs-sections.txt:
833         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
834         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
835         (gst_base_sink_init), (gst_base_sink_set_blocksize),
836         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
837         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
838         (gst_base_sink_loop), (gst_base_sink_pad_activate),
839         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
840         (gst_base_sink_change_state):
841         * libs/gst/base/gstbasesink.h:
842         Add blocksize property and methods to control the amount of data
843         to pull.
844         Negotiate first before activating upstream in pull mode so that they can
845         negotiate themselves.
846         When we operate in pull mode, we only accept the caps that we
847         negotiated.
848         Make the sink go ASYNC to PAUSED, like all other sinks.
849         API: GstBaseSink::gst_base_sink_set_blocksize()
850         API: GstBaseSink::gst_base_sink_get_blocksize()
851         API: GstBaseSink::blocksize
852
853         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
854         (gst_base_src_set_live), (gst_base_src_is_live),
855         (gst_base_src_set_format), (gst_base_src_query_latency),
856         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
857         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
858         (gst_base_src_set_property), (gst_base_src_get_property):
859         * libs/gst/base/gstbasesrc.h:
860         Add typechecking in public API functions.
861         Add methods to control the blocksize in subclasses.
862         API: GstBaseSrc::gst_base_src_set_blocksize()
863         API: GstBaseSrc::gst_base_src_get_blocksize()
864
865 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
866
867         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
868         (buffer_probe), (event_probe), (GST_START_TEST):
869         We now see 3 events go through our pad, since basesink now sends
870         upstream latency events.
871
872 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
873
874         * gst/gstpipeline.c: (gst_pipeline_change_state):
875         Release the object lock before trying to flush the bus.
876
877 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
878
879         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
880         Forward LATENCY events upstreams so that elements know about the total
881         pipeline latency. Fixes #555307.
882
883 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
884
885         * plugins/elements/gstqueue.c:
886         Allow through queries when we don't know how
887         to adjust them (not TIME or BYTES), as otherwise it's
888         not possible to query the current position in order
889         to seek in other formats at all.
890
891 2008-10-08  Andy Wingo  <wingo@pobox.com>
892
893         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
894
895 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
896
897         * gst/gstghostpad.c:
898         * gst/gstghostpad.h:
899         Unbreak -good build, private is a reserved c++ keyword.
900
901 2008-10-08  Andy Wingo  <wingo@pobox.com>
902
903         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
904         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
905         removal: re-add GST_GHOST_PAD_CAST to the header.
906
907         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
908         (GstGhostPadClass): Publically expose these structures so as to
909         allow easy subclassing from C. Hide the member data behind a
910         private opaque data pointer.
911
912         * gst/gstghostpad.c: Adapt to store instance data in the type
913         instance's private data region, not in the public struct.
914
915 2008-10-08  Andy Wingo  <wingo@pobox.com>
916
917         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
918         template via g_object_get(), be sure to unref it.
919
920         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
921
922 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
923
924         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
925         If we can't get a cache file don't try to save something to it.
926         Dereferencing NULL pointers usually isn't a good idea.
927
928 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
929
930         * tests/check/Makefile.am:
931         * tests/check/gst/gstabi.c:
932         * tests/check/gst/struct_sparc.h:
933         * tests/check/libs/libsabi.c:
934         * tests/check/libs/struct_sparc.h:
935         Add Sparc ABI checks
936
937         * tests/check/gst/gstvalue.c: (GST_START_TEST):
938         Cast signed integer to unsigned to avoid a compiler warning.
939
940 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
941
942         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
943         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
944         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
945         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
946         (gst_byte_reader_peek_int24_be):
947         Use new GST_READ_UINT24_(LE|BE) macros.
948
949 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
950
951         * docs/gst/gstreamer-sections.txt:
952         * gst/gstutils.h:
953         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
954         as it's too easy to break the ISO C strict aliasing rules with simple
955         casts to the corresponding type and this would introduce hard to debug
956         bugs. Fixes bug #545714.
957
958         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
959
960 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
961
962         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
963         * gst/gstghostpad.c: (gst_ghost_pad_construct):
964           Add 'Since' bits to gtk-doc chunks for new API.
965
966 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
967
968         * docs/gst/gstreamer-sections.txt:
969         Fix documentation
970
971 2008-10-06  Andy Wingo  <wingo@pobox.com>
972
973         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
974         that will be called on the malloc_data to free it. Basically a way
975         to avoid subclassing when all you need is a different free
976         function, i.e. free() instead of g_free().
977
978         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
979         calling the free function.
980         (gst_buffer_init): Initialize the free function to g_free.
981
982 2008-10-06  Andy Wingo  <wingo@pobox.com>
983
984         * gst/gstghostpad.h:
985         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
986         finishes the initialization of ghost pad. Useful for language
987         bindings and subclassers of GstGhostPad. Fixes #539108.
988         (gst_ghost_pad_new_full): Use the new constructor.
989
990 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
991
992         Base on Patch by: Olivier Crete <tester at tester dot ca>
993
994         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
995         (gst_bin_remove_func), (update_degree),
996         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
997         Keep track of pads that are being linked/unlinked and resync the state
998         changes.
999
1000         * gst/gstpad.c: (gst_pad_get_direction),
1001         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1002         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1003         (gst_pad_link_prepare), (gst_pad_link),
1004         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1005         (gst_pad_check_pull_range), (gst_pad_get_range),
1006         (gst_pad_pull_range):
1007         Some code cleanups, use macros to check pad direction.
1008         Don't need to take the lock on the pad direction.
1009         Post structure change when pads are linked/unlinked.
1010         Change some checks into _return_if_fail().
1011
1012         * tests/check/gst/gstbin.c:
1013         (test_link_structure_change_state_changed_sync_cb),
1014         (GST_START_TEST), (gst_bin_suite):
1015         Add testcase for pad link/unlinke resync during a state change.
1016         Fixes #510354.
1017
1018 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1019
1020         * docs/gst/gstreamer-sections.txt:
1021         * gst/gstmessage.c: (gst_message_new_structure_change),
1022         (gst_message_parse_structure_change):
1023         * gst/gstmessage.h:
1024         Implement STRUCTURE_CHANGED messages. These messages will be used to
1025         signal the parent bin of link/unlink operations that could require a
1026         resync when doing a state change. See ##510354.
1027         API: gst_message_new_structure_change()
1028         API: gst_message_parse_structure_change()
1029
1030 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1031
1032         * gst/gstquark.c:
1033         * gst/gstquark.h:
1034         Add some more quarks for new message. See #510354.
1035
1036 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1037
1038         * docs/libs/gstreamer-libs-docs.sgml:
1039         * docs/libs/gstreamer-libs-sections.txt:
1040         * libs/gst/base/Makefile.am:
1041         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1042         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1043         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1044         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1045         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1046         (gst_bit_reader_skip_to_byte):
1047         * libs/gst/base/gstbitreader.h:
1048         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1049         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1050         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1051         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1052         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1053         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1054         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1055         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1056         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1057         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1058         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1059         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1060         * libs/gst/base/gstbytereader.h:
1061         * tests/check/Makefile.am:
1062         * tests/check/libs/bitreader.c: (GST_START_TEST),
1063         (gst_bit_reader_suite):
1064         * tests/check/libs/bytereader.c: (GST_START_TEST),
1065         (gst_byte_reader_suite):
1066         API: Add bit reader and byte reader classes, including documentation
1067         and an extensive unit test suite. Fixes bug #553554.
1068
1069 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1070
1071         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1072         (gst_base_sink_query):
1073         Improve position reporting while flushing and other intermediate state
1074         changes. Fixes #553874.
1075
1076 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1077
1078         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1079
1080         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1081         Original patch by : Simon Descaries
1082         Fix small refount leak in caps compatibility check.
1083         Fixes #551676.
1084
1085 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1086
1087         * docs/pwg/advanced-request.xml:
1088           Fix 0.8 api usage in example. Fixes #554561
1089
1090         * docs/pwg/appendix-porting.xml:
1091           Change 0.9 to 0.10 here.
1092
1093 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1094
1095         * docs/manual/basics-data.xml:
1096           Change "event-event interaction" to "element-element interaction".
1097           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1098           updates.
1099
1100 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1101
1102         * configure.ac:
1103         Back to development -> 0.10.21.1
1104
1105 === release 0.10.21 ===
1106
1107 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1108
1109         * configure.ac:
1110           releasing 0.10.21, "Take These Things From Me"
1111
1112 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1113
1114         * configure.ac:
1115         0.10.20.4 pre-release
1116
1117 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1118
1119         * libs/gst/base/gstbasetransform.c:
1120         * plugins/elements/gstcapsfilter.c:
1121         * tests/check/Makefile.am:
1122         * tests/check/elements/.cvsignore:
1123         * tests/check/elements/capsfilter.c:
1124         Fix assertion in basetransform when the subclass chooses not to
1125         allocate a buffer in prepare_buffer(), and make capsfilter error out
1126         cleanly if requested to apply caps that don't completely specify the
1127         buffer. Fixes #551509
1128
1129 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1130
1131         * libs/gst/base/gstbasetransform.c:
1132         (gst_base_transform_prepare_output_buffer):
1133         Take new caps ref because our old one might have been gone when the
1134         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1135
1136 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1137
1138         * configure.ac:
1139           Do not probe availability of check unit test library when cross
1140           compiling, as test would not work anyway. Also cleanup verbose output
1141           of the check test. Fixes #551952.
1142
1143 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1144
1145         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1146
1147         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1148         Avoid leaking the parent ref when we fail changing the state of the
1149         element using gst_element_sync_state_with_parent(). Fixes #551978.
1150
1151 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1152
1153         * docs/manual/intro-motivation.xml::
1154           Remove some bits that no longer apply, update others (#551642).
1155
1156 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1157
1158         * configure.ac:
1159         0.10.20.2 pre-release
1160
1161         * po/LINGUAS:
1162         * po/id.po:
1163         * po/pt_BR.po:
1164
1165         New translations.
1166
1167 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1168
1169         * win32/common/config.h.in:
1170           Add GST_DATADIR, hard-code cpu to x86.
1171
1172         * win32/common/libgstreamer.def:
1173           Spaces to tabs.
1174
1175 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1176
1177         * gst/gsttaglist.h:
1178           Fix Since: markers for new geo tags.
1179
1180 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1181
1182         * gst/gsttaglist.h:
1183           Fix actual tag name define after renaming from altitude to elevation.
1184
1185 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1186
1187         * gst/gstpad.c: (add_unref_pad_to_list),
1188         (gst_pad_get_internal_links_default):
1189         Add fallback when calling the deprecated function on an element that
1190         implements the new internal_link handler.
1191
1192 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1193
1194         * docs/gst/gstreamer-sections.txt:
1195         * gst/gsttaglist.c:
1196         * gst/gsttaglist.h:
1197           Add new tags for geo location and clarify purpose of existing location
1198           tag. Fixes #481169
1199
1200 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1201
1202         Patch by: Olivier Crete <tester at tester dot ca>
1203
1204         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1205         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1206         Use thread-safe internal links iterator. Fixes #549504.
1207
1208 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1209
1210         Based on patch by: Olivier Crete <tester at tester dot ca>
1211
1212         * docs/gst/gstreamer-sections.txt:
1213         * win32/common/libgstreamer.def:
1214         * gst/gstpad.c: (gst_pad_init),
1215         (gst_pad_set_iterate_internal_links_function),
1216         (int_link_iter_data_free), (iterate_pad),
1217         (gst_pad_iterate_internal_links_default),
1218         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1219         * gst/gstpad.h:
1220         Add threadsafe replacement functions for getting internal links of an
1221         element. Deprecate the old internal links functions.
1222         API:GstPad::gst_pad_set_iterate_internal_links_function()
1223         API:GstPad::GstPadIterIntLinkFunction
1224         API:GstPad::gst_pad_iterate_internal_links()
1225         API:GstPad::gst_pad_iterate_internal_links_default()
1226
1227         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1228         (gst_proxy_pad_init):
1229         Implement threadsafe internal links.
1230
1231         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1232         Unit test for internal links on tee. See #549504.
1233
1234 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1235
1236         * tests/check/Makefile.am:
1237         libs/transform1 test requires libs/test_transform.c
1238
1239 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1240
1241         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1242         Die evil deadlock, die !
1243
1244 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1245
1246         * gst/gstutils.c: (gst_element_get_compatible_pad):
1247         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1248         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1249         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1250         not steal the refcount of the given caps as stated.
1251
1252         REVERT THIS COMMIT ONCE FIXED !
1253         REVERT THIS COMMIT ONCE FIXED !
1254         REVERT THIS COMMIT ONCE FIXED !
1255         REVERT THIS COMMIT ONCE FIXED !
1256         REVERT THIS COMMIT ONCE FIXED !
1257         REVERT THIS COMMIT ONCE FIXED !
1258
1259 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1260
1261         * gst/gstiterator.c:
1262         * gst/gstiterator.h:
1263         After 3 years it's about time to revise the documentation of the
1264         iterator objects.
1265
1266 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1267
1268         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1269         Make the internal links function less thread-unsafe and add some
1270         comments, dunno why.
1271
1272 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1273
1274         * gst/gst_private.h:
1275           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1276           build with --disable-gst-debug.
1277
1278 2008-08-28  David Schleef  <ds@schleef.org>
1279
1280         * gst/gstpadtemplate.c: Revert last change, since it breaks
1281           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1282           but shouldn't be enabled until we've released fixed versions
1283           of -good and -ffmpeg.
1284
1285 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1286
1287         * gst/gstobject.c:
1288           Put the gst_object_get_name() back in.
1289
1290 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * gst/gstpadtemplate.c:
1293           The old behaviour was that gst_pad_template_new() takes ownership of
1294           the caps. As we now call g_object_new() which calls g_object_set() and
1295           which copies the caps, we have to unref them to not leak them. Fixes
1296           make valgrid for me.
1297
1298 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1299
1300         * gst/gsturi.c:
1301           Don't segfault on input like "tel:+1-123-555-1234".
1302
1303 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1304
1305         * gst/gstobject.c:
1306           Due to popular request also include ObjectType in
1307           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1308
1309 2008-08-26  David Schleef  <ds@schleef.org>
1310
1311         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1312           src_val must be positive, because that's not a requirement.
1313           This causes problems with converting negative granulepos
1314           values for Dirac.
1315         * gst/gstquery.c: Same, gst_query_new_convert().
1316
1317 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1318
1319         * gst/gstclock.c: (gst_clock_add_observation):
1320         Add some more debugging to the clock slaving code.
1321
1322         * win32/common/libgstbase.def:
1323         Add new basetransform method.
1324
1325 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1326
1327         * gst/gstbin.c: (gst_bin_element_set_state):
1328         Take the (recursive) state lock between getting the locked state of an
1329         element and changing the element state. This allows the application to
1330         lock an element's state and then change its state without races.
1331
1332 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1333
1334         * gst/gstbin.c: (gst_bin_element_set_state):
1335         When an element is in the locked state we still want to update the
1336         base_time of the element.
1337
1338 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1339
1340         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1341         Use the result from gst_pad_set_caps() instead of assuming the element
1342         always accepted the caps computed by the default negotiate function.
1343
1344 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1345
1346         * docs/libs/gstreamer-libs-sections.txt:
1347         * libs/gst/base/gstbasetransform.c:
1348         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1349         (gst_base_transform_chain), (gst_base_transform_suggest),
1350         (gst_base_transform_reconfigure):
1351         * libs/gst/base/gstbasetransform.h:
1352         Implement method for reconfiguring basetransform.
1353         API: GstBaseTransform::gst_base_transform_reconfigure()
1354
1355 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1356
1357         patch by: Murray Cumming <murrayc@murrayc.com>
1358
1359         * gst/gstutils.c:
1360           Mention that this is just like gst_buffer_merge() but with extra
1361           unreffing for C coders. Advise language bindings not to wrap it.
1362           Fixes Bug #533856.
1363           
1364           Also fix file comment.
1365
1366 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1367
1368         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1369
1370         * plugins/elements/gstfakesink.c:
1371         * plugins/elements/gstfakesrc.c:
1372           Call super::event() when not handling it. Fixes #544855.
1373
1374 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1375
1376         Patch by: Alessandro Decina <alessandro@nnva.org>
1377         * plugins/elements/gstfilesrc.c:
1378           Use 64 bit variants of stat functions on win32, to enable support
1379           of large files there.
1380           Fixes #547277.
1381
1382 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1383
1384         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1385         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1386         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1387         (gst_base_sink_get_position), (gst_base_sink_change_state):
1388         Improve position reporting in the flushing state.
1389         Also report the position when we are not yet prerolled but we
1390         have a newsegment event. Fixes #543444.
1391         Improve the pull-based negotiation code.
1392
1393         * tests/check/elements/fakesink.c: (GST_START_TEST),
1394         (fakesink_suite):
1395         Add testcase for position reporting while flushing in PAUSED and
1396         PLAYING.
1397
1398         * tests/check/generic/sinks.c: (GST_START_TEST):
1399         Update unit-test, we can now query the position as soon as we receive a
1400         NEWSEGMENT event.
1401
1402 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1403
1404         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1405
1406         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1407         When the subclass event handler releases the PREROLL_LOCK, we could be
1408         in the flushing state and we have to ignore the event. Fixes #548394.
1409
1410 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1411
1412         * tools/gst-launch.1.in:
1413           Document GST_REGISTRY_UPDATE environment variable.
1414
1415 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1416
1417         * libs/gst/base/gstbasetransform.c:
1418         (gst_base_transform_prepare_output_buffer):
1419         If the element is configured in passthrough mode but the
1420         prepare_output_buffer gave us a new output buffer, discard that buffer
1421         and reuse the input buffer.
1422
1423 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1424
1425         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1426
1427         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1428         (gst_tee_request_new_pad), (gst_tee_release_pad),
1429         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1430         * plugins/elements/gsttee.h:
1431         Protect pad_alloc with a new lock so that we can be sure that nothing is
1432         performing a pad_alloc when removing the pad. Fixes #547835.
1433
1434         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1435         (buffer_alloc_harness_teardown), (app_thread_func),
1436         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1437         Added testcase for shutdown race.
1438
1439 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1440
1441         * gst/gstpad.h:
1442         Add doc
1443
1444 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1445
1446         * libs/gst/base/gstbasetransform.c:
1447         (gst_base_transform_prepare_output_buffer),
1448         (gst_base_transform_buffer_alloc):
1449         Go over the buffer_alloc function again and make sure we always end up
1450         allocating a buffer.
1451         Add some more docs.
1452         Avoid doing pad alloc when we have a pending suggestion because we
1453         cannot yet deal with changing caps in that case. Fixes #547728
1454
1455 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1456
1457         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1458
1459         * docs/manual/advanced-clocks.xml:
1460         * docs/manual/clocks.png:
1461         * docs/manual/diagrams-clocks.svg:
1462           Add one more image showing different times together with a describing
1463           paragraph. Fixes #547729.
1464
1465 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1466
1467         * win32/common/libgstbase.def:
1468         Add new method.
1469
1470 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1471
1472         * libs/gst/base/gstbasetransform.c:
1473         (gst_base_transform_transform_caps),
1474         (gst_base_transform_prepare_output_buffer),
1475         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1476         Don't overwrite the outsize when calculating the expected size of a new
1477         buffer because we still need it in case we cannot process the new
1478         buffer.
1479         When converting the size of the new buffer to an upstream size, actually
1480         use the expected size of the buffer, not some other random value.
1481         Use an atomic int to signal that a new upstream caps suggestion is
1482         available.
1483         When we can convert the current buffer to a new format, check if the
1484         buffer size is of the expected size and allocate a new buffer of the
1485         expected size when this is not the case. Fixes #546883.
1486
1487         * tests/check/libs/transform1.c: (GST_START_TEST):
1488         remove ifdeffed code from the unit test.
1489
1490 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1491
1492         * pkgconfig/gstreamer-uninstalled.pc.in:
1493         * pkgconfig/gstreamer.pc.in:
1494           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1495           called gstcontroller-0.10.
1496
1497 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1498
1499         * gst/gstchildproxy.h:
1500         * gst/gstpreset.h:
1501           Remove double interface from doc-string.        
1502
1503 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1504
1505         * libs/gst/base/gstbasesrc.c:
1506         * libs/gst/base/gstbasetransform.c:
1507           Fix headings in docs and gtk-doc warnings.
1508
1509 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1510
1511         * gst/gstregistrybinary.c:
1512           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1513           libc.
1514           Fixes #544776.
1515
1516 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1517
1518         * libs/gst/base/gstbasetransform.c:
1519         (gst_base_transform_buffer_alloc):
1520         Fix a "may be used unitialized" warning.
1521
1522 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1523
1524         * docs/gst/gstreamer-sections.txt:
1525         * gst/gstpreset.h:
1526           Document preset-iface vmethods.
1527
1528 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1529
1530         * docs/manual/advanced-interfaces.xml:
1531           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1532           only used to discover devices.
1533
1534 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1535
1536         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1537
1538         * gst/gst.c: (init_pre):
1539         Make sure gettext returns translations in UTF-8 encoding rather
1540         than in the current locale encoding (#546822).
1541
1542 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1543
1544         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1545         Fix subset test.
1546
1547         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1548         Improve unit test subset tests and add a testcase for the subset failure
1549         cases.
1550
1551         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1552         Improve subtraction unit test.
1553
1554 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1555
1556         * plugins/elements/gsttee.c:
1557           Unlock, instead of locking again.
1558
1559 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1560
1561         * gst/gstpad.h:
1562         Clarify the docs a bit more.
1563
1564 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1565
1566         * tests/examples/metadata/read-metadata.c:
1567           Don't leak old taglist.
1568
1569 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1570
1571         Patch by: Olivier Crete <tester at tester dot ca>
1572
1573         * gst/gststructure.c:
1574         (gst_structure_fixate_field_nearest_fraction):
1575         Avoid overflows in fixation code when dealing with MAXINT values, which
1576         v4l2src seems to do.
1577         Fixes #546328.
1578
1579         * tests/check/gst/gststructure.c: (GST_START_TEST):
1580         Make a unit test to check the fix. 
1581
1582 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1583
1584         * plugins/elements/gstcapsfilter.c: (copy_func),
1585         (gst_capsfilter_set_property):
1586         Use new caps suggestion feature of basetransform to request a caps
1587         negotiation upstream.
1588
1589 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1590
1591         * docs/libs/gstreamer-libs-sections.txt:
1592         Add new function:
1593         API: GstBaseTransform::gst_base_transform_suggest()
1594
1595         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1596         (gst_base_transform_init), (gst_base_transform_transform_caps),
1597         (gst_base_transform_transform_size),
1598         (gst_base_transform_configure_caps),
1599         (gst_base_transform_can_transform),
1600         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1601         (gst_base_transform_prepare_output_buffer),
1602         (gst_base_transform_buffer_alloc),
1603         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1604         (gst_base_transform_chain), (gst_base_transform_activate),
1605         (gst_base_transform_set_passthrough),
1606         (gst_base_transform_is_passthrough),
1607         (gst_base_transform_set_in_place),
1608         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1609         (gst_base_transform_set_qos_enabled),
1610         (gst_base_transform_is_qos_enabled),
1611         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1612         (gst_base_transform_reconfigure):
1613         * libs/gst/base/gstbasetransform.h:
1614         Rewrite of basetransform to perform negotiation outside of the
1615         buffer_alloc functions.  Fixes #545853.
1616
1617         * tests/check/libs/transform1.c: (GST_START_TEST),
1618         (buffer_alloc_ct2):
1619         Update unit test.
1620
1621 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1622
1623         * tests/check/gst/gstpreset.c:
1624           Only run preset tests when $HOME is writable. Preliminary fix for
1625           #545433.
1626
1627 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1628
1629         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1630         (gst_bin_change_state_func), (bin_handle_async_done),
1631         (gst_bin_handle_message_func):
1632         Fix race for bins that simulate ASYNC state changes by inserting
1633         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1634         pending ASYNC messages even when the bin does not have ASYNC children.
1635         We note detect this behaviour because we will receive an ASYNC message
1636         that is originating from the bin itself. 
1637         Fixes races with decodebin2 state changes.
1638
1639         * tests/check/gst/gstbin.c: (GST_START_TEST):
1640         Add some more debug.
1641
1642 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1643
1644         * gst/gsttaglist.c: (_gst_tag_initialize):
1645           Fix typo.
1646
1647 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1648
1649         * gst/gsttaglist.c:
1650           Argh. actually save the text before committing. Now adds
1651           gst_tag_merge_strings_with_comma() to gst_tag_register().
1652
1653 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1654
1655         * gst/gsttaglist.c:
1656         * gst/gsttaglist.h:
1657           Do as tim pointed out and actually register the new tag. Also improve
1658           te docs and use gst_tag_merge_strings_with_comma() method to allow
1659           retriving all keywords merged in one list.
1660
1661 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1662
1663         * configure.ac:
1664         * docs/gst/gstreamer.types:
1665           Revert 'accidential' change of the configure option removal. We still
1666           need to generate the types file in configure --disable-load-save.
1667
1668 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1669
1670         * docs/gst/gstreamer-sections.txt:
1671         * gst/gsttaglist.h:
1672           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1673
1674 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1675
1676         * gst/gstpadtemplate.c:
1677           (gst_pad_template_class_init), (gst_static_pad_template_get),
1678           (gst_pad_template_new), (gst_pad_template_pad_created),
1679           (gst_pad_template_set_property), (gst_pad_template_get_property):
1680           Add "name-template", "direction", "presence" and "caps" properties,
1681           so that gst_pad_template_new() is just a thin wrapper around
1682           g_object_new(), which is better for bindings. (Fixes: #539772)
1683
1684 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1685
1686         * gst/gsturi.c:
1687           Be more liberal in what URIs we accept.
1688           Do not unescape bits of the URI for no apparent reason before passing to
1689           the element. Fixes #545352.
1690
1691 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1692
1693         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1694
1695         * gst/gst.c:
1696         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1697
1698 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1699
1700         * configure.ac:
1701         * docs/gst/gstreamer-sections.txt:
1702         * docs/gst/gstreamer.types:
1703         * docs/gst/gstreamer.types.in:
1704         * gst/Makefile.am:
1705         * gst/gst.c:
1706         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1707         * gst/gstconfig.h.in:
1708         * gst/gstelement.c: (gst_element_get_index):
1709         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1710         (gst_registry_binary_load_feature),
1711         (gst_registry_binary_read_cache):
1712         * gst/gstregistryxml.c: (load_feature),
1713         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1714         * plugins/Makefile.am:
1715         * tools/gst-indent:
1716         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1717         (print_plugin_features), (print_element_features):
1718         * tools/gst-xmlinspect.c: (print_event_masks),
1719         (print_element_info):
1720         * win32/common/gstconfig.h:
1721         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1722
1723         Disabling the indexers and URI handler code will only reduce the
1724         required amount of memory by a very small amount but on the other hand
1725         requires much more maintaince work. Apart from that many places of
1726         code are broken when disabling them.
1727
1728         Disabling the enum types doesn't reduce the required amount of memory
1729         by more than a few bytes and makes it hard to fix bugs like #539772,
1730         i.e. use the enums as GObject properties.
1731
1732 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1733
1734         * docs/design/part-TODO.txt:
1735         Add some thoughts and problems with upstream renegotiation.
1736
1737 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1738
1739         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1740         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1741         Remove silly redundant debug.
1742         Add some more debug info.
1743         Clarify the docs regarding new caps received from pad_alloc.
1744
1745 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1746
1747         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1748         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1749         Make setting the caps more threadsafe.
1750
1751 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1752
1753         * docs/design/part-element-transform.txt:
1754         Update docs.
1755
1756 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1757
1758         * plugins/elements/gstqueue.c: (gst_queue_init),
1759         (gst_queue_acceptcaps):
1760         Add and use a custom acceptcaps function instead of falling back to the
1761         potentially less optimized default implementation.
1762
1763 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1764
1765         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1766           Only sanity-check the buffer size if requested_caps == buffer_caps
1767           (ie. don't take pad caps into account, they're not relevant here)
1768
1769 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1770
1771         * plugins/elements/gsttee.c:
1772         * plugins/elements/gsttee.h:
1773           Reverting as not everything is clear yet. Needs some general design
1774           work.
1775
1776 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1777
1778         * ChangeLog:
1779           ChangeLog surgery for tee commit.
1780
1781 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1782
1783         * docs/gst/gstreamer-sections.txt:
1784           Cleanup section-file.
1785
1786 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1787
1788         * plugins/elements/gsttee.c:
1789         * plugins/elements/gsttee.h:
1790           Relay tag events in tee. Fixes parts of #474016.
1791           Downgrades 3 reoccurring debugs to log.
1792
1793 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1794
1795         * configure.ac:
1796         * libs/gst/Makefile.am:
1797           Build the net library if we have winsock2.
1798
1799 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1800
1801         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1802
1803         * docs/manual/advanced-threads.xml:
1804         * docs/manual/diagrams-pipelines.svg:
1805         * docs/manual/hello-world.png:
1806         * docs/manual/linked-elements.png:
1807         * docs/manual/mime-world.png:
1808         * docs/manual/queue.png:
1809         * docs/manual/thread-buffering.png:
1810         * docs/manual/thread-synchronizing.png:
1811           Replace one diagram with two separate ones and updates others.
1812           Fixes #542401.
1813
1814 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1815
1816         * gst/gstelement.h:
1817         Fix link in documentation.
1818
1819 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1820
1821         * gst/gstmessage.c:
1822         Fix confusing documentation.
1823
1824 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1825
1826         * libs/gst/base/gstbasesrc.h:
1827         revert the changes to the header file for the ABI.
1828
1829 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1830
1831         * libs/gst/base/gstbasesrc.c:
1832         * libs/gst/base/gstbasesrc.h:
1833         Don't cache the seekable status.
1834         Fixes bug #544174
1835
1836 2008-07-24  Rene Stadler  <mail@renestadler.de>
1837
1838         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1839         code to close the pipeline graph.  This prevents the program from
1840         printing internal data flow errors.
1841
1842 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1843
1844         * docs/manual/basics-bus.xml:
1845         Correct typo. Fixes bug #544320.
1846
1847 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1848
1849         * configure.ac:
1850           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1851           Add check (taken from -base) for winsock, adds WIN32_LIBS
1852         * gst/Makefile.am:
1853           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1854           winsock.
1855           Define GST_EXPORTS when building libgstreamer (only used on win32)
1856         * gst/gst_private.h:
1857         * gst/gstinfo.h:
1858           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1859           for symbols that we need to export in both these files.
1860         * gst/gstpoll.c:
1861           Include gst_private.h higher up to avoid some compile problems on win32.
1862
1863 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1864
1865         * gst/gstvalue.c:
1866         Fix typos.
1867
1868 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1869
1870         * gst/gstcaps.c:
1871         Previous commit was wrong NULL caps does not exist
1872         and indicate an error, so also add a FIXME to
1873         gst_caps_is_equal where NULL caps are accepted.
1874
1875 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1876
1877         * gst/gstcaps.c:
1878         Allow passing of NULL to gst_caps_union
1879
1880 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1881
1882         * gst/gstghostpad.c:
1883         Add in doc that gst_ghost_pad_set_target can accept
1884         NULL to clear target
1885
1886 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1887
1888         * gst/gstplugin.c:
1889         * gst/gstregistry.c:
1890           GstRegistryPool doesn't exist; don't refer to it in docs.
1891           Don't refer to functions that don't exist in docs, it's
1892           unhelpful.
1893
1894 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1895
1896         * gst/gst.c:
1897         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1898
1899 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1900
1901         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1902
1903         * docs/pwg/building-testapp.xml:
1904         Don't use an undeclared variable in the example program.
1905         Fixes bug #542573.
1906
1907 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1908
1909         * gst/gstdebugutils.c:
1910           Squeeze ghost-pad links and remove <> from classname labels to save
1911           more horizontal space.
1912
1913 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1914
1915         * gst/gstdebugutils.c:
1916           Give request and sometimes pads a different shpe style. Condense the
1917           graphs a little more.
1918
1919 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1920
1921         * configure.ac:
1922           Don't require flex and bison if the parser is disabled.
1923
1924 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1925
1926         * libs/gst/controller/gstinterpolationcontrolsource.c:
1927         (_list_find_sorted_custom):
1928         Don't use declarations after statements.
1929
1930 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1931
1932         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1933         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1934         of the the child-added / -removed signals as GstChildProxy
1935         only supports GstObjects.
1936
1937 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1938
1939         * gst/gstdebugutils.c:
1940         Fix memleak
1941
1942 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1943
1944         Patch by: Alessandro Decina <alessandro at nnva dot org>
1945
1946         * gst/gstpoll.c:
1947         Fix "ignored return value" compiler warning with newer glibc.
1948
1949 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1950
1951         * gst/gstchildproxy.c:
1952         Fix copy&paste error in gst_child_proxy_removed() documentation.
1953
1954 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1955
1956         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1957           Print error debug message if plugin description fields that should
1958           be set are NULL.
1959
1960         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1961           Don't crash if the string to serialise is NULL (it really should
1962           not be, but apparently this used to work with the xml registry ...).
1963
1964 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1965
1966         * tools/gst-plot-timeline.py:
1967         Fix parsing of log messages
1968
1969 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1970
1971         * win32/common/libgstbase.def::
1972           Sort alphabetically so make check-exports doesn't barf.
1973
1974 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1975
1976         * gst/gstevent.c:
1977           Use gst_format_get_name() to improve debug output.
1978
1979         * gst/gstpreset.c:
1980           Remove #ifdef'ed code. Add TODO comment.
1981
1982         * gst/gstsegment.c:
1983           Add debug output to ease spotting format != segment.format assertions.
1984
1985 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1986
1987         * tests/check/libs/gdp.c: (gst_dp_suite):
1988         Also enable the GDP unit test again on PPC now that the bug
1989         is fixed.
1990
1991 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1992
1993         * libs/gst/dataprotocol/dataprotocol.c:
1994         Don't write to the same region of memory as a uint64 and uint16
1995         as this breaks strict aliasing rules and apparantly breaks on PPC
1996         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1997
1998 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1999
2000         * libs/gst/controller/gstinterpolationcontrolsource.c:
2001           Optimize list handling. Use own find function. Exploit that fact that
2002           the list is sorted. Also pass back the node before, so that we can
2003           insert quickly. Have a fast path for append.
2004
2005 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2006
2007         * docs/design/draft-framestep.txt:
2008         * docs/design/part-negotiation.txt:
2009           Fix two typos.
2010
2011 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2012
2013         * configure.ac:
2014           Show configuration sumary after configure run. Based on patch by
2015           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2016
2017 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2018
2019         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2020
2021         * docs/manual/advanced-autoplugging.xml:
2022         * docs/manual/advanced-threads.xml:
2023         * docs/manual/basics-bins.xml:
2024         * docs/manual/basics-elements.xml:
2025         * docs/manual/basics-helloworld.xml:
2026         * docs/manual/basics-pads.xml:
2027           Add scale factor for pdf output.
2028
2029         * docs/manual/intro-basics.xml:
2030           Switched sections "pads" and "bins" and added a pipeline diagram.
2031
2032         * docs/manual/intro-gstreamer.xml:
2033           Added more info on gstreamer.
2034
2035         * docs/manual/intro-motivation.xml:
2036           Commented out the whole section "current problem", which sounds
2037           historical and somehow osolete; it could be turned in a positive
2038           way and reused to improve the design principles.
2039
2040         * docs/manual/intro-preface.xml:
2041           - Update URLs to library.gnome.org. 
2042           - Do not mention GTK+ in preliminary reading (irrelevant). 
2043           - Mention Plugin Writer's Manual and further reading only in the
2044             previous section.
2045           - Added a list of most relevant GObject/glib topics.
2046
2047         * docs/manual/Makefile.am:
2048         * docs/manual/bin-element-ghost.fig:
2049         * docs/manual/bin-element-ghost.png:
2050         * docs/manual/bin-element-noghost.fig:
2051         * docs/manual/bin-element-noghost.png:
2052         * docs/manual/bin-element.fig:
2053         * docs/manual/bin-element.png:
2054         * docs/manual/filter-element-multi.fig:
2055         * docs/manual/filter-element-multi.png:
2056         * docs/manual/filter-element.fig:
2057         * docs/manual/filter-element.png:
2058         * docs/manual/gstreamer-overview.png:
2059         * docs/manual/hello-world.fig:
2060         * docs/manual/hello-world.png:
2061         * docs/manual/linked-elements.fig:
2062         * docs/manual/linked-elements.png:
2063         * docs/manual/mime-world.fig:
2064         * docs/manual/mime-world.png:
2065         * docs/manual/queue.fig:
2066         * docs/manual/queue.png:
2067         * docs/manual/simple-player.png:
2068         * docs/manual/sink-element.fig:
2069         * docs/manual/sink-element.png:
2070         * docs/manual/src-element.fig:
2071         * docs/manual/src-element.png:
2072         * docs/manual/diagrams-general.svg:
2073         * docs/manual/diagrams-pipelines.svg:
2074           Removed .fig, added .png counterpart.
2075           
2076           Fixes: #539137
2077
2078 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2079
2080         * plugins/elements/gstmultiqueue.c:
2081         * plugins/elements/gstmultiqueue.h:
2082         revert extra-size-buffers stuff, caused some race conditions
2083         and extra-size-buffers is not used anymore. Docs needs some updates
2084
2085 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2086
2087         * win32/common/config.h:
2088         * win32/common/gstenumtypes.c:
2089         * win32/common/gstenumtypes.h:
2090         * win32/common/gstversion.h:
2091           Update win32 files.
2092
2093 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2094
2095         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2096           (GST_DEBUG_BIN_TO_DOT_FILE):
2097           Add missing Since' markers to gtk-doc blurbs.
2098
2099 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2100
2101         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2102         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2103         (set_caps_1), (set_caps_ct1), (transform_ct1),
2104         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2105         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2106         (transform_size_ct2), (buffer_alloc_ct2):
2107         Add some more tests with switching caps in buffer_alloc.
2108
2109 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2110
2111         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2112         (gst_test_trans_class_init), (result_sink_chain),
2113         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2114         (gst_test_trans_push), (gst_test_trans_pop):
2115         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2116         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2117         (set_caps_1), (set_caps_ct1), (transform_ct1),
2118         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2119         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2120         (transform_size_ct2), (buffer_alloc_ct2),
2121         (gst_basetransform_suite):
2122         More tests, prepare for tests with switching caps in buffer_alloc.
2123
2124 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2125
2126         * plugins/elements/gstmultiqueue.c:
2127         * plugins/elements/gstmultiqueue.h:
2128         Fix dead-lock in underrun_cb
2129
2130 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2131
2132         * docs/design/part-states.txt:
2133         Fix device open/close docs.
2134
2135 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2136
2137         * ChangeLog:
2138           Mention bugnumber for last commit.
2139
2140 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2141
2142         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2143
2144         * docs/manual/manual.xml:
2145         - Reorganised the previous "introduction" bundle into Foreword,
2146         Introduction, and About GStreamer. The two first are <preface>
2147         docbook elements. The later is the first part of the book.
2148         - added intro-gstreamer.xml (content partially from
2149         intro-preface.xml)
2150         - moved appendix-win32.xml into appendix-integration.xml
2151
2152         * docs/manual/intro-preface.xml: gstreamer section moved...
2153         * docs/manual/intro-gstreamer.xml: ...here. new file.
2154
2155         * docs/manual/appendix-win32.xml: removed file. Content moved...
2156         * docs/manual/appendix-integration.xml: ...here.
2157         
2158         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2159         * docs/manual/appendix-checklist.xml: ...here.
2160         
2161         Fixes: 538764
2162
2163 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2164
2165         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2166
2167         * docs/manual/basics-helloworld.xml:
2168         * docs/manual/hello-world.fig:
2169           - Explicitely include glib.h.
2170           - Do not use global variables.
2171           - Use g_printerr() instead of g_print().
2172           - Minor formating/renaming to increase readibility.
2173           - Renamed new_pad() to on_pad_added()
2174           - Improved explenatory comments.
2175           - renamed ogg parser to ogg demuxer
2176           - Use "autoaudiosink" instead of "alsasink".
2177           Fixes: #538619
2178
2179 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2180
2181         * ChangeLog:
2182           Remove cvs conflict marker.
2183
2184 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2185
2186         * docs/README:
2187           Document that for plgin-docs we extraxt he short-desc from the element
2188           details.
2189
2190         * docs/design/part-states.txt:
2191           Tell that devices should be closed in PAUSED -> READY.
2192
2193         * docs/manual/README:
2194           Document how tests in the manual are handled.
2195
2196         * docs/manuals.mak:
2197           Typo in comment.
2198
2199 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2200
2201         * gst/gstbin.c: (bin_query_latency_fold):
2202         Only care about latency min and max when the sink is actually a live
2203         sink.
2204
2205 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2206
2207         * docs/design/part-block.txt:
2208         Fix typo.
2209
2210         * docs/design/part-element-transform.txt:
2211         Add notes about why transform needs to know input/output sizes.
2212         Add some issues that need to be solved.
2213         Add some more use cases.
2214
2215         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2216         (gst_test_trans_class_init), (result_sink_chain),
2217         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2218         (gst_test_trans_push), (gst_test_trans_pop):
2219         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2220         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2221         (set_caps_1), (set_caps_ct1), (transform_ct1),
2222         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2223         (gst_basetransform_suite):
2224         Add suport for different pad templates and buffer-alloc.
2225         Add more checks for caps and buffer-alloc.
2226         Add checks for proxy buffer alloc.
2227         Add unit test for copy transform.
2228
2229 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2230
2231         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2232
2233         * docs/manual/appendix-integration.xml:
2234         * docs/manual/appendix-licensing.xml:
2235         * docs/manual/basics-elements.xml:
2236         * docs/manual/basics-helloworld.xml:
2237         * docs/manual/basics-pads.xml:
2238         * docs/manual/highlevel-components.xml:
2239         * docs/manual/highlevel-xml.xml:
2240         * docs/manual/intro-basics.xml:
2241         * docs/manual/intro-preface.xml:
2242           Typo and formatting fixes (#538594).
2243
2244 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2245
2246         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2247         Fix some memory leaks and uses of object instances that we don't
2248         actually own.
2249
2250 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2251
2252         * plugins/elements/gstmultiqueue.c:
2253         Add functionality to extra-size-buffers property.
2254
2255 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2256
2257         * plugins/elements/gstmultiqueue.c:
2258         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2259         activate the pads if they are added in STATE_NULL.
2260
2261 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2262
2263         * docs/libs/gstreamer-libs-sections.txt:
2264         Add new API to doc
2265         * libs/gst/check/gstcheck.c:
2266         * libs/gst/check/gstcheck.h:
2267         API: gst_check_teardown_pad_by_name
2268
2269 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2270
2271         * libs/gst/check/gstcheck.c:
2272         * libs/gst/check/gstcheck.h:
2273         Also setup request pads and allow setup pads by name (#537812)
2274         API: gst_check_setup_src_pad_by_name
2275         API: gst_check_setup_sink_pad_by_name
2276
2277 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2278
2279         * tests/check/gst/gstbuffer.c:
2280         * tests/check/pipelines/parse-launch.c:
2281           Use HAVE_VALGRIND_H some more.
2282
2283 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2284
2285         * scripts/cvs-update.sh:
2286           Pass arguments to make.
2287           Run autoregen.sh if Makefile is not there.
2288
2289 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2290
2291         * configure.ac:
2292         * gst/gstinfo.c:
2293           Don't assume that <valgrind/valgrind.h> exists just because
2294           the binary is there.
2295
2296 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2297
2298         * tests/check/Makefile.am:
2299         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2300         (gst_test_trans_class_init), (gst_test_trans_init),
2301         (gst_test_trans_set_data), (result_sink_chain),
2302         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2303         (gst_test_trans_pop):
2304         * tests/check/libs/transform1.c: (GST_START_TEST),
2305         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2306         Add some test basetransform element and the beginnings of various
2307         unit tests for it.
2308
2309 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2310
2311         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2312         Increase code readability.
2313         Don't try to compare buffer offsets when ther are invalid.
2314
2315 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2316
2317         * docs/design/Makefile.am:
2318           Dist some more design docs.
2319
2320         * docs/random/moving-plugins:
2321           Small addition: good plugins mustn't have functional code
2322           within assertion macros.
2323
2324 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2325
2326         * docs/design/draft-framestep.txt:
2327         Some ideas about a framestep API
2328
2329         * docs/design/part-element-transform.txt:
2330         Start design and use cases for basetransform in order to get it
2331         fixed soon.
2332
2333 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2334
2335         * gst/gsttaglist.h:
2336           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2337           be in UTF-8 encoding.
2338
2339 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2340
2341         * gst/gstbus.c:
2342           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2343
2344 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2345
2346         * plugins/elements/gstcapsfilter.c:
2347         * plugins/elements/gstfakesink.c:
2348         * plugins/elements/gstfakesrc.c:
2349         * plugins/elements/gstfdsink.c:
2350         * plugins/elements/gstfdsrc.c:
2351         * plugins/elements/gstfilesink.c:
2352         * plugins/elements/gstfilesrc.c:
2353         * plugins/elements/gstidentity.c:
2354         * plugins/elements/gstmultiqueue.c:
2355         * plugins/elements/gstqueue.c:
2356         * plugins/elements/gsttee.c:
2357         * plugins/elements/gsttypefindelement.c:
2358           Remove short_description. Add basic docs for gsttypefindelement.
2359           Simplify markup for fakesrc/fdsrc.
2360
2361 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2362
2363         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2364         Added Since doc.
2365
2366 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2367
2368         Patch by: Joel Larsson <tilljoel at gmail dot com>
2369
2370         * docs/plugins/gstreamer-plugins.args:
2371         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2372         (gst_fd_src_init), (gst_fd_src_update_fd),
2373         (gst_fd_src_set_property), (gst_fd_src_get_property),
2374         (gst_fd_src_create):
2375         * plugins/elements/gstfdsrc.h:
2376         Add timeout property like udpsrc. Fixes #538628.
2377         Add some more docs and example pipelines.
2378
2379 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2380
2381         * docs/libs/gstreamer-libs-sections.txt:
2382         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2383         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2384         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2385         (gst_base_sink_do_sync):
2386         * libs/gst/base/gstbasesink.h:
2387         * win32/common/libgstbase.def:
2388         Add method to allow sinks to specify additional delay between the sync
2389         times and the actual rendering of the data.
2390         API: gst_base_sink_set_render_delay()
2391         API: gst_base_sink_get_render_delay()
2392
2393 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2394
2395         * configure.ac:
2396         Bump version number back to dev -> 0.10.20.1
2397
2398 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2399
2400         * docs/gst/gstreamer-sections.txt:
2401         * gst/gsttaglist.c: (_gst_tag_initialize):
2402         * gst/gsttaglist.h:
2403         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2404         Fixes bug #538568.
2405
2406 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2407
2408         * libs/gst/controller/gstcontroller.c:
2409           Revert one change, that make ret value possible uninitialized.
2410
2411 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2412
2413         * libs/gst/controller/gstcontroller.c:
2414           Use freeze/thaw notify to sync notify emission a bit (its also more
2415           efficient). Move debug output to LOG (is called a lot in a loop).
2416           Always unset g_values if the have been initialized.
2417
2418 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2419
2420         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2421         (gst_base_sink_wait_eos), (gst_base_sink_event):
2422         If we have not seen a buffer before EOS, use the segment values to
2423         report the current position instead of invalid positions.
2424
2425 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2426
2427         * docs/plugins/tmpl/.cvsignore:
2428         * tests/check/gst/.cvsignore:
2429           Ignore more.
2430
2431 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2432
2433         * libs/gst/controller/gstinterpolation.c:
2434         * libs/gst/controller/gstinterpolationcontrolsource.c:
2435         * tests/check/libs/controller.c:
2436           Rewrite handling of default values. Fix overflow with unsigned types
2437           in linear interpolation. Remove now obsolete _first_value() function.
2438           Add more tests. Fixes #538201.
2439
2440 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2441
2442         * libs/gst/base/gstbasetransform.c:
2443         (gst_base_transform_class_init), (gst_base_transform_init),
2444         (gst_base_transform_transform_caps),
2445         (gst_base_transform_prepare_output_buffer):
2446         Add debug info.
2447         When a buffer is writable, its metadata is also writable so we don't
2448         need to subbuffer (which then makes the buffer not-writable anymore).
2449
2450 === release 0.10.20 ===
2451
2452 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2453
2454         * configure.ac:
2455           releasing 0.10.20, "You Crazy Diamond"
2456
2457 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2458
2459         * configure.ac:
2460         0.10.19.3 pre-release
2461
2462 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2463
2464         * configure.ac:
2465         * gst/gstpreset.c:
2466         Rename DATADIR to GST_DATADIR to avoid build problems
2467         on win32. Patch By: David Schleef <ds@schleef.org>
2468         Fixes: #536857
2469
2470 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2471
2472         * configure.ac:
2473         Explicitely link with -ldl if dladdr() is found there. Before it was
2474         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2475         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2476
2477 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2478
2479         * gst/gsterror.c: (_gst_stream_errors_init):
2480           Fix typo (spotted by Fabricio Godoy, #536723).
2481
2482 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2483
2484         * configure.ac:
2485         0.10.19.2 pre-release
2486
2487 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2488
2489         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2490         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2491         Add some debug.
2492         Make sure we don't generate invalid QoS messages.
2493
2494 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2495
2496         * gst/gstevent.c: (gst_event_new_qos):
2497         Add some assert and docs for invalid input to the qos function.
2498
2499 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2500
2501         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2502         (gst_base_sink_get_position):
2503         The reported position must always be smaller than the last seen
2504         timestamps (or timestamp + duration for reverse).
2505
2506 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2507
2508         Patch by: Rob Bradford <rob at robster dot org dot uk>
2509
2510         * gst/gstregistry.c: (gst_registry_scan_path_level):
2511         Don't recurse into .debug directories as some distros install
2512         the debugging symbols next to the plugins in .debug directories
2513         and dlopen() crashes on them sometimes. Fixes bug #508070.
2514
2515         Add FIXME for 0.11 to not recurse into directories at all because
2516         it's very inconsistent to the behaviour of other PATH environment
2517         variables.
2518
2519 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2520
2521         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2522         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2523         Fix position query range checks in reverse playback.
2524
2525 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2526
2527         * gst/gstelement.c:
2528         * gst/gstelement.h:
2529         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2530         clear of the reference to the resulting pad must be released later
2531         or not, resulting in possible leaks. Fixes bug #533865.
2532
2533 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2534
2535         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2536
2537         * gst/gstelementfactory.c:
2538         Small doc fix. Fixes #535285.
2539
2540 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2541
2542         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2543
2544         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2545         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2546         (gst_base_src_loop), (gst_base_src_set_flushing),
2547         (gst_base_src_change_state):
2548         Make sending an EOS event to the basesrc non-blocking even if the
2549         implementation does blocking waits in the create function. This is done
2550         by unlocking the create function when EOS is sent.
2551         Fixes #535218.
2552
2553 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2554
2555         * tools/gst-inspect.c: (print_element_properties_info):
2556         If possible print the element type of GValueArray properties.
2557
2558 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2559
2560         * gst/gstiterator.c:
2561         Remove an unused field from the private GstListIterator struct.
2562
2563 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2564
2565         * libs/gst/controller/gstcontroller.c:
2566           Add parameter guards.
2567
2568 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2569
2570         * tests/check/gst/gstpipeline.c:
2571           Revert test change and add comment why it should not work.
2572
2573 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2574
2575         * tests/check/gst/gstpipeline.c:
2576           Extending the test a little to verify that we also get the NULL state-
2577           change message.
2578
2579 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2580
2581         * gst/gstpreset.c: (gst_preset_default_get_meta),
2582           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2583           (gst_preset_load_preset), (gst_preset_save_preset),
2584           (gst_preset_rename_preset), (gst_preset_delete_preset),
2585           (gst_preset_set_meta):
2586           Add Since: markers to docs blurbs.
2587
2588         * win32/common/libgstreamer.def:
2589           Add recently-added API.
2590
2591 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2592
2593         Patch by: Stefan Kost  <ensonic@users.sf.net>
2594
2595         * configure.ac:
2596         Add DATADIR for storing presets.
2597
2598         * docs/gst/gstreamer-docs.sgml:
2599         * docs/gst/gstreamer-sections.txt:
2600         * docs/gst/gstreamer.types.in:
2601         Add GstPreset to docs.
2602
2603         * gst/Makefile.am:
2604         * gst/gst.h:
2605         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2606         (preset_open_and_parse_header), (preset_parse_version),
2607         (preset_merge), (preset_get_keyfile),
2608         (gst_preset_default_get_preset_names),
2609         (gst_preset_default_get_property_names),
2610         (gst_preset_default_load_preset),
2611         (gst_preset_default_save_presets_file),
2612         (gst_preset_default_save_preset),
2613         (gst_preset_default_rename_preset),
2614         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2615         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2616         (gst_preset_default_reset), (gst_preset_get_preset_names),
2617         (gst_preset_get_property_names), (gst_preset_load_preset),
2618         (gst_preset_save_preset), (gst_preset_rename_preset),
2619         (gst_preset_delete_preset), (gst_preset_set_meta),
2620         (gst_preset_get_meta), (gst_preset_class_init),
2621         (gst_preset_base_init), (gst_preset_get_type):
2622         * gst/gstpreset.h:
2623         Add GstPreset to core. Fixes #396779
2624
2625         * tests/check/Makefile.am:
2626         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2627         (gst_preset_test_set_property), (gst_preset_test_class_init),
2628         (gst_preset_test_base_init), (gst_preset_test_get_type),
2629         (gst_preset_test_plugin_init), (GST_START_TEST),
2630         (remove_preset_file), (test_setup), (test_teardown),
2631         (gst_preset_suite):
2632         Add GstPreset unit tests.
2633
2634 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2635
2636         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2637         The default event function on a sinkpad should return TRUE when
2638         there are no internal links but should collect the return values from
2639         the internal links otherwise.
2640
2641 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2642
2643         * plugins/elements/gsttypefindelement.c:
2644         (gst_type_find_element_src_event),
2645         (gst_type_find_element_handle_event):
2646         Use faster and safer _pad_push_event().
2647
2648 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2649
2650         * docs/gst/gstreamer-sections.txt:
2651         * gst/gstutils.c: (element_find_unlinked_pad),
2652           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2653         * gst/gstutils.h:
2654           API: add gst_bin_find_unlinked_pad()
2655           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2656
2657 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2658
2659         * gst/gstclock.c:
2660         * gst/gstclock.h:
2661         * gst/gsttask.c:
2662         * gst/gsttask.h:
2663         Fixed a bunch of typos.
2664
2665 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2666
2667         * gst/gstpad.h:
2668         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2669           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2670           (gst_parse_bin_from_description_full):
2671         * gst/gstutils.h:
2672           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2673
2674 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2675
2676         * docs/pwg/advanced-tagging.xml:
2677           Small docs update, can't be bothered to rewrite the nonsensical
2678           examples right now.
2679
2680 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2681
2682         * gst/gstevent.h:
2683           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2684
2685 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2686
2687         * gst/parse/grammar.y:
2688           Remove unneeded casts.
2689
2690 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2691
2692         * gst/parse/grammar.y:
2693         * tests/check/pipelines/parse-launch.c:
2694           Get all missing elements from a parse launch string if possible
2695           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2696
2697 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2698
2699         * tests/check/Makefile.am:
2700         * tests/check/pipelines/parse-launch.c:
2701           Add some unit tests for the new gst_parse_launch*_full() API.
2702           (Exposes a previously-existing memory leak in the error code
2703           path, so adding to VALGRIND_TO_FIX for now).
2704
2705 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2706
2707         * docs/gst/gstreamer-sections.txt:
2708         * gst/gst.c: (init_post):
2709         * gst/gst_private.h: (_GstParseContext):
2710         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2711           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2712           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2713           (gst_parse_launch_full):
2714         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2715           (GstParseFlags), (GstParseContext):
2716         * gst/gstutils.c: (gst_parse_bin_from_description),
2717           (gst_parse_bin_from_description_full):
2718         * gst/gstutils.h:
2719         * gst/parse/grammar.y:
2720         * gst/parse/types.h:
2721         * win32/common/libgstreamer.def:
2722           Add new gst_parse_*_full API (#528178):
2723           API: gst_parse_launch_full()
2724           API: gst_parse_launchv_full()
2725           API: gst_parse_bin_from_description_full()
2726           API: gst_parse_context_new()
2727           API: gst_parse_context_free()
2728           API: gst_parse_context_get_missing_elements()
2729
2730 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2731
2732         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2733
2734         * docs/faq/gst-uninstalled:
2735           Also support ffmpeg in gst-uninstalled.
2736
2737 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2738
2739         * configure.ac:
2740         After discussion on IRC use the binary registry as default
2741         but allow to disable it with --disable-binary-registry.
2742
2743         * win32/common/libgstreamer.def:
2744         Add the two new symbols for the binary registry.
2745
2746 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2747
2748         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2749         * gst/gstutils.c: (gst_parse_bin_from_description):
2750         * gst/parse/grammar.y: (graph):
2751           More guards against bad input; typo fix; some minor clean-ups.
2752
2753 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2754
2755         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2756
2757         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2758         If nothing else can be used, use the last buffer's start time as
2759         the segment's last stop. Fixes bug #534258.
2760
2761 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2762
2763         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2764           Move size sanity check to the right place: downstream may return
2765           a buffer with a smaller size if the buffer caps are different than
2766           the requested ones, as may happen when doing reverse negotiation.
2767
2768 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2769
2770         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2771         (gst_file_sink_render):
2772         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2773         (gst_file_src_start):
2774         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2775         use it yet.
2776
2777 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2778
2779         * gst/gstpad.c: (gst_pad_load_and_link):
2780         * gst/gstutils.c: (gst_element_link_pads),
2781         (gst_element_unlink_pads):
2782         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2783         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2784         (gst_check_teardown_sink_pad),
2785         (gst_check_element_push_buffer_list):
2786         * tests/check/elements/fakesink.c: (GST_START_TEST):
2787         * tests/check/elements/filesink.c:
2788         * tests/check/elements/filesrc.c: (GST_START_TEST):
2789         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2790         (mq_sinkpad_to_srcpad):
2791         * tests/check/elements/tee.c: (GST_START_TEST):
2792         * tests/check/generic/sinks.c: (GST_START_TEST):
2793         * tests/check/gst/gstbin.c: (GST_START_TEST):
2794         * tests/check/gst/gstevent.c: (GST_START_TEST):
2795         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2796         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2797         * tests/check/gst/gstquery.c: (GST_START_TEST):
2798         * tests/check/gst/gstutils.c: (GST_START_TEST):
2799         * tests/check/libs/basesrc.c: (GST_START_TEST):
2800         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2801         (gst_parse_test_element_change_state):
2802         Don't use gst_element_get_pad().
2803
2804 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2805
2806         * docs/Makefile.am:
2807         Fix installing plugin documentation when gtk-doc is disabled.
2808
2809 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2810
2811         * docs/manual/advanced-autoplugging.xml:
2812         * docs/manual/basics-helloworld.xml:
2813         * docs/manual/basics-pads.xml:
2814         * docs/manual/highlevel-components.xml:
2815         Avoid using a bad function in the example code.
2816
2817 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2818
2819         * gst/gstclock.c: (gst_clock_set_calibration):
2820         Fix debug of the new clock rate.
2821
2822 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2823
2824         * win32/common/libgstbase.def:
2825         Add gst_base_sink_wait_clock() to the exported symbols.
2826
2827 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2828
2829         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2830
2831         * libs/gst/base/gstbasetransform.c:
2832         (gst_base_transform_sink_event):
2833         Unref events that the GstBaseTransform::event vfunc didn't want to
2834         have forwarded by the base class. Closes a leak in identity.
2835         Fixes bug #446763.
2836
2837 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2838
2839         * docs/libs/gstreamer-libs-sections.txt:
2840         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2841         * libs/gst/base/gstbasesink.h:
2842         Expose a method that was previously used internally to synchronize
2843         against the clock because it can be useful for subclasses too.
2844         API: GstBaseSink::gst_base_sink_wait_clock()
2845
2846 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2847
2848         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2849           Add sanity check to make sure we don't get smaller buffers
2850           than requested (and fallback to normal buffer alloc if we do).
2851
2852 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2853
2854         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2855         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2856         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2857         Refactor adjusting the running_time with latency and offset into a
2858         separate method.
2859         When doing clipping, we still want to use the subclass get_times method,
2860         just in case the DURATION or TIMESTAMP are not set.
2861
2862 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2863
2864         * docs/gst/gstreamer-sections.txt:
2865         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2866         * gst/gsttypefind.h:
2867         * win32/common/libgstreamer.def:
2868           API: add gst_type_find_suggest_simple(), #533740.
2869
2870 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2871
2872         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2873           Use right error code when typefinding fails, so we can use
2874           the default (translated) error messages.
2875
2876 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2877
2878         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2879         (gst_base_src_start):
2880         When the subclass did not set caps on outgoing buffers, configure the
2881         caps we negotiated on the source pad.
2882         When the typefind helper does not find caps, error out properly instead
2883         of doing things with NULL caps.
2884
2885 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2886
2887         * gst/gsttypefind.h:
2888           Tabs to spaces, oh yes!
2889
2890 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2891
2892         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2893           Add David's and Benjamin's tests for array intersection to the
2894           unit test suite (#147931).
2895
2896 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2897
2898         * gst/gstevent.c:
2899           Document that gst_event_new_tag() and gst_event_new_navigation()
2900           take ownership of the taglist/structure passed to them. (#533635).
2901
2902 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2903
2904         * docs/Makefile.am:
2905         Don't descend into the plugins dir if plugin docs building
2906         is disabled.
2907
2908         * docs/README:
2909         Add a note about the new type:GTypeName syntax for the plugin
2910         documentation .types file.
2911
2912 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2913
2914         * gst/gstmessage.c: (gst_message_new_error),
2915         (gst_message_new_warning), (gst_message_new_info):
2916         * gst/gstmessage.h:
2917         Mark the debug string parameters as const. Fixes bug #533490.
2918
2919 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2920
2921         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2922         Sort buffer cache list by end offsets. This makes sure that we don't
2923         stop to search for a cached buffer that contains the requested data
2924         too early.
2925         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2926         more efficient. Fixes bug #459862.
2927
2928 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2929
2930         * gst/gstinfo.c:
2931           Explain why we copy the list.
2932
2933         * gst/gstpipeline.c:
2934           Improve docs.
2935
2936         * gst/gstutils.c:
2937           Add one debug-log statement to help tracing probelms with linking pads.
2938
2939 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2940
2941         * tests/check/gst/gstinfo.c:
2942         Add a test for removing the default log handler. Seems to fail under
2943         windows.
2944
2945 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2946
2947         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2948         Release pad lock before calling out to avoid a possible deadlock.
2949
2950 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2951
2952         * gst/parse/grammar.y:
2953         Remove unneeded value unset.
2954
2955         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2956         Add unit test for de/serialization of caps.
2957
2958 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2959
2960         * plugins/elements/gstfakesink.c:
2961         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2962         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2963         (gst_fake_src_class_init):
2964         Use custom marshalers that take GstMiniObject as first parameter.
2965         Using OBJECT as parameter while a GstMiniObject is given will lead
2966         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2967
2968 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2969
2970         * plugins/elements/gsttypefindelement.c:
2971         (gst_type_find_element_handle_event),
2972         (gst_type_find_element_send_cached_events),
2973         (gst_type_find_element_change_state):
2974         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2975         immediately.
2976
2977 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2978
2979         * plugins/elements/gsttypefindelement.c:
2980         (gst_type_find_handle_src_query), (stop_typefinding),
2981         (gst_type_find_element_handle_event),
2982         (gst_type_find_element_send_cached_events),
2983         (gst_type_find_element_change_state):
2984         Forward FLUSH_START events immediately and clean up instead of
2985         caching them.
2986
2987 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2988
2989         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2990
2991         * libs/gst/base/gstbasetransform.c:
2992         (gst_base_transform_buffer_alloc):
2993         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2994         fall back to default negotiation in the chain function if the caps
2995         are different from what was requested. Fixes bug #526768.
2996
2997 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2998
2999         * gst/gstsegment.c:
3000         * tests/check/gst/gstsegment.c:
3001           No, let's not use g_slice_{dup|copy} here, since they only exist
3002           since GLib 2.14 and we still depend only on >= 2.12. Also add
3003           unit test for gst_segment_copy().
3004
3005 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3006
3007         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3008           Try to fix 'dereferencing type-punned pointer will break strict
3009           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3010           changed the default GType typedef from gulong to gsize at some point,
3011           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3012           g_once_* functions all take a gsize * though, so work around the type
3013           mismatch for C++ by doing everything in gsize and casting to GType
3014           later.
3015
3016 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3017
3018         * plugins/elements/gstmultiqueue.c:
3019         Add documentation for the signals to push our core plugin docs
3020         coverage back up to 100%.
3021
3022 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3023
3024         * gst/gstinfo.h (GST_FUNCTION):
3025           Reverted GST_FUNCTION to the old version as we don't want the
3026           full signature in C++ code. Also added support for MSVC.
3027
3028 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3029
3030         * gst/gstutils.h:
3031         Intern the type name string, similar to what G_DEFINE_TYPE does.
3032
3033 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3034
3035         * gst/gstutils.h:
3036         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3037
3038 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3039
3040         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3041
3042         * libs/gst/base/gstbasetransform.c:
3043         (gst_base_transform_buffer_alloc):
3044         Don't passthrough buffer allocation too easily if the caps change.
3045         This breaks when working in passthrough mode and upstream changes
3046         it's caps. Fixes bug #526768.
3047
3048 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3049
3050         * gst/gstinfo.c (gst_debug_log_valist):
3051           Improved the __FILE__ part of debug output for MSVC.
3052
3053 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3054
3055         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3056           Declaration after statement fix for compilers like MSVC.
3057
3058 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3059
3060         * win32/common/config.h.in:
3061           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3062           use the real thing than having "???" unconditionally.
3063
3064 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3065
3066         * gst/gstinfo.h (GST_FUNCTION):
3067           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3068
3069 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3070
3071         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3072         Small code cleanup.
3073
3074         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3075         (gst_base_sink_set_flushing):
3076         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3077         Fix some comments.
3078
3079 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3080
3081         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3082         (gst_fake_src_init), (gst_fake_src_set_property),
3083         (gst_fake_src_get_property), (gst_fake_src_start):
3084         * plugins/elements/gstfakesrc.h:
3085         Added format property to control the format of the newsegment events.
3086         API: GstFakeSrc:format
3087
3088 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3089
3090         * win32/common/libgstreamer.def:
3091         Add gst_pad_has_name() to the exported symbols.
3092
3093 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3094
3095         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3096         * libs/gst/base/gstbasetransform.c:
3097         (gst_base_transform_prepare_output_buffer):
3098         Don't allow negative sizes when allocating new buffers.
3099         Fixes bug #461253.
3100
3101 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3102
3103         Patch by: Sjoerd Simons <sjoerd at luon net>
3104
3105         * gst/gstbus.c: (gst_bus_source_dispatch):
3106           Don't print a warning if the queue is empty when we try to pop
3107           here. That could happen if another thread or callback set the
3108           bus to flushing between the source's check/prepare and the
3109           dispatch being called (#531538).
3110
3111 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3112
3113         * plugins/elements/gstmultiqueue.c:
3114           Small docs fix.
3115         
3116 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3117
3118         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3119         Add unit test for deserializing uint64s and check some really large
3120         numbers in the int64 test.
3121
3122 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3123
3124         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3125         (print_interfaces), (print_element_properties_info),
3126         (print_signal_info):
3127         Use "%s" as format string instead of printing strings directly.
3128
3129 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3130
3131         * gst/gstclock.c: (gst_clock_set_calibration):
3132         Make some checks actually useful.
3133
3134         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3135         Remove some unused code. Unsigned integers tend to be >= 0.
3136
3137 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3138
3139         * gst/gstminiobject.c: (gst_value_get_mini_object):
3140           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3141           function was not in the unscheduled 0.10.19 release.
3142
3143 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3144
3145         * gst/gstregistry.c: (gst_registry_scan_path_level):
3146           Only print one log message per non-plugin file.
3147
3148 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3149
3150         * gst/gstinfo.c: (gst_debug_log_default):
3151           Fix alignment of debug log columns on 64-bit.
3152
3153 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3154
3155         * docs/libs/Makefile.am:
3156         * docs/libs/gstreamer-libs-sections.txt:
3157           Ignore private controller headers for docs.
3158
3159 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3160
3161         * libs/gst/controller/gstcontrollerprivate.h:
3162         * libs/gst/controller/gsthelper.c:
3163         * libs/gst/controller/gstinterpolation.c:
3164         * libs/gst/controller/gstinterpolationcontrolsource.c:
3165         (gst_interpolation_control_source_set_interpolation_mode):
3166         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3167         * libs/gst/controller/lib.c:
3168         Move some private declarations into private headers.
3169
3170 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3171
3172         * gst/gstdebugutils.c: (debug_dump_element_pad):
3173         Remove some code that is unused after Stefan's refactoring and uses
3174         uninitialized variables now, resulting in a compiler warning.
3175
3176 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3177
3178         * gst/gstregistry.c: (gst_registry_scan_path_level):
3179           Run g_str_has_suffix() only on the file name, not the
3180           entire file path.
3181
3182 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3183
3184         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3185           Since we're not called only from the chain function any longer,
3186           we can't assume that there's always data in the queue, so move
3187           the is_full check to the beginning of the loop (otherwise we'd
3188           hit the assert when changing the limit properties while the
3189           queue is empty or not running yet).
3190           Also, only set a discont if items were actually removed from
3191           the queue.
3192
3193         * tests/check/elements/queue.c: (test_leaky_downstream):
3194           Test case for the above.
3195
3196 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3197
3198         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3199
3200         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3201         (gst_queue_chain), (queue_capacity_change),
3202         (gst_queue_set_property):
3203         When changing thr max capacity of a leaky queue, immediatly drop buffers
3204         instead of waiting for a push on the sinkpad. Fixes #530637.
3205
3206 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3207
3208         * gst/gstdebugutils.c:
3209           Refactor code and fix handling of ghostpads and their proxypads.
3210
3211 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3212
3213         * docs/gst/gstreamer-sections.txt:
3214         * gst/gstevent.c: (gst_event_has_name):
3215         * gst/gstevent.h:
3216         * tests/check/gst/gstevent.c: (GST_START_TEST):
3217         Add method to conveniently check the name of a custom event with
3218         gst_event_has_name().
3219         Reformat the event docs so that related methods are put together instead
3220         of the default alphabetical sort.
3221         Update unit test with new method.
3222         API: GstEvent::gst_event_has_name()
3223
3224 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3225
3226         * libs/gst/check/Makefile.am:
3227           Don't add an explicit link to libgstreamer-0.10.la; it's already
3228           included in GST_OBJ_LIBS.
3229
3230 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3231
3232         * gst/gst.c:
3233         Register GstClock type from a type-safe context. Fixes bug #530317.
3234
3235 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3236
3237         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3238         * tools/gst-run.c:
3239           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3240
3241 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3242
3243         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3244         (gst_bin_dispose):
3245         Use the GLib stuff to create a private structure.
3246         Add some locking around some dispose methods to make them a little
3247         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3248
3249 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3250
3251         * libs/gst/base/gstbasesink.h:
3252         * libs/gst/base/gstbasesrc.h:
3253         * libs/gst/base/gstbasetransform.h:
3254         * libs/gst/base/gstcollectpads.h:
3255           Fix doc typos and unify caps a bit.
3256
3257 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3258
3259         * tools/gst-launch.1.in:
3260           Forgot to also add the envvar docs here.
3261
3262 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3263
3264         * gst/gst.c: (init_post), (gst_deinit):
3265         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3266           (test_concurrent_create), (gst_pipeline_suite):
3267           Ref some more classes in gst_init() to work around thread-safety
3268           issues in pre-2.16 GLibs, and add basic unit test.
3269
3270 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3271
3272         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3273         (gst_base_sink_send_event):
3274         Rearrange the latency query code. We always want to do the upstream
3275         query, even if we are not live so that the upstream elements can get the
3276         latency results too. If we fail doing the query and we are live, we
3277         return TRUE afterwards.
3278
3279 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3280
3281         patch by: Jason Zhao <e3423c@motorola.com>
3282
3283         * docs/gst/running.xml:
3284         * gst/gst.c:
3285           Enable/disable scan_and_update_registry() based on commandline switch
3286           or environment variable. Fixes #520468.
3287           
3288         * ChangeLog:
3289           Fix typo in my previous commit.
3290
3291 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3292
3293         * gst/gstregistrybinary.c:
3294           Add a warning if we hit unhandled factories when saving.
3295           More debug logging detail, but move to LOG category.
3296
3297 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3298
3299         * gst/gstregistry.c:
3300           Tell the *truth* when improving the documentation.
3301
3302 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3303
3304         * gst/gstelementfactory.c: (gst_element_factory_make):
3305         Unref the factory after it was used the last time, not before.
3306
3307         * gst/gstindexfactory.c: (gst_index_factory_make):
3308         Improve debugging a bit and don't leak a ref to the index factory with
3309         each call.
3310
3311 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3312
3313         * gst/gstregistry.c:
3314           Improve the documentation.
3315
3316 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3317
3318         * gst/gstsegment.c:
3319           The glib macro seems to be borked. Use g_slice_copy directly and cast
3320           in the hope that this fixes the warning on 64bit.
3321
3322 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3323
3324         * gst/gstsegment.c:
3325           Document the new function. Use g_slice_dup() (no need for
3326           gst_segment_init()).    
3327
3328 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3329
3330         * docs/gst/gstreamer-sections.txt:
3331           Move GParamSepc macros to standart section.
3332   
3333         * gst/gstbin.c:
3334           Dn't document _get_type - its in private section in docs anyway and
3335           this doc-blob was incomplete.
3336
3337         * gst/gstclock.h:
3338           Fix wrong symbol names in docs.
3339
3340         * gst/gstmacros.h:
3341           Add once doc sentence.
3342
3343         * tests/check/gst/.cvsignore:
3344           Ignore more.
3345
3346 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3347
3348         * docs/gst/Makefile.am:
3349           And remove those libs here.
3350
3351 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3352
3353         * docs/libs/Makefile.am:
3354           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3355
3356 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3357
3358         Patch by: Olivier Crete <tester at tester dot ca>
3359
3360         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3361         Add the min-threshold to the min latency if possible. Fixes #529148.
3362
3363 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3364
3365         * docs/gst/gstreamer.types.in:
3366           Stupid editor, I removed that line as it should go in yet.
3367
3368 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3369
3370         * docs/gst/gstreamer.types.in:
3371         * docs/libs/gstreamer-libs.types:
3372           Remove library types fro core docs and have them in libs docs.
3373           Reformat and cleanup. Add comment for miniobject types.
3374
3375 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3376
3377         * gst/gsturi.c: (gst_uri_get_protocol):
3378           Fix leak: g_strdown operates on the string in place, while
3379           g_ascii_strdown() returns a newly-allocated string.
3380
3381 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3382
3383         * tools/gst-inspect.c: (print_uri_handler_info),
3384         (print_element_info):
3385         Print the URI protocols and the URI type supported by the element.
3386
3387 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3388
3389         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3390         Use g_value_take_string() instead of the deprecated
3391         g_value_set_string_take_ownership().
3392
3393 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3394
3395         * gst/gstregistrybinary.c: (_gst_crc32):
3396         Return the old CRC instead of 0 if we give a NULL buffer
3397         or a buffer with a length of 0.
3398
3399 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3400
3401         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3402         (gst_uri_get_protocol), (gst_uri_has_protocol),
3403         (gst_uri_construct), (gst_uri_handler_set_uri):
3404         A valid URI scheme can also include '+', '-' and '.' additional
3405         to alphanumeric characters as per RFC 3986 Section 3.1.
3406
3407         Handle URI schemes case insensitive in all places and convert
3408         to lower-case when constructing an URI or setting an URI with
3409         the GstURIHandler interface. Fixes bug #528868.
3410         All elements can still assume (as before) that they will
3411         get passed URIs with a lower-case URI scheme by the GstURIHandler
3412         interface.
3413
3414 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3415
3416         * gst/gstcaps.c: (gst_static_caps_get):
3417         * gst/gstclock.c: (gst_clock_entry_new):
3418           Don't use g_atomic_set_int where it's not needed.
3419
3420 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3421
3422         * gst/gstvalue.c: (gst_value_deserialize_caps):
3423         * gst/parse/grammar.y:
3424         Fix 2 caps leaks.
3425
3426 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3427
3428         * gst/gstutils.c: (gst_atomic_int_set):
3429         Use g_atomic_int_set() here too instead of assignment +
3430         g_atomic_int_get().
3431
3432 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3433         
3434         * gst/gstutils.c:
3435         * gst/gstutils.h:
3436         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3437         now that we depend on new enough GLib.
3438
3439         * gst/gstcaps.c: (gst_static_caps_get):
3440         * gst/gstclock.c: (gst_clock_entry_new):
3441         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3442         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3443         (gst_debug_category_set_threshold):
3444         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3445         (gst_base_sink_set_qos_enabled):
3446         * libs/gst/net/gstnettimeprovider.c:
3447         (gst_net_time_provider_set_property):
3448         Use g_atomic_int_set() instead of gst_atomic_int_set().
3449
3450 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * gst/gstquery.c:
3453           Also use G_GINT64_CONSTANT for the queries.
3454
3455 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3456
3457         * gst/gstmessage.c:
3458           Use G_GINT64_CONSTANT in varargs function.
3459
3460 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3461
3462         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3463         Initialize the registry magic with zeroes.
3464
3465 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3466
3467         * gst/gstregistrybinary.c: (_gst_crc32),
3468         (gst_registry_binary_write),
3469         (gst_registry_binary_initialize_magic),
3470         (gst_registry_binary_write_cache),
3471         (gst_registry_binary_check_magic),
3472         (gst_registry_binary_read_cache):
3473         * gst/gstregistrybinary.h:
3474         Add crc32 checksum to the binary registry file and check this before
3475         accepting a registry file.
3476
3477         Also free the data list when writing to the registry file fails.
3478
3479 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3480
3481         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3482         (gst_registry_binary_load_feature),
3483         (gst_registry_binary_load_plugin):
3484         If an element supports the Uri interface, returns a valid pointer
3485         to the supported URI protocols but this pointer contains nothing
3486         don't try to save that as it will corrupt the registry.
3487
3488         Don't unref the plugin if we added it to the registry already but
3489         fail to load a feature as gst_registry_add_plugin() takes ownership
3490         of the plugin.
3491
3492         Improve debugging a bit.
3493
3494 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3495
3496         * gst/gsttaglist.h:
3497           Clarify some tag item docs after discussion on irc.
3498
3499 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3500
3501         * docs/gst/gstreamer-docs.sgml:
3502           Remove commented out plugins (they have their own docs). Update
3503           comments.
3504
3505 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3506
3507         * docs/gst/gstreamer-docs.sgml:
3508         * docs/gst/gstreamer-sections.txt:
3509         * gst/gstparamspecs.c:
3510         * gst/gstparamspecs.h:
3511           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3512           docs to own section.
3513
3514         * gst/gstvalue.c:
3515           This now only documents GValue.
3516           
3517         * docs/libs/gstreamer-libs-sections.txt:
3518         * libs/gst/controller/gstcontroller.h:
3519           Remove GST_PARAM_CONTROLLABLE.
3520
3521 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3522
3523         * docs/README:
3524           Correct file path. Tell about how to use -overrides.txt.
3525         * docs/design/draft-tagreading.txt:
3526           Small design update.
3527
3528 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3529
3530         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3531         (gst_registry_binary_load_plugin):
3532         Fix a typo in a debug message and revert change from yesterday as
3533         gst_registry_add_plugin() will only fail if something is really wrong
3534         already and we can't survive it anyway.
3535
3536 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3537
3538         * gst/gst.c: (init_post), (gst_deinit):
3539           Pre-register GstGError GType from a thread-safe context
3540           (fixes #527967); unref enum type classes in deinit.
3541
3542 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3543
3544         Patch by: Rene Stadler <mail at renestadler de>
3545
3546         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3547           Merging an empty list with another list in KEEP_ALL mode should
3548           yield an empty list as result and not the second list (#512578).
3549
3550         * tests/check/gst/gsttagsetter.c:
3551           Add unit test for tag merge modes and the aforementioned bug.
3552
3553 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         Patch by: Rene Stadler <mail at renestadler de>
3556
3557         * gst/gsttaglist.h:
3558           Fix description to match the order in the table (#512577).
3559   
3560 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3563
3564         * libs/gst/net/gstnettimepacket.h:
3565         * docs/libs/gstreamer-libs-sections.txt:
3566           Define socklen_t as int if it's not defined yet. Fixes compilation
3567           with MSVC6 and other versions where socklen_t is not defined in
3568           the windows headers (#518022).
3569
3570 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3571
3572         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3573         If gst_registry_add_plugin() fails our reference to the plugin is
3574         invalid so don't try to use it anymore and instead error out.
3575
3576 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3577
3578         * tools/gst-xmlinspect.c: (print_element_info), (main):
3579           De-cruft a bit. If no argument is specified, print all elements in
3580           XML syntax rather than a freestyle list of elements like gst-inspect.
3581           Also, don't print XML header chunk unless we actually have something
3582           to print (ie. don't print it before an error message); print error
3583           message to stderr not stdout. Remove support for printing plugin
3584           info (it would just output something freestyle along the lines of
3585           gst-inspect so far), which fixes #514507. Also add license header.
3586
3587 2008-04-11  Julien Moutte  <julien@fluendo.com>
3588
3589         Mac OS X love...
3590         * configure.ac: Merge platform specific defines, introduce a new
3591         define on OS X to remember that forking when updating registry is
3592         unsafe.
3593         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3594         module.
3595         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3596         is defined.
3597         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3598         condition that leads to absolutely no plugins being registered on
3599         OS X.
3600
3601 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3602
3603         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3604
3605         * gst/gstutils.c: (gst_pad_add_data_probe),
3606           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3607           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3608           (gst_pad_add_buffer_probe_full):
3609         * gst/gstutils.h:
3610         * docs/gst/gstreamer-sections.txt:
3611         * win32/common/libgstreamer.def:
3612           Add gst_pad_add_*_probe_full() functions with a notify callback that
3613           lets the caller free the data it passes to the probe functions. This
3614           is useful for bindings such as gst-python or gstreamermm (#526814).
3615           API: gst_pad_add_data_probe_full
3616           API: gst_pad_add_buffer_probe_full
3617           API: gst_pad_add_event_probe_full
3618
3619         * tests/check/gst/gstutils.c:
3620           Add minimal unit test to make sure freeing the data actually works
3621           as expected.
3622
3623         * tests/benchmarks/.cvsignore:
3624           Random cvsignore addendum.
3625
3626 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3627
3628         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3629           (GST_DEBUG_BIN_TO_DOT_FILE):
3630           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3631           to it in the docs (since these are macros the types of the arguments
3632           won't be shown in the docs otherwise).
3633
3634 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3635
3636         * gst/gstpad.c:
3637           Do not abort on out of memory for pad_alloc_buffer.
3638
3639 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3640
3641         * libs/gst/check/gstcheck.c:
3642           Remove blank line between symbol name ad parameters to fix gtkdoc
3643           warning.
3644
3645 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3646
3647         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3648
3649         * docs/gst/gstreamer-sections.txt:
3650         * gst/gstsegment.c:
3651         * gst/gstsegment.h:
3652         * win32/common/libgstreamer.def:
3653           Expose gst_segment_copy() to make things easier for the c++ bindings.
3654           Fixes #518932.
3655           API: gst_segment_copy()
3656
3657 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3658
3659         * gst/gst.c: (gst_init_get_option_group), (init_post):
3660           Fix const position; ref GType classes for enum types to work
3661           around thread-safety issues in GLib versions < 2.16.
3662
3663 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3664
3665         * docs/design/part-buffering.txt:
3666         Fix some typos and set the estimated total for push mode to -1.
3667
3668         * gst/gstquery.c: (gst_query_new_buffering):
3669         Set buffering-left to 0 as we're not buffering by default.
3670
3671         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3672         Implement BUFFERING query.
3673
3674 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3675
3676         Based on patch by: Milosz Derezynski <internalerror gmail com>
3677
3678         * gst/gsterror.c: (_gst_stream_errors_init):
3679         * gst/gsterror.h:
3680           Add two new error codes for encrypted content. Fixes #524659.
3681           API: GST_STREAM_ERROR_DECRYPT
3682           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3683
3684 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3685
3686         * gst/gstquery.h:
3687           Fix typo.
3688
3689         * win32/common/libgstreamer.def:
3690           Add new functions.
3691
3692 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3693
3694         * plugins/elements/gstidentity.c: (gst_identity_event),
3695         (gst_identity_start):
3696         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3697         event after processing some data. Fixes bug #526042.
3698
3699 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3700
3701         * docs/gst/gstreamer-sections.txt:
3702         * gst/gstquery.c: (gst_query_parse_latency),
3703         (gst_query_set_buffering_percent),
3704         (gst_query_parse_buffering_percent),
3705         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3706         * gst/gstquery.h:
3707         Rename _avail -> _range
3708         API: gst_query_set_buffering_range
3709         API: gst_query_parse_buffering_range
3710
3711 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3712
3713         * docs/design/part-buffering.txt:
3714         * gst/gstquark.c:
3715         * gst/gstquark.h:
3716         * gst/gstquery.c: (gst_query_parse_latency),
3717         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3718         (gst_query_parse_buffering_percent):
3719         * gst/gstquery.h:
3720         Add busy field and quark for the buffering query so that the app can
3721         only use the query to see if buffering is in progress.
3722
3723 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3724
3725         * docs/gst/gstreamer-sections.txt:
3726         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3727         (gst_message_parse_buffering_stats):
3728         * gst/gstmessage.h:
3729         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3730         (gst_query_parse_latency), (gst_query_new_buffering),
3731         (gst_query_set_buffering_percent),
3732         (gst_query_parse_buffering_percent),
3733         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3734         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3735         * gst/gstquery.h:
3736         Reorder the message docs and headers for clarity.
3737         Add aditional buffering stats API for messages.
3738         Add buffering query.
3739         Convert some leftover queries to use GstQuark.
3740         API: gst_message_set_buffering_stats
3741         API: gst_message_parse_buffering_stats
3742         API: GST_QUERY_BUFFERING
3743         API: GstBufferingMode
3744         API: gst_query_new_buffering
3745         API: gst_query_set_buffering_percent
3746         API: gst_query_parse_buffering_percent
3747         API: gst_query_set_buffering_stats
3748         API: gst_query_parse_buffering_stats
3749
3750 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3751
3752         * gst/gstmessage.c: (gst_message_new_error),
3753         (gst_message_new_warning), (gst_message_new_info),
3754         (gst_message_new_buffering), (gst_message_new_state_changed),
3755         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3756         (gst_message_new_new_clock), (gst_message_new_segment_start),
3757         (gst_message_new_segment_done), (gst_message_new_duration),
3758         (gst_message_new_async_start), (gst_message_parse_buffering),
3759         (gst_message_parse_state_changed),
3760         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3761         (gst_message_parse_new_clock), (gst_message_parse_error),
3762         (gst_message_parse_warning), (gst_message_parse_info),
3763         (gst_message_parse_segment_start),
3764         (gst_message_parse_segment_done), (gst_message_parse_duration),
3765         (gst_message_parse_async_start):
3766         Use GstQuark for messages.
3767
3768 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3769
3770         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3771         * gst/gstquark.h:
3772         Add some more quarks needed for messages and queries.
3773
3774 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3775
3776         * docs/design/part-buffering.txt:
3777         Remove the "none" buffering mode, STREAM is a good default.
3778         Move estimated-time to the avail query, that's when it will be needed.
3779         Other small typo fixes and updates.
3780
3781 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * gst/gstindex.c: (gst_index_resolver_get_type):
3784           Don't put descriptions into the nick field of a GEnumValue: it's not
3785           meant for that and some language bindings rely on the nick field to
3786           construct constants and the like. Fixes #526705.
3787
3788 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3789
3790         * NEWS:
3791         * RELEASE:
3792         * gstreamer.doap:
3793           Merge other changes from 0.10.19 release branch.
3794
3795 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3796
3797         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3798
3799         * configure.ac:
3800         Actually build dlls when cross-compiling with mingw32.
3801         Fixes bug #526247.
3802
3803 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3804
3805         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3806
3807         * gst/gstpoll.c:
3808         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3809
3810 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3811
3812         * docs/design/draft-latency.txt:
3813         Fix typo.
3814
3815         * docs/design/part-buffering.txt:
3816         Update design docs with more buffering ideas.
3817
3818 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3819
3820         * configure.ac:
3821           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3822
3823 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3824
3825         * configure.ac:
3826           Revert part that belongs to the preset patch.
3827
3828 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3829
3830         * configure.ac:
3831           Add qoutes to the define. Fixes # 525961.
3832
3833 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3834
3835         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3836         (gst_file_index_load), (gst_file_index_add_id),
3837         (gst_file_index_get_assoc_entry):
3838         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3839         (gst_mem_index_free_id), (gst_mem_index_add_id),
3840         (gst_mem_index_index_format):
3841         Use GSlice when possible.
3842
3843 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3844
3845         * libs/gst/controller/gstinterpolationcontrolsource.c:
3846         (gst_control_point_free),
3847         (gst_interpolation_control_source_set_internal):
3848         Use GSlice for allocating the control points.
3849
3850 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3851
3852         * plugins/elements/gsttypefindelement.c:
3853         (gst_type_find_element_class_init),
3854         (gst_type_find_element_set_property),
3855         (gst_type_find_element_get_property),
3856         (gst_type_find_element_activate):
3857         * plugins/elements/gsttypefindelement.h:
3858         Cleanup properties.
3859         Fix pad leak when peer query fails.
3860         We can still typefind when the peer returns -1.
3861         Add property to force caps and bypass typefinding. This will be used in
3862         uridecodebin.
3863         API::force-caps
3864
3865 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3866
3867         * configure.ac:
3868         Require GLib 2.12.
3869
3870         * gst/glib-compat-private.h:
3871         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3872         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3873         Unconditionally use GSlice for allocation.
3874
3875         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3876         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3877         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3878         (gst_structure_free):
3879         Use GSlice for allocation.
3880
3881 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3882
3883         * gst/parse/Makefile.am:
3884         * gst/parse/grammar.tab.pre.c:
3885         * gst/parse/grammar.tab.pre.h:
3886         * gst/parse/lex._gst_parse_yy.pre.c:
3887         Require a new enough flex and bison and remove the parser hacks to use
3888         a pre-regenerated version.
3889
3890 2008-04-01  Julien Moutte  <julien@fluendo.com>
3891
3892         patch by: Jason Zhao <E3423C@motorola.com>
3893
3894         * configure.ac: Add a configure switch to disable option parsing
3895         in gst_init.
3896         Fixes #522882.
3897
3898 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3899
3900         * configure.ac:
3901         * gst/gstregistry.c:
3902           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3903           and handle this case.
3904
3905         * gst/gst.c:
3906           Add a comment here describing, why we stat each plugin and not try to
3907           be smart.
3908
3909 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3910
3911         * libs/gst/base/gstbasetransform.c:
3912         (gst_base_transform_prepare_output_buffer):
3913         Also unset the GAP flag on buffers if we're working inplace but
3914         the element is not GAP-aware.
3915
3916         Mark a comment as FIXME 0.11.
3917
3918 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3919
3920         * gst/gst.c:
3921           Fix type in log message and add one to ease seeing how long registry
3922           cache verification takes.
3923
3924         * gst/gstregistry.c:
3925           Only test plugin filenames against G_MODULE_SUFFIX.
3926
3927 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3928
3929         * gst/gstdebugutils.c:
3930           Improve handling ghost/proxy pads.
3931
3932 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3933
3934         * docs/gst/gstreamer-sections.txt:
3935         * gst/gstpad.c:
3936         * gst/gstpad.h:
3937           Expose macro to docs and fix link to it.
3938
3939 2008-03-27  Michael Smith <msmith@fluendo.com>
3940
3941         * libs/gst/dataprotocol/dataprotocol.c:
3942         (gst_dp_packet_from_event_1_0):
3943           When calculating GDP body CRC, use the correct pointer. 
3944           Fixes part of #522401.
3945
3946 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3947
3948         Patch by: Mark Nauwelaerts <manauw at skynet be>
3949
3950         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3951         (gst_identity_init), (gst_identity_prepare_output_buffer):
3952         Identity is not always a passthrough element, it can modify the buffer
3953         timestamps when it has a datarate and operates in single-segment mode.
3954         We therefore make it an in_place filter with a custom buffer prepare
3955         function that conditionally makes the input buffer metadata writable
3956         when needed.  Fixes #523985.
3957
3958 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3959
3960         Patch by: Mark Nauwelaerts <manauw at skynet be>
3961
3962         * gst/gstclock.h:
3963         * libs/gst/base/gstbasesrc.h:
3964         * libs/gst/base/gstbasetransform.c:
3965         * libs/gst/check/gstcheck.c:
3966         Small documentation fixes. Fixes #523978.
3967
3968 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3969
3970         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3971         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3972         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3973
3974 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3975
3976         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3977         (single_queue_underrun_cb):
3978         When trying to make room in the queue, bump the max allowed buffers
3979         bigger than the current amount of buffers in the queue. this fixes some
3980         nasty deadlocks in multiqueue when dynamically changing the limits of
3981         the queue.
3982
3983 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3984
3985         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3986
3987         * gst/gstcaps.c: (gst_caps_set_simple),
3988         (gst_caps_set_simple_valist), (gst_caps_intersect):
3989         * gst/gstcaps.h:
3990         Constify the field gchar * params in set_simple and friends.
3991         Fixes #522326.
3992
3993 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3994
3995         * gst/gstvalue.c: (gst_value_transform_object_string):
3996         Transform a GstObject to a more meaningfull string that includes the
3997         object type in addition to its name.
3998
3999 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4000
4001         * ChangeLog:
4002           ChangeLog surgery to add bugnumber to commit.
4003
4004 2008-03-23  Rene Stadler  <mail@renestadler.de>
4005
4006         * libs/gst/base/gstbasetransform.c:
4007         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4008
4009 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4010
4011         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4012         Rename constant everywhere and don't forget one occurence.
4013
4014 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4015
4016         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4017         Align memory to the pointer size even if the architecture allows
4018         unaligned memory access. Unaligned memory access usually comes with
4019         performance penality.
4020
4021 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4022
4023         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4024         (gst_registry_binary_check_magic),
4025         (gst_registry_binary_load_pad_template),
4026         (gst_registry_binary_load_feature),
4027         (gst_registry_binary_load_plugin):
4028         Align memory to the pointer size instead of always 32 bit. Fixes
4029         unaligned memory accesses on ia64 and friends.
4030
4031         * gst/gstregistrybinary.h:
4032         Bump binary registry format version for this as it changes the
4033         format on those architectures that don't have unaligned access
4034         and 64 bit pointers.
4035
4036 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4037
4038         * docs/pwg/advanced-dparams.xml:
4039         * docs/pwg/building-props.xml:
4040         * docs/pwg/other-source.xml:
4041         * gst/glib-compat.h:
4042         * gst/gstbin.c: (gst_bin_class_init):
4043         * gst/gstclock.c: (gst_clock_class_init):
4044         * gst/gstindex.c: (gst_index_class_init):
4045         * gst/gstobject.c: (gst_object_class_init):
4046         * gst/gstpad.c: (gst_pad_class_init):
4047         * gst/gstpipeline.c: (gst_pipeline_class_init):
4048         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4049         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4050         * libs/gst/base/gstbasetransform.c:
4051         (gst_base_transform_class_init):
4052         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4053         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4054         (_gst_check_fault_handler_sighandler),
4055         (_gst_check_fault_handler_setup), (gst_check_init):
4056         * libs/gst/controller/gstcontroller.c:
4057         (_gst_controller_class_init):
4058         * libs/gst/controller/gstlfocontrolsource.c:
4059         (gst_lfo_control_source_class_init):
4060         * libs/gst/net/gstnetclientclock.c:
4061         (gst_net_client_clock_class_init):
4062         * libs/gst/net/gstnettimeprovider.c:
4063         (gst_net_time_provider_class_init):
4064         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4065         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4066         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4067         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4068         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4069         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4070         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4071         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4072         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4073         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4074         * plugins/elements/gsttee.c: (gst_tee_class_init):
4075         * plugins/elements/gsttypefindelement.c:
4076         (gst_type_find_element_class_init):
4077         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4078         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4079         use it everywhere for GParamSpecs that use static strings (i.e. all).
4080         This gives us less memory usage, fewer allocations and thus less
4081         memory defragmentation. Fixes bug #523806.
4082
4083 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4084
4085         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4086         (gst_param_spec_mini_object):
4087         * gst/gstminiobject.h:
4088         * win32/common/libgstreamer.def:
4089         * docs/gst/gstreamer-sections.txt:
4090         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4091         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4092         GstParamSpecMiniObject into a public header for this.
4093
4094         This make GstMiniObject a bit more consistent with GObject and makes
4095         it possible to extend the param specs.
4096
4097         gst_value_dup_mini_object is mainly useful for set_property methods.
4098
4099         Fixes bug #523798.
4100
4101         * tools/gst-inspect.c: (print_element_properties_info):
4102         Print something useful for GstMiniObject properties and not just
4103         "unknown type".
4104
4105 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4106
4107         * docs/gst/gstreamer-sections.txt:
4108         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4109         (gst_registry_binary_check_magic):
4110         * gst/gstregistrybinary.h:
4111         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4112         and add it to the (private part) of the docs to fix the build.
4113
4114 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4115
4116         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4117         (gst_registry_binary_check_magic),
4118         (gst_registry_binary_read_cache):
4119         * gst/gstregistrybinary.h:
4120         Don't use GST_MAJORMINOR for the binary registry version. Instead
4121         hardcode a value that must be changed whenever the format changes
4122         in an incompatible way.
4123         Also don't GST_ERROR when there is a version mismatch, just
4124         regenerate the registry silently.
4125
4126 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4127
4128         * configure.ac:
4129         Back to development - 0.10.18.1
4130
4131 === release 0.10.18 ===
4132
4133 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4134
4135         * configure.ac:
4136           releasing 0.10.18, "So far away"
4137
4138 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4139
4140         * configure.ac:
4141         * win32/common/config.h:
4142         0.10.17.4 pre-release
4143
4144 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4145
4146         Patch by: Ole André Vadla Ravnås
4147             <ole dot andre dot ravnas at tandberg dot com>
4148
4149         * docs/gst/gstreamer-sections.txt:
4150         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4151         (gst_poll_update_winsock_event_mask),
4152         (gst_poll_prepare_winsock_active_sets),
4153         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4154         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4155         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4156         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4157         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4158         * gst/gstpoll.h:
4159         * win32/common/libgstreamer.def:
4160         Add new function gst_poll_fd_ignored() for improved Windows
4161         compatibility.
4162         Various minor fixes and cleanups. See #520808.
4163
4164 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4165
4166         * gst/gstindex.c: (gst_index_entry_free):
4167         * gst/gstindex.h:
4168           Don't free key strings which we don't own. Fixes crash in
4169           gst_index_entry_free() (#522741).
4170
4171         * tests/check/Makefile.am:
4172         * tests/check/gst/.cvsignore:
4173         * tests/check/gst/gstindex.c: (test_index_entries),
4174           (gst_index_suite), (gst_index):
4175           Add unit test for the above.
4176
4177 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4178
4179         * win32/common/libgstreamer.def:
4180         Remove symbols that were removed recently. Fixes bug #521740.
4181
4182 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4183
4184         * configure.ac:
4185         * win32/common/config.h:
4186         0.10.17.3 pre-release
4187
4188 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4189
4190         Patch by: Ole André Vadla Ravnås
4191             <ole dot andre dot ravnas at tandberg dot com>
4192
4193         * docs/gst/gstreamer-sections.txt:
4194         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4195         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4196         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4197         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4198         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4199         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4200         (gst_poll_fd_can_write), (gst_poll_wait),
4201         (gst_poll_set_controllable), (gst_poll_restart),
4202         (gst_poll_set_flushing):
4203         * gst/gstpoll.h:
4204         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4205         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4206         (gst_net_time_provider_new):
4207         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4208         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4209         * tests/benchmarks/gstpollstress.c: (main):
4210         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4211         Remove GstPollMode from the API, it does not make sense to let the
4212         application control this.
4213         Add support for Win32.
4214         Fix the testsuite. Fixes #520671.
4215
4216 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4217
4218         Patch by: Ole André Vadla Ravnås
4219             <ole dot andre dot ravnas at tandberg dot com>
4220
4221         * gst/gstregistrybinary.c:
4222         Include io.h for write() and close() when building with MSVC. Fixes
4223         bug #520877.
4224
4225 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4226
4227         * configure.ac:
4228         * gst/gst_private.h:
4229         * gst/gstconfig.h.in:
4230         * gst/gstregistry.h:
4231         * gst/gstregistrybinary.c:
4232         * win32/common/gstconfig.h:
4233           Move registry backend API to private headers where we can. Add
4234           fixme-0.11 comments for the others. Add stubs for the xml backend when
4235           using the binary to ensure they functions exists (they should not be
4236           used though). Fixes #520756.
4237
4238 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4239
4240         * configure.ac:
4241         * win32/common/config.h:
4242         0.10.17.2 prelease
4243
4244 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4245
4246         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4247         (gst_registry_binary_read_cache):
4248         * gst/gstregistryxml.c: (gst_registry_save):
4249         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4250         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4251         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4252         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4253         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4254         Fixes #520152
4255
4256 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4257
4258         * gst/gstminiobject.c:
4259         Import gst_private.h before any other header that might include other
4260         glib headers. This fixes the build on windows using native compilers.
4261
4262 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4263
4264         * win32/common/gstconfig.h:
4265           Add here too, just for completeness.
4266
4267 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4268
4269         * configure.ac:
4270         * gst/gstconfig.h.in:
4271         * gst/gstregistry.h:
4272           Fix broken use of config.h-defined preprocessor directive in a public
4273           header file. Add a corresponding define to gstconfig.h, since we can't
4274           really remove those function declarations from the header file now
4275           (or can we? and why are they there in the first place?).
4276
4277 2008-03-03  Andy Wingo  <wingo@pobox.com>
4278
4279         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4280         the new warning.
4281
4282         * gst/gststructure.c (gst_structure_from_string): Warn if
4283         structure_from_string didn't consume the whole string, but the
4284         caller did not provide an end pointer.
4285
4286 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4287
4288         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4289
4290         * gst/gstregistryxml.c: (read_string), (load_feature):
4291           Strings allocated by libxml2 should be freed with xmlFree(), not
4292           with g_free(). Fixes issues on windows in certain contexts (#519698).
4293
4294 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4295
4296         * gst/gstinterface.c: (gst_element_implements_interface):
4297           Don't crash if the element supports the interface queried, but does
4298           not implement GstImplementsInterface. Fixes #519584.
4299
4300         * tests/check/Makefile.am:
4301         * tests/check/gst/.cvsignore:
4302         * tests/check/gst/gstinterface.c:
4303           Add unit test for the above.
4304
4305 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4306
4307         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4308         Small doc update.
4309
4310 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4311
4312         * gst/gstsegment.c: (gst_segment_set_seek),
4313         (gst_segment_to_stream_time):
4314         Improve some comment.
4315         Update variables where it makes more sense.
4316
4317 2008-02-29  Rene Stadler  <mail@renestadler.de>
4318
4319         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4320         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4321         URIHandlers implemented using language bindings.
4322
4323 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4324
4325         * gst/gstelementfactory.h:
4326         * tests/check/elements/fakesink.c:
4327         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4328         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4329         * tests/check/elements/filesink.c: (setup_filesink):
4330         * tests/check/elements/filesrc.c: (setup_filesrc):
4331         * tests/check/elements/identity.c: (setup_identity):
4332         * tests/check/elements/tee.c:
4333         * tests/check/generic/sinks.c:
4334         * tests/check/generic/states.c: (setup), (teardown):
4335         * tests/check/gst/gst.c:
4336         * tests/check/gst/gstabi.c:
4337         * tests/check/gst/gstbin.c:
4338         * tests/check/gst/gstbus.c: (pull_messages):
4339         * tests/check/gst/gstcaps.c:
4340         * tests/check/gst/gstelement.c:
4341         * tests/check/gst/gstevent.c:
4342         * tests/check/gst/gstghostpad.c:
4343         * tests/check/gst/gstiterator.c:
4344         * tests/check/gst/gstmessage.c:
4345         * tests/check/gst/gstminiobject.c: (my_foo_init):
4346         * tests/check/gst/gstobject.c: (thread_name_object),
4347         (gst_object_suite):
4348         * tests/check/gst/gstpad.c:
4349         * tests/check/gst/gstplugin.c:
4350         * tests/check/gst/gstpoll.c:
4351         * tests/check/gst/gstquery.c:
4352         * tests/check/gst/gstsegment.c:
4353         * tests/check/gst/gststructure.c:
4354         * tests/check/gst/gstsystemclock.c:
4355         * tests/check/gst/gsttask.c:
4356         * tests/check/gst/gstutils.c:
4357         * tests/check/gst/gstvalue.c:
4358         * tests/check/gst/struct_hppa.h:
4359         * tests/check/gst/struct_i386.h:
4360         * tests/check/gst/struct_ppc32.h:
4361         * tests/check/gst/struct_ppc64.h:
4362         * tests/check/gst/struct_x86_64.h:
4363         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4364         * tests/check/libs/basesrc.c:
4365         * tests/check/libs/controller.c: (GST_START_TEST):
4366         * tests/check/libs/gdp.c:
4367         * tests/check/libs/gstnetclientclock.c:
4368         * tests/check/libs/gstnettimeprovider.c:
4369         * tests/check/libs/libsabi.c:
4370         * tests/check/libs/struct_hppa.h:
4371         * tests/check/libs/struct_i386.h:
4372         * tests/check/libs/struct_ppc32.h:
4373         * tests/check/libs/struct_ppc64.h:
4374         * tests/check/libs/struct_x86_64.h:
4375         * tests/check/pipelines/cleanup.c:
4376         * tests/check/pipelines/simple-launch-lines.c:
4377         * tests/check/pipelines/stress.c:
4378         And correct even more valid sparse warnings.
4379
4380         * win32/common/libgstreamer.def:
4381         Add gst_poll_fd_init to the list of symbols.
4382
4383 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4384
4385         * gst/gstconfig.h.in:
4386         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4387         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4388         (gst_check_log_critical_func), (gst_check_drop_buffers),
4389         (gst_check_element_push_buffer_list):
4390         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4391         (gst_controller_get_type):
4392         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4393         (gst_object_get_controller), (gst_object_get_control_source):
4394         * libs/gst/controller/gstinterpolationcontrolsource.c:
4395         (gst_interpolation_control_source_new):
4396         * libs/gst/controller/gstlfocontrolsource.c:
4397         (gst_lfo_control_source_new):
4398         * libs/gst/dataprotocol/dataprotocol.c:
4399         (gst_dp_event_from_packet_0_2):
4400         * plugins/elements/gstfdsrc.c:
4401         * plugins/elements/gstmultiqueue.c:
4402         * plugins/elements/gsttee.c:
4403         * plugins/elements/gsttypefindelement.c:
4404         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4405         (gst_file_index_add_association):
4406         * plugins/indexers/gstmemindex.c:
4407         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4408         * tests/check/elements/queue.c: (setup_queue):
4409         * tests/check/gst/gstpipeline.c:
4410         * tests/check/libs/collectpads.c: (setup), (teardown),
4411         (gst_collect_pads_suite):
4412         * tests/examples/adapter/adapter_test.c:
4413         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4414         * tests/examples/xml/createxml.c:
4415         * tests/examples/xml/runxml.c:
4416         * tools/gst-inspect.c:
4417         * tools/gst-run.c:
4418         Correct all relevant warnings found by the sparse semantic code
4419         analyzer. This include marking several symbols static, using
4420         NULL instead of 0 for pointers, not using variable sized arrays
4421         on the stack, moving variable declarations to the beginning of
4422         a block and using "foo (void)" instead of "foo ()" for declarations.
4423
4424 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4425
4426         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4427         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4428         Don't reset GstPollFDs, this is not necessary at all.
4429
4430         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4431         (delayed_restart), (delayed_control):
4432         Use GST_POLL_FD_INIT.
4433
4434 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4435
4436         * gst/gstpoll.c: (gst_poll_fd_init):
4437         * gst/gstpoll.h:
4438         Added Since tags.
4439
4440         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4441         Use some more init macros.
4442
4443 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4444
4445         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4446         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4447         Use init macros and functions.
4448
4449 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4450
4451         * docs/gst/gstreamer-sections.txt:
4452         * gst/gstpoll.c: (gst_poll_fd_init):
4453         * gst/gstpoll.h:
4454         Add INIT macro and _init method for initializing the GstPollFD.
4455
4456 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4457
4458         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4459         (gst_fd_sink_update_fd):
4460         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4461         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4462         (delayed_restart), (delayed_control):
4463         Initialize some uninitialized variables as spotted by valgrind.
4464
4465 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4466
4467         * tests/benchmarks/Makefile.am:
4468         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4469         (main):
4470         Add poll stress test.
4471
4472 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4473
4474         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4475
4476         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4477         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4478         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4479         * plugins/elements/gstfdsink.h:
4480         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4481         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4482         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4483         (gst_fd_src_uri_set_uri):
4484         * plugins/elements/gstfdsrc.h:
4485         Port to GstPoll. See #505417.
4486
4487 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4488
4489         * win32/common/libgstreamer.def:
4490         Add new gst_poll_ symbols to win32 defs.
4491
4492 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4493
4494         * docs/libs/gstreamer-libs-sections.txt:
4495         * libs/gst/net/gstnetclientclock.c:
4496         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4497         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4498         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4499         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4500         * libs/gst/net/gstnetclientclock.h:
4501         * libs/gst/net/gstnettimeprovider.c:
4502         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4503         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4504         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4505         (gst_net_time_provider_new):
4506         * libs/gst/net/gstnettimeprovider.h:
4507         Use a private stuct to not break ABI.
4508
4509 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4510
4511         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4512
4513         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4514         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4515         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4516         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4517         * libs/gst/net/gstnetclientclock.h:
4518         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4519         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4520         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4521         (gst_net_time_provider_new):
4522         * libs/gst/net/gstnettimeprovider.h:
4523         Massive code removal and cleanups because of GstPoll.
4524         Fixes #505417.
4525
4526 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4527
4528         * configure.ac:
4529         Add checks for poll, ppoll and pselect.
4530
4531         * docs/gst/gstreamer-docs.sgml:
4532         * docs/gst/gstreamer-sections.txt:
4533         Add docs for GstPoll.
4534
4535         * gst/Makefile.am:
4536         * gst/gst.h:
4537         * gst/gstpoll.c: (find_index), (selectable_fds),
4538         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4539         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4540         (gst_poll_set_mode), (gst_poll_get_mode),
4541         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4542         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4543         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4544         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4545         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4546         (gst_poll_fd_can_write), (gst_poll_wait),
4547         (gst_poll_set_controllable), (gst_poll_restart),
4548         (gst_poll_set_flushing):
4549         * gst/gstpoll.h:
4550         Add generic poll abstraction. We ideally don't want to have this in core
4551         here but in glib intead...
4552         This code will be used in various network elements and ultimately for
4553         the nanosecond precision monotonic clock (that's why it's here in core).
4554         It'll allow us to implement cancelable socket operations for windows too.
4555
4556         * tests/check/Makefile.am:
4557         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4558         (delayed_stop), (delayed_restart), (delayed_flush),
4559         (delayed_control), (gst_poll_suite):
4560         Add GstPoll unit test.
4561
4562 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4563
4564         * gst/gstfilter.c:
4565           Improve documentation of gst_filter_run(). Fixes #518627.
4566
4567 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4568
4569         * docs/README:
4570           Add a few lines about the new 'check-inspected-versions' target.
4571
4572 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4573
4574         * tests/check/gst/gstevent.c:
4575           Add qos to the event test. Rename tcase/tsuite; is not only about
4576           custom events.
4577
4578 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4579
4580         * plugins/elements/gstqueue.c:
4581           Ensure that buffer metadata is writeable, before modifying. Spotted by
4582           Mike.
4583
4584 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4585
4586         * plugins/elements/gstqueue.c:
4587         * plugins/elements/gstqueue.h:
4588           When dropping buffers in leaky modes, mark next buffers we sent as
4589           DISCONT.
4590
4591 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4592
4593         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4594           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4595
4596 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4597
4598         * plugins/elements/Makefile.am:
4599         * plugins/elements/gstbufferstore.c:
4600         * plugins/elements/gstbufferstore.h:
4601         * plugins/elements/gsttypefindelement.h:
4602           Remove GstBufferStore, no idea why we were still building it.
4603           It's not used anywhere and superseded by GstAdapter.
4604
4605         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4606           (gst_file_src_create_mmap):
4607         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4608           Printf format fixes for 64-bit integers.
4609
4610 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4611
4612         * configure.ac:
4613         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4614         We're not in 0.8 times anymore.
4615
4616 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4617
4618         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4619         (gst_check_element_push_buffer_list):
4620         * libs/gst/check/gstcheck.h:
4621         Make the declaration in the header for
4622         gst_check_element_push_buffer_list match the implementation.
4623
4624         Fix up spelling, grammar and wording of the documentation in a few
4625         places, and add the Since keyword to new API functions.
4626         Use g_list_delete_link instead of g_list_remove in
4627         gst_check_drop_buffers, since it's immeasurably more efficient.
4628
4629         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4630         Use new gst_check_drop_buffers function where appropriate.
4631
4632         * win32/common/libgstbase.def:
4633         * win32/common/libgstreamer.def:
4634         Add new symbols gst_collect_pads_take_buffer, 
4635         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4636         exports
4637
4638         Changelog surgery to add API keyword to new gst_check API.
4639
4640 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4641
4642         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4643         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4644         Update pre-generated flex files with flex 2.3.34.
4645
4646 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4647
4648         * gst/gstminiobject.c:
4649           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4650           friendly to subclasses and not require them to know all internals
4651           of their parent class.
4652
4653 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4654
4655         * docs/libs/gstreamer-libs-sections.txt:
4656         * libs/gst/base/gstcollectpads.c:
4657         * libs/gst/base/gstcollectpads.h:
4658           Add sub-buffer functions to collectpads. Fixes #516187.
4659           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4660
4661 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4662
4663         * gst/gstbuffer.c:
4664           Copy selected buffer-flags when creating subbuffers.
4665           Fixes #516395.
4666
4667 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4668
4669         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4670         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4671         * gst/gstmessage.c: (gst_message_class_init),
4672         (gst_message_finalize):
4673         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4674         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4675         (gst_mmap_buffer_finalize):
4676         Properly chain up finalize functions to the parent class.
4677
4678 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4679
4680         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4681
4682         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4683         (gst_index_set_resolver_full):
4684         * gst/gstindex.h:
4685         Add new function with option to dispose of user_data in resolver.
4686         Actually call the dispose function when finalizing the object and not
4687         just when changing the resolver/filter.
4688         API: GstIndex::gst_index_set_resolver_full()
4689
4690         * docs/gst/gstreamer-sections.txt:
4691         Add new function to docs. Fixes #515469.
4692
4693 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4694
4695         * gst/gstindex.c: (gst_index_finalize):
4696         Chain up finalize to the parent class. Fixes leaking the GstObject
4697         name and other things.
4698
4699 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4700
4701         * configure.ac:
4702         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4703         pre-releases or releases.
4704
4705         * docs/faq/gst-uninstalled:
4706         Add gst-plugins-gl
4707
4708         * docs/random/release:
4709         Change one of the steps - we only upload core & base to Gnome FTP
4710
4711 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4712
4713         * gst/gstconfig.h.in:
4714           Add 'id' for example.
4715
4716         * gst/gstpad.c:
4717         * gst/gstutils.c:
4718         * plugins/elements/gstfdsink.c:
4719           Link to signals. Doc and comment fixes.
4720
4721 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4722
4723         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4724         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4725           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4726           unused and unimplemented; finally, it is plugin features, not
4727           plugins, that have ranks.
4728           
4729 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4730
4731         * gst/gstpluginfeature.h:
4732           Clarify GstRank range docs.
4733
4734 2008-02-05  David Schleef  <ds@schleef.org>
4735
4736         * gst/gst.c: Add a separate gst_deinitialized that prevents
4737           gst_init() from being called after gst_deinit().  Fixes #509559
4738
4739 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4740
4741         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4742         (gst_bin_class_init):
4743         * gst/gstelement.c: (gst_element_base_class_init),
4744         (gst_element_class_add_pad_template):
4745         * gst/gstpadtemplate.c: (gst_pad_template_init):
4746         * gst/gstpipeline.c: (gst_pipeline_get_type),
4747         (gst_pipeline_base_init), (gst_pipeline_class_init):
4748         * libs/gst/base/gstbasesink.c:
4749         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4750         (gst_base_src_base_init), (gst_base_src_class_init):
4751         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4752         (gst_capsfilter_class_init):
4753         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4754         (gst_fake_sink_class_init):
4755         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4756         (gst_fake_src_class_init):
4757         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4758         (gst_fd_sink_class_init):
4759         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4760         (gst_fd_src_class_init):
4761         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4762         (gst_file_sink_class_init):
4763         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4764         (gst_file_src_class_init):
4765         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4766         (gst_identity_class_init):
4767         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4768         (gst_multi_queue_class_init):
4769         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4770         (gst_queue_class_init):
4771         * plugins/elements/gsttee.c: (gst_tee_base_init),
4772         (gst_tee_class_init):
4773         * plugins/elements/gsttypefindelement.c:
4774         (gst_type_find_element_base_init),
4775         (gst_type_find_element_class_init):
4776         * tests/check/gst/gstelement.c: (gst_element_suite):
4777         Revert previous changes to the behaviour of GstPadTemplates, etc
4778         and the possiblity to call them in class_init as it breaks too
4779         many elements. Reopens bug #491501.
4780
4781         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4782         several places.
4783
4784 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4785
4786         * tools/gst-launch.c:
4787         Dump one graph per pipeline state-change and state change name
4788         (if GST_DEBUG_DUMP_DOT_DIR is set).
4789
4790 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4791
4792         * gst/gstpad.c:
4793         * tests/check/gst/gstpad.c:
4794         Be sure that we have a new copy of the caps and not
4795         reffed caps from a template
4796
4797 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4798
4799         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4800         * gst/gstpipeline.c: (gst_pipeline_get_type),
4801         (gst_pipeline_class_init):
4802         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4803         (gst_base_sink_class_init):
4804         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4805         (gst_base_src_class_init):
4806         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4807         (gst_base_transform_class_init):
4808         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4809         (gst_collect_pads_class_init):
4810         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4811         * libs/gst/net/gstnettimeprovider.c:
4812         (gst_net_time_provider_base_init),
4813         (gst_net_time_provider_class_init):
4814         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4815         (gst_capsfilter_class_init):
4816         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4817         (gst_fake_sink_class_init):
4818         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4819         (gst_fake_src_class_init):
4820         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4821         (gst_fd_sink_class_init):
4822         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4823         (gst_fd_src_class_init):
4824         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4825         (gst_file_sink_class_init):
4826         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4827         (gst_file_src_class_init):
4828         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4829         (gst_identity_class_init):
4830         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4831         (gst_multi_queue_class_init):
4832         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4833         (gst_queue_class_init):
4834         * plugins/elements/gsttee.c: (gst_tee_base_init),
4835         (gst_tee_class_init):
4836         * plugins/elements/gsttypefindelement.c:
4837         (gst_type_find_element_base_init),
4838         (gst_type_find_element_class_init):
4839         Don't use base_init where not absolutely necessary. For example it's
4840         not necessary anymore for adding pad templates or setting element
4841         details.
4842
4843         Leave empty base_init functions in several places as GST_BOILERPLATE
4844         still defines and uses them.
4845
4846 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4847
4848         * gst/gstelement.c: (gst_element_base_class_init),
4849         (gst_element_class_add_pad_template):
4850         * gst/gstpadtemplate.c:
4851         Make it possible (and recommended) to set element details and add
4852         pad templates in the class_init functions by copying the details/pad
4853         templates in GstElement's base_init.
4854
4855         Also make it possible to replace existing pad templates by adding
4856         a new one with the same name. This was done in a hackish fashion
4857         in same elements before already.
4858
4859         Don't reference pad templates that are added a second time. A
4860         new pad template has a refcount of one and is not floating anymore
4861         and to be owned by the element's class. Make this more explicit by
4862         mentioning it in the docs of gst_element_class_add_pad_template().
4863
4864         These changes are backwards compatible. Fixes bug #491501.
4865
4866         * tests/check/gst/gstelement.c:
4867         Add unit test for setting element details, adding pad templates and
4868         replacing them in a subclass.
4869
4870 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4871
4872         * tools/gst-inspect.c: (print_interfaces),
4873         (print_element_properties_info), (print_pad_info),
4874         (print_signal_info), (print_element_info):
4875         Fix a few memory leaks.
4876
4877 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4878
4879         * docs/libs/gstreamer-libs-sections.txt:
4880         * libs/gst/check/gstcheck.c:
4881         * libs/gst/check/gstcheck.h:
4882         Add more functions for unit testing: gst_check_drop_buffers,
4883         gst_check_caps_equal, gst_check_element_push_buffer_list,
4884         gst_check_element_push_buffer
4885         API: gst_check_drop_buffers
4886         API: gst_check_caps_equal
4887         API: gst_check_element_push_buffer_list
4888         API: gst_check_element_push_buffer
4889
4890 2008-02-01  Julien Moutte  <julien@fluendo.com>
4891
4892         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4893         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4894         (gst_index_finalize), (gst_index_entry_free),
4895         (gst_index_add_association): Fix memory leaks.
4896         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4897         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4898         (gst_mem_index_free_format), (gst_mem_index_free_id),
4899         (gst_mem_index_finalize): Fix memory leaks.
4900         * win32/common/config.h: Updated to CVS HEAD.
4901
4902 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4903
4904         * docs/README:
4905           Some more details about how the plugin docs works.
4906
4907         * docs/plugins/gstreamer-plugins-sections.txt:
4908           Whitespace cleanup.
4909
4910 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * gst/parse/grammar.tab.pre.c:
4913         * gst/parse/grammar.tab.pre.h:
4914         * gst/parse/grammar.y:
4915         * gst/parse/lex._gst_parse_yy.pre.c:
4916           Add delayed set-property. This allows to set properties on dynamicaly
4917           created objects (pads in videomxer). Fixes #509391.
4918
4919 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4920
4921         * gst/gstutils.c:
4922         Check if caps are not NULL (fix bug #510194)
4923
4924 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4925
4926         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4927         (gst_base_sink_get_position_paused):
4928         Add fixme regarding EOS in pull mode.
4929         Fix position reporting in PAUSED for negative rates.
4930
4931 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4932
4933         * gst/gstminiobject.c: (gst_mini_object_replace):
4934         When replacing a miniobject, do a quick equality check first so that we
4935         can avoid a ref/unref pair.
4936
4937 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4938
4939         * docs/design/part-synchronisation.txt:
4940         Update some docs.
4941
4942         * docs/plugins/Makefile.am:
4943         * docs/plugins/gstreamer-plugins-docs.sgml:
4944         * docs/plugins/gstreamer-plugins-sections.txt:
4945         * plugins/elements/gstmultiqueue.c:
4946         Add multiqueue to the docs.
4947
4948 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4949
4950         * configure.ac:
4951           Back to CVS
4952
4953 === release 0.10.17 ===
4954
4955 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4956
4957         * configure.ac:
4958           releasing 0.10.17, "Due Negligence"
4959
4960 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4961
4962         * gst/gstutils.c:
4963         Revert caps != NULL check temporarily for 0.10.17 release.
4964
4965 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4966
4967         * gst/gstutils.c:
4968         Check if caps are not NULL (fix bug #510194)
4969
4970 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4971
4972         * gst/gstutils.c:
4973         Fix compilation on systems that have posix timers but no
4974         monotonic clock.
4975         Fixes: #512715
4976         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4977         dot net>
4978
4979 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4980
4981         * tools/gst-inspect.c:
4982         Revert previous commit in preparation for an impromptu 0.10.17 release
4983
4984 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4985
4986         * tools/gst-inspect.c: (print_interfaces),
4987         (print_element_properties_info), (print_pad_info),
4988         (print_signal_info), (print_element_info):
4989         Fix a few memory leaks.
4990
4991 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4992
4993         * configure.ac:
4994         Back to CVS
4995
4996 === release 0.10.16 ===
4997
4998 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4999
5000         * configure.ac:
5001           releasing 0.10.16, "Special Dispensation"
5002
5003 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5004
5005         * configure.ac:
5006           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5007           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5008           not fail when trying to crosscompile on OpenEmbedded (#511750).
5009
5010 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5011
5012         * docs/manuals.mak:
5013         Use $(MAKE) instead of make to fix the build if GNU make is
5014         called different. Fixes bug #510747.
5015
5016 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5017
5018         * gst/gstplugin.c: (_gst_plugin_initialize):
5019           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5020           again, which I broke two commits ago when changing the API
5021           of gst_plugin_register_static(): the g_list_foreach() in
5022           _gst_plugin_register_static still assumed the old function
5023           signature and would therefore fail (re-fixes #510187).
5024
5025         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5026           (_gst_plugin_register_static), (gst_plugin_register_static):
5027           Revert the (technically correct) change to call g_thread_init() from
5028           the pre-main() constructor. This will break programs which call
5029           g_thread_init() without an if (!g_thread_supported()) guard in their
5030           main function. We could just blame it on GLib or the application, but
5031           it's probably best to just avoid this altogether and simply not use
5032           any GLib functions here and use plain old malloc() with a simple
5033           array to store the plugins to register later when gst_init() is
5034           finally called (re-fixes #510187).
5035
5036         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5037           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5038           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5039           (GST_START_TEST), (gst_plugin_suite):
5040           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5041           works.
5042
5043 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5046           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5047           This makes gtk-doc complain, but results in slightly better
5048           compiler errors. The old _gst_plugin_register_static() is
5049           still guarded, so there'll be a compiler warning about that
5050           instead. Fixes #510187 too.
5051
5052 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5053
5054         * gst/gst.c: (init_post):
5055         * gst/gstplugin.c: (_gst_plugin_register_static),
5056           (gst_plugin_register_static), (_gst_plugin_initialize):
5057         * gst/gstplugin.h: (GstPluginFilter):
5058           Change API of gst_plugin_register_static() to not take
5059           a GstPluginDesc, but rather just take all the arguments
5060           in a GstPluginDesc directly. This is more intuitive and
5061           avoids certain mistakes when porting code from
5062           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5063           Fixes #510187.
5064
5065         * tests/check/gst/gstplugin.c:
5066           Fix up for changed API.
5067
5068 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * docs/faq/legal.xml:
5071           Update FAQ, Totem actually has an exception these days.
5072
5073 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5074
5075         * win32/common/libgstreamer.def:
5076         Add new API declarations
5077
5078 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5079
5080         * gst/gstminiobject.c:
5081           Spelling fixes for the API docs.
5082
5083 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5084
5085         * libs/gst/base/gstbasetransform.c:
5086           Fix long property description for QoS.
5087
5088 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5089
5090         * gst/gst.c:
5091         _gst_trace_on is already provided by gsttrace.h, no need to declare
5092         it ourselves.
5093
5094         * docs/libs/gstreamer-libs-sections.txt:
5095         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5096         and remove strange tcase_add_test which is outputting a warning.
5097
5098         * libs/gst/check/gstcheck.c:
5099         * libs/gst/check/gstcheck.h:
5100         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5101         and define them in gstcheck.c instead of having every .c file whcih
5102         includes gstcheck.h be defining its own copy and relying on symbol
5103         interposing to marry them all, which doesn't work on Solaris.
5104
5105         * tests/check/elements/identity.c: (GST_START_TEST):
5106         Don't define 'buffers' locally, it comes from libgstcheck.
5107
5108         * tests/check/generic/sinks.c: (send_buffer):
5109         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5110
5111         * tests/check/gst/gststructure.c: (GST_START_TEST):
5112         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5113         * tests/check/gst/gstutils.c: (GST_START_TEST):
5114         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5115         Add a bunch of casts to make various constants fit the types
5116         they're being assigned to.
5117
5118 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5119
5120         * gst/gstchildproxy.c:
5121           Improve docs and add some ideas for making this more general-purpose.
5122
5123 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5124
5125         * gst/gst_private.h: (GST_CAT_TYPES):
5126           Add GST_CAT_TYPES, for consistency, and so that the other
5127           debug categories don't make fun of it. Spotted by Saur on IRC.
5128
5129 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5130
5131         * gst/parse/Makefile.am:
5132           Move types.h from EXTRA_DIST to noinst_HEADERS.
5133
5134 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5135
5136         * autogen.sh:
5137           Add -Wno-portability to the automake parameters to stop warnings
5138           about GNU make extensions being used. We require GNU make in almost
5139           every Makefile anyway.
5140
5141         * configure.ac:
5142           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5143           at the same time is required for per target flags.
5144
5145 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * gst/gstmacros.h:
5148           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5149           __GNUC__ is defined before using it.
5150
5151 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * docs/gst/gstreamer-sections.txt:
5154         * gst/gst.c: (init_post):
5155         * gst/gstplugin.c: (_gst_plugin_register_static),
5156           (gst_plugin_register_static), (_gst_plugin_initialize),
5157           (gst_plugin_register_func):
5158         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5159           API: add gst_plugin_register_static() and deprecate
5160           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5161           (#498924).
5162           Also, in _gst_plugin_register_static(), make sure to call
5163           g_thread_init() before calling GLib functions such as
5164           g_list_append() if we're not initialised yet, since that
5165           may lead to random crashes with older GSlice/GLib versions.
5166
5167         * tests/check/gst/gstplugin.c:
5168           Adapt unit test to above changes.
5169
5170 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5171
5172         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5173         * gst/gstcaps.c: (gst_caps_to_string):
5174         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5175           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5176           Yet another gratuitous GString micro-optimisation: add a (private)
5177           function that serialises a structure appending to an existing
5178           GString, so that when we serialise caps we don't need to alloc+free
5179           a throwaway GString for each structure (each of which also entailing
5180           multiple reallocs on the way); also use g_string_sized_new() in
5181           various places with an approximate string length to avoid reallocs
5182           within GString. See #500143.
5183
5184 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/gststructure.c: (gst_structure_id_set_value):
5187           Always check UTF-8 conformance of structure strings and not only
5188           if the debugging system is enabled; reasoning: the behaviour of
5189           the actual code shouldn't really change depending on whether the
5190           debugging system is enabled or not (#508291).
5191
5192 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5193
5194         * Makefile.am:
5195           Remove old coverage target in favour of "make lcov".
5196
5197 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5198
5199         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5200         (gst_base_src_loop):
5201         The start segment for reverse playback goes from start to last_stop.
5202
5203 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5204
5205         Patch by: Peter Kjellerstedt <pkj axis com>
5206
5207         * gst/gstclock.h:
5208         Cast the results from the timeval/spec_to_time macros to what the
5209         docs say it casts to, a GstClockTime. fixes #508175.
5210
5211 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5212
5213         * gst/gstbuffer.c:
5214         Update some comments.
5215
5216         * tools/gst-inspect.c: (print_element_properties_info):
5217         Improve printing of flags.
5218
5219 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5220
5221         * libs/gst/base/gstbasetransform.c:
5222           (gst_base_transform_transform_size):
5223           Print element name with g_warning() if there's a problem
5224           with the unit size.
5225
5226 2008-01-07  David Schleef  <ds@schleef.org>
5227
5228         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5229
5230         * libs/gst/controller/gstcontroller.h:
5231         * libs/gst/controller/gstcontrolsource.h:
5232         * libs/gst/controller/gstinterpolationcontrolsource.h:
5233         * libs/gst/controller/gstlfocontrolsource.h:
5234         * libs/gst/dataprotocol/dataprotocol.h:
5235           Fix empty prototypes.  Fixes bug #507957.
5236
5237 2008-01-07  David Schleef  <ds@schleef.org>
5238
5239         * docs/faq/dependencies.xml: Fix typo.
5240
5241 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5242
5243         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5244         (gst_base_src_loop):
5245         Don't update the last_stop position in do_seek, that's the position we
5246         did a seek to.
5247         Read backwards when we have a negative rate.
5248
5249         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5250         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5251         (filesrc_suite):
5252         Add check for reverse reading.
5253
5254 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5255
5256         Patch by: Alexis Ballier <aballier at gentoo org>
5257
5258         * tests/check/gst/gstabi.c:
5259         * tests/check/gst/struct_ppc64.h:
5260         * tests/check/libs/libsabi.c:
5261         * tests/check/libs/struct_ppc64.h:
5262           Decide which header to include based on the userland ABI target
5263           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5264           for 64-bit userland (#503590).  Might need something similar for
5265           x86 too.
5266
5267 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5268
5269         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5270           Log the reason why fopen fails in addition to the fact that it failed.
5271           
5272 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5273
5274         * gst/parse/parse.l:
5275         Use "%option never-interactive" to prevent useless calls to isatty()
5276         on every input when parsing. Also use "%option noinput" to not define
5277         the static input/yyinput functions which we don't use anyway. This
5278         removes a compiler warning with gcc 4.3 and saves some bytes in the
5279         library.
5280         
5281         * gst/parse/lex._gst_parse_yy.pre.c:
5282         Regenerated for the above change.
5283
5284 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5285
5286         * gst/gstpad.c: (fixate_value):
5287         Don't crash when trying to fixate and empty list.
5288         Fixes #506643.
5289
5290 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5291
5292         * docs/faq/gst-uninstalled:
5293         Clarify the comments to make the usage of this script and what it
5294         does easier to understand.
5295
5296 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5297
5298         * tools/gst-plot-timeline.py:
5299         Add more options to gst-plot-timeline
5300
5301 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5302
5303         * docs/design/part-synchronisation.txt:
5304         Some more info on how the stream_time in GstBaseSink is done.
5305
5306 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5307
5308         * tests/check/generic/sinks.c: (gst_sinks_suite):
5309           Put back the tcase_set_timeout(), apparently it's needed after
5310           all; fix it up in a way that makes things work with valgrind too.
5311
5312 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5313
5314         * gst/gstdebugutils.c:
5315           Add warning when failed to open file for writing.
5316
5317 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5318
5319         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5320
5321         * gst/gstvalue.c: (gst_value_is_fixed):
5322           Optimisation: bail out of the loop as early as possible (#500143).
5323
5324 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5325
5326         * gst/gstcaps.c: (gst_caps_to_string):
5327         * gst/gstinfo.c: (gst_debug_construct_term_color):
5328         * gst/gstparse.c: (gst_parse_launchv):
5329         * gst/gstutils.c: (gst_util_dump_mem):
5330         * gst/gstvalue.c: (gst_value_serialize_any_list),
5331           (gst_value_transform_any_list_string):
5332           Bunch of gratuitous nano-optimisations.
5333
5334 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5335
5336         * tests/check/generic/sinks.c: (async_done_func),
5337           (async_done_eos_func):
5338           Fix leak in unit test (bus sync handler must unref the message
5339           if it returns GST_BUS_DROP). Don't fiddle with the default test
5340           timeout, this is smaller than the current preconfigured value
5341           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5342           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5343
5344 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5345
5346         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5347
5348         * configure.ac:
5349         Check for stdio_ext.h for the filesink changes.
5350
5351         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5352         (gst_file_sink_class_init), (gst_file_sink_init),
5353         (gst_file_sink_dispose), (gst_file_sink_set_property),
5354         (gst_file_sink_get_property), (gst_file_sink_open_file),
5355         (gst_file_sink_close_file):
5356         * plugins/elements/gstfilesink.h:
5357         Add two properties to control the buffering mode and size.
5358         API: GstFileSink::buffer-mode
5359         API: GstFileSink::buffer-size
5360         Fixes #500150.
5361
5362 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5363
5364         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5365         Add some more docs to explain why a FIXME was wrongly added. 
5366
5367 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5368
5369         * gst/gstobject.c:
5370           Fix typo in the gst_object_{ref,unref} documentation.
5371
5372 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * tests/check/libs/controller.c:
5375         * tests/check/libs/typefindhelper.c:
5376         * tests/check/pipelines/parse-launch.c:
5377           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5378           going to be deprecated (see #498924).
5379
5380 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5381
5382         * gst/gsttypefind.c: (gst_type_find_register):
5383           Make gst_type_find_register work for static typefind functions,
5384           ie. allow passing plugin == NULL (prerequisite for #498924).
5385
5386         * gst/gstelementfactory.c: (gst_element_register):
5387           Small docs addition.
5388
5389 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5390
5391         * gst/gstpad.c: (gst_pad_dispose):
5392         Really unlink the peer pad instead of setting the peer pointer to NULL
5393         when we dispose the pad.
5394         This correctly calls the unlink functions and makes sure that the peer
5395         does not have a handle to invalid memory. See #504671.
5396
5397         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5398         Add testsuite for above case.
5399
5400 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5401
5402         Patch by: Peter Kjellerstedt <pkj axis com>
5403
5404         * libs/gst/check/gstcheck.h:
5405           Fix detection of the check version we're compiling against (would
5406           otherwise break if check goes v0.10.0); correctly report the
5407           name of the failed test again in case of failure, instead of
5408           just 'tf' (fixes #504499).
5409
5410 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5411
5412         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5413         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5414         (gst_base_src_loop), (gst_base_src_set_flushing),
5415         (gst_base_src_change_state):
5416         Allow sending EOS to the source to make it send out an EOS event from
5417         the streaming thread.
5418         Update docs and deprecate the old NULL/READY shutdown method.
5419
5420         * tests/check/libs/basesrc.c: (GST_START_TEST),
5421         (gst_basesrc_suite):
5422         Add unit test for controlled shutdown.
5423
5424 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5425
5426         * docs/design/part-synchronisation.txt:
5427         Small updates.
5428
5429         * gst/gstsegment.c: (gst_segment_set_seek),
5430         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5431         (gst_segment_to_running_time):
5432         The seek format can be different from the segment format when the start
5433         and stop values are not to be updated, when we only do a rate change for
5434         example.
5435
5436         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5437         (gst_segment_suite):
5438         Add a testcase for the rate-only seeks, checking that the format is
5439         correctly ignored when start and stop are not updated.
5440
5441 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5442
5443         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5444
5445         * win32/vs8/grammar.vcproj:
5446         * win32/vs8/libgstcontroller.vcproj:
5447         * win32/vs8/libgstreamer.vcproj:
5448         Fix compilation with VS8 and include some missing files.
5449
5450 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5451
5452         * gst/gsttaglist.c:
5453           Small docs addition: mention that the strings returned by
5454           gst_tag_list_get_string*() are in UTF-8 encoding.
5455
5456 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5457
5458         * Makefile.am:
5459           The check-exports stuff moved to common/win32.mak, so include that.
5460
5461 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5462
5463         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5464         (gst_base_src_perform_seek), (gst_base_src_get_range),
5465         (gst_base_src_set_playing), (gst_base_src_change_state):
5466         Make _wait_playing() not check any variables so that we can call this
5467         function from subclasses. Move the checks elsewhere similar to
5468         _wait_preroll() in basesink.
5469         Add some debugging.
5470         Only signal the LIVE cond when we are going back to PLAYING.
5471
5472 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5473
5474         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5475           Use g_remove() and g_rename(). Check result of g_rename(), and
5476           don't leak the open file descriptor if we error out when writing.
5477
5478         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5479           Must check the return value of close() after writing out the new
5480           registry file.  Sometimes write problems such as out-of-diskspace
5481           are only reported when the file is closed and not already during
5482           the write.  This may have caused partial/broken registry files in
5483           some rare circumstances. Should fix #503675.
5484
5485 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5486
5487         * docs/gst/.cvsignore:
5488         * docs/libs/.cvsignore:
5489         * docs/plugins/.cvsignore:
5490         Ignore files generated by new common/* modifications
5491
5492 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5493
5494         * win32/common/libgstbase.def:
5495           Yes, you can also have a <TAB> if you want.
5496
5497 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5498
5499         * win32/common/libgstbase.def:
5500           Add new basetransform API to win export file.
5501
5502 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5503
5504         * tests/check/gst/gstbin.c:
5505           Adjust the test to the refcount change two days ago.
5506
5507 2007-12-14  David Schleef  <ds@schleef.org>
5508
5509         * docs/faq/getting.xml: Fix typo.
5510
5511 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5512
5513         * docs/libs/gstreamer-libs-sections.txt:
5514         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5515           (gst_base_transform_prepare_output_buffer),
5516           (gst_base_transform_set_gap_aware):
5517         * libs/gst/base/gstbasetransform.h:
5518           API: Add gst_base_transform_set_gap_aware() to control whether
5519           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5520           get buffers with this flag at all. Fixes #503231.
5521
5522 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5523
5524         * libs/gst/base/gstbasesink.c:
5525         * libs/gst/base/gstbasesrc.c:
5526         * libs/gst/base/gstbasetransform.c:
5527           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5528           thread. Correct log message in gstbasesrc.c.
5529
5530 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5531
5532         * gst/gstutils.c: (element_find_unconnected_pad):
5533           Fix possible compiler warning (#503417).
5534
5535 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5536
5537         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5538           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5539
5540 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5541
5542         * tools/gst-inspect.c: (print_element_properties_info):
5543           Add support for GstFraction properties.
5544
5545 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5546
5547         * Makefile.am:
5548           Add check-exports target and run it as part of 'make check'
5549           (see #499140 and #493983).
5550
5551         * gst/gst_private.h:
5552         * gst/gstelementfactory.h:
5553         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5554         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5555           (_priv_gst_in_valgrind):
5556         * gst/gstinfo.h: (GstLogFunction):
5557         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5558           (gst_type_find_register):
5559         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5560           (gst_type_find_factory_get_type):
5561         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5562           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5563           (gst_controller_new_valist), (gst_controller_new_list),
5564           (_gst_controller_dispose), (_gst_controller_class_init):
5565         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5566         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5567           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5568           (gst_object_get_controller), (gst_object_set_controller),
5569           (gst_object_suggest_next_sync), (gst_object_sync_values),
5570           (gst_object_set_control_source), (gst_object_get_control_source),
5571           (gst_object_get_value_arrays), (gst_object_get_value_array),
5572           (gst_object_get_control_rate), (gst_object_set_control_rate):
5573         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5574         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5575           Make some functions that should be static static; rename some
5576           private symbols so that they don't get exported; add some FIXME
5577           comments so we can move accidentally exported functions into
5578           our private section in 0.11.
5579
5580         * win32/common/libgstreamer.def:
5581           Add gst_utils_get_timestamp().
5582
5583 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5584
5585         * gst/gstvalue.c:
5586         * gst/gstvalue.h:
5587           Add more missing "Since:" tags to docs.
5588
5589 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5590
5591         * gst/gstutils.c:
5592           Add mising "Since:" to docs.
5593
5594 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5595
5596         * gst/gstplugin.c:
5597           Include "glib-compat-private.h" to fix the build on system with
5598           glib < 2.10. Fixes #503131.
5599
5600 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5601
5602         * gst/gstutils.c:
5603         * gst/gstutils.h:
5604           Actually its not PURE as it gets the time from elsewhere.
5605
5606 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5607
5608         * docs/gst/gstreamer-sections.txt:
5609         * gst/gstclock.h:
5610         * gst/gstdebugutils.c:
5611         * gst/gstinfo.c:
5612         * gst/gstutils.c:
5613         * gst/gstutils.h:
5614         * libs/gst/base/gstbasesink.c:
5615         * tools/gst-launch.c:
5616           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5617           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5618           Thanks Tim for spotting.
5619           API: gst_util_get_timestamp
5620
5621 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5622
5623         * configure.ac:
5624           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5625
5626 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5627
5628         * gst/gststructure.c: (gst_structure_validate_name),
5629           (gst_structure_new_valist), (gst_structure_parse_value),
5630           (gst_structure_from_string):
5631           Don't crash in _from_string() if the structure name is not valid
5632           (fixes #501560).  Allow structure names to start with a number
5633           again (this apparently broke the ubuntu codec installer).
5634
5635         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5636           (GST_START_TEST):
5637           Add unit test for the crash; update unit tests for new behaviour.
5638
5639 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5640
5641         * gst/gstutils.c:
5642         Clarify gst_element_get_compatible_pad() documentation.
5643         Fixes #500919.
5644
5645 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5646
5647         * tests/check/Makefile.am:
5648           Don't forget to dist {gst,libs}/struct_hppa.h.
5649
5650 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5651
5652         * libs/gst/base/gstbasesink.c:
5653           Use new API to get elapsed time.
5654
5655 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5656
5657         * gst/gstdebugutils.c:
5658         * gst/gstinfo.c:
5659           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5660
5661         * tools/gst-launch.c:
5662           Use new API to get elapsed time.
5663
5664 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5665
5666         * docs/gst/gstreamer-sections.txt:
5667         * gst/gstclock.h:
5668         * gst/gstdebugutils.c:
5669         * gst/gstinfo.c:
5670           Rename new API + ChangeLog surgery to remove old name from last entry..
5671
5672 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5673
5674         * docs/gst/gstreamer-sections.txt:
5675         * gst/gstclock.h:
5676         * gst/gstdebugutils.c:
5677         * gst/gstinfo.c:
5678           Now hide the different clock stuff behind a macro.
5679
5680 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5681
5682         * configure.ac:
5683         * gst/gstdebugutils.c:
5684         * gst/gstinfo.c:
5685           Apply the posix-timer check from #361155. Conditionally use the posix
5686           timer for logging. This gives better timestamp precission, less
5687           overhead and no ntp jitter.
5688
5689 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5690
5691         * gst/gstminiobject.c: (gst_mini_object_get_type),
5692         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5693         (gst_mini_object_finalize), (gst_mini_object_copy),
5694         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5695         (gst_mini_object_replace), (param_mini_object_validate),
5696         (gst_param_spec_mini_object_get_type):
5697         Some cleanup and checking against invalid function parameters.
5698
5699 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5700
5701         * docs/gst/gstreamer-sections.txt:
5702         * gst/gstclock.h:
5703         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5704         (gst_systemclock_suite):
5705         Start merging in the easy bits of #361155, the monotonic clock patch.
5706         This one adds a few handy macros with docs and a testsuite.
5707
5708 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5709
5710         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5711         Be a bit smarter when seeking, like, don't try to do a seek when it's
5712         not needed. This avoids errors when the file is not seekable.
5713         Fixes #499771.
5714
5715 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5716
5717         * docs/gst/gstreamer-docs.sgml:
5718         * docs/gst/gstreamer-sections.txt:
5719         * docs/gst/gstreamer.types.in:
5720         * gst/Makefile.am:
5721         * gst/gst.h:
5722         * gst/gstpreset.c:
5723         * gst/gstpreset.h:
5724         * plugins/elements/gstqueue.c:
5725           Due to popular request remove preset interface again. :-(.
5726
5727 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5728
5729         * tools/gst-inspect.c:
5730           Print 'default value' for enums and flags too.
5731
5732 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5733
5734         * docs/random/ensonic/profiling.txt:
5735           More ideas.
5736
5737         * gst/gstbin.c:
5738           Fix typo and give better log output.
5739
5740         * gst/gstdebugutils.c:
5741         * gst/gstdebugutils.h:
5742           More ideas, make graphs a bit smaller and fix param name in macro.
5743
5744 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5745
5746         * gst/gstpreset.c:
5747           Try harder to use the return value from fgets().
5748
5749 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5750
5751         * gst/gstpreset.c:
5752           For theses two fgets we handle the error below.
5753
5754 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5755
5756         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5757         Only send upstream events upstream. Fixes #498746.
5758
5759 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5760
5761         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5762
5763         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5764         (gst_identity_init), (gst_identity_transform_ip),
5765         (gst_identity_set_property), (gst_identity_get_property):
5766         * plugins/elements/gstidentity.h:
5767         Add property to disable handoff signal emission. Fixes #498694.
5768         API: GstIdentity::signal-handoffs
5769
5770 2007-11-21  Julien Moutte  <julien@fluendo.com>
5771
5772         * docs/faq/gst-uninstalled: Yet another missing library for the
5773         uninstalled script (fft)
5774
5775 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5776
5777         * docs/faq/developing.xml:
5778         Add a question about how to submit new translations.
5779
5780         * docs/random/release:
5781         Update the contact email address for the Translation Project
5782
5783         * plugins/elements/gstfdsrc.c:
5784         The parent_class for fdsrc is pushsrc, not GstElement.
5785
5786 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5787
5788         * gst/gstpreset.c:
5789           Plug a leak and fix saving.
5790
5791 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5792
5793         * docs/gst/gstreamer-sections.txt:
5794         Add new gst_preset__get_property_names() function to the docs
5795         to fix the build.
5796
5797 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5798
5799         * gst/gstpreset.c:
5800         * gst/gstpreset.h:
5801           Change _get_preset_names API to return a strv with copies. Add
5802           _get_property_names to allow implementations to filter and provide
5803           good default implementation.
5804
5805 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5806
5807         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5808         script (sdp).
5809
5810 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5811
5812         * gst/gstpreset.c:
5813           More cleanups, docs, and TODOs from comments that now slowly come in.
5814
5815 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5816
5817         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5818         search path.
5819
5820 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5821
5822         * gst/gstpreset.c:
5823           Fix bogus warning and make the property type specific code more
5824           similar.
5825
5826 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5827
5828         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5829         it build on OS X.
5830
5831 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5832
5833         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5834         (gst_bin_add_func), (gst_bin_remove_func),
5835         (gst_bin_change_state_func), (gst_bin_continue_func):
5836         Change email, cleanups add some more debug and comments.
5837         Also set bus and clock on new elements when the pipeline was in error.
5838
5839 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5840
5841         * gst/gstbin.c:
5842         * gst/gstdebugutils.c:
5843           Fix build with --disable-gst-debug. Fixes #497859.
5844           Spotted by Sameer Naik.
5845
5846 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5847
5848         * gst/gstevent.c:
5849           Little documentation improvment.
5850
5851         * gst/gstpreset.c:
5852           More TODO cleanups. Remove c++ comments.
5853
5854         * libs/gst/controller/gstcontroller.c:
5855           Add TODO and use quark from static string.
5856
5857         * tests/check/gst/gstmessage.c:
5858         * tests/check/gst/gststructure.c:
5859           Use quark from static string.
5860
5861 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5862
5863         * gst/gstpreset.c:
5864           Add some comments and TODOs.
5865
5866         * gst/gstpreset.h:
5867           Add padding for future changes.
5868
5869         * plugins/elements/gstqueue.c:
5870           Implement the iface.    
5871
5872 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5873
5874         * docs/gst/gstreamer-docs.sgml:
5875         * docs/gst/gstreamer-sections.txt:
5876         * docs/gst/gstreamer.types.in:
5877         * gst/Makefile.am:
5878         * gst/gst.h:
5879         * gst/gstpreset.c:
5880         * gst/gstpreset.h:
5881           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5882
5883 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5884
5885         * configure.ac:
5886
5887         Back to CVS
5888
5889 === release 0.10.15 ===
5890
5891 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5892
5893         * configure.ac:
5894           releasing 0.10.15, "October"
5895
5896 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5897
5898         * win32/vs6/libgstreamer.dsp:
5899         Convert line endings back to DOS.
5900
5901 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5902
5903         * docs/design/draft-tagreading.txt:
5904         * docs/random/ensonic/profiling.txt:
5905         Update fast tagreading draft and performance profiling ideas.
5906
5907 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5908
5909         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5910         Don't hold the object lock when unreffing a buffer because it could
5911         cause a deadlock when the finalize function wants to grab the object
5912         lock too. Fixes #495133.
5913
5914 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5915
5916         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5917         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5918         Also accumulate time correctly when doing reverse playback. Fixes
5919         #488201,
5920         When converting to running and stream time, use default values for
5921         start/stop/time/accum when comparing different formats. Fixes #494245.
5922
5923         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5924         Do running/stream time in TIME format.
5925
5926         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5927         (gst_segment_suite):
5928         2 new unit tests for segment accumulation.
5929
5930 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5931
5932         * gst/gst.c: (init_pre):
5933         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5934           (_gst_debug_bin_to_dot_file):
5935           Move getenv() back into gst_init, so everyone can live happily
5936           ever after. Make sure the symbol isn't exported though.
5937
5938 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5939
5940         Patch by: Sebastien Moutte  <sebastien moutte net>
5941
5942         * win32/common/gstenumtypes.c:
5943         * win32/common/gstenumtypes.h:
5944           Update enum types.
5945
5946         * win32/vs6/libgstreamer.dsp:
5947           Update vs6 project files (#494343).
5948
5949 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5950
5951         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5952         (gst_base_src_perform_seek), (gst_base_src_default_event),
5953         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5954         (gst_base_src_activate_pull):
5955         Unify flushing code, remove some old unlock code that is no longer used.
5956         Take the streaming lock when seeking to avoid races. Fixes #492729.
5957         Added some more comments.
5958
5959 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5960
5961         * gst/gst.c: (_gst_disable_segtrap):
5962           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5963           we can use gst_segtrap_is_enabled() there now that we have that API.
5964           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5965           to do the getenv here (and export the variable).
5966
5967         * gst/gstdebugutils.c: (debug_dump_element),
5968           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5969           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5970
5971         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5972           (gst_debug_log_default):
5973           Rename _gst_info_start_time to priv_gst_info_start_time so it
5974           doesn't get exported (was never in any header).
5975
5976         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5977           (gst_plugin_loading_mutex):
5978           Make static mutex gst_plugin_loading_mutex really static (was never
5979           in any header), and use gst_segtrap_is_enabled() instead of
5980           _gst_disable_segtrap.
5981
5982         * gst/gsttrace.c: (_gst_trace_default):
5983           Make local _gst_trace_default static (was never in any header).
5984
5985 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5986
5987         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5988
5989         * win32/common/libgstbase.def:
5990         * win32/common/libgstcontroller.def:
5991         * win32/common/libgstdataprotocol.def:
5992         * win32/common/libgstnet.def:
5993         * win32/common/libgstreamer.def:
5994           Add more missing symbols, remove some duplicates, and sort
5995           as the 'sort' command sorts it (partially fixes #493983).
5996
5997 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5998
5999         * gst/gstelement.c: (gst_element_set_state_func):
6000         Only change the state cookie if a different state was set on the
6001         element. See #492729.
6002
6003 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6004
6005         * gst/gstvalue.c:
6006           Remove unused and uninitialised type variables that were still
6007           exported for some reason (they were never in any header files
6008           though).
6009
6010 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6011
6012         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6013         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6014         (gst_base_sink_event), (gst_base_sink_get_position_last),
6015         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6016         (gst_base_sink_change_state):
6017         Don't try to report a 0 position when we don't know, return -1 and FALSE
6018         instead. This mostly happens when we are prerolling.
6019         Make sure we can report the right position before we post the ASYNC_DONE
6020         message so that a message handler can query position without races.
6021
6022         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6023         (async_done_handoff), (async_done_func), (send_buffer),
6024         (async_done_eos_func), (gst_sinks_suite):
6025         Add two tests for the above.
6026
6027 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6028
6029         * MAINTAINERS:
6030         Update with new email address.
6031
6032         * docs/design/part-TODO.txt:
6033         Add some more info about future pad-block and negotiation changes.
6034
6035         * docs/design/part-buffering.txt:
6036         Add some ideas about buffering reporting.
6037
6038 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6039
6040         * tests/check/gst/gstobject.c:
6041         Disable silly racy test that always fails on this combination of CPU
6042         and kernel.
6043
6044 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6045
6046         Patch by: Murray Cumming  <murrayc@murrayc.com>
6047
6048         * gst/gstobject.c:
6049           Corrected the registration of the parent-set and parent-unset
6050           signals: The parameter is a GstObject, not a GObject (#493134).
6051
6052 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6053
6054         * gst/gst_private.h:
6055         * gst/gstbuffer.h:
6056         * gst/gstevent.h:
6057         * gst/gstformat.h:
6058         * gst/gstmessage.h:
6059         * gst/gstplugin.h:
6060         * gst/gstquery.h:
6061         * gst/gsttaglist.h:
6062         * gst/gstvalue.h:
6063           Move declaration of private _gst_foo_initialize() functions into
6064           our private header file where they should have been all along.
6065
6066 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6067
6068         * docs/plugins/gstreamer-plugins-sections.txt:
6069         * gst/gstdebugutils.h:
6070         * gst/gstxml.h:
6071         * plugins/elements/gstqueue.c:
6072           gtk-doc fixes; trailing-comma-in-enum fix.
6073
6074 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6075
6076         * gst/gst.c: (gst_deinit):
6077           Clean up on deinit (not the external ones though, doesn't seem to be
6078           needed for some reason).
6079
6080 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6081
6082         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6083           Remove __declspec(dllimport) for MSVC that was copied over into core
6084           from a plugin, obviously without ever having been tested (note the
6085           single underscore in _declspec in the initial commit), and that doesn't
6086           really make sense.  See #492077.
6087
6088 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6089
6090         * gst/gst.c: (init_post):
6091         * gst/gstevent.c: (_gst_event_initialize):
6092         * gst/gstquery.c: (_gst_query_initialize):
6093         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6094           g_type_class_ref() other types as well, see #349410 and #64764.
6095
6096         * gst/gstbuffer.c: (_gst_buffer_initialize):
6097         * gst/gstmessage.c: (_gst_message_initialize):
6098           Simplify existing g_type_class_ref().
6099
6100 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * gst/gstformat.c: (_gst_format_initialize):
6103           g_type_class_ref() our GstFormat type to make sure we avoid the
6104           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6105           bug #64764. Should fix intermittent tee unit test failures (#474823).
6106
6107 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6108
6109         * tests/check/elements/tee.c: (test_num_buffers):
6110           Simplify, simplify, simplify - or not.  Rewrite unit test
6111           not to use gst_parse_launch(); allow N sub-streams. Increasing
6112           the number of sub-streams seems to reproduce #474823 more easily.
6113
6114 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6115
6116         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6117
6118         * gst/gsttrace.c:
6119         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6120         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6121         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6122           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6123           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6124           so use _pipe() directly (#492077).
6125
6126         * win32/common/dirent.c: (_treaddir):
6127           Add a couple of casts to make it build without warnings with MSVC.
6128
6129         * win32/common/libgstreamer.def:
6130           Add some more symbols that need to be exported.
6131
6132 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6133
6134         * tests/examples/metadata/read-metadata.c: (message_loop):
6135           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6136           arriving in a second or third tag message are added to
6137           the tag list as well.
6138
6139 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * libs/gst/base/gstbasesrc.c:
6142           Its "Since:" and not "@Since:". And remove an superflous cast.
6143
6144 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6145
6146         * docs/libs/gstreamer-libs-sections.txt:
6147         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6148         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6149         (gst_base_sink_get_property), (gst_base_sink_render_object),
6150         (gst_base_sink_preroll_object),
6151         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6152         (gst_base_sink_change_state):
6153         * libs/gst/base/gstbasesink.h:
6154         Add a new last-buffer property that contains the last buffer used in
6155         basesink for preroll or rendering. useful for making snapshots.
6156         API: gst_base_sink_get_last_buffer()
6157         API: GstBaseSink::last-buffer
6158
6159 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6160
6161         * docs/gst/running.xml:
6162         * gst/gst.c:
6163         * gst/gstdebugutils.c:
6164         * gst/gstdebugutils.h:
6165         * tools/gst-launch.c:
6166           Improve bin graph dumping, by using the envvar to specify a path.
6167           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6168
6169 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6170
6171         * plugins/elements/gsttypefindelement.c:
6172           (gst_type_find_element_handle_event),
6173           (gst_type_find_element_activate):
6174           Post special error message if we can't determine the type of a stream
6175           because it's empty.
6176
6177 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6178
6179         * docs/gst/running.xml:
6180         * gst/gstdebugutils.c:
6181           Document new env-var. Add one log-line after dumpng a graph.
6182
6183 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6184
6185         * configure.ac:
6186           Ugly hack to put the (recently removed and non-portable, apparently)
6187           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6188           GNU ld, because without that 'make check' fails miserably on my debian
6189           stable box.  Someone with more knowledge of linker intricacies and
6190           portability issues than me fix this properly please.
6191
6192 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6193
6194         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6195         Reset last seen position after flushing so that we don't report the old
6196         position anymore.
6197
6198 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6199
6200         * gst/gstelementfactory.c: (gst_element_register):
6201         * gst/gsturi.h:
6202         Patch from Alessandro Decina adding get_type_full and
6203         get_protocols_full private vfuncs to the URIHandler interface
6204         to allow bindings to support creating URI handlers. 
6205         Partially fixes: #339279
6206         API: GstURIHandlerInterface::get_type_full
6207         API: GstURIHandlerInterface::get_protocols_full
6208
6209 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6210
6211         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6212         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6213         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6214         Make it so that pads are considered linked until a buffer is pushed
6215         and discovered otherwise. This avoids problems with decodebin2 hanging
6216         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6217         case.
6218
6219         Make sure we lock the multiqueue when updating the max-size properties.
6220         
6221         Fix a crash on Solaris in a debug statement in get_request_pad that
6222         passes a NULL string to GST_DEBUG. 
6223
6224         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6225         (run_output_order_test):
6226         Fix the test to allow the first buffer on not-linked pads to come out
6227         of sequence while multiqueue discovers that they are not-linked.
6228
6229 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6230
6231         * configure.ac:
6232         * libs/gst/check/Makefile.am:
6233         Use a custom export symbol regex for libgstcheck, as it needs
6234         to export symbols that don't match the standard GStreamer gst_*
6235         pattern, and  --export-dynamic is not portable (only works on 
6236         GNU ld)
6237
6238         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6239         (gst_check_setup_sink_pad):
6240         Make sure to pass a message parameter to the fail_* macros.
6241
6242         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6243         Fix some compiler warnings.
6244
6245 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6246
6247         * tests/check/gst/gststructure.c: (test_to_string):
6248           Disable test that checks that white spaces are not allowed
6249           in structure names or field names, since we need to
6250           support that for now for backwards compatibility reasons.
6251
6252 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6253
6254         * docs/gst/gstreamer-sections.txt:
6255         * gst/gsttaglist.c:
6256         * gst/gsttaglist.h:
6257           API: add GST_TAG_ARTIST_SORTNAME
6258           API: add GST_TAG_ALBUM_SORTNAME
6259           API: add GST_TAG_TITLE_SORTNAME
6260           Add tag variants for sorting (#414539).
6261
6262 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6263
6264         * gst/gststructure.c:
6265           Also allow white space for names so we don't break
6266           backwards compatibility.
6267
6268 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6269
6270         * docs/design/part-TODO.txt:
6271         * docs/design/part-segments.txt:
6272         * docs/design/part-streams.txt:
6273         Small updates.
6274
6275 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6276
6277         * docs/gst/gstreamer-sections.txt:
6278          Fixed documentation from my previous commit (added new API add
6279          gst_value_set_structure(), add gst_value_get_structure() and
6280          GST_VALUE_HOLDS_STRUCTURE).
6281
6282 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6283
6284         * gst/gstdebugutils.c:
6285           Reflow code to fix uninitialized variable warning.
6286
6287 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6288
6289         * gst/gstcaps.c: (gst_caps_to_string),
6290         (gst_caps_from_string_inplace):
6291         * gst/gststructure.c: (gst_structure_get_abbrs),
6292         (gst_structure_to_string), (gst_structure_from_string):
6293         * gst/gstvalue.c: (gst_value_set_structure),
6294         (gst_value_get_structure), (gst_value_serialize_structure),
6295         (gst_value_deserialize_structure), (_gst_value_initialize):
6296         * gst/gstvalue.h:
6297         * tests/check/gst/gststructure.c: (GST_START_TEST),
6298         (gst_structure_suite):
6299         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6300          Added GstStructure to gst_value_table and its related functions.
6301          Changed gst_structure_to_string to print ';' in the end.
6302          Changed gst_caps_to_string to not print ';' beteween its
6303          fields (structures) anymore and remove the lastes ';' from latest
6304          structure. Now it is possible to have nested structures.
6305          In addition, backward compatibilty is assured by accepting '\0' as
6306          end delimiter. Fixes: #487969.
6307          API: add gst_value_set_structure()
6308          API: add gst_value_get_structure()
6309          API: add GST_VALUE_HOLDS_STRUCTURE
6310
6311 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6312
6313         * gst/gstbus.c:
6314           When no GSource callback has been set up, tell developer
6315           to use a function that actually exists.
6316
6317 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * docs/gst/gstreamer-sections.txt:
6320         * gst/Makefile.am:
6321         * gst/gst.c:
6322         * gst/gst.h:
6323         * gst/gstdebugutils.c:
6324         * gst/gstdebugutils.h:
6325         * gst/gstinfo.c:
6326         * gst/gstinfo.h:
6327         * tools/gst-launch.c:
6328           Allow dumping pipelines as dot graphs. Fixes #456573.
6329
6330 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6331
6332         * gst/gststructure.c:
6333           Allow '+' as well, it can be part of media or mime types
6334           such as image/svg+xml.
6335
6336 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6337
6338         * docs/gst/gstreamer-sections.txt:
6339         * gst/gstbus.c:
6340         * gst/gstbus.h:
6341           API: add gst_bus_pop_filtered
6342           API: add gst_bus_timed_pop_filtered
6343           Two new functions for waiting for specific message types on the
6344           bus for a specified amount of time without iterating any main
6345           loops or main contexts.
6346
6347         * tests/check/gst/gstbus.c:
6348           Some tests for the new functions.
6349
6350 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6351
6352         * docs/libs/gstreamer-libs-sections.txt:
6353           Make gtk-doc ignore stuff it should ignore.
6354
6355 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6356
6357         * libs/gst/check/gstcheck.c:
6358         * libs/gst/check/gstcheck.h:
6359           Allow runtime selection of unit tests to run via the GST_CHECKS
6360           environment variable (test case function names, comma-separated).
6361
6362 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * gst/gststructure.c:
6365         * tests/check/gst/gststructure.c:
6366           Revert serialisation change and constrain structure-names after
6367           consensus on irc. Update api documentation to reflect the change.
6368
6369 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6370
6371         * gst/gststructure.c:
6372           Improve serialization and fix tests.
6373
6374         * tests/check/gst/gststructure.c:
6375           Add another test that covers why I actually did the previous structure
6376           change.
6377
6378 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6379
6380         * tools/gst-inspect.c: (print_element_info):
6381         Don't crash when inspecting an element.
6382
6383 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * tests/check/gst/gststructure.c:
6386           Add unit test for escaping of structure name when serialising
6387           and deserialising to/from strings.
6388
6389 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6390
6391         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6392         (gst_single_queue_new):
6393         * plugins/elements/gstqueue.c: (gst_queue_init),
6394         (gst_queue_push_one):
6395         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6396         upstream is tricked into thinking it can suggest a format downstream
6397         while downstream does not support that format. The real problem is that
6398         core calls acceptcaps when pushing a buffer with new caps, for which we
6399         do a little workaround by setting the caps on the srcpad ourselves
6400         before pushing the buffer (until this is figured out). Fixes #486758.
6401
6402 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6403
6404         * gst/gststructure.c:
6405         * gst/gstvalue.c:
6406           Add some more comments and debug output. Quote structure name to fix
6407           deserialisation of some strings.
6408
6409 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6410
6411         * gst/gstbuffer.h:
6412           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6413           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6414
6415 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6416
6417         * tools/gst-inspect.c:
6418           Save approx. 400 1 byte allocs when printing. Use API to acces element
6419           details.
6420
6421         * tools/gst-run.c:
6422           Avoid a strdup.
6423
6424         * tools/gst-xmlinspect.c:
6425           Use API to acces element details.
6426
6427 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6428
6429         * gst/gstinfo.c:
6430           Fix some spelling errors.
6431
6432 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6433
6434         * gst/gstbin.c: (bin_handle_async_done):
6435         Correctly set the next state if all of our async children commited their
6436         state. This makes sure we can actually cancel the state change in
6437         progress. Fixes a regression in Rhythmbox when seeking.
6438
6439 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6440
6441         * gst/gstbin.c:
6442           Don't shadow local variable.
6443
6444         * gst/gstinfo.c:
6445           Don't shadow global function name.
6446
6447 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         * gst/gstelementfactory.c:
6450         * gst/gstpluginfeature.c:
6451         * gst/gstpluginfeature.h:
6452         * gst/gstregistrybinary.c:
6453         * gst/gstregistryxml.c:
6454         * gst/gsttypefind.c:
6455           Use already-interned string for the private GstPluginFeature
6456           plugin_name field.
6457
6458 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6459
6460         * docs/libs/gstreamer-libs-sections.txt:
6461           Add new API to docs; fixes the build.
6462
6463 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6464         
6465         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6466
6467         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6468         (gst_base_sink_event):
6469         * libs/gst/base/gstbasesink.h:
6470         Add function to wait for EOS, subclasses can use this to correctly wait
6471         for devices to drain before performing the EOS logic. Fixes #485343.
6472         API: gst_base_sink_wait_eos()
6473
6474 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6475
6476         * gst/gstplugin.h:
6477           Cast description string constants in GST_PLUGIN_DEFINE macros
6478           to a (gchar*) to make C++ code using these macros compile
6479           without warning with g++-4.2 (see #462737).  Even if slightly
6480           ugly, this seems preferable to putting the description strings
6481           into the GLib quark table or making the structure member a
6482           const gchar * and doing casts in core code that allocs and
6483           frees these strings, or requiring a cast in the C++ code.
6484
6485 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6486
6487         * gst/gstinfo.h:
6488           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6489           to print the entire class/function signature into the log
6490           file for C++ code.  This only affects C++ code, for C code
6491           everything remains the same.
6492
6493 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6494
6495         * gst/gstbin.c: (remove_from_queue):
6496         Work around a problem with pipelines containing (semi)loops until a
6497         proper, more complicated solution is ready. See #475455.
6498
6499 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6500
6501         * gst/gstplugin.c:
6502         * gst/gstplugin.h:
6503         * gst/gstregistrybinary.c:
6504         * gst/gstregistryxml.c:
6505           Put more strings into the GLib quark table. No need to keep
6506           a hundred-something copies of identical version strings,
6507           license strings, package name strings and package origin
6508           strings around. 
6509
6510 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6511
6512         * docs/manual/advanced-dataaccess.xml:
6513           Don't imply that it's okay to unconditionally change
6514           buffer data or buffer metadata in a pad probe callback,
6515           and a bunch of other comments. Fixes #430031.
6516
6517 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6518
6519         * win32/common/gstenumtypes.c:
6520         * win32/common/gstenumtypes.h:
6521         * win32/common/gstversion.h:
6522           Update generated files.
6523
6524 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6525
6526         * docs/manual/advanced-autoplugging.xml:
6527           Prefix section with broken code with a warning (see #342432).
6528
6529 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6530
6531         * docs/manual/appendix-integration.xml:
6532         * docs/manual/basics-init.xml:
6533           Call g_thread_init() before g_option_context_new() to
6534           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6535
6536 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6537
6538         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6539         (gst_base_sink_queue_object_unlocked),
6540         (gst_base_sink_queue_object), (gst_base_sink_event),
6541         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6542         When we received EOS and are waiting for when to post the EOS message,
6543         our state is prerolled and we should not return ASYNC.
6544         Reorganize some code paths to implement this behavior.
6545
6546         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6547         (gst_sinks_suite):
6548         Add unit test to verify above EOS fix.
6549
6550 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6551
6552         * plugins/elements/gsttypefindelement.c:
6553         (gst_type_find_element_have_type), (gst_type_find_element_init),
6554         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6555         Move detecting the input caps of the sinkpad to the setcaps function.
6556         This allows us to update the output caps when we receive new input caps
6557         instead of always using the first detected caps.
6558
6559 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6560
6561         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6562         (gst_base_sink_get_position):
6563         Don't try to preroll non-async elements after a flush.
6564         Subtract latency form clock times when reporting position.
6565
6566 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6567
6568         * gst/gstpad.c: (gst_pad_pause_task):
6569         * gst/gstutils.c:
6570         Small comment and documentation update.
6571
6572 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6573
6574         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6575         (gst_base_src_set_live), (gst_base_src_is_live),
6576         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6577         (gst_base_src_default_event), (gst_base_src_wait),
6578         (gst_base_src_do_sync), (gst_base_src_get_range),
6579         (gst_base_src_pad_get_range), (gst_base_src_loop),
6580         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6581         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6582         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6583         (gst_base_src_change_state):
6584         Rework the locking of basesrc in a similar fashion to basesink. We
6585         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6586         us to handle live sources and semi live ones much better.
6587         Simplify flushing.
6588         Fix unlocking when seeking, shutting down and pausing in live sources.
6589
6590 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6591
6592         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6593         Fix compilation again.
6594
6595 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6596
6597         * gst/gstelement.c:
6598           Use meaningful categories for the logs to clean the default one.
6599
6600 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6601
6602         * tests/check/pipelines/cleanup.c:
6603           Print message name and not just number.
6604
6605 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6606
6607         * docs/design/draft-tagreading.txt:
6608           Add some more thoughts.
6609
6610 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6611
6612         * tests/check/pipelines/simple-launch-lines.c:
6613           Print message name and not just number.
6614
6615 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6616
6617         * libs/gst/base/gsttypefindhelper.c:
6618           Speedup typefinding. This is work in progress (see #459862).
6619
6620 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6621
6622         * gst/gstplugin.c:
6623           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6624           Spotted by Josep Torra Valles <josep@fluendo.com>.
6625
6626 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6627
6628         * gst/gstclock.h:
6629           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6630           field has moved to GstObject.
6631
6632 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6633
6634         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6635         (gst_base_src_get_range), (gst_base_src_change_state):
6636         Call unlock for live sources so that they can't get stuck in _create and
6637         produce a buffer before they are set back to PLAYING.
6638
6639 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6640
6641         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6642         (gst_queue_locked_dequeue):
6643         Comment the segment-related code... in the PROPER function.
6644         See #482147 and my commit from yesterday.
6645
6646 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6647
6648         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6649         Also initialize the counter that calculates the first timestamp on a
6650         buffer correctly for non-live sources.
6651
6652 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6653
6654         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6655         Disable code that's breaking the current-time-level reporting.
6656         See #482147
6657
6658 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6659
6660         * docs/gst/gstreamer-sections.txt:
6661         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6662         as they shouldn't show up. Fixes the docs build.
6663
6664 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6665         
6666         * gst/gstinfo.h:
6667         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6668         Define M_PI which is used in files which are including gstinfo.h. 
6669         VS6 includes doesn't define it.
6670         * win32/common/libgstbase.def:
6671         * win32/common/libgstcontroller.def:
6672         * win32/common/libgstreamer.def:
6673         Add new exported functions and variables.
6674         * win32/vs6/libgstcontroller.dsp:
6675         * win32/vs6/libgstreamer.dsp:
6676         Update the list of files to build.
6677         
6678 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6679
6680         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6681
6682         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6683         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6684         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6685         Improve debugging. Fixes #480858.
6686
6687 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6688
6689         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6690
6691         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6692         First patch of code cleanups, use the macros and right arguments in the
6693         macros to signal and lock the queue. See #480858.
6694
6695 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6696
6697         * gst/gstbus.c: (poll_func):
6698         Improve debugging when dealing with _poll().
6699
6700 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6701
6702         * gst/gstregistryxml.c:
6703           Fix memory leak I introduced a few days ago.
6704
6705 2007-09-26  Michael Smith <msmith@fluendo.com>
6706
6707         * gst/gstbuffer.c: (gst_buffer_finalize):
6708           Make it once again possible to free GstBuffers in the default
6709           build.
6710           The poisoning scribbles on parts of the miniobject we need in
6711           order to free it.
6712           Fixes #480341
6713
6714 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6715
6716         * docs/gst/gstreamer-sections.txt:
6717         * gst/gsttaglist.c:
6718         * gst/gsttaglist.h:
6719         API: add GST_TAG_COMPOSER, fixes #459809.
6720
6721 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6722
6723         * gst/gstplugin.c:
6724         * gst/gstplugin.h:
6725         Add the 3-clause BSD license and the MIT/X11 license to the license
6726         list. Fixes #479784.
6727
6728 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6729
6730         * docs/faq/getting.xml:
6731           Add Q+A about different GStreamer versions (#364056).
6732
6733 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6734
6735         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6736         (gst_base_sink_event), (gst_base_sink_change_state):
6737         Return correct gboolean from query function.
6738
6739 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6740
6741         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6742         (gst_base_sink_event), (gst_base_sink_query),
6743         (gst_base_sink_change_state):
6744         Simplify latency query.
6745         When not synchronizing, we can report latency without querying the peer
6746         element.
6747
6748 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6749
6750         * gst/gstobject.h:
6751         * gst/gstvalue.c:
6752         Fix small typos in the docs.
6753
6754 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6755
6756         * docs/design/draft-latency.txt:
6757         * docs/design/draft-push-pull.txt:
6758         * docs/design/draft-tagreading.txt:
6759         * docs/design/part-MT-refcounting.txt:
6760         * docs/design/part-activation.txt:
6761         * docs/design/part-block.txt:
6762         * docs/design/part-element-source.txt:
6763         * docs/design/part-events.txt:
6764         * docs/design/part-gstbin.txt:
6765         * docs/design/part-gstelement.txt:
6766         * docs/design/part-gstobject.txt:
6767         * docs/design/part-gstpipeline.txt:
6768         * docs/design/part-messages.txt:
6769         * docs/design/part-preroll.txt:
6770         * docs/design/part-push-pull.txt:
6771         * docs/design/part-qos.txt:
6772         * docs/design/part-query.txt:
6773         * docs/design/part-scheduling.txt:
6774         * docs/design/part-seeking.txt:
6775         * docs/design/part-segments.txt:
6776         * docs/design/part-states.txt:
6777         Documentation updates and typo fixes.
6778
6779 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6780
6781         * plugins/elements/gstfakesink.c:
6782           Add some debug text to error message to indicate that
6783           we errored out on request.
6784
6785         * tools/gst-launch.c:
6786           When the state change to PLAYING fails, check for an
6787           error message on the bus and print it.
6788
6789 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6790
6791         translated by: Jorge González González <aloriel@gmail.com>
6792
6793         * po/LINGUAS:
6794         * po/es.po:
6795           Added Spanish translation.
6796
6797 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6798
6799         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6800         Fix printf arguments.
6801
6802 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6803
6804         * tests/check/generic/states.c:
6805           Improved state change unit test.
6806
6807 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6808
6809         * gst/gstbin.h:
6810           Move priv to the right place.
6811
6812         * gst/gstsystemclock.c:
6813           Add FIXME: and improve log.
6814
6815         * tests/check/Makefile.am:
6816         * tests/examples/manual/Makefile.am:
6817           Work with all types of registries.
6818
6819 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6820
6821         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6822         Don't unref the event after pushing it. Fixes #478401.
6823
6824 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6825
6826         * .cvsignore:
6827         * tests/examples/manual/.cvsignore:
6828           Ignore registries in any format.
6829
6830 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6831
6832         * gst/glib-compat-private.h:
6833           Add compatibility macro for g_intern_string() for
6834           GLib-2.8 (any reason we can't just bump the
6835           requirement to at least 2.10?)
6836
6837         * gst/gstpadtemplate.h:
6838         * gst/gstelementfactory.c:
6839         * gst/gstregistryxml.c:
6840         * gst/gstregistrybinary.c:
6841           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6842           up the internal code accordingly.  This shouldn't be a problem, since
6843           there is no reason external code could ever assume the string in such
6844           a structure is dynamically allocated unless it did that itself;  the
6845           use of g_strdup() is private to element factories.  The new code also
6846           saves some memory by putting pad template name strings into the GLib
6847           quark table instead of allocating them dynamically.
6848           Declaring this field constant fixes warnings with g++-4.2 when using
6849           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6850
6851 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6852
6853         * gst/gstelementfactory.c:
6854           Release static caps. Fixes #475723.
6855
6856 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6857
6858         * gst/gstinfo.c:
6859         * gst/gstinfo.h:
6860           Make some internal API take const gchar * instead of just
6861           gchar * to avoid compiler warnings with g++-4.2.2 when
6862           passing string constants (partially fixes #478092).
6863
6864 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6865
6866         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6867         A latency query fails when one of the sinks fail.
6868
6869         * gst/gstelement.c: (gst_element_set_base_time):
6870         Improve debugging.
6871
6872 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6873
6874         * gst/gstbin.c: (gst_bin_continue_func):
6875         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6877         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6878
6879         Fix minor compilation warnings shown with Forte.
6880
6881 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6882
6883         * plugins/elements/gstqueue.c: (apply_buffer),
6884         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6885         Measure queue level based on the diff between head and tail timestamps
6886         even when pushing the first buffer.
6887
6888 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6889
6890         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6891         (gst_base_sink_event), (gst_base_sink_change_state):
6892         Sinks that don't preroll can always be queried for the latency.
6893         Don't post ASYNC start when we are not async.
6894
6895 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6896
6897         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6898         (gst_queue_handle_sink_event), (gst_queue_chain),
6899         (gst_queue_push_one), (gst_queue_handle_src_query),
6900         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6901         * plugins/elements/gstqueue.h:
6902         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6903         push more buffers but allow pushing of EOS and NEWSEGMENT.
6904         Add some more debug info here and there. Fixes #476514.
6905
6906 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6907
6908         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6909         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6910         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6911         (gst_base_sink_set_flushing), (gst_base_sink_query),
6912         (gst_base_sink_change_state):
6913         Latency query is allowed after we are prerolled. Introduce a new flag
6914         for this and stop abusing other variables.
6915
6916 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6917
6918         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6919         Push OOB events downstream when we get them in send_event. This allows
6920         the application to insert events in the pipeline.
6921         Add some more comments.
6922
6923 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6924
6925         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6926         (do_bin_latency), (gst_bin_change_state_func):
6927         * gst/gstpipeline.c: (gst_pipeline_change_state):
6928         Move latency query from GstPipeline to GstBin so that we can also
6929         use it when async-handling is enabled on bins.
6930
6931 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6932
6933         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6934         (gst_base_src_do_sync), (gst_base_src_change_state):
6935         Update docs.
6936         Clean up the timestamping and syncing code for pseudo live sources.
6937
6938 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6939
6940         Patch by: Steve Fink  <sphink gmail com>
6941
6942         * docs/manual/appendix-checklist.xml:
6943           Mention less -R switch in the section about debug output (#474055).
6944
6945 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6946
6947         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6948         Queue can latency to the pipeline up to the configured max size in time.
6949         Report this fact in the latency query.
6950
6951 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6952
6953         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6954
6955         * libs/gst/controller/gstinterpolation.c:
6956         * libs/gst/controller/gstlfocontrolsource.c:
6957         Use gst_guint64_to_gdouble() when converting from a uint64 or
6958         GstClockTime to double to fix the build on win32. Fixes #474371.
6959
6960 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6961
6962         * gst/gstbuffer.c: (gst_buffer_finalize):
6963         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6964         When finalizing a buffer the complete struct is filled with 0xff,
6965         thus making a use of the buffer after the final unref impossible.
6966
6967 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6968
6969         * tests/check/libs/controller.c: (GST_START_TEST):
6970         Use fail_unless_equals_int(a, b) instead of
6971         fail_unless_equals (a == b) to get better output on failures.
6972
6973 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6974
6975         * tests/check/gst/gsturi.c:
6976           Also check for the other file URI variant on win32.
6977
6978 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6979
6980         * gst/gsturi.c: (gst_uri_get_location):
6981           If there's no hostname, we want to return 'c:/foo/bar.txt'
6982           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6983
6984         * tests/check/gst/gsturi.c:
6985           Unit test for the above and a few more things.
6986
6987 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6988
6989         * docs/design/part-live-source.txt:
6990         Add docs on how live sources should timestamp.
6991
6992         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6993         Add some more debug info.
6994         For subclasses that are live and like to sync, add aditional startup
6995         latency to sync time and timestamps so that we timstamp according to the
6996         design doc.
6997
6998 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6999
7000         * gst/gstbuffer.c:
7001           Also do a g_type_class_ref() for the subbuffer type in
7002           the init function.
7003
7004 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7005
7006         * docs/gst/gstreamer-sections.txt:
7007         * gst/gstpad.c: (gst_pad_peer_query):
7008         * gst/gstpad.h:
7009         Add function to perform a query on the peer of a pad.
7010         API: gst_pad_peer_query()
7011
7012 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7013
7014         * tests/check/gst/gstsystemclock.c:
7015           Cleanup the test a little (use gst-logging and not g_message). Improve
7016           test to check if a wait reached the target.
7017
7018 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7019
7020         * docs/libs/gstreamer-libs-sections.txt:
7021           Add new API to docs and fix the build.
7022
7023 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7024
7025         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7026         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7027         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7028         (gst_base_src_get_property), (gst_base_src_do_sync):
7029         * libs/gst/base/gstbasesrc.h:
7030         Add property to make the basesrc timestamp buffers based on the current
7031         running time.
7032         API: GstBaseSrc::do-timestamp
7033         API: gst_base_src_set_do_timestamp()
7034         API: gst_base_src_get_do_timestamp()
7035
7036 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7037
7038         * docs/random/release:
7039           Really make sure translations are up-to-date before
7040           a release (#465010).
7041
7042 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7043
7044         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7045         Always destroy the timer, also in error cases.
7046
7047 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7048
7049         * docs/manual/highlevel-xml.xml:
7050         Fix XML example code. Fixes #472714.
7051
7052 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7053
7054         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7055         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7056         (gst_base_sink_query):
7057         Protect eos and have_preroll with the OBJECT lock so we don't need to
7058         take the PREROLL lock when querying the latency. Fixes #473846.
7059
7060 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7061
7062         * gst/gstelement.c:
7063           Give some log-messages a category.
7064
7065 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7066
7067         * gst/gststructure.c:
7068         (gst_structure_fixate_field_nearest_fraction):
7069         Fix fraction list fixation code. Take the fraction with the smallest
7070         difference with the target instead of the first one in the list.
7071
7072         * tests/check/gst/gststructure.c: (GST_START_TEST),
7073         (gst_structure_suite):
7074         Added test to verify correct fraction list fixation behaviour.
7075
7076 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7077
7078         * win32/common/libgstreamer.def:
7079           Export gst_bus_add_signal_watch too.
7080
7081 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7082
7083         * docs/libs/gstreamer-libs-sections.txt:
7084         Add new methods to docs.
7085
7086         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7087         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7088         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7089         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7090         * libs/gst/base/gstbasesink.h:
7091         Add ts-offset property to fine-tune the synchronisation.
7092         API: GstBaseSink::ts-offset property
7093         API: gst_base_sink_set_ts_offset()
7094         API: gst_base_sink_get_ts_offset()
7095
7096 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7097
7098         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7099         (gst_base_sink_init), (gst_base_sink_set_sync),
7100         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7101         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7102         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7103         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7104         (gst_base_sink_get_property), (gst_base_sink_change_state):
7105         * libs/gst/base/gstbasesink.h:
7106         Add async property to instruct the sink never to inform the parent about
7107         ASYNC state changes, update docs.
7108         Check argument with g_return_* for the public functions.
7109         API: GstBaseSink::async property
7110         API: gst_base_sink_set_async_enabled()
7111         API: gst_base_sink_is_async_enabled()
7112
7113 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7114
7115         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7116         Improve debugging.
7117
7118         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7119         (gst_base_src_default_query), (gst_base_src_wait),
7120         (gst_base_src_do_sync), (gst_base_src_change_state):
7121         Rearrange some code so that we can add support for measuring the 
7122         startup latency.
7123
7124 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7125
7126         * docs/random/ensonic/dynlink.txt:
7127           More thoughs on this.
7128
7129         * plugins/elements/gstcapsfilter.c:
7130           Add bugzilla ticket number to FIXME comment.
7131
7132 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7133
7134         * docs/design/part-TODO.txt:
7135         * docs/design/part-block.txt:
7136         Update some docs.
7137
7138 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7139
7140         * gst/Makefile.am:
7141           Revert patch which uses $(gst_headers) instead of $^ because it
7142           breaks make dist.
7143
7144 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7145
7146         * tests/check/gst/gstbin.c: (GST_START_TEST):
7147           Fix leaks in the new unit test.
7148
7149 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7150
7151         * gst/gst.c:
7152           Don't use GST_INFO before the debug system is actually initialised
7153           (shouldn't do any harm, but won't print anything either, so we can
7154           just as well remove it).
7155
7156         * gst/gstinfo.h:
7157           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7158           compilers that don't support variadic macros (such as MSVC), should
7159           check for debug_level <= __gst_debug_min as well, since that's the
7160           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7161           inline helper functions. Should improve performance a bit, but also
7162           makes sure uses of GST_INFO et.al are ignored if the debugging
7163           system isn't initialised yet (instead of printing an assertion
7164           failure).
7165
7166 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7167
7168         patch by: David Nečas <yeti@physics.muni.cz>
7169
7170         * gst/Makefile.am:
7171           Replace some non portable makefile constructs.
7172
7173 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7174
7175         * common/gtk-doc-plugins.mak:
7176           Grrrrr. Don't remove the types file on make clean.
7177
7178 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7179
7180         * tools/gst-launch.1.in:
7181         Add colorspace to example pipeline. Fixes #458274.
7182
7183 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7184
7185         * docs/random/release:
7186           The release manager should run 'make download-po' before making a
7187           release to make sure translations are up-to-date.
7188
7189         * po/LINGUAS:
7190         * po/be.po:
7191         * po/pl.po:
7192         * po/rw.po:
7193           Add some new translations.
7194
7195 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7196
7197         * tools/gst-launch.c: (event_loop), (main):
7198         Don´t try to do any state management when a live pipeline posts
7199         buffering messages.
7200         Also make the buffering string translatable.
7201
7202 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7203
7204         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7205         (bin_handle_async_start), (gst_bin_handle_message_func):
7206         Improve debugging.
7207         When adding elements, insert messages into the bus of the newly added
7208         element and make sure the element is the source of the message. This
7209         allows the parent bin to intercept the message and do the
7210         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7211         messages to the app (which is not allowed).
7212         Update some docs.
7213
7214         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7215         Fix testsuite so that is does not work around messages that should not
7216         have been posted in the first place.
7217
7218 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7219
7220         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7221         (update_degree), (gst_bin_sort_iterator_next):
7222         Fix annoying bug in the sorted iterator where a sink that is not really
7223         a sink (when it has downstream links) screwed up the iterator.
7224
7225         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7226         Unit test to verify the fix.
7227
7228 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7229
7230         * gst/gstmessage.h:
7231         Add some more docs for the messages.
7232
7233         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7234         (gst_base_sink_query):
7235         Add some more debugging.
7236
7237         * tools/gst-launch.c: (event_loop):
7238         When interrupting, don't try to set pipeline to PAUSED twice.
7239
7240 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7241
7242         
7243         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7244         (bin_handle_async_start), (gst_bin_handle_message_func):
7245         Move ASYNC_START message posting to where it belongs, similar to
7246         async_done. 
7247         Don't post ASYNC_START when we are in error. 
7248         Post ASYNC_START when we added an async element to a bin.
7249
7250 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7251
7252         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7253         generation from vargs. Fixes #466595.
7254
7255 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7256
7257         * gst/gstbin.c: (gst_bin_element_set_state):
7258         Always change the state of a NO_PREROLL element even if it has ASYNC
7259         elements inside (in case of a bin).
7260
7261         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7262         Unit test for this case.
7263
7264 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7265
7266         * libs/gst/check/gstbufferstraw.c:
7267         * libs/gst/check/gstcheck.h:
7268         * libs/gst/controller/gstcontroller.c:
7269         * libs/gst/controller/gstcontrolsource.h:
7270         * libs/gst/controller/gstlfocontrolsource.h:
7271         * plugins/elements/gstcapsfilter.h:
7272         * plugins/elements/gstfdsink.h:
7273         * plugins/elements/gstfdsrc.h:
7274           Add more missing docs.
7275
7276 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7277
7278         * gst/gststructure.c:
7279         Add Since tag to docs.
7280
7281 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7282
7283         * docs/gst/gstreamer-sections.txt:
7284         * gst/gststructure.c: (gst_structure_get_uint):
7285         * gst/gststructure.h:
7286         Add function to get uint from a structure.
7287         API: gst_structure_get_uint()
7288
7289 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7290
7291         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7292         (gst_caps_intersect):
7293         Fix proper check for simple caps.
7294
7295 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7296
7297         * docs/gst/Makefile.am:
7298         * docs/libs/Makefile.am:
7299           Remove cruft and do some cleanups.
7300
7301         * docs/gst/gstreamer-docs.sgml:
7302         * docs/libs/gstreamer-libs-docs.sgml:
7303           Prepare for comming gtkdoc features (rebase against online docs).
7304
7305 2007-08-10  Michael Smith <msmith@fluendo.com>
7306
7307         * docs/gst/gstreamer-sections.txt:
7308           Add gst_registry_add_path to docs.
7309
7310 2007-08-10  Michael Smith <msmith@fluendo.com>
7311
7312         * gst/gstregistry.h:
7313           Add gst_registry_add_path, which was missing from this header.
7314
7315 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7316
7317         * libs/gst/controller/gstlfocontrolsource.c:
7318           Printf format fix.
7319
7320 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7321
7322         * libs/gst/base/gstbasesink.c:
7323           Don't send an async_start message during downwards state change if 
7324           target state is less than READY
7325
7326 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7327
7328         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7329
7330         * po/LINGUAS:
7331         * po/hu.po:
7332           Added Hungarian translation.
7333
7334 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7335
7336         * po/fi.po:
7337         * po/it.po:
7338         * po/nl.po:
7339         * po/sv.po:
7340         * po/uk.po:
7341           Updated translations.
7342
7343 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7344
7345         * libs/gst/controller/Makefile.am:
7346         Dist gstlfocontrolsourceprivate.h
7347
7348 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7349
7350         * docs/libs/gstreamer-libs.types:
7351         Don't register the enum type gst_lfo_waveform_get_type() in the
7352         .types file - only GObject derived types belong.
7353
7354 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7355
7356         Patch by: <arenevier at fdn dot fr>
7357
7358         * gst/gstbuffer.h:
7359         Remove comma from last element in enum to avoid compile errors when
7360         using -pendantic. Fixes #464366.
7361
7362 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7363
7364         * docs/design/part-TODO.txt:
7365         Add some more TODO items
7366
7367         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7368         Improve debugging.
7369
7370         * gst/gstcaps.c: (gst_caps_intersect):
7371         Optimize trivial intersection case between identical caps pointers.
7372
7373         * gst/gstelement.c: (gst_element_continue_state),
7374         (gst_element_set_state_func):
7375         * gst/gstpad.c:
7376         Fix spelling and grammar mistakes.
7377
7378 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7379
7380         * po/POTFILES.in:
7381         * po/POTFILES.skip:
7382           Update POTFILES. Fixes #461599.
7383
7384 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7385
7386         * gst/gst.c:
7387         Fix confusing typo in debug output.
7388
7389 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7390
7391         reviewed by: Stefan Kost <ensonic@users.sf.net>
7392
7393         * libs/gst/controller/Makefile.am:
7394         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7395         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7396         (gst_lfo_control_source_new),
7397         (gst_lfo_control_source_set_waveform),
7398         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7399         (gst_lfo_control_source_finalize),
7400         (gst_lfo_control_source_dispose),
7401         (gst_lfo_control_source_set_property),
7402         (gst_lfo_control_source_get_property),
7403         (gst_lfo_control_source_class_init):
7404         * libs/gst/controller/gstlfocontrolsource.h:
7405         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7406         API: Add GstLFOControlSource, a control source that gives values
7407         for specific timestamps based on several periodic waveforms.
7408         Fixes #459717.
7409
7410         * tests/check/libs/controller.c: (GST_START_TEST),
7411         (gst_controller_suite):
7412         * docs/libs/gstreamer-libs-docs.sgml:
7413         * docs/libs/gstreamer-libs-sections.txt:
7414         * docs/libs/gstreamer-libs.types:
7415         Add documentation and unit tests for GstLFOControlSource.
7416
7417 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7418
7419         * configure.ac:
7420         Back to CVS
7421
7422 === release 0.10.14 ===
7423
7424 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7425
7426         * configure.ac:
7427           releasing 0.10.14, "Breathing Vacuum"
7428
7429 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7430
7431         * gst/gstelement.c: (gst_element_class_set_details_simple):
7432         * gst/gstelement.h:
7433           Make strings passed to gst_element_class_set_details_simple()
7434           constant, as they should be (#462752).
7435
7436 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7437
7438         * gst/gstbin.c: (gst_bin_change_state_func),
7439         (bin_handle_async_done), (gst_bin_handle_message_func):
7440         Don't forget about the fact that some element went ASYNC even after a
7441         resync. This makes us post the ASYNC_DONE message correctly.
7442         Fixes #462558.
7443
7444 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7445
7446         * gst/gstregistry.c: (gst_registry_add_feature):
7447         When replacing an existing feature in the registry, make sure to
7448         continue holding a reference until we've replaced the name string
7449         within our feature hash table. Make sure to use g_hash_table_replace
7450         instead of g_hash_table_insert to ensure the new name string is used
7451         as a key instead of the old one that we're about to free.
7452         Fixes: #462085
7453
7454 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7455
7456         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7457         (gst_plugin_feature_set_name):
7458         Revert patch from #459466 until after the release and we can work
7459         out exactly what the problem is (if any).
7460
7461 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7462
7463         * docs/gst/gstreamer-sections.txt:
7464         * gst/gsttaglist.c:
7465         * gst/gsttaglist.h:
7466           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7467
7468 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7469
7470         * docs/libs/Makefile.am:
7471         Include our build-prefix libs and includes before the generic ones to
7472         avoid linking against the installed libs when we want the build-tree
7473         ones.
7474
7475 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7476
7477         Patch by: Steve Fink  <sphink gmail com>
7478
7479         * docs/pwg/building-testapp.xml:
7480           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7481           if people try to build or install the example from the plugin
7482           template against a GStreamer from package using the configure
7483           defaults.
7484
7485 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7486
7487         Patch by: Steve Fink  <sphink gmail com>
7488
7489         * tools/gst-inspect.1.in:
7490           Document --print-all and --print-plugin-auto-install-info command
7491           line options in man page.
7492
7493 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7494
7495         * docs/gst/gstreamer-sections.txt:
7496         Add docs for new api function.
7497
7498 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7499
7500         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7501         * gst/gstelementfactory.h:
7502         API: gst_element_factory_has_interface()
7503         Added method to check if an element factory implements a named
7504         interface.
7505
7506 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7507
7508         * configure.ac:
7509         * docs/gst/gstreamer.types.in:
7510           Another conditional doc check.
7511
7512         * gst/gstmessage.c:
7513         * gst/gstparamspecs.h:
7514         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7515         * gst/gstvalue.c:
7516         * gst/gstxml.h:
7517           API-doc fixes.
7518
7519 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7520
7521         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7522         (gst_registry_binary_load_feature),
7523         (gst_registry_binary_load_plugin),
7524         (gst_registry_binary_read_cache):
7525           Print error just once and with additional info.
7526
7527 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7528
7529         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7530         (helper_find_suggest), (helper_find_get_length),
7531         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7532         (gst_type_find_helper_for_buffer):
7533           Cleanup the typefindhelper code and add private doc comments.
7534
7535 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7536
7537         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7538         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7539         Fix capsfilter for cases where the caps set on capsfilter will provide
7540         additional information.
7541         Fixes #449197
7542
7543 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7544
7545         * gst/gsttypefindfactory.c:
7546           Fix docs that recommened wrong function to use.
7547
7548 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7549
7550         * tools/gst-inspect.c: (print_plugin_features):
7551           Also give media-type for typefinders in element output.
7552
7553 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7554
7555         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7556         (gst_registry_remove_features_for_plugin_unlocked),
7557         (gst_registry_add_feature), (gst_registry_remove_feature),
7558         (gst_registry_lookup_feature_locked):
7559         * gst/gstregistry.h:
7560           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7561           Fixes #459501.
7562
7563 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7564
7565         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7566         (gst_plugin_feature_set_name):
7567           Avoid double memory usage for pluginfeature names. Fixes #459466.
7568
7569 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * gst/gstpad.h:
7572           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7573           driving the pipeline may need to explicitly check for NOT_LINKED as
7574           well, since IS_FATAL doesn't cover that.
7575
7576 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7577
7578         * docs/pwg/advanced-types.xml:
7579           Fix typo and duplicate entry in video formats list.
7580
7581 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7582
7583         * libs/gst/controller/gstinterpolation.c:
7584         Also round to the nearest int when using cubic interpolation.
7585
7586 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7587
7588         * libs/gst/controller/gstinterpolation.c:
7589         When linearly interpolating integer types, round to the nearest int
7590         by adding 0.5. Don't do it for float/double types.
7591         Fixes the failing controller test on my machine, which is somehow
7592         rounding differently than on the buildbots.
7593
7594 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7595
7596         * tools/gst-plot-timeline.py:
7597           Better log parsing (categories can have -). Adjust text vs. lines, so
7598           that they span the same y-range.        
7599
7600 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7601
7602         * docs/random/ensonic/audiobaseclasses.txt:
7603         * docs/random/ensonic/dynlink.txt:
7604         * docs/random/ensonic/profiling.txt:
7605           Save my thoughts.
7606
7607         * docs/random/moving-plugins:
7608           Add note to use g_assert type macros.
7609
7610 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7611
7612         * configure.ac:
7613         * libs/gst/check/Makefile.am:
7614           Add libm check as we use in for plugins.
7615
7616 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7617
7618         * gst/gstbin.c: (gst_bin_continue_func):
7619         Check that the state_cookie hasn't changed since the continue_func
7620         was scheduled. Avoids problems where the state changes back to
7621         something it shouldn't be because it was changed in the meantime.
7622
7623 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7624
7625         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7626         (gst_registry_binary_save_string),
7627         (gst_registry_binary_save_pad_template),
7628         (gst_registry_binary_save_feature),
7629         (gst_registry_binary_save_plugin),
7630         (gst_registry_binary_load_feature),
7631         (gst_registry_binary_load_plugin),
7632         (gst_registry_binary_read_cache):
7633           Fix memory leak. Be less verbose in the log.
7634
7635 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7636
7637         * tests/check/elements/.cvsignore:
7638         Add file to cvsignore as commanded.
7639
7640 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7641
7642         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7643         (mq_dummypad_event), (run_output_order_test):
7644         Use a GStaticMutex to protect all cases where libcheck
7645         fail_if/fail_unless macros might be called from multiple threads
7646         simultaneously to avoid errors like:
7647           "check_pack.c:107: :-1081725400:Bad message type arg"
7648
7649 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7650
7651         * tests/check/pipelines/stress.c: (GST_START_TEST):
7652         Make sure we set the pipeline back to the NULL state before
7653         dropping our final reference.
7654
7655 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7656
7657         * tests/check/elements/tee.c: (GST_START_TEST):
7658         Make the tee stress-test a little less stressful so it doesn't just
7659         time out on slow-machines, and remove a small race when it's starting 
7660         up by adding a get_state() call.
7661
7662 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7663
7664         * gst/gst.c:
7665           Avoid reading registry twice on startup. Fixes #457322.
7666
7667 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7668
7669         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7670         * pkgconfig/gstreamer-check.pc.in:
7671         Substitute the CFLAGS for libcheck into our .pc file too so that
7672         dependent modules will pick it up properly if libcheck is installed
7673         into some other prefix.
7674
7675 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7676
7677         * configure.ac:
7678         Revert the pkg-config check for libcheck, since it pulls in the
7679         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7680         a proper solution, either from the check project, or something else.
7681
7682 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7683
7684         * configure.ac:
7685           Use pkg-config to locate check.
7686
7687 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7688
7689         * gst/gsttaglist.c:
7690           Fix doc syntax.
7691
7692         * gst/gstutils.c:
7693         * gst/gstutils.h:
7694           Add deprecation guards.
7695
7696         * libs/gst/base/gstcollectpads.h:
7697           Don't document object (this is implicitly private).
7698
7699 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7700
7701         * gst/gststructure.c: (gst_structure_parse_value):
7702           When deserialising foo=bar without a type cast, check if it's a
7703           boolean before falling back to a string type, otherwise things like
7704           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7705           because the filtercaps end up having a signed=(string)true field,
7706           which causes problems later when intersection caps.
7707
7708         * tests/check/gst/gststructure.c: (GST_START_TEST):
7709           Add a unit test for this.
7710
7711 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7712
7713         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7714
7715         * libs/gst/controller/Makefile.am:
7716         * libs/gst/controller/gstcontroller.c:
7717         (gst_controlled_property_add_interpolation_control_source),
7718         (gst_controlled_property_new), (gst_controlled_property_free),
7719         (gst_controller_find_controlled_property),
7720         (gst_controller_new_valist), (gst_controller_new_list),
7721         (gst_controller_new), (gst_controller_remove_properties_valist),
7722         (gst_controller_remove_properties_list),
7723         (gst_controller_remove_properties),
7724         (gst_controller_set_property_disabled),
7725         (gst_controller_set_disabled), (gst_controller_set_control_source),
7726         (gst_controller_get_control_source), (gst_controller_get),
7727         (gst_controller_sync_values), (gst_controller_get_value_array),
7728         (_gst_controller_dispose), (gst_controller_get_type),
7729         (gst_controlled_property_set_interpolation_mode),
7730         (gst_controller_set), (gst_controller_set_from_list),
7731         (gst_controller_unset), (gst_controller_unset_all),
7732         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7733         * libs/gst/controller/gstcontroller.h:
7734         * libs/gst/controller/gstcontrollerprivate.h:
7735         * libs/gst/controller/gstcontrolsource.c:
7736         (gst_control_source_class_init), (gst_control_source_init),
7737         (gst_control_source_get_value),
7738         (gst_control_source_get_value_array), (gst_control_source_bind):
7739         * libs/gst/controller/gstcontrolsource.h:
7740         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7741         (gst_object_get_control_source):
7742         * libs/gst/controller/gstinterpolation.c:
7743         (gst_interpolation_control_source_find_control_point_node),
7744         (gst_interpolation_control_source_get_first_value),
7745         (_interpolate_none_get), (interpolate_none_get),
7746         (interpolate_none_get_boolean_value_array),
7747         (interpolate_none_get_enum_value_array),
7748         (interpolate_none_get_string_value_array),
7749         (_interpolate_trigger_get), (interpolate_trigger_get),
7750         (interpolate_trigger_get_boolean_value_array),
7751         (interpolate_trigger_get_enum_value_array),
7752         (interpolate_trigger_get_string_value_array):
7753         * libs/gst/controller/gstinterpolationcontrolsource.c:
7754         (gst_control_point_free), (gst_interpolation_control_source_reset),
7755         (gst_interpolation_control_source_new),
7756         (gst_interpolation_control_source_set_interpolation_mode),
7757         (gst_interpolation_control_source_bind),
7758         (gst_control_point_compare), (gst_control_point_find),
7759         (gst_interpolation_control_source_set_internal),
7760         (gst_interpolation_control_source_set),
7761         (gst_interpolation_control_source_set_from_list),
7762         (gst_interpolation_control_source_unset),
7763         (gst_interpolation_control_source_unset_all),
7764         (gst_interpolation_control_source_get_all),
7765         (gst_interpolation_control_source_get_count),
7766         (gst_interpolation_control_source_init),
7767         (gst_interpolation_control_source_finalize),
7768         (gst_interpolation_control_source_dispose),
7769         (gst_interpolation_control_source_class_init):
7770         * libs/gst/controller/gstinterpolationcontrolsource.h:
7771         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7772         API: Refactor GstController into the core controller which can take
7773         a GstControlSource for providing actual values for timestamps.
7774         Implement a interpolation control source and use this for backward
7775         compatibility, deprecate a bunch of functions that are now handled
7776         by GstControlSource or GstInterpolationControlSource.
7777         Make it possible to disable the controller completely or only for
7778         specific properties. Fixes #450711.
7779         * docs/libs/gstreamer-libs-docs.sgml:
7780         * docs/libs/gstreamer-libs-sections.txt:
7781         * docs/libs/gstreamer-libs.types:
7782         Add new functions and classes to the docs.
7783         * tests/check/libs/controller.c: (GST_START_TEST),
7784         (gst_controller_suite):
7785         * tests/examples/controller/audio-example.c: (main):
7786         Port unit test and example to the new API and add some new
7787         unit tests.
7788
7789 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7790
7791         Patch by: Mark Nauwelaerts <manauw at skynet be>
7792
7793         * plugins/elements/gstmultiqueue.c:
7794         (gst_multi_queue_get_internal_links), (apply_buffer),
7795         (single_queue_overrun_cb), (gst_single_queue_new):
7796         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7797         the pipeline layout can be tracked correctly. Fixes #453732.
7798
7799 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7800
7801         * docs/gst/Makefile.am:
7802         * docs/libs/Makefile.am:
7803         * docs/plugins/Makefile.am:
7804           Simplify --extra-dir as gtkdoc scans recursively.
7805
7806 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7807
7808         * tools/gst-launch.c: (main):
7809         When we got an error, there is no point in waiting for preroll when
7810         shutting down.
7811
7812 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7813
7814         * plugins/elements/gsttee.c: (gst_tee_base_init),
7815         (gst_tee_request_new_pad), (gst_tee_release_pad),
7816         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7817         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7818         (gst_tee_chain):
7819         Be a lot smarter when deciding what srcpad to use for proxying
7820         the buffer_alloc. Also handle pad added/removed when doing so.
7821         Fixes #357959.
7822         Keep track of what pads we already pushed on in case we have pads
7823         added/removed while pushing. Fixes #374639 
7824
7825         * tests/check/Makefile.am:
7826         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7827         (tee_suite):
7828         Added unit test for pad resync.
7829
7830 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7831
7832         * po/nl.po:
7833         * po/sv.po:
7834           Updated translations.
7835
7836 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7837
7838         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7839
7840         * po/LINGUAS:
7841         * po/fi.po:
7842           Added new Finnish translation.
7843
7844 2007-06-28  Wim Taymans  <wim@fluendo.com>
7845
7846         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7847         (single_queue_overrun_cb):
7848         When figuring out when a queue is filled, use our internal time estimate
7849         based on segments, just like check_full does.
7850
7851 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7852
7853         * gst/gstminiobject.c: (gst_mini_object_get_type):
7854           Remove 3 do-nothing methods.
7855
7856 2007-06-27  Wim Taymans  <wim@fluendo.com>
7857
7858         Patch by: Tim Angus <tim at ngus dot net>
7859
7860         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7861         (gst_capsfilter_set_property):
7862         Take a reference instead of a copy when setting "caps".
7863         Fix documentation to clarify this behaviour. Fixes #449414.
7864
7865 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7866
7867         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7868         * gst/gstplugin.c: (gst_plugin_init):
7869         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7870         * gst/gstquery.c: (gst_query_get_type):
7871         * gst/gstregistry.c: (gst_registry_init):
7872         * gst/gsturi.c: (gst_uri_handler_base_init):
7873           Remove empty instance_init() functions to save relocs and lessen the
7874           noise. Remove some of the function prototypes that are doubled by
7875           G_DEFINE_TYPE.
7876           
7877 2007-06-27  Wim Taymans  <wim@fluendo.com>
7878
7879         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7880
7881         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7882         Add peer and direction in the XML serialisation of ghostpads.
7883         Fixes #449226.
7884
7885 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7886
7887         * configure.ac:
7888           Preserve useful information, thanks Tim.
7889
7890 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7891
7892         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7893         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7894         (gst_single_queue_push_one), (gst_multi_queue_loop),
7895         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7896         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7897         (compute_high_id), (gst_single_queue_new):
7898         * plugins/elements/gstmultiqueue.h:
7899         Take the multiqueue lock when updating the fill level so we don't get
7900         confused. 
7901
7902         After applying a buffer or event on the src pad segment, make sure to
7903         call gst_data_queue_limits_changed() to get the data queue to unblock
7904         and check the filled state again.
7905         
7906         Rework the not-linked pad handling so the logic is that not-linked 
7907         pads can push as fast as they like, but only so they never get 
7908         ahead of any linked pads.
7909
7910         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7911         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7912         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7913
7914         Add a test to check that not-linked pads always stay behind
7915         linked pads.
7916
7917         Fixes: #430682
7918
7919 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7920
7921         * docs/random/release:
7922           Some updates to the release procedure.
7923
7924 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7925
7926         * gst/gstelementfactory.c: (__gst_element_details_clear):
7927           Microoptimization that saves stunning 80 bytes.
7928
7929 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7930
7931         * docs/plugins/gstreamer-plugins.args:
7932         * docs/plugins/inspect/plugin-coreelements.xml:
7933         * docs/plugins/inspect/plugin-coreindexers.xml:
7934           Update docs with caps info.
7935
7936 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7937
7938         * po/it.po:
7939           Updated Italian translation.
7940
7941 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7942
7943         * ChangeLog:
7944         * po/vi.po:
7945           Update Vietnamese translations.
7946
7947 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7948
7949         * libs/gst/base/gstbasesink.c:
7950           Remove unused signal enum.
7951
7952 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7953
7954         * docs/gst/gstreamer-sections.txt:
7955         * gst/gstelement.c:
7956         * gst/gstutils.c: (gst_type_register_static_full):
7957         Beef up and include the docs for gst_type_register_static_full and
7958         gst_element_class_set_details_simple and add the API keyword
7959         in the ChangeLog.
7960
7961 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7962
7963         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7964         (update_time_level), (gst_single_queue_push_one),
7965         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7966         (single_queue_overrun_cb), (single_queue_underrun_cb),
7967         (single_queue_check_full):
7968         Fix setting max-* properties after adding queues.
7969         Use IS_FILLED for checking visible items.
7970         Signal overrun if multiple queues overrun.
7971         Add extra debug output.
7972         Patch by: Wim Taymans <wim@fluendo.com>
7973
7974 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7975
7976         * gst/gstelement.c: (gst_element_class_set_details_simple):
7977         * gst/gstelement.h:
7978         * gst/gstutils.c: (gst_type_register_static_full):
7979         * gst/gstutils.h:
7980         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7981         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7982         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7983         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7984         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7985         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7986         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7987         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7988         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7989         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7990         (apply_buffer), (gst_queue_chain):
7991         * plugins/elements/gsttee.c: (gst_tee_base_init):
7992         * plugins/elements/gsttypefindelement.c:
7993         (gst_type_find_element_base_init),
7994         (gst_type_find_element_class_init):
7995           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7996           API: add gst_type_register_static_full
7997           API: add gst_element_class_set_details_simple
7998
7999 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8000
8001         * docs/pwg/advanced-types.xml:
8002           Fix typo in iana.org URI.
8003
8004 2007-06-19  Andy Wingo  <wingo@pobox.com>
8005
8006         * tests/check/pipelines/simple-launch-lines.c
8007         (test_state_change_returns): Enable pull-mode tests now that
8008         basesink has been fixed.
8009
8010         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8011         Changed from gst_base_sink_is_prerolled, reversing the sense of
8012         the return value. Returns FALSE also if the sink is in pull mode,
8013         in which case it needs no preroll.
8014         (gst_base_sink_query, gst_base_sink_change_state): Update for
8015         needs_preroll change.
8016         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8017         chaining up, in which we return SUCCESS directly if we activated
8018         in pull mode instead of ASYNC. Involves countering an async_start
8019         message sent before chaining up; not sure if this is correct, in
8020         an ideal world we only send async-start when activating in push
8021         mode.
8022
8023         * tests/check/pipelines/simple-launch-lines.c
8024         (test_state_change_returns): New test, partially disabled until
8025         basesink is fixed.
8026
8027 2007-06-19  Wim Taymans  <wim@fluendo.com>
8028
8029         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8030         (gst_multi_queue_sink_event):
8031         Fix event leak.
8032
8033 2007-06-19  Wim Taymans  <wim@fluendo.com>
8034
8035         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8036         (gst_bin_change_state_func), (bin_push_state_continue),
8037         (bin_handle_async_start), (bin_handle_async_done),
8038         (gst_bin_handle_message_func):
8039         Move the common code for posting state-change messages into
8040         one function.
8041         Broadcast the state signal after we posted the messages.
8042         Mark the bin as busy when it's doing a state-change.
8043         Make sure async-start/done messages don't interfere with the bin's
8044         state when it's busy.
8045         After the state change, let the bin check which elements completed the
8046         state change while it was busy so that it can update its state.
8047
8048 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8049
8050         * docs/random/release:
8051         Add a note about updating the doap file to the release checklist
8052
8053 2007-06-18  Wim Taymans  <wim@fluendo.com>
8054
8055         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8056         (gst_single_queue_push_one), (gst_multi_queue_chain),
8057         (gst_multi_queue_sink_event):
8058         Make sure we don't reference the buffer/event after we have given away
8059         ownership in the queue.
8060
8061 2007-06-18  Wim Taymans  <wim@fluendo.com>
8062
8063         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8064         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8065         Update queue state _after_ adding the item in the queue because else we
8066         could end up being full without the element added yet.
8067
8068 2007-06-18  Wim Taymans  <wim@fluendo.com>
8069
8070         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8071         (gst_bin_remove_func), (gst_bin_get_state_func),
8072         (gst_bin_element_set_state), (gst_bin_continue_func),
8073         (bin_push_state_continue), (bin_handle_async_start),
8074         (bin_handle_async_done), (gst_bin_handle_message_func):
8075         * gst/gstbin.h:
8076         Immediatly commit the toplevel bin state when receiving an async-done
8077         message. This enables us to avoid spawning a thread to commit the state
8078         in some common cases and it also avoids some races.
8079         Avoid spawning a state thread when adding/removing async elements to a
8080         toplevel bin. Instead we immediatly update the bin state.
8081         Get rid of iterating all the children when getting the state in the bin
8082         because it is now always up-to-date.
8083         Fix bug where locked elements would always return _SUCCESS even it they
8084         returned NO_PREROLL before being locked.
8085         Fix the order of the state_change, async-start/done messages that was
8086         sometimes incorrect.
8087         Mark the state_dirty field as deprecated, we don't need it anymore as we
8088         are always up-to-date.
8089
8090         * gst/gstelement.c: (gst_element_get_state_func),
8091         (gst_element_continue_state):
8092         Small debug inprovements.
8093         Return the previous element state return when nothing is pending instead
8094         of blindly returning SUCCESS.
8095
8096         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8097         (gst_sinks_suite):
8098         Add a whole bunch of new testcases.
8099
8100 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8101
8102         * po/uk.po:
8103         * po/vi.po:
8104           Update translations.
8105
8106 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8107
8108         * gst/gstpad.c:
8109         Fix typo in the docs.
8110
8111 2007-06-15  Wim Taymans  <wim@fluendo.com>
8112
8113         * docs/libs/gstreamer-libs-sections.txt:
8114         Add docs for new methods.
8115
8116 2007-06-15  Wim Taymans  <wim@fluendo.com>
8117
8118         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8119         (gst_multi_queue_item_new):
8120         Don't use GSlice because we don't depend on >= 2.10 yet.
8121
8122 2007-06-15  Wim Taymans  <wim@fluendo.com>
8123
8124         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8125         (update_time_level), (apply_segment), (apply_buffer),
8126         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8127         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8128         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8129         (single_queue_underrun_cb), (single_queue_check_full):
8130         Remove debug printf.
8131
8132 2007-06-15  Wim Taymans  <wim@fluendo.com>
8133
8134         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8135         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8136         (gst_data_queue_set_flushing), (gst_data_queue_push),
8137         (gst_data_queue_pop), (gst_data_queue_drop_head),
8138         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8139         * libs/gst/base/gstdataqueue.h:
8140         Various cleanups.
8141         Added methods to get the current levels and to inform the queue that the
8142         'full' limits changed.
8143
8144         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8145         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8146         (gst_single_queue_flush), (update_time_level), (apply_segment),
8147         (apply_buffer), (gst_single_queue_push_one),
8148         (gst_multi_queue_item_steal_object),
8149         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8150         (gst_multi_queue_loop), (gst_multi_queue_chain),
8151         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8152         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8153         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8154         (single_queue_underrun_cb), (single_queue_check_full),
8155         (gst_single_queue_new):
8156         Keep track of time in the queue by measuring the difference between
8157         running_time on input and output. This gives more accurate results and
8158         can compensate for segments correctly.
8159         Make a queue by default only 5 buffers deep. We will now increase the
8160         buffer size depending on the filledness of the other queues.
8161         Factor out commong flush code.
8162         Make sure we don't add additional refcounts to buffers when we can avoid
8163         it.
8164         Propagate GstFlowReturn differently.
8165         Use GSlice for intermediate GstMultiQueueItems.
8166         Keep track of EOS.
8167         Resize queues on over and underruns based on filled level of other
8168         queues.
8169         When checking if the queue is filled, prefer to measure in time if we
8170         can and fall back to bytes when no time is known.
8171
8172         * plugins/elements/gstqueue.c:
8173         Fix return value.
8174
8175 2007-06-15  Wim Taymans  <wim@fluendo.com>
8176
8177         * libs/gst/base/gstbasetransform.c:
8178         (gst_base_transform_sink_event):
8179         Work around the brokenness of the event vmethod in basetransform. Prefer
8180         to return TRUE when the subclass returned FALSE (meaning don't forward
8181         the event). 
8182
8183         * libs/gst/base/gstbasetransform.h:
8184         Clarify the docs.
8185
8186 2007-06-15  Wim Taymans  <wim@fluendo.com>
8187
8188         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8189         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8190         (gst_base_src_default_query), (gst_base_src_get_range),
8191         (gst_base_src_start):
8192         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8193         Improve debugging.
8194
8195 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8196
8197         * docs/pwg/advanced-types.xml:
8198           Added more formats to caps table.
8199
8200 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8201
8202         * tools/gst-launch.c: (main):
8203           Remove crufy code. GOption does not need this workaround.
8204
8205 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8206
8207         * libs/gst/controller/gstcontroller.c:
8208         (gst_controlled_property_set_interpolation_mode):
8209           Fix wrong getter for enums in controller.
8210
8211 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8212
8213         * libs/gst/check/gstcheck.c: (gst_check_init):
8214           Intercept criticals and warnings in the Gst-Phonon log domain, so
8215           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8216           well.
8217         
8218 2007-06-14  Edward Hervey  <edward@fluendo.com>
8219
8220         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8221         Since this file doesn't include "gst.h" it will not go through the
8222         macros that disable GST_LOG if debugging was disabled.
8223
8224 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8225
8226         * libs/gst/check/Makefile.am:
8227         * libs/gst/check/gstcheck.h:
8228         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8229         * pkgconfig/gstreamer-check.pc.in:
8230           Ugly 'fix' for the controller unit test on the p5 bot: in
8231           fail_unless_equals_float() check whether the values are 'almost
8232           equal' by allowing a small absolute error, which should be good
8233           enough for our use cases (normal numbers and values close to 0).
8234           Proper fixage left to floating point arithmetic aficionados.
8235
8236 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8237
8238         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8239         (gst_base_sink_render_object), (gst_base_sink_get_position):
8240           Add two breaks thats where missing.
8241
8242 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8243
8244         * docs/libs/gstreamer-libs-sections.txt:
8245         * libs/gst/check/gstcheck.h:
8246           API: add fail_unless_equals_float() and assert_equals_float().
8247           Add documentation for some of the macros.
8248
8249         * tests/check/libs/controller.c: (GST_START_TEST):
8250           Use newly-added asserts.
8251
8252 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8253
8254         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8255           Show the caps change in the log to help spotting the case of not
8256           exactly matching caps.
8257
8258 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8259
8260         * docs/pwg/building-boiler.xml:
8261           Fix typos, spotted by Thijs Vermeir (#447190).
8262
8263 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8264
8265         * docs/plugins/tmpl/.cvsignore:
8266         Ignore file to keep the buildbots happy
8267
8268 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8269
8270         * docs/plugins/Makefile.am:
8271         * docs/plugins/gstreamer-plugins-docs.sgml:
8272         * docs/plugins/gstreamer-plugins-sections.txt:
8273         Pull fdsink into the docs too.
8274
8275 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8276
8277         * libs/gst/controller/gstinterpolation.c:
8278         Actually use the new functions with min/max checks for the trigger and
8279         none interpolation modes for get() and get_value_array() instead of
8280         just the latter.
8281
8282 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8283
8284         * libs/gst/controller/gstcontroller.c:
8285         (gst_controlled_property_free):
8286         Unset the minimum and maximum GValues when freeing the corresponding
8287         GstControllerProperty struct.
8288
8289 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8290
8291         * libs/gst/controller/gstcontroller.c:
8292         (gst_controlled_property_new):
8293         * libs/gst/controller/gstcontrollerprivate.h:
8294         * libs/gst/controller/gstinterpolation.c:
8295         (gst_controlled_property_find_control_point_node),
8296         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8297         (interpolate_none_get_string_value_array),
8298         (interpolate_trigger_get),
8299         (interpolate_trigger_get_enum_value_array),
8300         (interpolate_trigger_get_string_value_array):
8301         Protect against values larger or smaller than the minimum or maximum
8302         allowed value for the property when using values that can be compared.
8303
8304         Optimize trigger interpolator a bit by taking the last requested value
8305         into account instead of always looping through the complete list.
8306
8307         Fix coding style a bit, everywhere else we use "return foo" instead
8308         of "return (foo)".
8309         
8310         * tests/check/libs/controller.c: (GST_START_TEST),
8311         (gst_controller_suite):
8312         Add unit test for the protection against too large or too small
8313         values.
8314
8315 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8316
8317         * docs/random/slomo/controller.txt:
8318         Add some thoughts about the future of the controller.
8319
8320 2007-06-08  Wim Taymans  <wim@fluendo.com>
8321
8322         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8323         Don't overflow in retimestamping code.
8324
8325 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8326
8327         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8328         Use gst_util_guint64_to_gdouble for conversions.
8329         * win32/common/libgstreamer.def:
8330         Add new exported functions.
8331
8332 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8333
8334         * gst/gstutils.c:
8335           Small docs addition.
8336
8337 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8338
8339         * README:
8340           Remove that test line again.
8341
8342 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8343
8344         * README:
8345           Test commit mail sending.
8346
8347 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * configure.ac:
8350           Fix typo and test commit mail sending.
8351
8352 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8353
8354         * tests/examples/controller/audio-example.c:
8355           Improve comment and test commit mail sending.
8356
8357 2007-06-07  Wim Taymans  <wim@fluendo.com>
8358
8359         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8360         (gst_bin_remove_func), (gst_bin_element_set_state),
8361         (bin_handle_async_start), (bin_handle_async_done),
8362         (gst_bin_handle_message_func):
8363         Add helper function to find messages.
8364         Generate the async-done messages together with the state change
8365         messages.
8366         Small cleanups in handling toplevel bins.
8367
8368 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8369
8370         * libs/gst/base/gstdataqueue.c:
8371         * libs/gst/base/gstdataqueue.h:
8372         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8373         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8374         (gst_multi_queue_sink_event):
8375         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8376           Fix multiqueue leaking buffers and events when downstream or the
8377           queue are flushing. Make refcounting assumptions explicit and
8378           document them (shouldn't break existing code that uses it other than
8379           maybe leak miniobjects, but that already happens anyway). Add unit
8380           test for the most common flushing case. Fixes #423700.
8381           
8382 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8383
8384         * libs/gst/controller/gstcontroller.c:
8385         Clarify docs: The get_all, get_value_array(s) functions
8386         don't modify the GObject properties.
8387
8388 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8389
8390         * libs/gst/controller/gstcontroller.c:
8391         (gst_controlled_property_set_interpolation_mode),
8392         (gst_controlled_property_prepend_default),
8393         (gst_controlled_property_new), (gst_controller_set_unlocked),
8394         (gst_controller_set), (gst_controller_set_from_list),
8395         (gst_controller_unset), (gst_controller_unset_all):
8396         * libs/gst/controller/gstcontrollerprivate.h:
8397         * libs/gst/controller/gstinterpolation.c:
8398         Factor out the 'set' logic into gst_controller_set_unlocked for the
8399         gst_controller_set and gst_controller_set_from_list functions.
8400
8401         To make life of the interpolators easier always add a control point
8402         at timestamp zero with the default value.
8403
8404         In the linear interpolator make things more obvious by better variable
8405         naming (slope).
8406
8407         Implement cubic interpolation mode (by using a natural cubic spline)
8408         and map the quadratic interpolation mode to this too (as quadratic
8409         doesn't make much sense, see discussion on the list).
8410
8411         * tests/check/libs/controller.c: (GST_START_TEST),
8412         (gst_controller_suite):
8413         Add unit test for the cubic interpolation mode and check everywhere
8414         if the interpolation mode could be set as expected.
8415
8416 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8417
8418         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8419           Don't use GLib-2.10 functions, we still depend on
8420           GLib-how-old-is-it-again-2.8.
8421
8422 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8423
8424         * docs/gst/gstreamer-sections.txt:
8425         * gst/Makefile.am:
8426         * gst/gst.c:
8427         * gst/gst.h:
8428         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8429         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8430         (_gst_param_fraction_values_cmp),
8431         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8432         * gst/gstparamspecs.h:
8433         * gst/gstvalue.c:
8434         * tests/check/Makefile.am:
8435         * tests/check/gst/.cvsignore:
8436         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8437         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8438         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8439         (GST_START_TEST), (gst_param_spec_suite):
8440           API: add GstParamSpecFraction, so elements can have fraction
8441           properties without lots of painful string parsing (#444648).
8442
8443 2007-06-05  Wim Taymans  <wim@fluendo.com>
8444
8445         * gst/gstobject.c: (gst_object_class_init):
8446         Fix signal signature.
8447
8448         * gst/gstsegment.c:
8449         Add small clarification in the api docs.
8450
8451         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8452         States are protected with object lock.
8453
8454 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8455
8456         * AUTHORS:
8457         I should probably be listed as an author by now.
8458
8459         * docs/random/release:
8460         Update the release doc
8461
8462 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8463
8464         * gst/gstvalue.c:
8465           Make docs for gst_value_compare() mention return enums that
8466           actually exist.
8467
8468 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8469
8470         * configure.ac:
8471           Back to CVS
8472
8473 === release 0.10.13 ===
8474
8475 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8476
8477         * configure.ac:
8478           releasing 0.10.13, "With or without you"
8479
8480 2007-05-25  Wim Taymans  <wim@fluendo.com>
8481
8482         * gst/gstbin.c: (bin_handle_async_done):
8483         Make sure that the child bin stops after completing the async state
8484         change so that the parent can continue the state change to PLAYING.
8485         Fixes #441159.
8486
8487 2007-05-25  Wim Taymans  <wim@fluendo.com>
8488
8489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8490         (unref_data), (gst_collect_pads_remove_pad),
8491         (gst_collect_pads_check_pads):
8492         Use additional refcounting to avoid crashes when dynamically adding and
8493         removing pads. Fixes #420206.
8494
8495 2007-05-24  Wim Taymans  <wim@fluendo.com>
8496
8497         * tools/gst-launch.c: (event_loop):
8498         When buffering goes from a two digit to a single digit number, make sure
8499         to remove the old second digit by writing a blank over it.
8500
8501 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8502
8503         * libs/gst/base/gstdataqueue.c:
8504           Eliminate tabs and trailing comma in enum list; fix some typos.
8505
8506 2007-05-24  Wim Taymans  <wim@fluendo.com>
8507
8508         * tests/check/gst/gstbin.c: (GST_START_TEST):
8509         Allow refcount of 3 and 4 because some state thread might still be busy
8510         with it.
8511
8512 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8513
8514         * plugins/elements/Makefile.am:
8515         * plugins/elements/gstmultiqueue.h:
8516         * plugins/elements/gstqueue.h:
8517           These are not installed headers, no need for padding.
8518
8519 2007-05-24  Wim Taymans  <wim@fluendo.com>
8520
8521         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8522         (gst_bin_continue_func):
8523         Enable latency for next release.
8524         Restore STATE_LOCK around recalc_state that was left out during the
8525         rewrite and could result in racy behaviour when _get_state and
8526         recalc_state are run concurrently. See #440463.
8527
8528 2007-05-23  Wim Taymans  <wim@fluendo.com>
8529
8530         * tests/check/gst/gstsystemclock.c: (store_callback),
8531         (GST_START_TEST):
8532         Improve test_async_order to also work when both timers are already
8533         expired when we get scheduled to check it.
8534
8535 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8536
8537         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8538         (gst_bin_set_property), (gst_bin_get_property),
8539         (gst_bin_remove_func), (gst_bin_handle_message_func):
8540         * gst/gstbin.h:
8541           'private' is a c++ keyword, let's not use that in header files,
8542           otherwise c++ compilers will throw a tantrum.
8543
8544 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8545
8546         * plugins/elements/gstelements.c:
8547         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8548         (gst_file_sink_get_current_offset):
8549         * plugins/indexers/gstindexers.c: (plugin_init):
8550           Use #ifdef for HAVE_XYZ for consistency.
8551
8552         * tests/check/Makefile.am:
8553         * tests/check/elements/.cvsignore:
8554         * tests/check/elements/filesink.c: (setup_filesink),
8555         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8556           Add some unit tests for filesink.
8557
8558 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8559
8560         Patch by: Mark Nauwelaerts <manauw at skynet be>
8561
8562         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8563         (gst_file_sink_query), (gst_file_sink_do_seek),
8564         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8565         * plugins/elements/gstfilesink.h:
8566           Fix position reporting; rename data_written member to current_pos to
8567           reflect its real meaning (fixes #412648).
8568
8569 2007-05-22  Edward Hervey  <edward@fluendo.com>
8570
8571         * docs/gst/gstreamer-sections.txt:
8572         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8573         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8574         (gst_bin_remove_func), (gst_bin_handle_message_func):
8575         * gst/gstbin.h:
8576         Add a property for bins that handle the state change of their childs.
8577         Fixes #435880
8578
8579 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8580
8581         * libs/gst/controller/gstinterpolation.c:
8582         Use an array of the correct type when using _get_value_array with
8583         linear interpolation.
8584
8585 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8586
8587         * gst/gstelement.c (gst_element_requires_clock,
8588           gst_element_provides_clock, gst_element_request_pad,
8589           gst_element_class_set_details, gst_element_class_set_details_simple,
8590           gst_element_default_send_event, gst_element_abort_state,
8591           gst_element_continue_state, gst_element_set_state,
8592           gst_element_set_state_func, iterator_activate_fold_with_resync):
8593         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8594           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8595           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8596           gst_pad_get_range, gst_pad_pull_range):
8597         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8598           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8599           GstPadActivateModeFunction, GstPadChainFunction,
8600           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8601           GstPadFixateCapsFunction, GstPadTemplate):
8602         * gst/gstpipeline.c (gst_pipeline_change_state,
8603           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8604           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8605           gst_pipeline_get_delay):
8606           Whitespace and docs fixes.
8607
8608 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8609
8610         * libs/gst/controller/gstinterpolation.c:
8611         (interpolate_trigger_get_enum_value_array),
8612         (interpolate_trigger_get_string_value_array):
8613         Add support for retrieving value arrays when using the trigger
8614         interpolation mode. 
8615
8616 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8617
8618         * libs/gst/controller/gstcontroller.c:
8619         (gst_controller_get_value_array):
8620         * libs/gst/controller/gstcontroller.h:
8621         Clarify the docs of gst_controller_get_value_array(): The array where
8622         the values should be written to must be allocated as there seems to be
8623         no way to get the size of a random GType. This doesn't change any
8624         behaviour. Also fix some typos all over the place and remove an unused,
8625         commented function that is not necessary as g_object_set() could be
8626         used instead.
8627         * tests/check/libs/controller.c: (GST_START_TEST),
8628         (gst_controller_suite):
8629         Add unit test for gst_controller_get_value_array().
8630
8631 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8632
8633         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8634
8635         Disable part of the gst_buffer_try_new_and_alloc test, because
8636         it can happily succeed on 64-bit systems where there's more address
8637         space available.
8638
8639 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8640
8641         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8642         Add unit test for the improved caps checking from bug #421543.
8643
8644 2007-05-21  Wim Taymans  <wim@fluendo.com>
8645
8646         * docs/design/part-synchronisation.txt:
8647         Small addition.
8648
8649         * gst/gstbin.c: (gst_bin_query):
8650         * plugins/elements/gstqueue.c: (apply_segment):
8651         Improve debugging.
8652
8653         * gst/gstmessage.h:
8654         Improve docs.
8655
8656 2007-05-21  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8659         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8660         (gst_pad_configure_src):
8661         Added simple version of improved caps checking. It was previously
8662         assumed that a setcaps function would check the validity of the caps but
8663         people prefer us to check caps against the template automatically. 
8664         Fixes #421543.
8665
8666 2007-05-21  Wim Taymans  <wim@fluendo.com>
8667
8668         * libs/gst/base/gstbasetransform.h:
8669         Fix macro for locking/unlocking the transform lock.
8670
8671 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * docs/plugins/tmpl/.cvsignore:
8674           Ignore more.
8675
8676 2007-05-18  Edward Hervey  <edward@fluendo.com>
8677
8678         * plugins/elements/gstqueue.c: (gst_queue_loop):
8679         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8680         for the subtle art of warning a potentially blocking thread that it
8681         should check the source pad return value, and relay the information
8682         upstream.
8683
8684 2007-05-18  Edward Hervey  <edward@fluendo.com>
8685
8686         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8687         Release the queue lock !
8688
8689 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8690
8691         * docs/libs/gstreamer-libs-sections.txt:
8692         Add the two new controller functions to the appropiate places.
8693
8694 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8695
8696         reviewed by: Stefan Kost <ensonic@users.sf.net>
8697
8698         * libs/gst/controller/gstcontroller.c:
8699         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8700         (_gst_controller_get_property), (_gst_controller_set_property),
8701         (_gst_controller_init), (_gst_controller_class_init):
8702         * libs/gst/controller/gstcontroller.h:
8703         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8704         (gst_object_get_control_rate), (gst_object_set_control_rate):
8705         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8706         Add API that provides sync suggestion timestamps for elements that
8707         call gst_object_sync_values() from which those elements can subdivide
8708         their processing loop to get the best results for the controlled
8709         properties. For now it just suggests last_sync + control_rate as
8710         new timestamp but this will be improved in the future.
8711
8712         While doing that change the control-rate property to a GstClockTime
8713         from guint and change it's meaning from samples to nanoseconds as
8714         the GstController doesn't know anything about sampling rate. Strictly
8715         speaking this breaks ABI but as the control-rate property didn't do
8716         anything in the past and as such couldn't be used this should be no
8717         problem.        
8718
8719 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8720
8721         reviewed by: Stefan Kost <ensonic@users.sf.net>
8722
8723         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8724         (gst_controller_unset_all):
8725         * libs/gst/controller/gstcontrollerprivate.h:
8726         * libs/gst/controller/gstinterpolation.c:
8727         (gst_controlled_property_find_control_point_node):
8728         Save last synced value from the list to continue searching from there
8729         in future syncs. This speeds everything up a bit.
8730         
8731 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8732
8733         reviewed by: Stefan Kost <ensonic@users.sf.net>
8734
8735         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8736         (gst_control_point_find), (gst_controlled_property_new),
8737         (gst_control_point_free), (gst_controlled_property_free),
8738         (gst_controller_set), (gst_controller_set_from_list),
8739         (gst_controller_unset), (gst_controller_unset_all),
8740         (gst_controller_sync_values):
8741         * libs/gst/controller/gstcontroller.h:
8742         * libs/gst/controller/gstcontrollerprivate.h:
8743         * libs/gst/controller/gstinterpolation.c:
8744         (gst_controlled_property_find_control_point_node),
8745         (interpolate_none_get), (interpolate_trigger_get):
8746         Add a new private GstControlPoint struct which "inherits" from
8747         GstTimedValue to allow different interpolators to store internal
8748         values next to each control point. From the outside everything is
8749         still a GstControlPoint so we don't loose binary compatibility.
8750         Also fixup all the GValue handling to not leak GValues or list nodes.
8751         * tests/check/libs/controller.c: (GST_START_TEST):
8752         Free the list nodes and GValues in the controller_misc test.
8753
8754 2007-05-17  Edward Hervey  <edward@fluendo.com>
8755
8756         * gst/gstsegment.c:
8757         Small doc fix.
8758
8759 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8760
8761         * gst/gstplugin.c: (gst_plugin_load_file):
8762           If we fail to load a plugin because of unresolved symbols or missing
8763           libraries and spew a warning to stderr, we may just as well mention
8764           which plugin it was that failed to load.
8765
8766 2007-05-13  David Schleef  <ds@schleef.org>
8767
8768         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8769           handles the case when ENABLE_GTK_DOC is false, and installs
8770           the prebuilt documentation.  So gtk-doc subdirs are 
8771           unconditionally enabled.  Fixes: #349099.
8772
8773 2007-05-13  David Schleef  <ds@schleef.org>
8774
8775         * gst/gstutils.h: Reword some documentation.
8776
8777 2007-05-12  David Schleef  <ds@schleef.org>
8778
8779         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8780           do anything with the passed "module" parameter, so remove it.
8781           Allows removal of additional vestigal code.
8782
8783 2007-05-12  David Schleef  <ds@schleef.org>
8784
8785         * gst/gstplugin.c:
8786           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8787           Switch to using g_stat() because it's more portable.
8788
8789 2007-05-12  David Schleef  <ds@schleef.org>
8790
8791         * gst/gst.c:
8792           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8793           parsing for embedded systems.
8794         * gst/gstelementfactory.c:
8795           Allow gst_element_register() to be called with plugin==NULL.
8796           Did nobody notice that static elements were broken?
8797
8798 2007-05-12  Wim Taymans  <wim@fluendo.com>
8799
8800         * tools/gst-launch.c: (event_loop):
8801         Give more interesting info when buffering starts and stops.
8802         Fix case where buffering starts but we fail to update the buffering flag
8803         because the target state is not PLAYING.
8804
8805 2007-05-12  Wim Taymans  <wim@fluendo.com>
8806
8807         * plugins/elements/gstqueue.c: (gst_queue_init),
8808         (gst_queue_finalize), (update_time_level), (apply_segment),
8809         (apply_buffer), (gst_queue_locked_flush),
8810         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8811         (gst_queue_handle_sink_event), (gst_queue_chain),
8812         (gst_queue_push_one), (gst_queue_loop):
8813         * plugins/elements/gstqueue.h:
8814         Refactor an cleanup queue a bit.
8815         Do better time level calculations that also work when the srcpad is not
8816         yet running.
8817         Remove some unneeded debug lines.
8818
8819         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8820         Added testcase for time level measurement.
8821         Try to make some stuff more racefree.
8822
8823 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8824
8825         * gst/gsturi.c: (gst_element_make_from_uri):
8826           Don't leak plugin feature.
8827
8828         * tests/check/Makefile.am:
8829         * tests/check/gst/.cvsignore:
8830         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8831           Add brain-dead unit test.
8832
8833 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8834
8835         Patch by: Jeroen Wouters <woutersj at gmail com>
8836
8837         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8838           Treat protocol strings in a case-insensitive way (#437563).
8839
8840 2007-05-11  Michael Smith <msmith@fluendo.com>
8841
8842         * gst/gstplugin.c: (gst_plugin_load_file):
8843         * gst/gstregistry.c: (gst_registry_scan_path_level):
8844           Don't print a g_warning for any failure to load a shared object.
8845           Instead, push this down into gstplugin.c, and warn _only_ if we
8846           failed to open the module (i.e. failure to link).
8847           Avoids warnings on normal, working, non-plugin .so files.
8848
8849 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8850
8851         * gst/gstplugin.c (gst_plugin_load_file):
8852         * gst/gstregistry.c (GST_CAT_DEFAULT,
8853           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8854           Print a g_warning if there was an error when loading a plugins during
8855           registry scan. The shuld help beginners starting with gst-plugin
8856           template.
8857
8858 2007-05-10  Wim Taymans  <wim@fluendo.com>
8859
8860         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8861         (update_time_level), (gst_queue_locked_flush),
8862         (gst_queue_handle_sink_event), (gst_queue_chain),
8863         (gst_queue_push_one), (gst_queue_loop):
8864         * plugins/elements/gstqueue.h:
8865         Be smarter when calculating the current amount of data in the queue by
8866         measuring the difference between start and end timestamps (in running
8867         time) inside the queue. Fixes #432876.
8868         API: GstQueue::pushing to notify elements that we are pushing data again
8869         since the running signal is rather broken for this purpose.
8870
8871 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8872
8873         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8874           gst_queue_base_init, gst_queue_init):
8875           use GST_BOILERPLATE
8876
8877 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8878
8879         * win32/common/libgstreamer.def:
8880         Add new exported functions.
8881         * win32/vs6/grammar.dsp:
8882         Use grammar pre-generated files.
8883
8884 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8885
8886         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8887
8888         * gst/Makefile.am:
8889         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8890         * gst/gstparse.h:
8891         * gst/gstutils.c: (gst_parse_bin_from_description):
8892         * gst/gstutils.h:
8893           Maintain API and ABI when --disable-parse is used. Now that
8894           we have an appropriate error code, we can just return NULL and the
8895           appropriate error when gst_parse_launch() is used despite it having
8896           been disabled (#342564).
8897
8898         * tests/check/Makefile.am:
8899         * tests/check/pipelines/.cvsignore:
8900         * tests/check/pipelines/parse-disabled.c:
8901           Make sure these functions exist and return NULL plus a GError when
8902           --disable-parse is used.
8903
8904 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8905
8906         * tests/benchmarks/complexity.c: (main):
8907         * tests/benchmarks/mass-elements.c: (main):
8908           Set a good example and don't leak messages.
8909
8910 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8911
8912         * docs/gst/Makefile.am:
8913         * docs/libs/Makefile.am:
8914           Correct fixxrefs options.
8915
8916         * docs/plugins/Makefile.am:
8917         * docs/plugins/gstreamer-plugins-docs.sgml:
8918         * docs/plugins/gstreamer-plugins-sections.txt:
8919         * plugins/elements/Makefile.am:
8920         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8921         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8922           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8923           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8924           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8925           _GstCapsFilterClass, trans_class):
8926         * plugins/elements/gstelements.c (name, rank, type, _elements):
8927         * plugins/elements/gstidentity.c
8928           (gst_identity_check_imperfect_timestamp,
8929           gst_identity_check_imperfect_offset):
8930           Document capsfilter and add doc-blurb to identity.
8931
8932 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         * libs/gst/controller/gstcontroller.c:
8935         (gst_controlled_property_set_interpolation_mode):
8936         * libs/gst/controller/gstinterpolation.c:
8937           Don't crash if someone tries to set an interpolation mode that
8938           is invalid or that isn't supported yet. Fixes #422295.
8939
8940         * tests/check/libs/controller.c: (GST_START_TEST),
8941         (gst_controller_suite):
8942           Add a test case for the above.
8943
8944 2007-05-03  Edward Hervey  <edward@fluendo.com>
8945
8946         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8947         Properly set the last_stop position on GstSegment. This will only happen
8948         if there is a buffer to push out.
8949
8950 2007-05-03  Wim Taymans  <wim@fluendo.com>
8951
8952         * libs/gst/base/gstbasetransform.c:
8953         (gst_base_transform_buffer_alloc):
8954         always_in_place does not mean that the sink and source caps are the
8955         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8956
8957 2007-05-03  Wim Taymans  <wim@fluendo.com>
8958
8959         * docs/libs/gstreamer-libs-sections.txt:
8960         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8961         (gst_base_src_default_query), (gst_base_src_get_range):
8962         * libs/gst/base/gstbasesrc.h:
8963         API: gst_base_src_query_latency(). Added method so that subclasses can
8964         easily get the latency values of the base source class.
8965
8966 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8967
8968         * tools/gst-inspect.c (print_implementation_info):
8969         Remove 0.8 cruft.
8970
8971 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * tools/Makefile.am:
8974         * tools/gst-launch.1.in:
8975           Don't create a customised man page based on the host architecture,
8976           describe the default registry path generically. That way the man
8977           page is the same for all architectures and packagers have one
8978           multilib issue less to deal with. Fixes #434926.
8979
8980 2007-05-02  Wim Taymans  <wim@fluendo.com>
8981
8982         * gst/gstpad.c:
8983         Fix documentation as spotted by rg on IRC. 
8984
8985 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8986
8987         * gst/gstutils.c:
8988           Improve docs for gst_element_{link,unlink}.
8989
8990 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8991
8992         * docs/design/part-events.txt:
8993         * docs/design/part-overview.txt:
8994         * gst/gstevent.c:
8995         * gst/gsturi.c:
8996         * gst/gsturi.h:
8997         * libs/gst/base/gstbasesink.c:
8998           Typo fixes; minor docs addition.
8999
9000 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9001
9002         * docs/gst/gstreamer-sections.txt:
9003         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9004         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9005         * gst/gsturi.h:
9006         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9007         or src that supports a given URI protocol exists.
9008
9009 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9010
9011         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9012         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9013         Set the location to NULL if "file://" is set as URI. Otherwise
9014         some random previous URI would still be set if "file://" is
9015         set on an already used filesink/filesrc.
9016
9017 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9018
9019         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9020         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9021         Special case the "file://" URI as as this is used by some
9022         applications to test with gst_element_make_from_uri if there's
9023         an element that supports the URI protocol.
9024         Also move the g_path_is_absolute() check for the location part
9025         of the URI to also check this for "file://localhost/bla" URIs.
9026
9027 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9028
9029         * docs/gst/gstreamer-sections.txt:
9030         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9031         * gst/gstbuffer.h:
9032         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9033         (gst_buffer_suite):
9034           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9035
9036 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9037
9038         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9039         (gst_registry_binary_load_pad_template),
9040         (gst_registry_binary_load_plugin),
9041         (gst_registry_binary_read_cache):
9042         * gst/gstregistrybinary.h:
9043           Implement no-mmap alternative for registry reading. Do code cleanups.
9044           Add more comments about avoiding strdups for all text data. Comments
9045           welcome.
9046
9047 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9048
9049         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9050           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9051           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9052           Comment structs and reformat to fix the build (that stuff should go
9053           into a priv. header).
9054
9055 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9056
9057         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9058         (gst_registry_binary_load_feature):
9059         * gst/gstregistrybinary.h:
9060           Refactor so that we can implement multiple features. Add support for
9061           TypeFindFactory features.
9062
9063 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9064
9065         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9066
9067         * configure.ac:
9068           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9069
9070 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9071
9072         * gst/gstbin.c: (gst_bin_element_set_state),
9073         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9074         (bin_handle_async_done), (gst_bin_handle_message_func):
9075           Fix build with --gst-disable-gst-debug
9076
9077 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9078
9079         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9080           Make sure streaming has finished before calling the ::stop() vfunc,
9081           since that vfunc might clear state which is being used in the
9082           streaming thread. This fixes a race that caused crashes in
9083           audioresample when shutting down a pipeline (#420106).
9084
9085 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9086
9087         * docs/gst/gstreamer-sections.txt:
9088           That was one byte missing.
9089
9090 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9091
9092         * configure.ac:
9093         * docs/gst/gstreamer-sections.txt:
9094         * gst/Makefile.am:
9095         * gst/gstconfig.h.in:
9096         * gst/gstobject.c: (gst_object_class_init),
9097         (gst_signal_object_class_init):
9098         * gst/gstobject.h:
9099           2nd attempt to have a xml-less build as a joined effort of #413123
9100           and #421480.
9101
9102 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9103
9104         * docs/design/draft-tagreading.txt:
9105           Added open issues/thoughts to draft.
9106
9107 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9108
9109         * gst/parse/grammar.tab.pre.c:
9110         * gst/parse/grammar.tab.pre.h:
9111         * gst/parse/lex._gst_parse_yy.pre.c:
9112         Update the prebuild parser sources.
9113
9114 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9115
9116         * gst/parse/Makefile.am:
9117         And now fix the building of the flex sources. Now everything should
9118         work as expected.
9119
9120 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9121
9122         * gst/parse/Makefile.am:
9123         Now hopefully fix the build failures by setting proper rule
9124         dependencies and moving instead of copying.
9125
9126 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9127
9128         * tests/benchmarks/complexity.gnuplot:
9129         * tests/benchmarks/complexity.scm:
9130         * tests/benchmarks/mass-elements.gnuplot:
9131         * tests/benchmarks/mass-elements.scm:
9132           Total licensification.
9133
9134 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9135
9136         * gst/parse/Makefile.am:
9137           Fix the build by correcting the rule that gave wrong files to flex.
9138
9139 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9140
9141         * tests/benchmarks/complexity.c:
9142         * tests/benchmarks/mass-elements.c:
9143           Change licence to LGPL as granted by Benjamin and Andy.
9144
9145 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9146
9147         * gst/parse/Makefile.am:
9148         Add correct grammar.tab.h dependency if compiling without new enough
9149         flex. Fixes #431150.
9150
9151 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9152
9153         * gst/parse/Makefile.am:
9154         Fix typo and use outdated sources if the flex/bison sources are newer
9155         than the pregenerated ones but flex is too old. Print a warning in
9156         that case. This should fix the build on the build bot.
9157
9158 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9159
9160         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9161         * gst/parse/Makefile.am:
9162         * gst/parse/grammar.y:
9163         * gst/parse/parse.l:
9164         Make the parser reentrant and recursively callable. This requires flex
9165         >= 2.5.31, for older versions pregenerated sources are used as we
9166         can't bump the build dependency. Finally fixes #349180.
9167
9168         * gst/gstparse.c: (gst_parse_launch):
9169         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9170         now anyway.
9171
9172         * docs/gst/Makefile.am:
9173         * docs/gst/Makefile.am:
9174         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9175         (__gst_parse_strfree), (__gst_parse_link_new),
9176         (__gst_parse_link_free), (__gst_parse_chain_new),
9177         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9178         (gst_parse_element_set), (gst_parse_free_link),
9179         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9180         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9181         (_gst_parse_launch):
9182         * gst/parse/grammar.tab.pre.h:
9183         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9184         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9185         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9186         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9187         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9188         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9189         (_gst_parse_yypop_buffer_state),
9190         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9191         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9192         (yy_fatal_error), (_gst_parse_yyget_extra),
9193         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9194         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9195         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9196         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9197         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9198         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9199         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9200         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9201         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9202         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9203         (_gst_parse_yyfree):
9204         If the installed flex version is too old use pre-generated parser
9205         sources. These pre-generated parser sources are always updated when
9206         the actual flex/bison sources change but require everybody who wants
9207         to change something in the parser to have flex >= 2.5.31 installed.
9208
9209 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9210
9211         * common/m4/gst-gettext.m4:
9212         * gst/gst-i18n-lib.h:
9213           Make --disable-nls to work
9214
9215 2007-04-17  Wim Taymans  <wim@fluendo.com>
9216
9217         * gst/gstconfig.h.in:
9218         Revert previous change that broke the build.
9219
9220 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9221
9222         * configure.ac:
9223         * gst/Makefile.am:
9224         * gst/gstconfig.h.in:
9225           Drop libxml2 dependency when building with 
9226           --enable-binary-registry --disable-loadsave
9227
9228 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9229
9230         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9231         (gst_registry_binary_read_cache):
9232         * gst/gstregistrybinary.h:
9233           Remove unnecessary <sys/mman.h> include which broke the win32 build
9234           with MingW; move includes from header file to .c file, even if the
9235           header file isn't installed; use g_strerror() where UTF-8 strings
9236           are expected, such as in GST_DEBUG messages.
9237
9238 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9239
9240         * docs/libs/gstreamer-libs-sections.txt:
9241         Remove bogus addition for API I didn't end up keeping.
9242
9243         * libs/gst/base/gstbasesrc.h:
9244         Mention Since: 0.10.13 in the documentation.
9245
9246         Add the API keyword to the previous ChangeLog entry.
9247
9248 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9249
9250         * docs/libs/gstreamer-libs-sections.txt:
9251         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9252         (gst_base_src_default_prepare_seek_segment),
9253         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9254         * libs/gst/base/gstbasesrc.h:
9255         Allow basesrc derived classes to execute seeks in other formats
9256         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9257         to prepare the GstSegment in any format that their perform_seek method
9258         will be able to understand. The default implementation provides the
9259         old behaviour of attempting to convert the seek offsets to the 
9260         configured native format.
9261
9262         API: basesrc::prepare_seek_segment vmethod.
9263
9264 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9265
9266         * gst/gstelement.c: (gst_element_get_state_func):
9267         Don't output the same debug statement twice.
9268
9269         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9270         (gst_adapter_peek), (gst_adapter_take_buffer):
9271         Optimise the case where we have buffers at the head of the queue that
9272         can be joined quickly (because they're contiguous sub-buffers) by
9273         merging them together rather than copying data out into new memory.
9274
9275         * gst/parse/grammar.y:
9276         * tests/check/pipelines/parse-launch.c:
9277         Fix a leak in an error path for parse_launch, and add a check 
9278         for it to the testsuite.
9279
9280 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9281
9282         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9283           Don't deadlock when releasing a pad - gst_pad_set_active may try
9284           and take the multiqueue lock too.
9285
9286 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9287
9288         * gst/gsterror.c: (_gst_core_errors_init):
9289         * gst/gsterror.h:
9290           API: add GST_CORE_ERROR_DISABLED (#392804).
9291
9292 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * docs/faq/gst-uninstalled:
9295           don't get empty paths on the PATH variables
9296         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9297           Don't format for the uncommon terminal width of 84 characters.
9298
9299 2007-04-06  Wim Taymans  <wim@fluendo.com>
9300
9301         * gst/gstpipeline.c: (reset_stream_time),
9302         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9303         Only try to select a different pipeline clock when we went back to
9304         PAUSED and not when we merely got flushed.
9305
9306 2007-04-05  Michael Smith  <msmith@fluendo.com>
9307
9308         * tools/gst-launch.1.in:
9309           fractions are better supported in gstreamer than ractions, so
9310           suggest using those.
9311
9312 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9313
9314         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9315
9316         * po/LINGUAS:
9317         * po/da.po:
9318           Added Danish translation.
9319
9320 2007-04-05  Wim Taymans  <wim@fluendo.com>
9321
9322         * libs/gst/base/gstbasesink.c:
9323         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9324         Fix leak caused when refusing newsegment after EOS.
9325
9326         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9327         (gst_fake_sink_init), (gst_fake_sink_set_property),
9328         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9329         (gst_fake_sink_render), (gst_fake_sink_change_state):
9330         * plugins/elements/gstfakesink.h:
9331         Add num-buffers property to make the element generate EOS after a
9332         configurable amount of buffers.
9333         API: fakesink::num-buffers property.
9334
9335         * tests/check/elements/fakesink.c: (GST_START_TEST),
9336         (fakesink_suite):
9337         Fix GstBus leak in test.
9338         Test for fakesink num-buffers.
9339
9340 2007-04-05  Wim Taymans  <wim@fluendo.com>
9341
9342         * libs/gst/base/gstbasesink.c:
9343         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9344         (gst_base_sink_change_state):
9345         Don't accept anything after an EOS, return UNEXPECTED instead.
9346
9347         * tests/check/elements/fakesink.c: (GST_START_TEST),
9348         (fakesink_suite):
9349         Unit test for new EOS behaviour.
9350
9351 2007-04-05  Wim Taymans  <wim@fluendo.com>
9352
9353         * gst/gstelement.c: (gst_element_get_request_pad):
9354         Make padtemplates also work when they don't contain %s or %d.
9355
9356 2007-04-05  Wim Taymans  <wim@fluendo.com>
9357
9358         * docs/gst/gstreamer-sections.txt:
9359         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9360         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9361         * gst/gstclock.h:
9362         Improve _adjust_unlocked() so that it overflows less.
9363         Add gst_clock_unadjust_unlocked to convert from external time to
9364         internal time based on calibration.
9365         Add some more debug.
9366         API: GstClock::gst_clock_unadjust_unlocked()
9367
9368 2007-04-03  Wim Taymans  <wim@fluendo.com>
9369
9370         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9371
9372         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9373         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9374         when releasing sink pad. Fixes #425400.
9375
9376 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9377
9378         * docs/random/ensonic/dynlink.txt:
9379           More work on proposal for new core api.
9380
9381         * docs/libs/gstreamer-libs-sections.txt:
9382         * libs/gst/base/gstbasetransform.h:
9383           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9384           
9385         * libs/gst/controller/gstcontroller.c:
9386         (on_object_controlled_property_changed),
9387         (gst_controller_sync_values),
9388         (gst_controller_set_interpolation_mode):
9389         * libs/gst/controller/gstcontroller.h:
9390           Less verbose logging add docs for unimplemented parts and correctly
9391           return when using unavailable parts.
9392
9393 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9394
9395         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9396         Move all the debug to the CLOCK category, and associate it with
9397         the clock object.
9398
9399 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9400
9401         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9402         Make take_buffer a bit quicker by removing redundant checks
9403         caused by calling gst_adapter_take.
9404
9405 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9406
9407         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9408           Don't leak GCond.
9409
9410         * tests/check/Makefile.am:
9411         * tests/check/elements/.cvsignore:
9412         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9413         (GST_START_TEST), (multiqueue_suite):
9414           Add some dead simple unit tests for the 'multiqueue' element
9415           (some bits don't work yet and are disabled for now).
9416
9417 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9418
9419         * gst/gstelement.c: (gst_element_get_request_pad),
9420         (gst_element_class_get_request_pad_template):
9421           Make gst_element_get_request_pad() create request pads only for
9422           request pad templates and not for, say, sometimes pad templates.
9423
9424 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9425
9426         * docs/design/draft-klass.txt:
9427           Add example that needs more thinking.
9428         
9429         * docs/design/draft-missing-plugins.txt:
9430           More thoughts about wrapper plugins.
9431         
9432         * docs/random/ensonic/embedded.txt:
9433         * docs/random/ensonic/profiling.txt:
9434           More design work.
9435
9436 2007-03-25  Wim Taymans  <wim@fluendo.com>
9437
9438         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9439         (gst_base_src_loop):
9440         Only push the segment events in the PLAYING state for live sources.
9441
9442 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9443
9444         * gst/gstpipeline.c: (gst_pipeline_change_state):
9445         Modify the clock distribution path in PAUSED->PLAYING so that we 
9446         never attempt to choose a new clock unless we're actually leaving
9447         the PAUSED state for the first time. This prevents choosing a
9448         different clock when the state_change gets called for a 2nd time due
9449         to some element doing an async state change.
9450
9451 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9452
9453         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9454         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9455         (gst_pad_chain_unchecked), (gst_pad_push):
9456         Revert last commit. This needs some more thoughts.
9457
9458 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9459
9460         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9461         (gst_pad_chain_unchecked), (gst_pad_push):
9462         Check in set_caps if the caps are compatible with the pad and remove
9463         two functions that are redundant now. Fixes #421543.
9464
9465 2007-03-22  Wim Taymans  <wim@fluendo.com>
9466
9467         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9468         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9469         Unref some more to make valgrind happy.
9470
9471 2007-03-22  Wim Taymans  <wim@fluendo.com>
9472
9473         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9474         (gst_system_clock_id_wait_jitter),
9475         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9476         Fix anoying regression that survived a few releases. When adding an
9477         async entry while blocking on a sync entry, the sync entry will unblock
9478         but still be busy, so it should continue to wait instead of returning
9479         _BUSY to the app.
9480         Add some comments here and there.
9481
9482         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9483         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9484         Add testcase for this.
9485
9486 2007-03-22  Wim Taymans  <wim@fluendo.com>
9487
9488         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9489         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9490         WRONG_STATE and can silently pause the task. All other cases should
9491         error out.
9492
9493 2007-03-22  Wim Taymans  <wim@fluendo.com>
9494
9495         Patch by: Ville Syrjala <syrjala at sci dot fi>
9496
9497         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9498         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9499         Improve debugging.
9500
9501 2007-03-21  Michael Smith  <msmith@fluendo.com>
9502
9503         * docs/pwg/advanced-types.xml:
9504           Fix some errors in the typefinding docs pointed out on irc.
9505
9506 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9507
9508         * libs/gst/base/gstbasesrc.c:
9509         Clarify FIXME comment in the face of having added unlock_stop()
9510
9511 2007-03-21  Wim Taymans  <wim@fluendo.com>
9512
9513         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9514         Prepare for release where we warn against possible app breakage in the
9515         case of live pipelines along with an env var to enable/disable live
9516         preroll mode (GST_COMPAT=[no-]live-preroll).
9517
9518 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9519
9520         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9521         So we should use correct constants for checking for None offset.
9522
9523 2007-03-20  Wim Taymans  <wim@fluendo.com>
9524
9525         * docs/design/part-block.txt:
9526         Mention the fact that the newly switched element should be set to at
9527         least PAUSED.
9528
9529 2007-03-20  Wim Taymans  <wim@fluendo.com>
9530
9531         * gst/gst.c:
9532         Fix compilation with registry disabled as spotted by Saur.
9533
9534 2007-03-20  Wim Taymans  <wim@fluendo.com>
9535
9536         Patch by: Olivier Crete <tester at tester dot ca>
9537
9538         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9539         Look at the pending state too when syncing the element state to the
9540         parent. Fixes #420133.
9541
9542 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9543
9544         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9545         (gst_base_sink_change_state):
9546         * libs/gst/base/gstbasesink.h:
9547         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9548         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9549         (gst_base_src_deactivate):
9550         * libs/gst/base/gstbasesrc.h:
9551         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9552         for sub-classes to correctly clear any state they set trying to
9553         unlock, such as clearing out unlock commands from a command fd.
9554         API: basesrc::unlock_stop
9555         API: basesink::unlock_stop
9556
9557         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9558         (gst_fd_sink_render), (gst_fd_sink_unlock),
9559         (gst_fd_sink_unlock_stop):
9560         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9561         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9562         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9563
9564         Implement unlock_stop in fdsrc and fdsink.
9565         Implement seeking in fdsrc when a seekable fd is passed, as in
9566         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9567
9568 2007-03-19  Wim Taymans  <wim@fluendo.com>
9569
9570         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9571
9572         * gst/gstelement.c: (gst_element_class_init):
9573         Fix pad-added and pad-removed signal signatures so that the pad type is
9574         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9575
9576 2007-03-19  Wim Taymans  <wim@fluendo.com>
9577
9578         * docs/gst/gstreamer-sections.txt:
9579         Add new element field and method.
9580
9581         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9582         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9583         (gst_bin_recalc_state), (gst_bin_get_state_func),
9584         (gst_bin_element_set_state), (gst_bin_change_state_func),
9585         (gst_bin_continue_func), (bin_bus_handler),
9586         (bin_push_state_continue), (bin_handle_async_start),
9587         (bin_handle_async_done), (gst_bin_handle_message_func):
9588         Make async state changes a bit smarter by using new ASYNC_START and
9589         ASYNC_DONE messages. This reduces the number of times we run the state
9590         recalculation thread.
9591         Don't change state of element with a pending ASYNC_START message.
9592         Deprecate STATE_DIRTY messages.
9593         
9594         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9595         (gst_element_get_state_func), (gst_element_continue_state),
9596         (gst_element_lost_state), (gst_element_set_state_func),
9597         (gst_element_change_state):
9598         * gst/gstelement.h:
9599         Keep the state that was last set by the app in a new element field.
9600         Don't allow state changes when handling an element event.
9601         Post ASYNC_START and ASYNC_DONE messages.
9602         Change lost_state so that we go to PAUSED and wait for the parent to set
9603         us to PLAYING again (so latency calculation can be performed)
9604         Export gst_element_change_state() method so that subclasses can use it.
9605         API: gst_element_change_state()
9606         API: GST_STATE_TARGET
9607
9608         * gst/gstpipeline.c: (gst_pipeline_class_init),
9609         (reset_stream_time), (gst_pipeline_change_state),
9610         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9611         Using the new ASYNC_START message we can reset the base_time when
9612         needed. This can then be used to implement base_time redistribution in
9613         flushing seeks so that we can remove the explicit seek handling.
9614         Perform latency query and configuration when going to PLAYING.
9615
9616         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9617         (gst_base_sink_query), (gst_base_sink_change_state):
9618         Post new ASYNC_START/ASYNC_DONE messages.
9619
9620         * tests/check/generic/sinks.c: (GST_START_TEST):
9621         Fix test because the bin will not set the async element to PLAYING right
9622         away.
9623
9624         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9625         Make the message check a little stronger.
9626         Handle ASYNC messages.
9627
9628         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9629         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9630         Expect ASYNC_DONE messages.
9631
9632 2007-03-19  Wim Taymans  <wim@fluendo.com>
9633
9634         * docs/gst/gstreamer-sections.txt:
9635         * gst/gstmessage.c: (gst_message_new_async_start),
9636         (gst_message_new_async_done), (gst_message_parse_info),
9637         (gst_message_parse_async_start):
9638         * gst/gstmessage.h:
9639         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9640         support.
9641
9642 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9643
9644         * tools/gst-inspect.c:
9645         (print_plugin_automatic_install_info_codecs):
9646           Now that we don't check for the 'Codec' keyword any longer in the
9647           klass, we shouldn't spew a warning if the klass isn't a decoder or
9648           encoder (since it might be a Source/Network, for example).
9649
9650 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9651
9652         * tools/gst-inspect.c:
9653         (print_plugin_automatic_install_info_codecs):
9654           Don't require decoder/demuxer/depayloader elements or
9655           encoder/muxer/paylader elements to have 'Codec' as part of their
9656           factory class string when introspecting a plugin's capabilities.
9657           draft-klass.txt mentions that it might be removed in future, and
9658           flump3dec doesn't have it as part of its class string, so chances
9659           are others might also not have it.
9660
9661 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9662
9663         * po/af.po:
9664         * po/az.po:
9665         * po/bg.po:
9666         * po/ca.po:
9667         * po/cs.po:
9668         * po/de.po:
9669         * po/en_GB.po:
9670         * po/fr.po:
9671         * po/it.po:
9672         * po/nb.po:
9673         * po/nl.po:
9674         * po/ru.po:
9675         * po/sq.po:
9676         * po/sr.po:
9677         * po/sv.po:
9678         * po/tr.po:
9679         * po/uk.po:
9680         * po/vi.po:
9681         * po/zh_CN.po:
9682         * po/zh_TW.po:
9683           Update translations from translation project
9684
9685 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9686
9687         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9688         (gst_child_proxy_set_property):
9689           Invert precondition check to be alike the ones in the mimiced gobject
9690           api.
9691
9692 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9693
9694         * docs/design/draft-tagreading.txt:
9695         * docs/random/ensonic/audiobaseclasses.txt:
9696           Do some Architect work.
9697
9698         * gst/gstobject.c: (gst_object_set_name):
9699           Add a WARNING.
9700
9701         * gst/gstpad.c:
9702           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9703
9704 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9705
9706         * gst/gstsystemclock.c: (gst_system_clock_init),
9707         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9708         Defer starting the async system clock thread until the first async
9709         wait is scheduled. Fixes #414986.
9710
9711 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9712
9713         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9714         (gst_single_queue_free):
9715           Fix small leak (free GstSingleQueue structure too, not only contents).
9716
9717 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9718
9719         * gst/gstbin.c:(gst_bin_add):
9720         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9721         * win32/common/libgstbase.def:
9722         * win32/common/libgstreamer.def:
9723         Add new exported functions.
9724
9725 2007-03-09  Wim Taymans  <wim@fluendo.com>
9726
9727         * docs/plugins/gstreamer-plugins-sections.txt:
9728         Fix GstTee docs.
9729
9730 2007-03-09  Wim Taymans  <wim@fluendo.com>
9731
9732         * docs/gst/gstreamer-sections.txt:
9733         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9734         * gst/gstbuffer.h:
9735         Add metadata copy functions. Fixes #393099.
9736         API: gst_buffer_copy_metadata()
9737
9738         * gst/gstutils.c: (gst_buffer_stamp):
9739         * libs/gst/base/gstbasetransform.c:
9740         (gst_base_transform_prepare_output_buffer):
9741         Use new metadata copy functions.
9742
9743 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9744
9745         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9746         (gst_identity_init), (gst_identity_check_perfect),
9747         (gst_identity_check_imperfect_timestamp),
9748         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9749         (gst_identity_set_property), (gst_identity_get_property):
9750         * plugins/elements/gstidentity.h:
9751         Separate out check-imperfect-timestamp and check-imperfect-offset.
9752         Put back check-perfect as it was to keep compatibility.
9753
9754 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9755
9756         * gst/gstelement.c: (gst_element_dispose):
9757         There's no need to warn if VOID_PENDING is not NONE here, as
9758         long as the state is NULL it's ok, and that's checked immediately
9759         above.
9760
9761 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9762
9763         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9764         Fix check for perfect stream to ignore buffers with -1 
9765         offsets/offset ends when checking data contiguity.
9766
9767 2007-03-08  Wim Taymans  <wim@fluendo.com>
9768
9769         * tools/gst-launch.c: (event_loop):
9770         Print INFO messages.
9771
9772 2007-03-08  Wim Taymans  <wim@fluendo.com>
9773
9774         * libs/gst/base/gstbasetransform.c:
9775         (gst_base_transform_sink_eventfunc),
9776         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9777         (gst_base_transform_activate):
9778         * libs/gst/base/gstbasetransform.h:
9779         Add support for dropping buffers with custom GstFlowReturn.
9780         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9781         buffers or dropped buffers.
9782
9783         * docs/libs/gstreamer-libs-sections.txt:
9784         docs for new custom return code.
9785
9786         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9787         Use drop support in base class to implement drop-probability.
9788
9789 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9790
9791         * gst/gst.c: (load_plugin_func):
9792         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9793         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9794         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9795           Remove newlines at end of debug log strings.
9796
9797 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9798
9799         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9800         Only post bus message at max, once per buffer received.
9801
9802 2007-03-07  Wim Taymans  <wim@fluendo.com>
9803
9804         * docs/design/Makefile.am:
9805         * docs/design/part-synchronisation.txt:
9806         Add doc about synchronisation
9807
9808         * docs/design/draft-latency.txt:
9809         * docs/design/part-TODO.txt:
9810         * docs/design/part-clocks.txt:
9811         * docs/design/part-events.txt:
9812         * docs/design/part-gstbus.txt:
9813         * docs/design/part-gstpipeline.txt:
9814         * docs/design/part-live-source.txt:
9815         * docs/design/part-messages.txt:
9816         * docs/design/part-overview.txt:
9817         * docs/design/part-streams.txt:
9818         * docs/design/part-trickmodes.txt:
9819         Documentation updates.
9820
9821 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9822
9823         * gstreamer.doap:
9824         Update the doap file.
9825
9826 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9827
9828         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9829         Rename non-perfect to imperfect for Mike and for the sanctity of the
9830         language.
9831         Also make sure bus message gets emitted for data-incontiguities.
9832
9833 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9834
9835         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9836         (gst_identity_start):
9837         * plugins/elements/gstidentity.h:
9838         Emit bus message if check-perfect is true and we encounter a
9839         non-perfect stream between 2 consecutive buffers.
9840         Fixes #415394.
9841
9842 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9843
9844         * configure.ac:
9845         Back to CVS
9846
9847 === release 0.10.12 ===
9848
9849 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9850
9851         * configure.ac:
9852           releasing 0.10.12, "Inevitable Demise"
9853
9854 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9855
9856         * configure.ac:
9857          Version 0.10.11.2 (0.10.12 pre-release)
9858          Bump libtool versioning.
9859
9860 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9861
9862         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9863           Log flow-names and not numbers.
9864
9865 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9866
9867         * configure.ac:
9868           Convert to new AG_GST style.
9869
9870 2007-02-28  Wim Taymans  <wim@fluendo.com>
9871
9872         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9873         Don't unref query twice.
9874
9875 2007-02-28  Wim Taymans  <wim@fluendo.com>
9876
9877         * gst/gstvalue.c: (gst_value_transform_object_string),
9878         (_gst_value_initialize):
9879         Implement GstObject -> string transform so we print object names
9880         when serializing GValues containing GstObjects.
9881
9882 2007-02-28  Wim Taymans  <wim@fluendo.com>
9883
9884         * docs/gst/gstreamer-sections.txt:
9885         Add new stuff to docs.
9886
9887 2007-02-28  Wim Taymans  <wim@fluendo.com>
9888
9889         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9890         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9891         (gst_base_sink_change_state):
9892         Improve latency query code.
9893         Don't leak latency events.
9894
9895         * tests/check/gst/gstbin.c: (GST_START_TEST):
9896         Improve debugging.
9897
9898 2007-02-28  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/gstelement.c: (gst_element_message_full),
9901         (gst_element_get_state_func):
9902         * gst/gstelement.h:
9903         Improve docs a little. Added Since: for new macro.
9904
9905         * gst/gstobject.c: (gst_object_sink):
9906         * gst/gstpipeline.c: (gst_pipeline_change_state),
9907         (gst_pipeline_set_new_stream_time):
9908         * gst/gstpipeline.h:
9909         Improve debugging and docs.
9910
9911         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9912         Improve debugging.
9913
9914 2007-02-28  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstelement.c: (gst_element_message_full),
9917         (gst_element_set_locked_state), (gst_element_get_state_func),
9918         (gst_element_change_state):
9919         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9920         Documentation updates.
9921         Small code cleanups.
9922
9923         * gst/gstmessage.c: (gst_message_new_info),
9924         (gst_message_parse_info):
9925         * gst/gstmessage.h:
9926         API: gst_message_new_info()
9927         API: gst_message_parse_info()
9928         Add INFO message create and parse code.
9929
9930 2007-02-28  Wim Taymans  <wim@fluendo.com>
9931
9932         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9933         (bin_query_latency_done):
9934         Also report the live parameter of a latency query.
9935
9936 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9937
9938         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9939           Copy the current generic/states example from -base and adapt so
9940           we can use the exact same code everywhere.
9941           Check a STATES_IGNORE_ELEMENTS env var which can be used
9942           to ignore certain element factories for this test, which is
9943           what is being done in -base
9944         * tests/check/Makefile.am:
9945           Mention this environment variable.
9946
9947 2007-02-27  Wim Taymans  <wim@fluendo.com>
9948
9949         * docs/gst/gstreamer-sections.txt:
9950         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9951         (gst_bus_timed_pop), (gst_bus_pop):
9952         * gst/gstbus.h:
9953         API: gst_bus_timed_pop()
9954         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9955         message to arrive on the bus.
9956
9957         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9958         (gst_bus_suite):
9959         Two unit tests for new _timed_pop() function.
9960
9961 2007-02-23  Wim Taymans  <wim@fluendo.com>
9962
9963         * gst/gstpipeline.c: (gst_pipeline_change_state),
9964         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9965         Don't ref a NULL clock in _provide_clock_func().
9966         Don't allow an INVALID delay.
9967         Don't try to calculate base_time with an invalid start_time.
9968         Also distribute and notify a NULL clock when it was selected.
9969
9970         * tools/gst-launch.c: (event_loop):
9971         Don't crash when a NULL clock was selected in the pipeline.
9972
9973 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9974
9975         * docs/design/Makefile.am:
9976         * docs/design/draft-missing-plugins.txt:
9977         * docs/random/draft-missing-plugins.txt:
9978           Some small updates: update plugin system identifier prefix
9979           ('gstreamer.net' to 'gstreamer'), mention our new install
9980           API in libgstbaseutils rather than libgimme-codec, add
9981           reference to the online docs.
9982
9983 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * win32/common/config.h:
9986           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9987           use moap cl ci to only check in what is mentioned in the ChangeLog.
9988
9989 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * docs/gst/gstreamer-sections.txt:
9992         * gst/gstelement.h:
9993           Fix up documentation to link to the correct GstGError section.
9994           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9995
9996 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * tools/gst-launch.c: (event_loop):
9999           Make sure that we actually show the important message part of a
10000           warning message.
10001           No need to check if the gerror is not NULL to free; first of all
10002           g_free accepts NULL; and second the default error handler would
10003           segfault if gerror was NULL.
10004
10005 2007-02-21  Wim Taymans  <wim@fluendo.com>
10006
10007         * docs/gst/gstreamer-sections.txt:
10008         Removed docs as well.
10009
10010 2007-02-21  Wim Taymans  <wim@fluendo.com>
10011
10012         * gst/gstmessage.c: (gst_message_parse_duration):
10013         * gst/gstmessage.h:
10014         Remove new messages for release.
10015
10016 2007-02-20  Wim Taymans  <wim@fluendo.com>
10017
10018         * docs/design/part-gstghostpad.txt:
10019         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10020         (gst_ghost_pad_new_full):
10021         Make the ghostpad a parent of the internal pad again for better backward
10022         compatibility. Don't write code that relies on this however.
10023
10024         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10025         (gst_pad_link_check_hierarchy):
10026         Require that parents should be GstElements in the hierarchy check.
10027
10028 2007-02-20  Wim Taymans  <wim@fluendo.com>
10029
10030         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10031         (gst_bin_change_state_func), (bin_query_min_max_init),
10032         (bin_query_latency_fold), (bin_query_latency_done),
10033         (gst_bin_query):
10034         Improve debug info.
10035         Implement latency query.
10036
10037 2007-02-20  Wim Taymans  <wim@fluendo.com>
10038
10039         * docs/design/part-gstghostpad.txt:
10040         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10041         (gst_ghost_pad_internal_do_activate_push),
10042         (gst_ghost_pad_internal_do_activate_pull),
10043         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10044         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10045         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10046         Do not set the internal pad as a parent anymore so we can avoid
10047         hierarchy linking errors when the ghostpad has no parent yet. This also
10048         fixes failed activation because of unlinked internal pads, which in
10049         turn fixes the impossible case where you have to activate a pad before
10050         you can add it to a running element.
10051         Also fix the docs.
10052
10053         * gst/gstpad.c: (pre_activate), (post_activate),
10054         (gst_pad_set_active), (gst_pad_activate_pull),
10055         (gst_pad_activate_push), (gst_pad_check_pull_range):
10056         Add some more debug info.
10057         Mark activation mode in pre_activate so that we don't try to activate in
10058         endless loops. Fixes #385084.
10059
10060 2007-02-19  Wim Taymans  <wim@fluendo.com>
10061
10062         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10063         (gst_base_transform_check_get_range):
10064         Implement a checkgetrange function instead of relying on the default
10065         core behaviour that assumes we can operate in pull mode if we have a
10066         getrange function. First step at fixing #385084.
10067
10068 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10069
10070         * gst/gstchildproxy.h:
10071         * libs/gst/base/gstbasesink.h:
10072         * libs/gst/base/gstbasesrc.h:
10073         * libs/gst/base/gstbasetransform.h:
10074         More docs coverage and some ChangeLog surgery (add missing names)
10075
10076 2007-02-15  Wim Taymans  <wim@fluendo.com>
10077
10078         * docs/design/part-TODO.txt:
10079         * docs/design/part-activation.txt:
10080         * docs/design/part-block.txt:
10081         * docs/design/part-buffering.txt:
10082         * docs/design/part-clocks.txt:
10083         * docs/design/part-element-source.txt:
10084         * docs/design/part-events.txt:
10085         * docs/design/part-gstbin.txt:
10086         * docs/design/part-gstbus.txt:
10087         * docs/design/part-gstpipeline.txt:
10088         * docs/design/part-live-source.txt:
10089         * docs/design/part-messages.txt:
10090         * docs/design/part-overview.txt:
10091         * docs/design/part-qos.txt:
10092         * docs/design/part-query.txt:
10093         * docs/design/part-states.txt:
10094         * docs/design/part-trickmodes.txt:
10095         Some doc updates. Start renaming from stream_time to running_time where
10096         it was used wrongly.
10097
10098 2007-02-15  Wim Taymans  <wim@fluendo.com>
10099
10100         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10101         Answer LATENCY query.
10102
10103 2007-02-15  Wim Taymans  <wim@fluendo.com>
10104
10105         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10106         (GST_START_TEST):
10107         Improve debugging.
10108
10109 2007-02-15  Wim Taymans  <wim@fluendo.com>
10110
10111         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10112         (gst_pad_dispatcher):
10113         Improve debugging of default pad dispatcher and query functions.
10114
10115 2007-02-15  Wim Taymans  <wim@fluendo.com>
10116
10117         * docs/gst/gstreamer-sections.txt:
10118         Remove old unused method.
10119
10120 2007-02-13  Wim Taymans  <wim@fluendo.com>
10121
10122         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10123         Fix check
10124
10125 2007-02-13  Wim Taymans  <wim@fluendo.com>
10126
10127         * docs/design/part-seeking.txt:
10128         Some small update.
10129
10130         * gst/gstsegment.c: (gst_segment_set_seek):
10131         Revert old bogus change that should make seeking work again.
10132
10133 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10134
10135         * docs/random/ensonic/dynlink.txt:
10136         * docs/random/ensonic/interfaces.txt:
10137         * docs/random/ensonic/receipies.txt:
10138           Possible dynamic reconnection api, plus some type fixes the other two
10139           docs.
10140
10141 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10142
10143         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10144         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10145         Also check for an absolute path following file:// in the filesrc
10146         element. Remove redundant check and call g_path_is_absolute() on the
10147         unescaped location.
10148
10149 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10150
10151         * docs/design/draft-klass.txt:
10152           Add existing category analysis.
10153           
10154         * gst/gstcaps.c:
10155           Fix doc example, framerate is a fraction.
10156
10157 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10158
10159         * configure.ac:
10160         * docs/gst/Makefile.am:
10161         * docs/gst/gstreamer-sections.txt:
10162         * docs/libs/Makefile.am:
10163           Erm, forgot a bunch of --extra-dir.
10164
10165 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10166
10167         * configure.ac:
10168         * docs/gst/Makefile.am:
10169         * docs/libs/Makefile.am:
10170         * docs/plugins/Makefile.am:
10171           Add crossreferences to glib/gobject docs.
10172
10173 2007-02-12  Wim Taymans  <wim@fluendo.com>
10174
10175         * docs/design/draft-latency.txt:
10176         Small update.
10177
10178         * docs/libs/gstreamer-libs-sections.txt:
10179         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10180         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10181         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10182         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10183         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10184         (gst_base_sink_get_position), (gst_base_sink_query),
10185         (gst_base_sink_change_state):
10186         * libs/gst/base/gstbasesink.h:
10187         API: gst_base_sink_query_latency() to let subclasses query the upstream
10188         latency.
10189         API: gst_base_sink_get_latency() to let subclasses query the configured
10190         latency in the sink.
10191         Implement query and set latency.
10192         Update some docs.
10193         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10194         don't continue preroll when we are flushing. Fixes #405284.
10195
10196         * tests/check/pipelines/stress.c: (change_state_timeout),
10197         (quit_timeout), (GST_START_TEST), (stress_suite):
10198         Test for #405284.
10199
10200 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10201
10202         Patch by: René Stadler <mail at renestadler de>
10203
10204         * docs/gst/gstreamer-sections.txt:
10205         * gst/gsttaglist.c: (_gst_tag_initialize):
10206         * gst/gsttaglist.h:
10207           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10208
10209 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10210
10211         * docs/libs/Makefile.am:
10212           Fix path to core docs.
10213
10214         * gst/gstbin.c: (gst_bin_get_by_interface),
10215         (gst_bin_iterate_all_by_interface):
10216           Refix docs by also renaming 'interface' to 'iface' in implementation.
10217
10218         * docs/gst/gstreamer-sections.txt:
10219         * gst/gstcaps.c:
10220         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10221         * gst/gstchildproxy.h:
10222         * gst/gstelementfactory.c:
10223         * gst/gstpadtemplate.h:
10224         * libs/gst/controller/gstcontroller.c:
10225         (gst_controlled_property_new):
10226           Document more.
10227
10228 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10229
10230         * gst/gstbin.h:(gst_bin_get_by_interface),
10231         (gst_bin_iterate_all_by_interface):
10232         Replace interface parameter name by iface as interface is 
10233         a reserved keyword in Visual Studio for C++ projects so it removes
10234         a build error for application developpers using VS.
10235         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10236         Fix a bug on Windows in uri format check. Now the prefix checked
10237         is file:// and next we check if the path after file:// is absolute.
10238         * win32/common/libgstbase.def:
10239         * win32/common/libgstdataprotocol.def:
10240         * win32/common/libgstgstreamer.def:
10241         Add new exported functions.
10242
10243 2007-02-09  Andy Wingo  <wingo@pobox.com>
10244
10245         * tests/check/pipelines/simple-launch-lines.c
10246         (simple_launch_lines_suite, test_tee): Disable tee test until I
10247         have time to fix it :-(
10248
10249         * tests/check/Makefile.am (noinst_HEADERS): 
10250         * tests/check/libs/libsabi.c: 
10251         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10252         * tests/check/gst/gstabi.c: 
10253         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10254
10255         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10256         tests for push and pull tee behavior.
10257
10258         * plugins/elements/gsttee.h: 
10259         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10260         mark as deprecated as well as unimplemented. It was a crack idea.
10261         Add support for tee operating in pull mode, off by default.
10262
10263         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10264         normal-case logs down to LOG, raise errors to WARNING.
10265         (gst_registry_xml_read_cache): Don't log before calling a function
10266         that logs.
10267
10268         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10269         exit (registry finalize).
10270         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10271         DEBUG log when we emit signals that people don't even have the
10272         chance to connect to.
10273         (gst_registry_scan_path_level): Less logging in the normal case.
10274
10275 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10276
10277         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10278
10279         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10280         Correctly generate EOS for non-seekable files. We don't have a total
10281         length for them and would get an unexpected end of file if we only
10282         special-cased for regular files. (Fixes: #404569)
10283
10284 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10285
10286         * tests/check/elements/filesrc.c: (GST_START_TEST),
10287         (filesrc_suite):
10288         Add unit test for the GstURIHandler interface in filesrc. This also
10289         tests the newly added file://localhost/foo/bar support.
10290
10291 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10292
10293         * gst/gstelementfactory.h:
10294           The klass string is not a hierarchy. Add reference to the design doc
10295           for more information and common types.
10296
10297 2007-02-02  Wim Taymans  <wim@fluendo.com>
10298
10299         * gst/gstquery.c: (gst_query_new_latency):
10300         Remove old structure field.
10301
10302 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10303
10304         * tools/gst-launch.1.in:
10305           Give example for network streaming (#351998)
10306
10307 2007-02-02  Wim Taymans  <wim@fluendo.com>
10308
10309         * docs/gst/gstreamer-sections.txt:
10310         Add docs for new methods.
10311
10312         * gst/gstevent.c: (gst_event_new_latency),
10313         (gst_event_parse_latency):
10314         * gst/gstevent.h:
10315         Add new LATENCY event to configure latency in a pipeline.
10316         API: gst_event_new_latency
10317         API: gst_event_parse_latency
10318
10319         * gst/gstmessage.c: (gst_message_new_buffering),
10320         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10321         (gst_message_new_latency), (gst_message_parse_buffering),
10322         (gst_message_parse_lost_preroll):
10323         * gst/gstmessage.h:
10324         Added messages used in draft-latency.
10325         API: gst_message_new_lost_preroll
10326         API: gst_message_parse_lost_preroll
10327         API: gst_message_new_prerolled
10328         API: gst_message_new_latency
10329
10330         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10331         (gst_query_parse_latency):
10332         * gst/gstquery.h:
10333         Implemented new latency query as in design doc.
10334         API: gst_query_new_latency
10335         API: gst_query_set_latency
10336         API: gst_query_parse_latency
10337
10338 2007-02-02  Wim Taymans  <wim@fluendo.com>
10339
10340         * docs/design/draft-latency.txt:
10341         Slight redesign to allow for dynamic latency adjustments.
10342
10343         * docs/design/part-negotiation.txt:
10344         Fix some typos.
10345
10346 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10347
10348         reviewed by: Wim Taymans <wim@fluendo.com>
10349
10350         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10351         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10352         Allow file://localhost/foo/bar URLs and correctly fail for every other
10353         hostname that one sets. This was gnomevfssrc is linked for those if
10354         installed as it can handle it (#403172)
10355
10356 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10357
10358         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10359
10360         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10361         (unref_data), (gst_collect_pads_add_pad_full):
10362         * libs/gst/base/gstcollectpads.h:
10363         Don't put the previously added destroy notify in the GstCollectData
10364         struct as all it's padding is already used and we don't want to break
10365         ABI. Instead put in the pad's GObject data for now. This should be
10366         cleaned up for 0.11 (#402393).
10367
10368 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10369
10370         reviewed by: Wim Taymans <wim@fluendo.com>
10371
10372         * docs/libs/gstreamer-libs-sections.txt:
10373         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10374         (unref_data), (gst_collect_pads_add_pad),
10375         (gst_collect_pads_add_pad_full):
10376         * libs/gst/base/gstcollectpads.h:
10377         API: Add function to specify a destroy notification for custom
10378         GstCollectData when adding new pads in GstCollectPads (#402393).
10379
10380 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10381
10382         * po/sv.po:
10383           Update Swedish translation (#378255).
10384
10385 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10386
10387         * docs/design/draft-klass.txt:
10388           Fix the previous change, this is a list of categories and not a hierarchy.
10389
10390 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10391
10392         * docs/design/draft-klass.txt:
10393           Add info about how to get a list of used classes.
10394
10395 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10396
10397         * plugins/elements/gsttypefindelement.c:
10398         (gst_type_find_element_chain_do_typefinding),
10399         (gst_type_find_element_change_state):
10400           Don't leak found caps in chain function (no idea why that never
10401           showed up as a leak anywhere).
10402
10403 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10404
10405         * gst/gstplugin.h:
10406           Fix and expand GstPluginDesc API docs.
10407
10408 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10409
10410         * gst/gstcaps.c:
10411         * gst/gstelementfactory.c:
10412         * gst/gstpadtemplate.h:
10413           api doc fixes
10414
10415         * libs/gst/controller/gstcontroller.c:
10416         (gst_controlled_property_new):
10417         * tests/examples/controller/audio-example.c:
10418           comment fixes
10419
10420 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10421
10422         * configure.ac:
10423           comment about refining the xml deps
10424
10425         * docs/manuals.mak:
10426           comments about moving away from jade for docs
10427         
10428         * gst/gst.c:
10429           recommit the ifdefs to use the binary registry
10430         
10431         * gst/gstbin.c: (gst_bin_change_state_func):
10432           this break is obsolete
10433
10434         * gst/gstelementfactory.h:
10435           better GST_ELEMENT_DETAILS docs, add comment about translation
10436
10437         * gst/gstinfo.h:
10438           remove eol slash
10439
10440         * gst/gstobject.c: (gst_signal_object_get_type):
10441           add G_UNLIKELY as usual
10442
10443         * gst/gstpad.c: (gst_pad_event_default):
10444           add fall trhu comment
10445
10446         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10447         (gst_registry_binary_initialize_magic),
10448         (gst_registry_binary_save_string),
10449         (gst_registry_binary_save_pad_template),
10450         (gst_registry_binary_save_feature),
10451         (gst_registry_binary_save_plugin),
10452         (gst_registry_binary_write_cache),
10453         (gst_registry_binary_check_magic),
10454         (gst_registry_binary_load_pad_template),
10455         (gst_registry_binary_load_feature),
10456         (gst_registry_binary_load_plugin),
10457         (gst_registry_binary_read_cache):
10458           comment typo and formatting
10459
10460         * gst/gstutils.c: (gst_element_state_get_name),
10461         (gst_element_state_change_return_get_name):
10462           remove obsolete breaks
10463
10464         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10465           add FIXME 0.11 and remove cpp comment
10466
10467 2007-01-29  Edward Hervey  <edward@fluendo.com>
10468
10469         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10470         Fix print statement in an even more portable way.
10471
10472 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10473
10474         * docs/gst/gstreamer-sections.txt:
10475         * gst/gstutils.h:
10476           API: add GST_ROUND_DOWN_* macros (#401781).
10477
10478 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10479
10480         * docs/gst/gstreamer.types.in:
10481         * gst/gstregistry.c: (gst_registry_class_init):
10482           Document registry signals and make gtk-doc pick them up (#401381).
10483
10484 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10485
10486         * docs/pwg/building-testapp.xml:
10487           Add some audioconverts and audioresample to the pipeline, and some
10488           more comments and error handling.
10489
10490 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10491
10492         * docs/manual/manual.xml:
10493         * docs/pwg/pwg.xml:
10494           Fix typo (#400987).
10495
10496 2007-01-26  Wim Taymans  <wim@fluendo.com>
10497
10498         * gst/gstcaps.c: (gst_static_caps_get):
10499         Init caps flags too.
10500
10501 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10502
10503         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10504
10505         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10506         If not using mmap'ed files try to seek to the end instead of the
10507         start to determine whether we can seek at all. This fixes the case
10508         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10509         seeks for everything afterwards fail. Fixes #400656
10510
10511 2007-01-25  Wim Taymans  <wim@fluendo.com>
10512
10513         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10514         Add some refcount debugging.
10515         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10516         in multiple streaming threads.
10517
10518 2007-01-25  Wim Taymans  <wim@fluendo.com>
10519
10520         Patch by: David Schleef <ds at schleef dot org>
10521
10522         * docs/libs/gstreamer-libs-sections.txt:
10523         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10524         * libs/gst/base/gstadapter.h:
10525         API: gst_adapter_copy() that can reduce the amount of memcpy when
10526         getting data from the adapter. Fixes #388201.
10527
10528 2007-01-25  Edward Hervey  <edward@fluendo.com>
10529
10530         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10531         In print statements, "%x" is for guint. Fixes build on macosx.
10532
10533 2007-01-24  Edward Hervey  <edward@fluendo.com>
10534
10535         * plugins/elements/gstmultiqueue.c:
10536         (gst_multi_queue_loop):
10537         Small fix.
10538         (single_queue_overrun_cb), (single_queue_underrun_cb),
10539         (single_queue_check_full), (gst_single_queue_new):
10540         Implement single queue growth system.
10541         This uses the extra-size properties, and will grow single queues by
10542         that much if one goes full whereas there are others empty. This is
10543         called extra-mode in the code.
10544         When a single queue's levels go back below the initial max-size
10545         limits, it is no longer in extra-mode. This is to ensure we don't
10546         consume too much memory.
10547         Fixes #399875
10548
10549 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10550
10551         * gst/gst.c: (gst_init_get_option_group):
10552           Make warning about late g_thread_init() calls a bit more explicit,
10553           so that it's more obvious to application developers what they need
10554           to do if a user files a bug against their application.
10555
10556 2007-01-22  Edward Hervey  <edward@fluendo.com>
10557
10558         * plugins/elements/gstmultiqueue.c:
10559         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10560         Remove previous hack of unsetting the flushing flag for the source pad
10561         instead of activating it. Instead, fix the source pad activate function
10562         so that it no longer depends on having a parent set or not.
10563
10564 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10565
10566         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10567
10568         * docs/manual/basics-bus.xml:
10569           Fix example code, gst_element_unref() doesn't exist any longer.
10570
10571 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10572
10573         Patch by: Mark Nauwelaerts <manauw at skynet be>
10574
10575         * gst/gstpad.c:
10576           Fix two docs typoes (#399094).
10577
10578 2007-01-19  Edward Hervey  <edward@fluendo.com>
10579
10580         * docs/faq/gst-uninstalled:
10581         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10582         depending on libgstbaseutils can work in uninstalled environment.
10583
10584 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10585
10586         * gst/gsttaglist.h:
10587         * gst/gsttagsetter.c:
10588         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10589         statement for new tag.
10590
10591 2007-01-17  Edward Hervey  <edward@fluendo.com>
10592
10593         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10594         When dynamically creating single queues, activate sinkpad before adding
10595         it.
10596         We should be doing the same thing for the source pad, but we can't
10597         since it would call a method which needs the parent to be set in order
10598         to work propertly. Instead of activating the source pad, we just unset
10599         the flushing flag, which is the minimal requirement for adding a pad
10600         to an element in a state greater than READY.
10601
10602 2007-01-17  Edward Hervey  <edward@fluendo.com>
10603
10604         * docs/faq/gst-uninstalled:
10605         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10606         Mac OS X.
10607
10608 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10609
10610         * tests/check/gst/gstabi.c:
10611         * tests/check/gst/struct_hppa.h:
10612         * tests/check/libs/libsabi.c:
10613         * tests/check/libs/struct_hppa.h:
10614           Add ABI structs for HPPA (see #393796).
10615
10616 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10617
10618         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10619           Actually write ABI structs to the file specified in the GST_ABI
10620           environment variable, as the message we print claims we would.
10621
10622 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10623
10624         * tests/check/gst/gsttask.c:
10625           Fix header comment.
10626
10627 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * gst/gsttaglist.c: (_gst_tag_initialize):
10630           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10631           previous two entries.
10632
10633 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10634
10635         * docs/gst/gstreamer-sections.txt:
10636         * gst/gsttaglist.c: (_gst_tag_initialize):
10637         * gst/gsttaglist.h:
10638           Add tag support for beat-per-minute.
10639
10640 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10641
10642         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10643         (gst_registry_binary_initialize_magic),
10644         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10645         (gst_registry_binary_save_pad_template),
10646         (gst_registry_binary_save_feature),
10647         (gst_registry_binary_save_plugin),
10648         (gst_registry_binary_write_cache),
10649         (gst_registry_binary_check_magic),
10650         (gst_registry_binary_load_pad_template),
10651         (gst_registry_binary_load_feature),
10652         (gst_registry_binary_load_plugin),
10653         (gst_registry_binary_read_cache):
10654         * gst/gstregistrybinary.h:
10655           Use glib types, cleanup comments, impement interfaces and uri-types.
10656
10657 2007-01-13  Andy Wingo  <wingo@pobox.com>
10658
10659         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10660         getrange() to return buffers with other caps, while we fix
10661         demuxers and typefind, or otherwise change part-negotiation.txt.
10662
10663 2007-01-12  Andy Wingo  <wingo@pobox.com>
10664
10665         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10666         Factor start/stop into this private function instead of partially
10667         in activate functions and partially in the change_state function.
10668         Fixes setup before the element has changed from READY->PAUSED, as
10669         is the case in pull-mode pipelines.
10670         (gst_base_transform_sink_activate_push)
10671         (gst_base_transform_src_activate_pull): Refactor to use
10672         gst_base_transform_activate().
10673         (gst_base_transform_change_state): Removed, not needed any more.
10674
10675         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10676         Truncate before fixating.
10677         
10678         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10679         Don't set_caps() if the result of fixating is ANY, as it's not
10680         supported, and not necessary in the case of a link with no
10681         template caps on either side. Fixes tests/check/libs/basesrc in
10682         some pull-mode tests.
10683
10684         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10685         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10686         (gst_base_transform_src_activate_pull): 
10687         Track the activation mode.
10688         (gst_base_transform_setcaps): In pull mode, when activating the
10689         src pad, after activating the sink pad, activate the sink pad's
10690         peer, as discussed in part-negotiation.txt.
10691
10692         * libs/gst/base/gstbasesrc.h: 
10693         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10694         vmethod, as in basesink.
10695
10696         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10697
10698         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10699         mode, first proxy the setcaps to the peer pad.
10700         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10701         new fixate vmethod.
10702         (gst_base_sink_default_activate_pull): Rename from
10703         gst_base_sink_activate_pull.
10704         (gst_base_sink_negotiate_pull): New function, performs negotiation
10705         in pull mode before calling ::activate_pull().
10706         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10707         vmethod instead of the default implementation. I have no idea how
10708         this worked before. Negotiate before calling activate_pull.
10709
10710         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10711         sink pads in pull mode. In addition to being correct, fixes
10712         filesrc ! decodebin ! identity ! fakesink.
10713         (gst_pad_get_range, gst_pad_pull_range): Don't call
10714         gst_pad_set_caps() if the caps changes; instead error out with
10715         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10716
10717 2007-01-12  Andy Wingo  <wingo@pobox.com>
10718
10719         * docs/design/part-negotiation.txt: Update with more policy.
10720
10721 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10722
10723         * libs/gst/check/gstbufferstraw.h:
10724         * libs/gst/check/gstcheck.h:
10725           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10726           belongs.
10727
10728 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10729
10730         * tests/check/Makefile.am:
10731         * tests/check/gst/.cvsignore:
10732         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10733         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10734         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10735         (GST_START_TEST), (gst_tag_setter_suite):
10736           Add minimal unit test for beforementioned GstTagSetter bug.
10737
10738 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10739
10740         Patch by: René Stadler <mail at renestadler dot de>
10741
10742         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10743           gst_tag_list_merge() returns a new list, so it's not the best idea
10744           to ingore its return value. Effectively meant that tags could only
10745           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10746           Also add function guard to require a non-NULL taglist as input (has
10747           always been so due to gst_tag_list_copy(), just making it explicit).
10748
10749 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10750
10751         * docs/random/draft-missing-plugins.txt:
10752           Some additions: mention new API that is supposed to be used at the
10753           various stages; short blob about new gst-inspect introspection
10754           option; mention potential future problem with plugins that have
10755           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10756
10757 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10758
10759         * tools/gst-inspect.c:
10760         (print_plugin_automatic_install_info_codecs),
10761         (print_plugin_automatic_install_info_protocols),
10762         (print_plugin_automatic_install_info), (main):
10763         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10764         introspect plugin files and get machine-parsable output that corresponds
10765         to the last bit of the missing-plugin installer string (small gotcha:
10766         doesn't take into account ranks).
10767
10768 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10769
10770         * configure.ac:
10771         * docs/gst/gstreamer-sections.txt:
10772         * gst/Makefile.am:
10773         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10774         (gst_registry_lookup_locked):
10775         * gst/gstregistry.h:
10776         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10777         (gst_registry_binary_initialize_magic),
10778         (gst_registry_binary_save_string),
10779         (gst_registry_binary_save_pad_template),
10780         (gst_registry_binary_save_feature),
10781         (gst_registry_binary_save_plugin),
10782         (gst_registry_binary_write_cache),
10783         (gst_registry_binary_check_magic),
10784         (gst_registry_binary_load_pad_template),
10785         (gst_registry_binary_load_feature),
10786         (gst_registry_binary_load_plugin),
10787         (gst_registry_binary_read_cache):
10788         * gst/gstregistrybinary.h:
10789         * gst/gstregistryxml.c: (load_feature),
10790         (gst_registry_xml_read_cache):
10791           commit binary registry (disabled by default, see #359653)
10792
10793 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10794
10795         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10796           Fix 'make check' too.
10797
10798 2007-01-10  Andy Wingo  <wingo@pobox.com>
10799
10800         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10801         notes.
10802         
10803         * docs/design/part-negotiation.txt: Update with, um, one way that
10804         pull-mode negotiation might work?
10805
10806         * gst/gstpad.h: 
10807         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10808         that the pad must be a src pad; makes sense to call it the other
10809         way in pull mode, and the logic is symmetric anyway.
10810
10811 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10812
10813         * plugins/elements/gstfilesink.c:
10814           Include <stdio.h> for fseeko().
10815
10816 2007-01-10  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/gstevent.c:
10819         * gst/gstevent.h:
10820         Reserve LATENCY event.
10821
10822 2007-01-09  Wim Taymans  <wim@fluendo.com>
10823
10824         * docs/design/draft-latency.txt:
10825         Updates.
10826
10827 2007-01-09  Wim Taymans  <wim@fluendo.com>
10828
10829         * docs/design/draft-latency.txt:
10830         Updates.
10831
10832         * gst/gstelement.h:
10833         * gst/gststructure.c:
10834         * gst/gsttrace.c:
10835         Small typo fixes.
10836
10837 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10838
10839         * tests/check/.cvsignore:
10840           Ignore test-registry.xml as well.
10841
10842 2007-01-09  Wim Taymans  <wim@fluendo.com>
10843
10844         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10845         unref data at the end when we are done with the pad.
10846
10847 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10848
10849         * docs/gst/gstreamer-sections.txt:
10850         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10851         (init_post), (gst_deinit), (gst_update_registry):
10852         * gst/gst.h:
10853           API: add gst_update_registry() (#391296).
10854
10855         * tests/check/Makefile.am:
10856         * tests/check/gst/gstregistry.c:
10857         * tests/check/gst/.cvsignore:
10858           Simple unit test for the above.
10859
10860 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10861
10862         * gst/gstregistry.c: (gst_registry_scan_path_level):
10863           Plugin extension on HP-UX is .sl, add that to the list of approved
10864           plugin extensions (see #393796).
10865
10866         * tests/check/gst/gstpad.c: (GST_START_TEST):
10867           ulong => gulong. Fixes compilation with HP-UX compiler.
10868
10869         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10870           Fix compilation if valgrind headers are not available.
10871
10872 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10873
10874         * win32/common/libgstreamer.def: 
10875           Add new exported function.
10876         * win32/vs6/libgstbase.dsp: 
10877           Add gstdataqueue.c to the build.
10878         * win32/vs6/libgstcoreelements.dsp:
10879           Add gstmultiqueue.c to the build.
10880         
10881 2007-01-06  Andy Wingo  <wingo@pobox.com>
10882
10883         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10884         activate_pull(), providing for a way to specialize the process of
10885         spawning a thread to pull on the sink pad. There is a default
10886         implementation.
10887
10888         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10889         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10890         (gst_base_sink_init): Renamed pad activation functions (inserting
10891         "_pad" in their names). Refactor to use the new activate_pull
10892         vmethod, as appropriate.
10893         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10894         default activate_pull function to start a task pulling from the
10895         sink pad, as before.
10896
10897         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10898         on the pads if necessary, as in push()/chain(). Update docs.
10899         Shouldn't affect existing pull() usage as it is currently only
10900         being used on buffers without caps.
10901
10902 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10903
10904         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10905         (init_pre):
10906           Call g_thread_init() first thing in gst_init() / gst_check_init().
10907           When initialisation is done via gst_init_get_option_group() and
10908           GOption parsing, issue a warning if the GLib thread system has not
10909           been initialised yet by the time gst_init_get_option_group() is
10910           called, as it's quite likely other GLib functions such as
10911           g_option_context_new() have been called already then, and
10912           g_thread_init() must be called before any other GLib function. The
10913           application in question must be fixed in that case, since memory
10914           corruption might happen otherwise.
10915           We issue the warning because even if the GLib folks decide to work
10916           around the problem on their end in future, this is still an issue
10917           with all GLib versions >= 2.10.0, so we should warn until we depend
10918           on a GLib version we know to be safe.
10919           Update documentation as well.
10920           Closes bug #391278.
10921
10922 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10923
10924         * tools/gst-inspect.c: (main):
10925         * tools/gst-launch.c: (main):
10926         * tools/gst-typefind.c: (main):
10927         * tools/gst-xmlinspect.c: (main):
10928           Call g_thread_init() really really early, before any other GLib
10929           function (see #342564 and recent discussion on gtk-devel-list).
10930
10931 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10932
10933         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10934
10935         * gst/gst_private.h:
10936         * gst/gstconfig.h.in:
10937         * gst/gstinfo.h:
10938           On win32, all the __declspec stuff for symbol exporting is
10939           apparently only needed with MSVC, but doesn't work with MingW.
10940           Fixes compilation with MingW and #391909.
10941
10942 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10943
10944         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10945           Change some GST_ERROR_OBJECT that aren't really errors to
10946           GST_WARNING_OBJECT in order to reduce terminal spam.
10947
10948 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10949
10950         * tests/check/Makefile.am:
10951           disable test again, as there seem to be still race problems
10952
10953 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10954
10955         * tests/check/Makefile.am:
10956         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10957         (GST_START_TEST), (queue_suite):
10958           enable queue test again, add tests for the leaky behaviour
10959
10960 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10961
10962         * configure.ac:
10963         * tests/examples/Makefile.am:
10964           Compile adapter test/example only if the required headers are
10965           available (fixes #391915).
10966
10967 2007-01-01  David Schleef  <ds@schleef.org>
10968
10969         * gst/gstplugin.c:
10970           Restore the previous signal handler for SIGSEGV instead of
10971           setting to default, since we may have stolen it away from
10972           someone.  (i.e., Mono)
10973
10974 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10975
10976         * docs/random/draft-missing-plugins.txt:
10977           Some small additions and clarifications.
10978
10979 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10980
10981         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10982           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10983           since that can lead to random memory corruptions and crashes
10984           (may or may not be related to #383244, #386711, and #386711).
10985
10986 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10987
10988         * tests/check/.cvsignore:
10989         * tests/check/Makefile.am:
10990           sync .cvsignome and CLEANFILES
10991
10992 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10993
10994         * tests/check/Makefile.am:
10995           fix distcheck
10996
10997 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10998
10999         * docs/design/part-states.txt:
11000           two tiny additional comments
11001         
11002         * gst/gststructure.c:
11003           doc fixing
11004
11005         * tests/check/Makefile.am:
11006         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11007         (GST_START_TEST):
11008           disable test for now, unless it gets fixed
11009
11010 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11011
11012         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11013         (GST_START_TEST):
11014           fix race in underrun test
11015
11016 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11017
11018         * tests/check/elements/.cvsignore:
11019           ignore more
11020
11021         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11022         (GST_START_TEST):
11023           try to narrow test failure
11024
11025 2006-12-21  David Schleef  <ds@schleef.org>
11026
11027         * plugins/elements/gstfakesrc.c:
11028           Use g_random_int_range(), since it produces better random
11029           numbers in a range than almost-correct floating point code.
11030
11031 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11032
11033         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11034         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11035         (gst_check_teardown_sink_pad):
11036           do not automatically (de)activate pads
11037
11038         * tests/check/Makefile.am:
11039         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11040         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11041           add new, yet simple tests for queue
11042
11043         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11044         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11045         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11046         (GST_START_TEST):
11047         * tests/check/elements/identity.c: (cleanup_identity):
11048           consistent pad (de)activation
11049
11050 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11051
11052         Patch by: Sebastian Dröge  <slomo ubuntu com>
11053
11054         * libs/gst/base/gstcollectpads.c:
11055           Fix two doc typos (#387866).
11056
11057 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * docs/manual/advanced-dparams.xml:
11060           Fix typo (g_object_control_properties() doesn't exist).
11061
11062 2006-12-19  Edward Hervey  <edward@fluendo.com>
11063
11064         * gst/gstsegment.c: (gst_segment_set_seek):
11065         Fine tune the cases where the segment start/stop values are really
11066         updated.
11067         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11068         Add tests for the return values of gst_segment_set_seek().
11069
11070 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11071
11072         * gst/gst.c:
11073           Docs typo fix.
11074
11075         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11076         (gst_queue_init):
11077           Fix incorrect documentation and flesh it out a bit more.
11078           Set default values for the max properties on the GParamSpec as well,
11079           so it shows up correctly in gst-inspect.
11080
11081 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11082
11083         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11084           Correct docs of queue, add more detail and crosslink it more.
11085
11086 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11087
11088         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11089           Print additional debug info when the stream isn't perfectly
11090           timestamped; don't try to use invalid durations.
11091
11092 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * docs/design/Makefile.am:
11095           Dist new design docs.
11096
11097 2006-12-16  Wim Taymans  <wim@fluendo.com>
11098
11099         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11100
11101         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11102         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11103         (gst_collect_pads_stop), (gst_collect_pads_event),
11104         (gst_collect_pads_chain):
11105         * libs/gst/base/gstcollectpads.h:
11106         Add refcounting to the collectpads data so we can track when it's safe
11107         to free the data. Fixes #383382.
11108
11109 2006-12-15  Wim Taymans  <wim@fluendo.com>
11110
11111         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11112         (gst_collect_pads_remove_pad):
11113         Automatically activate/deactivate pads when they are added to a
11114         started/stoped collectpads.
11115
11116 2006-12-15  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/gstelement.c: (gst_element_add_pad):
11119         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11120         * gst/gstpad.c: (gst_pad_init):
11121         Set pads to FLUSHING when they are created. Check, warn and fix when a
11122         demuxer adds an inactive pad to itself when running. Fixes #339326.
11123
11124 2006-12-15  Wim Taymans  <wim@fluendo.com>
11125
11126         * gst/gstelement.c: (gst_element_class_init),
11127         (gst_element_default_send_event), (gst_element_send_event),
11128         (gst_element_default_query), (gst_element_query):
11129         Expose default element send_event and query handling as vmethods that
11130         subclasses can chain up to.
11131
11132 2006-12-15  Wim Taymans  <wim@fluendo.com>
11133
11134         * gst/gstelement.c: (gst_element_set_state_func):
11135         Small documentation fixes.
11136
11137 2006-12-15  Wim Taymans  <wim@fluendo.com>
11138
11139         * docs/design/draft-latency.txt:
11140         Checked in draft for handling latency in pipelines.
11141
11142 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11143
11144         * Makefile.am:
11145         * gstreamer.doap:
11146         * gstreamer.spec.in:
11147           adding .doap file
11148
11149 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11150
11151         * gst/gst.c: (init_pre), (init_post):
11152           init_pre() and init_post() might be called via our GOptionGroup or
11153           from gst_init(), and we should skip both of them if we've already
11154           been initialised, otherwise we will init some things twice or add
11155           two default log functions.
11156
11157 2006-12-13  Edward Hervey  <edward@fluendo.com>
11158
11159         * docs/manual/basics-bus.xml:
11160         No, gst_main_loop does not exist. Its g_main_loop.
11161         Discovered by somebody who abused the copy-paste technique of coding :)
11162
11163 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11164
11165         * gst/gstghostpad.c:
11166           Log ghostpad debug stuff to the GST_PADS category as well rather
11167           than just to the default category.
11168
11169 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11170
11171         * configure.ac:
11172         * gst/gst.c: (init_pre):
11173           Add some basic system details such as OS and architecture
11174           to the debug output if possible, courtesy of uname().
11175
11176 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11177
11178         * docs/gst/running.xml:
11179           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11180           environment variables.
11181
11182 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11183
11184         * tests/check/gst/gstbin.c: (GST_START_TEST):
11185         It is acceptable to have a refcount of 2 or 3 at this point in the
11186         test, because the pipeline might be just posting its state_change
11187         message. The next line then waits for that message to appear using
11188         bus_poll, so that should be fine too.
11189
11190 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11191
11192         * gst/gst.c: (ensure_current_registry_forking):
11193         Ignore EINTR when reading from the child registry pipe.
11194         Explicitly ignore the return value from close, since it makes no
11195         difference.
11196
11197         * gst/gstminiobject.c: (gst_mini_object_ref),
11198         (gst_mini_object_unref):
11199         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11200
11201         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11202         When removing cached plugins, remove their features too, so they're
11203         not visible after they've disappeared.
11204
11205         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11206         In the unlikely case that we are linking pads with no parents, don't
11207         crash trying to get the non-existent parent bin.
11208
11209         * gst/parse/grammar.y:
11210         Output debug in the PIPELINE category
11211
11212 2005-03-08  Wim Taymans  <wim@fluendo.com>
11213
11214         Patch by: René Stadler <mail at renestadler dot de>
11215
11216         * gst/gstclock.c: (gst_clock_new_periodic_id):
11217         Reject invalid clock times for interval of periodic ids.
11218         Fixes ##383506.
11219
11220 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11221
11222         * gst/gstelementfactory.c: (gst_element_factory_create):
11223         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11224         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11225         * tools/gst-inspect.c: (print_element_info):
11226         Fix refcounting of gst_plugin_feature_load to match the docs. 
11227         Fixes: #380129
11228
11229 2006-12-07  Wim Taymans  <wim@fluendo.com>
11230
11231         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11232         (gst_base_sink_get_position):
11233         Improve debugging of events.
11234
11235 2006-12-07  Wim Taymans  <wim@fluendo.com>
11236
11237         Patch by: René Stadler <mail at renestadler dot de>
11238
11239         * gst/gstclock.c: (gst_clock_id_wait):
11240         Make period ids add the interval to the origial requested time instead
11241         of the possibly updated time which can be wrong when there are multiple
11242         waiters for the same id. Fixes #382592.
11243
11244         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11245         (gst_system_clock_id_wait_jitter_unlocked),
11246         (gst_system_clock_id_wait_jitter):
11247         Fix restart in the async notify thread when an async entry is added to
11248         the front of the list. Fixes #381492. 
11249
11250         * tests/check/gst/gstsystemclock.c: (store_callback),
11251         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11252         Added test for multiple async waits.
11253         Added test for async wait order.
11254
11255 2006-12-07  Wim Taymans  <wim@fluendo.com>
11256
11257         * gst/gstbin.c: (gst_bin_query):
11258         Add some more docs about the POSITION query.
11259
11260 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11261
11262         * configure.ac:
11263         Bump version nano - back to CVS.
11264
11265 === release 0.10.11 ===
11266
11267 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11268
11269         * configure.ac:
11270           releasing 0.10.11, "Love never runs on time"
11271
11272 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11273
11274         * win32/common/libgstbase.def:
11275         * win32/common/libgstreamer.def:
11276         * win32/vs8/libgstbase.vcproj:
11277         * win32/vs8/libgstcoreelements.vcproj:
11278         * win32/vs8/libgstreamer.vcproj:
11279         Fix compilation on win32 under VS8
11280         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11281         Partially fixes #381175
11282
11283 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11284
11285         * gst/gstvalue.c: (gst_value_compare_fraction):
11286         If someone is foolish enough to compare 2 fractions with denominator =
11287         0, return UNORDERED rather than aborting.
11288
11289 2006-11-28  Edward Hervey  <edward@fluendo.com>
11290
11291         * libs/gst/base/Makefile.am:
11292         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11293         (gst_data_queue_base_init), (gst_data_queue_class_init),
11294         (gst_data_queue_init), (gst_data_queue_new),
11295         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11296         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11297         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11298         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11299         (gst_data_queue_set_flushing), (gst_data_queue_push),
11300         (gst_data_queue_pop), (gst_data_queue_drop_head),
11301         (gst_data_queue_set_property), (gst_data_queue_get_property):
11302         * libs/gst/base/gstdataqueue.h:
11303         New GstDataQueue object for threadsafe queueing. Most useful for
11304         elements that need some queueing functionnality.
11305         * docs/libs/gstreamer-libs-docs.sgml:
11306         * docs/libs/gstreamer-libs-sections.txt:
11307         Insert documentation for GstDataQueue
11308         * plugins/elements/Makefile.am:
11309         * plugins/elements/gstelements.c:
11310         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11311         (gst_multi_queue_class_init), (gst_multi_queue_init),
11312         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11313         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11314         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11315         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11316         (gst_multi_queue_loop), (gst_multi_queue_chain),
11317         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11318         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11319         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11320         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11321         (wake_up_next_non_linked), (compute_next_non_linked),
11322         (single_queue_overrun_cb), (single_queue_underrun_cb),
11323         (single_queue_check_full), (gst_single_queue_new):
11324         * plugins/elements/gstmultiqueue.h:
11325         New multiqueue element, using GstDataQueue. Used for queuing multiple
11326         streams.
11327         Closes #344639 and #347785
11328
11329 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11330
11331         * docs/pwg/advanced-types.xml:
11332           add more missing type details
11333
11334         * tools/gst-run.c: (main):
11335           remove unused variable
11336
11337 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11338
11339         * docs/libs/Makefile.am:
11340         * docs/libs/gstreamer-libs.types:
11341           add types of base classes to enable gobject specific stuff in the docs
11342
11343         * docs/random/ensonic/embedded.txt:
11344           more ideas about isolating platform specific things
11345
11346 2006-11-20  Wim Taymans  <wim@fluendo.com>
11347
11348         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11349
11350         * libs/gst/check/gstcheck.h:
11351         Fix compilation and running against 0.9.4. Fixes #377332.
11352
11353 2006-11-20  Wim Taymans  <wim@fluendo.com>
11354
11355         * gst/gstsegment.c: (gst_segment_set_seek),
11356         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11357         (gst_segment_to_running_time):
11358         Fix boundary checking in to_running_time() and to_stream_time().
11359         Fixes #377183.
11360
11361         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11362         stream and running time can now be calculated for the complete
11363         clipped segment.
11364
11365 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11366
11367         * gst/gstpad.c: (gst_pad_push_event):
11368           Can't access event structure after giving away ownership of
11369           the event.
11370
11371 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11372
11373         * docs/random/ensonic/embedded.txt:
11374         * docs/random/ensonic/profiling.txt:
11375         * docs/random/ensonic/receipies.txt:
11376           more thinking
11377
11378 2006-11-13  Wim Taymans  <wim@fluendo.com>
11379
11380         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11381
11382         * gst/gstpad.c:
11383         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11384
11385 2006-11-13  Wim Taymans  <wim@fluendo.com>
11386
11387         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11388
11389         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11390         Store new length in segment duration so we don't keep on calling the
11391         potentially expensize get_size() call. Fixes #370865.
11392
11393 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11394
11395         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11396
11397         * win32/common/libgstreamer.def:
11398           Add two missing symbols (#366492).
11399
11400 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11401
11402         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11403         (gst_adapter_take_buffer):
11404         Fix format string to use all its arguments.
11405         Remove useless >= check on a guint
11406
11407 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11408
11409         * tests/examples/adapter/.cvsignore:
11410         Ignore build file as commanded by the build-bot
11411
11412 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11413
11414         * tests/examples/adapter/Makefile.am:
11415         * tests/examples/adapter/adapter_test.c: (run_test_take),
11416         (run_test_take_buffer), (run_tests), (main):
11417
11418         Add new files from the previous commit
11419
11420 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11421
11422         * Makefile.am:
11423         * configure.ac:
11424         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11425         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11426         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11427         * libs/gst/base/gstadapter.h:
11428         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11429         (GST_START_TEST), (gst_adapter_suite):
11430         * tests/examples/Makefile.am:
11431         Do some optimisation work in GstAdapter to avoid copies in more cases.
11432         It could still do slightly better by merging buffers when
11433         gst_buffer_is_span_fast is true, but is already faster. 
11434
11435         Also, avoid traversing a single-linked list to append each incoming 
11436         buffer inside the adapter.
11437
11438         Add simple test app that times the adapter behaviour in different
11439         situations, and extend the unit test to check that bytes enter and
11440         exit the adapter in their original order.
11441
11442 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11443
11444         * docs/random/draft-missing-plugins.txt:
11445           Update: use element message instead of adding a new message
11446           type to the core; don't provide GStreamer API to initiate the
11447           plugin download, just provide API to compose the strings needed
11448           and let an external libgimmestuff handle the rest.
11449
11450 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11451
11452         * tools/gst-inspect.c: (print_element_properties_info):
11453         Print a string instead of 'unknown type' for GValueArray properties
11454
11455 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11456
11457         * docs/random/draft-missing-plugins.txt:
11458         More small fixes.
11459
11460 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11461
11462         * tests/examples/typefind/typefind.c: (type_found), (main):
11463           Make typefind element example work again (#371894); add a
11464           license header.
11465
11466 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11467
11468         * docs/random/draft-missing-plugins.txt:
11469           Commit initial draft about how to deal with missing plugins,
11470           needs work (API too).
11471
11472 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11473
11474         * docs/pwg/advanced-types.xml:
11475           documents the new caps elements (see #363118)
11476
11477 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11478
11479         * gst/gstplugin.c: (gst_plugin_load_file):
11480         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11481         (gst_file_src_map_region), (gst_file_src_start):
11482         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11483         (gst_file_index_commit):
11484           Use g_strerror() instead of strerror() - we want UTF-8.
11485
11486 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11487
11488         Patch by: Peter Kjellerstedt <pkj at axis com>
11489
11490         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11491           Another printf fix (#371493).
11492
11493 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11494
11495         * tests/check/gst/gsttag.c:
11496           relicence (okay with author=company)
11497
11498 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11499
11500         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11501         (gst_pad_push_event):
11502           Enhance debug and improve docs
11503         
11504         * gst/gsturi.c:
11505           Fix docs
11506
11507 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11508
11509         * docs/random/ensonic/distributed.txt:
11510         * docs/random/ensonic/profiling.txt:
11511           more ideas
11512
11513 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11514
11515         * docs/gst/gstreamer-sections.txt:
11516           add new API and fix the build
11517           
11518         * gst/gstbin.c: (gst_bin_recalc_state):
11519         * gst/gstelement.c: (gst_element_message_full),
11520         (gst_element_get_state_func), (gst_element_set_state_func):
11521           use new API and improve logging
11522         
11523         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11524         * gst/gstutils.h:
11525           API: add function to get StateChangereturn names to improve logs 
11526
11527 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11530           I'm considering shooting the next person to put strerror stuff
11531           in the translateable part of the message.
11532
11533 2006-11-03  Wim Taymans  <wim@fluendo.com>
11534
11535         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11536         Get the type and printf conversion specifiers right.
11537
11538 2006-11-03  Wim Taymans  <wim@fluendo.com>
11539
11540         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11541
11542         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11543         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11544         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11545         Some small cleanups. Improve debugging.
11546         * gst/gstpad.h:
11547         Signal all waiting threads with a broadcast instead of just one.
11548         Fixes #369942.
11549
11550 2006-11-03  Wim Taymans  <wim@fluendo.com>
11551
11552         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11553         (gst_fd_src_create):
11554         Add some debugging. 
11555         Only update fd when it's different from the old.
11556
11557 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11558
11559         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11560           Printf fixes for PPC/OSX, take two (#369366).
11561
11562 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11563
11564         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11565
11566         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11567         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11568         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11569           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11570           don't cast to long long for portability reasons, but use
11571           GLib's types instead.
11572
11573 2006-10-30  Michael Smith  <msmith@fluendo.com>
11574
11575         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11576           Get the arguments to lseek() the right way around.
11577           Fixes 367677.
11578
11579 2006-10-30  Wim Taymans  <wim@fluendo.com>
11580
11581         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11582
11583         * gst/gstinfo.h:
11584         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11585
11586 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11587
11588         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11589
11590         * docs/design/part-MT-refcounting.txt:
11591         * docs/random/wtay/capsnego2-docs:
11592         * gst/gstclock.c:
11593         * gst/gstxml.c:
11594           Typo fixes (#366212).
11595
11596 2006-10-28  Wim Taymans  <wim@fluendo.com>
11597
11598         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11599
11600         * gst/gst.c:
11601         * win32/common/libgstbase.def:
11602         * win32/common/libgstreamer.def:
11603         * win32/vs8/libgstbase.vcproj:
11604         * win32/vs8/libgstcontroller.vcproj:
11605         Add needed entries in .def files.
11606         Use HAVE_UNISTD_H.
11607         Rearrange def files in vs8 solutions. Fixes #366286.
11608
11609 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11610
11611         * win32/common/gstconfig.h:
11612           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11613           hand-made win32 gstconfig.h. Fixes #366321.
11614
11615 2006-10-27  Wim Taymans  <wim@fluendo.com>
11616
11617         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11618         (gst_ghost_pad_new_full):
11619         Make acceptcaps return TRUE when we don't have a target, just like
11620         setcaps does.
11621
11622 2006-10-27  Wim Taymans  <wim@fluendo.com>
11623
11624         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11625         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11626
11627 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11628
11629         * gst/gststructure.c: (gst_structure_id_set_value):
11630           If someone tries to set a non-UTF8 string field on a structure,
11631           don't just print a warning, but also ignore the request and do
11632           not change/add that field to the structure.
11633
11634         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11635           Test for the above.
11636
11637 2006-10-25  David Schleef  <ds@schleef.org>
11638
11639         * gst/gstinfo.c:
11640           g_hash_table_insert() needs a cast to a non-const pointer duh.
11641
11642 2006-10-25  David Schleef  <ds@schleef.org>
11643
11644         * gst/gstinfo.c:
11645         * gst/gstinfo.h:
11646           Change name parameter of _gst_debug_register_funcptr to const
11647           to reflect the constness of its use in the function as well
11648           as to quiet a gcc warning.
11649
11650 2006-10-25  Edward Hervey  <edward@fluendo.com>
11651
11652         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11653         Don't push the buffer if it's empty.
11654         Closes #363095
11655
11656 2006-10-24  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/gstevent.h:
11659         Add small comment.
11660
11661         * libs/gst/base/gstbasetransform.c:
11662         (gst_base_transform_sink_eventfunc):
11663         Debug segment values *after* updating them as this is more
11664         interesting.
11665
11666 2006-10-23  Wim Taymans  <wim@fluendo.com>
11667
11668         * docs/design/part-events.txt:
11669         Update some docs.
11670
11671         * docs/design/part-block.txt:
11672         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11673         (gst_pad_push_event):
11674         Revert BLOCKING patch, it tries to be smart without really having a
11675         clear idea what or how. So, now we discard all FLUSHING events again on
11676         a blocking pad. Should fix gnonlin again.
11677
11678 2006-10-23  Wim Taymans  <wim@fluendo.com>
11679
11680         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11681
11682         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11683         (gst_base_src_start), (gst_base_src_activate_push):
11684         Make sure size is always initialized. Fixes #364388.
11685
11686 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11687
11688         * docs/random/ensonic/distributed.txt:
11689           add some ideas about doing distributed processing
11690
11691         * docs/random/ensonic/profiling.txt:
11692           get_rusage look promising
11693
11694 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11695
11696         * docs/manual/basics-helloworld.xml:
11697           Add a cast in example to fix compile warning
11698
11699 2006-10-18  Wim Taymans  <wim@fluendo.com>
11700
11701         * gst/gstsegment.c: (gst_segment_set_last_stop),
11702         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11703         Relax arg checking again, -1 is allowed.
11704
11705 2006-10-18  Wim Taymans  <wim@fluendo.com>
11706
11707         * gst/gstsegment.c: (gst_segment_set_last_stop),
11708         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11709         _set_last_stop() must be with a value != -1
11710         A _TYPE_SET to -1 means seek to 0.
11711         Calc last_stop correctly for negative rates.
11712         Make sure we work with positive durations when updating a segment.
11713
11714 2006-10-18  Wim Taymans  <wim@fluendo.com>
11715
11716         * docs/design/part-live-source.txt:
11717         * gst/gstclock.h:
11718         Small docs fixes.
11719
11720 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11721
11722         * gst/gstbuffer.h:
11723           Add an explicit cast to GstBuffer** to keep old code that added an
11724           explicit cast to GstMiniObject** for gst_mini_object_replace()
11725           compiling without warning.
11726
11727 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11728
11729         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11730           check for validity of dates
11731
11732 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11733
11734         * docs/gst/gstreamer-sections.txt:
11735           Forgot this one, makes gtk-doc shut up.
11736
11737 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11738
11739         Patch by: Peter Kjellerstedt <pkj at axis com>
11740
11741         * gst/gstobject.h:
11742           Don't define xmlNodePtr to gpointer if the core was built with
11743           --disable-loadsave and --disable-registry, this will break
11744           applications that want to use libxml2 but are buildling against a
11745           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11746           instead so we don't have to mess with the libxml2 namespace
11747           (#361675).
11748
11749 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11750
11751         * gst/gstbuffer.h:
11752           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11753           type-punned pointer warnings.
11754
11755 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11756
11757         * gst/gstelement.h:
11758           Add casts to the correct return type to state <=> state transition
11759           macros.
11760
11761 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11762
11763         * docs/design/part-live-source.txt:
11764           describe howto handle latency
11765         
11766         * docs/random/ensonic/profiling.txt:
11767           more ideas
11768
11769         * tools/gst-plot-timeline.py:
11770           fix log parsing for solaris, remove unused function
11771
11772 2006-10-16  Wim Taymans  <wim@fluendo.com>
11773
11774         * docs/design/part-trickmodes.txt:
11775         * gst/gstevent.c:
11776         Update some docs regarding reverse playback.
11777
11778 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11779
11780         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11781
11782         * win32/vs8/grammar.vcproj:
11783           Error out with a warning if glib-genmarshal.exe is not in path,
11784           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11785
11786 2006-10-13  Wim Taymans  <wim@fluendo.com>
11787
11788         * gst/gstsegment.c: (gst_segment_set_seek):
11789         When seeking to stop -1, set last_stop (current position) to the
11790         duration of the segment.
11791
11792 2006-10-13  Wim Taymans  <wim@fluendo.com>
11793
11794         * gst/gstelement.h:
11795         Clarify _NO_PREROLL a bit more.
11796
11797         * gst/gstevent.c:
11798         Fix docs.
11799
11800         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11801         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11802         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11803         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11804         due to wrong locking order. Fixes #361769.
11805         Remove some redundant/misplaced checks in pad_block.
11806
11807         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11808         For negative rates, count backwards from the duration.
11809
11810 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11811
11812         * gst/gsterror.c: (_gst_library_errors_init):
11813           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11814           up with something better).
11815
11816 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11817
11818         * win32/vs6/libgstreamer.dsp:
11819         * win32/vs7/libgstreamer.vcproj:
11820         * win32/vs8/libgstreamer.vcproj:
11821           Don't reference glib-compat.c which is currently not used and not
11822           disted; add gstquark.c which was recently added. Fixes #361730.
11823
11824 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11825
11826         * win32/common/libgstbase.def:
11827         * win32/common/libgstcontroller.def:
11828         * win32/common/libgstreamer.def:
11829           Add gst_caps_merge() and a bunch of other recently-added functions.
11830           Fixes #361732.
11831
11832 2006-10-11  Wim Taymans  <wim@fluendo.com>
11833
11834         * docs/plugins/gstreamer-plugins.args:
11835         * docs/plugins/inspect/plugin-coreelements.xml:
11836         * docs/plugins/inspect/plugin-coreindexers.xml:
11837         Update element args.
11838
11839         * gst/gstsystemclock.c:
11840         Small comment update.
11841
11842         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11843         (gst_tee_request_new_pad), (gst_tee_release_pad),
11844         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11845         (gst_tee_sink_activate_pull):
11846         * plugins/elements/gsttee.h:
11847         Some tee loving:
11848         Add default property defines.
11849         Implement release pad function.
11850         Give properties better blubs etc.
11851         Activate pads before adding them to a running tee.
11852         Do simple buffer_alloc on the first requested pad.
11853         Post error when activation fails.
11854
11855 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11856
11857         * gst/gst.c: (ensure_current_registry_forking):
11858           Check return value of write() to make compiler happy.
11859
11860 2006-10-11  Wim Taymans  <wim@fluendo.com>
11861
11862         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11863
11864         * plugins/elements/gstqueue.c: (gst_queue_chain):
11865         Recheck queue filledness after signalling the overrun when we're about
11866         to leak downstream because we released the lock when emitting the signal
11867         and the queue could be empty again. Fixes #352345.
11868
11869 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11870
11871         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11872           Fix refcounting here too, just like we did for _new_valist() a few
11873           days ago (#357180) (thanks to René Stadler). Also remove all those
11874           'Since: 0.9' from the gtk-doc blobs.
11875
11876         * tests/check/libs/controller.c: (controller_refcount_new_list),
11877         (gst_controller_suite):
11878           Unit test for the above.
11879
11880 2006-10-10  Wim Taymans  <wim@fluendo.com>
11881
11882         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11883
11884         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11885         (gst_pad_save_thyself):
11886         Update some docs.
11887         Write pad direction in XML output. Fixes #345496.
11888
11889 2006-10-10  Wim Taymans  <wim@fluendo.com>
11890
11891         Patch by: René Stadler <mail at renestadler dot de>
11892
11893         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11894         (gst_controller_new_list), (_gst_controller_dispose),
11895         (_gst_controller_finalize), (_gst_controller_class_init):
11896         Take ref to controlled object so that it cannot disappear. 
11897         Fixes #357432.
11898
11899 2006-10-10  Wim Taymans  <wim@fluendo.com>
11900
11901         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11902         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11903         (gst_check_teardown_sink_pad):
11904         Activate/deactivate pads in setup/teardown respectively.
11905
11906 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11907
11908         Patch by: Josep Torra Valles <josep@fluendo.com>
11909
11910         * gst/Makefile.am:
11911         Cast values when making gstenumtypes.h.  This pacifies Forte
11912         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11913         in the enumeration.
11914
11915 2006-10-09  Wim Taymans  <wim@fluendo.com>
11916
11917         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11918         Rename some more @cur to @start to fix docs. 
11919
11920         * gst/gstsegment.c: (gst_segment_set_seek):
11921         Fix typo.
11922         time and start must always stay in sync as defined in design doc.
11923
11924         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11925         Rename param to fix docs.
11926
11927         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11928         Check that start and time are in sync.
11929
11930         * tests/check/pipelines/parse-launch.c:
11931         (gst_parse_test_element_change_state):
11932         Activate pad before adding to the element.
11933
11934 2006-10-09  Wim Taymans  <wim@fluendo.com>
11935
11936         * docs/design/part-qos.txt:
11937         Fix typo.
11938
11939         * gst/gstevent.c:
11940         * gst/gstevent.h:
11941         Update seek event docs regarding negative rates.
11942         Rename @cur to @start. 
11943
11944         * gst/gstsegment.c: (gst_segment_set_seek):
11945         * gst/gstsegment.h:
11946         Update set_seek docs regarding negative rates.
11947         Correctly update last_stop to @stop when dealing with negative
11948         rates.
11949         Rename @cur to @start. 
11950
11951         * tests/check/gst/gstpad.c: (GST_START_TEST):
11952         Activate pads before trying to use them.
11953
11954         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11955         (gst_segment_suite):
11956         Add simple check for segments and negative rates.
11957
11958 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11959
11960         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11961         * gst/gsttaglist.h:
11962         * docs/gst/gstreamer-sections.txt:
11963           API: add gst_tag_list_is_empty() (#360467).
11964
11965         * tests/check/gst/gsttag.c: (GST_START_TEST):
11966           And a test case.
11967
11968 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11969
11970         * gst/gstmessage.h:
11971         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11972         a value that doesn't fit on enumeration.
11973
11974 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11975
11976         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11977         Remove local debugging system and use Gstreamer's instead.
11978
11979 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11980
11981         Patch by: Josep Torra Valles <josep@fluendo.com>
11982
11983         * common/m4/gst-error.m4:
11984         Disable warning of statement not reached on Forte.
11985         * gst/gstmessage.h:
11986         Fix warning on Forte (value doesn't fit on enumeration).
11987         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11988         Fix warning on Forte (value doesn't fit on enumeration).
11989         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11990         DEBUG macro says it takes minimum of 2 args and so Forte
11991         complains about the use with just 1 arg.
11992         * plugins/elements/gstfdsink.c:
11993         * plugins/elements/gstfdsrc.c:
11994         * plugins/elements/gstfilesink.c:
11995         * plugins/elements/gstfilesrc.c:
11996         Use correct return type for the uri handler implementations.
11997
11998         All these fix warnings in Forte.  Fixes bug #360860.
11999
12000 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12001
12002         * gst/gstelement.h:
12003           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12004           format string, so don't use G_GNUC_PRINTF for those versions.
12005
12006 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12007
12008         * gst/gsttaglist.c: (gst_is_tag_list):
12009         * gst/gsttaglist.h:
12010           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12011
12012         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12013           Small test for the above.
12014
12015 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12016
12017         * gst/gsttaglist.h:
12018           Less tabs, more spaces.
12019
12020 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12021
12022         * gst/gstinfo.h:
12023           Those two function declarations do actually belong there, revert
12024           commit from yesterday that turned them intro macros.
12025
12026 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12027
12028         Patch by: Josep Torra Valles <josep@fluendo.com>
12029
12030         * gst/gst.c: (gst_init_get_option_group):
12031         Fix empty declaration and type mismatch.
12032         * gst/gstbin.c: (gst_bin_change_state_func):
12033         Fix type mismatch.
12034         * gst/gstelement.c: (gst_element_continue_state),
12035         (gst_element_set_state_func), (gst_element_change_state),
12036         (gst_element_change_state_func):
12037         Fix type mismatches.
12038         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12039         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12040         Cast as appropriate.
12041         * gst/gstobject.c: (gst_class_signal_connect):
12042         Cast as appropriate.  The function pointer parameter really
12043         has the wrong type but would break API if we change it.
12044         * gst/gstquery.c:
12045         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12046         order of including string.h.
12047         * gst/gstutils.c: (gst_element_state_get_name):
12048         Remove unreachable line.
12049         * gst/gstxml.c: (gst_xml_parse_doc):
12050         Fix type mismatch.
12051         All these caught by Forte.
12052
12053 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12054
12055         Patch by: Josep Torra Valles <josep@fluendo.com>
12056
12057         * common/m4/gst-error.m4:
12058         Fixed bug #360151.
12059         We need to disable warnings on Forte for empty declarations
12060         due to gst-indent adding ;s to lines that just use macros
12061         where the macro actually doesn't need a ; at end to end
12062         statement.
12063
12064 2006-10-06  Wim Taymans  <wim@fluendo.com>
12065
12066         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12067         (gst_file_sink_close_file), (gst_file_sink_event),
12068         (gst_file_sink_render):
12069         Add some FIXME for the NEWSEGMENT handling.
12070
12071 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12072
12073         * gst/parse/grammar.y:
12074         Remove static function gst_parse_element_lock as all it does
12075         is return.  Looks like cruft from 0.8.
12076
12077 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12078
12079         Patch by: Josep Torra Valles <josep@fluendo.com>
12080
12081         * common/m4/gst-error.m4:
12082         * configure.ac:
12083         * libs/gst/net/Makefile.am:
12084         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12085         libresolv.
12086
12087 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12088
12089         * gst/gstpad.c: (pre_activate):
12090         * gst/gstregistry.c: (gst_registry_scan_path_level):
12091         * gst/gstregistryxml.c: (load_plugin):
12092         * libs/gst/controller/gstcontroller.c:
12093         (gst_controlled_property_set_interpolation_mode):
12094         * libs/gst/dataprotocol/dataprotocol.c:
12095         (gst_dp_packet_from_event_1_0):
12096         * libs/gst/net/gstnetclientclock.c:
12097         (gst_net_client_clock_observe_times):
12098         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12099           Printf fixes.
12100
12101 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12102
12103         * configure.ac:
12104         * docs/gst/gstreamer-sections.txt:
12105         * gst/gstconfig.h.in:
12106         * gst/gstelement.h:
12107         * gst/gstinfo.h:
12108           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12109           whether we can use G_GNUC_PRINTF in other header files and at
12110           least check the printf format/arguments of debug messages and
12111           GST_ELEMENT_ERROR messages when the printf extension is not
12112           being used.
12113           Replace more tabs with spaces in gstinfo.h and remove two spurious
12114           function declarations in GST_DISABLE_DEBUG part with macros.
12115
12116 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12117
12118         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12119           More docs for the sync-message signal (mention that it is not
12120           emitted by default); log message structures of messages posted on
12121           the bus as well.
12122
12123 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12124
12125         * gst/gst.c: (ensure_current_registry_forking):
12126         Use a pipe pair to receive status results from the forked child, and
12127         ignore the result from waitpid. Fixes #355499
12128
12129 2006-10-02  Wim Taymans  <wim@fluendo.com>
12130
12131         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12132         (gst_ghost_pad_suite):
12133         Fix leak in check.
12134
12135 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12136
12137         * gst/gstpad.c:
12138           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12139
12140 2006-10-02  Edward Hervey  <edward@fluendo.com>
12141
12142         * docs/design/part-block.txt:
12143         Further explain the use of flushing on blocked pads.
12144         * docs/gst/gstreamer-sections.txt:
12145         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12146         (gst_pad_push_event):
12147         * gst/gstpad.h:
12148         Added new GstPadFlag : GST_PAD_BLOCKING.
12149         Adds the notion of pads really blocking, which enables to properly
12150         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12151         Fixes #358999
12152         API: gst_pad_is_blocking()
12153         API: GST_PAD_IS_BLOCKING() macro
12154         API: GST_PAD_BLOCKING GstPadFlag
12155         
12156 2006-10-02  Wim Taymans  <wim@fluendo.com>
12157
12158         Patch by: mrcgran <mrc.gran at gmail dot com>
12159
12160         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12161         Filter the proxied caps against the padtemplate if we have one.
12162
12163         * gst/gstquery.c: (gst_query_new_segment):
12164         Add include for gstinfo.h so that compilation with
12165         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12166
12167 2006-10-02  Wim Taymans  <wim@fluendo.com>
12168
12169         Patch by: Alessandro Decina  <alessandro at nnva org>
12170
12171         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12172         (gst_file_sink_set_location), (gst_file_sink_open_file),
12173         (gst_file_sink_close_file), (gst_file_sink_event),
12174         (gst_file_sink_render):
12175         Set file to NULL when closing filesink so that we can set a new filename
12176         in READY. Fixes #358613.
12177
12178 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12179
12180         Patch by: Alessandro Decina  <alessandro at nnva org>
12181
12182         * gst/gstevent.c: (_gst_event_copy):
12183           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12184           with event structures by setting the parent refcount address of the
12185           copied structure to the address of the refcount member of the newly
12186           copied event rather than the address of the refcount member of the
12187           original event. Fixes #358737.
12188
12189         * tests/check/gst/gstevent.c: (GST_START_TEST):
12190           Unit test for the above.
12191
12192 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12193
12194         * docs/design/Makefile.am:
12195           Dist some more files.
12196
12197 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12198
12199         * tests/check/libs/controller.c: (GST_START_TEST),
12200         (gst_controller_suite):
12201           Add test for the previous fix; add some more tests
12202           for correct refcounting behaviour; fix a few leaks
12203           in test cases; call gst_controller_init() at start
12204           of all tests.
12205
12206 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12207
12208         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12209         (gst_controller_set_from_list):
12210           Don't g_return_val_if_fail() on timed values with invalid timestamps
12211           inside a critical section without unlocking the mutex. Spotted by
12212           René Stadler. (#357617)
12213           Also, fix up refcounting properly: when returning an existing
12214           controller, we should increase the reference only once and not
12215           once per property and when trying to control a property again
12216           we should also increase the refcount.
12217
12218 2006-09-29  Wim Taymans  <wim@fluendo.com>
12219
12220         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12221         * libs/gst/net/gstnettimeprovider.c:
12222         (gst_net_time_provider_thread):
12223         Stop reading commands when EOF as well.
12224
12225         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12226         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12227         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12228         Unify description of the dump property.
12229
12230 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12231
12232         * tests/examples/manual/.cvsignore:
12233         OK, so it's actually cvsignore that needs changing. Stop laughing.
12234
12235 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12236
12237         * tests/examples/manual/Makefile.am:
12238         Gah, declare vars *before* using them
12239
12240 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12241
12242         * gst/gst.c: (init_pre), (scan_and_update_registry),
12243         (ensure_current_registry_nonforking),
12244         (ensure_current_registry_forking), (ensure_current_registry),
12245         (init_post), (gst_debug_help), (gst_deinit):
12246         * gst/gst_private.h:
12247         * gst/gstregistry.c: (gst_registry_finalize),
12248         (gst_registry_remove_features_for_plugin_unlocked),
12249         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12250         (gst_registry_scan_path),
12251         (_priv_gst_registry_remove_cache_plugins),
12252         (_priv_gst_registry_cleanup):
12253         * gst/gstregistry.h:
12254         Re-commit the registry changes, along with an extra fix:
12255           When a cached plugin is encountered at a different file path,
12256           update the stored path in the registry cache so that the parent
12257           process knows where it actually is now when it re-reads the registry
12258           cache. Fixes the thing that broke distcheck with the previous commit.
12259
12260         * tests/check/Makefile.am:
12261         Clean up files named 'core' too when running make clean.
12262
12263         * tests/examples/manual/Makefile.am:
12264         Set up a registry path for running these tests, and clean it properly
12265         for distcheck.
12266
12267 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12268
12269         * configure.ac:
12270         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12271         want gmodule-no-export-2.0.pc instead so that we don't drag in
12272         --export-dynamic on every project that links to GStreamer.
12273
12274         Also, make our export regex only match the start of symbols, rather 
12275         than any symbol that contains '_gst' somewhere.
12276
12277         * libs/gst/check/Makefile.am:
12278         The libgstcheck we build does however need export-dynamic, as it
12279         produces some symbols that don't match our _gst... style regex.
12280         Fixes: #318031
12281
12282 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12283
12284         * gst/gst.c: (init_pre), (scan_and_update_registry),
12285         (ensure_current_registry_nonforking),
12286         (ensure_current_registry_forking), (ensure_current_registry),
12287         (init_post), (gst_debug_help), (gst_deinit):
12288         * gst/gst_private.h:
12289         * gst/gstregistry.c: (gst_registry_finalize),
12290         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12291         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12292         (_gst_registry_cleanup):
12293         * gst/gstregistry.h:
12294           Revert previous change until I figure out why it breaks distcheck.
12295
12296 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12297
12298         * gst/gst.c: (init_pre), (scan_and_update_registry),
12299         (ensure_current_registry_nonforking),
12300         (ensure_current_registry_forking), (ensure_current_registry),
12301         (init_post), (gst_debug_help), (gst_deinit):
12302
12303           Make init_pre and init_post take the full complement of GOptionFunc
12304           args so they can return useful GErrors. Make the registry updating
12305           functions do so.
12306
12307           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12308           ensure that the registry we're about to write out doesn't contain
12309           stale information about old-deleted plugin files.
12310
12311           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12312           that deletion of plugin files is considered a registry change.
12313
12314         * gst/gst_private.h:
12315         * gst/gstregistry.c: (gst_registry_finalize),
12316         (gst_registry_remove_features_for_plugin_unlocked),
12317         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12318         (gst_registry_scan_path),
12319         (_priv_gst_registry_remove_cache_plugins),
12320         (_priv_gst_registry_cleanup):
12321         * gst/gstregistry.h:
12322         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12323         by adding _priv prefix, so that they won't appear in the global
12324         symbol table. They still do atm though because of #318031. Move the
12325         prototypes to gst_private.h
12326
12327         When removing a plugin, remove all features for that plugin too. 
12328         Fixes #340878.
12329
12330 2006-09-27  Wim Taymans  <wim@fluendo.com>
12331
12332         * docs/random/moving-plugins:
12333         Make it clear that the "compiled-in descriptions" really mean
12334         the element details.
12335
12336         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12337         (gst_base_sink_wait_preroll):
12338         Update docs.
12339
12340         * docs/libs/gstreamer-libs-sections.txt:
12341         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12342         (gst_base_src_get_range), (gst_base_src_activate_push):
12343         * libs/gst/base/gstbasesrc.h:
12344         Added function to block while waiting for PLAYING, this function
12345         is used by live sources that block on the clock.
12346         API: gst_base_src_wait_playing()
12347
12348 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12349
12350         Patch by: Peter Kjellerstedt <pkj at axis com>
12351
12352         * Makefile.am:
12353           gst-element-check.m4 is generated and should therefore be
12354           copied from the build dir rather than the source dir (#357593).
12355           'make distcheck' hasn't noticed this because we were disting
12356           the file as well, so stop doing that.
12357
12358 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12359
12360         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12361           Add some tests for gst_caps_intersect().
12362
12363         * tools/gst-launch.c: (event_loop):
12364           Print all buffering percentages we get, even the 100% one.
12365
12366 2006-09-26  Wim Taymans  <wim@fluendo.com>
12367
12368         * tools/gst-inspect.c: (print_element_properties_info),
12369         (print_signal_info):
12370         Fix printing of flags to match the look of enums.
12371
12372 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12373
12374         * gst/gstelementfactory.c:
12375           Fix typo in docs blurb.
12376
12377 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12378
12379         * gst/gsturi.c: (search_by_entry):
12380           Don't assert/crash here if a uri handler doesn't return any
12381           supported protocols. The list of protocols could be generated
12382           dynamically at runtime or at plugin registration, and an error
12383           in the underlying library shouldn't be fatal (#353301).
12384
12385 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12386
12387         * gst/gstinfo.c:
12388           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12389           (spotted by Peter Kjellerstedt).
12390
12391 2006-09-23  Wim Taymans  <wim@fluendo.com>
12392
12393         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12394
12395         * libs/gst/base/gstbasesrc.c:
12396         (gst_base_src_default_check_get_range), (gst_base_src_start),
12397         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12398         (gst_base_src_change_state):
12399         Match _start/_stop calls in the activate functions. Remove redundant
12400         _stop call from the state change function. Fixes #356910.
12401         Turn failure DEBUG into ERROR. 
12402
12403 2006-09-22  Wim Taymans  <wim@fluendo.com>
12404
12405         * docs/design/part-buffering.txt:
12406         * gst/gstmessage.c: (gst_message_new_buffering),
12407         (gst_message_parse_buffering):
12408         Update docs about buffering.
12409
12410         * docs/design/part-trickmodes.txt:
12411         Fix typo.
12412
12413 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12414
12415         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12416         (gst_controller_new_list):
12417           Ref instances when returning them again (fixes #357180)
12418
12419 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12420
12421         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12422           Don't forget to release proxy lock when there's an error.
12423
12424 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12425
12426         * gst/gstcaps.h:
12427           Add extra initialisers for Caps things, to fix some plugin warnings
12428           when using -Wextra
12429
12430 2006-09-18  Wim Taymans  <wim@fluendo.com>
12431
12432         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12433           Also set template on the internal pad so that a getcaps from the 
12434           target pad returns the template caps.
12435
12436 2006-09-18  Wim Taymans  <wim@fluendo.com>
12437
12438         * gst/gstelement.c: (gst_element_post_message),
12439         (gst_element_dispose):
12440         Use _DEBUG_OBJECT some more.
12441
12442         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12443         Avoid typechecks.
12444
12445         * tools/gst-launch.c: (main):
12446         If the toplevel element is not a GstPipeline, it must be put in a
12447         pipeline so that a bus and clock is selected.
12448
12449 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12450
12451         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12452           JITTER, RATE, and LATENCY query should be handled by the
12453           default case and not by the CONVERT query code.
12454
12455 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12456
12457         * gst/gstformat.c: (gst_format_register):
12458           Fix locking order (must take lock before using n_values).
12459
12460         * gst/gstvalue.c: (gst_value_serialize_enum),
12461         (gst_value_deserialize_enum_iter_cmp),
12462         (gst_value_deserialize_enum):
12463           Fix serialisation/deserialisation of custom registered GstFormats.
12464
12465         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12466           Unit test for custom format serialisation/deserialisation.
12467
12468 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12469
12470         * docs/pwg/building-boiler.xml:
12471         * plugins/elements/gstcapsfilter.c:
12472         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12473         section.
12474
12475 2006-09-16  Edward Hervey  <edward@fluendo.com>
12476
12477         * libs/gst/base/gstbasetransform.c:
12478         (gst_base_transform_buffer_alloc):
12479         Check if requested caps are the same as the sinks caps IF
12480         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12481         is FALSE.
12482         This fixes the renegotiation issues stated in #352827.
12483
12484 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12485
12486         * configure.ac:
12487         * docs/manual/advanced-autoplugging.xml:
12488         * tests/examples/Makefile.am:
12489         * tests/examples/manual/.cvsignore:
12490         * tests/examples/manual/Makefile.am:
12491         * tests/examples/manual/extract.pl:
12492           Extract the manual examples again like we used to do.
12493           Fix one of them.
12494
12495 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12496
12497         * win32/common/config.h:
12498           update for version
12499
12500 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12501
12502         * gst/gsterror.c:
12503           Documents how to receive errors.
12504
12505 2006-09-15  Wim Taymans  <wim@fluendo.com>
12506
12507         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12508         (event_loop), (main):
12509         Added some comments here and there.
12510         Post an application message when an interrupt is caught instead of doing
12511         an uncontrolled state change.
12512         Clean up the event loop.
12513         Handle buffering messages, pause/resume the pipeline.
12514         Make shutdown because of an interrupt more reliable.
12515
12516 2006-09-15  Wim Taymans  <wim@fluendo.com>
12517
12518         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12519         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12520         (gst_base_sink_preroll_object):
12521         Make sure that our internal state is correct when we commit our state
12522         asynchronously. This solves a race where a state change to PLAYING
12523         could cause the sink to remain blocked in preroll in some situations.
12524
12525 2006-09-15  Wim Taymans  <wim@fluendo.com>
12526
12527         * tools/gst-inspect.c: (print_element_properties_info),
12528         (print_signal_info):
12529         List flags as hex so it's easier to deal with.
12530
12531 2006-09-15  Wim Taymans  <wim@fluendo.com>
12532
12533         * docs/libs/gstreamer-libs-sections.txt:
12534         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12535         (gst_base_sink_do_sync):
12536         * libs/gst/base/gstbasesink.h:
12537         Expose logic to wait for preroll so that subclasses such as audiosink
12538         can also use this method.
12539         API: gst_base_sink_wait_preroll()
12540
12541 2006-09-15  Wim Taymans  <wim@fluendo.com>
12542
12543         * gst/gstobject.c: (gst_object_set_parent):
12544         * gst/gstpipeline.c: (do_pipeline_seek):
12545         Small cleanups in docs and code.
12546
12547         * gst/gstsegment.c: (gst_segment_clip):
12548         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12549         if stop == start and start is in the segment, no clipping should be
12550         done. Also add a test for this.
12551
12552 2006-09-15  Wim Taymans  <wim@fluendo.com>
12553
12554         * docs/design/part-buffering.txt:
12555         * docs/gst/gstreamer-sections.txt:
12556         * gst/gstmessage.c: (gst_message_new_buffering),
12557         (gst_message_parse_buffering):
12558         * gst/gstmessage.h:
12559         Added methods to create and parse BUFFERING messages.
12560         Added preliminary docs about buffering.
12561         API: gst_message_new_buffering
12562         API: gst_message_parse_buffering
12563
12564 2006-09-06  Wim Taymans  <wim@fluendo.com>
12565
12566         * gst/gstbin.c:
12567         Update documentation.
12568
12569         * gst/gstelement.c: (gst_element_class_init),
12570         (gst_element_release_request_pad), (gst_element_set_clock),
12571         (gst_element_get_index), (gst_element_add_pad),
12572         (gst_element_remove_pad), (gst_element_get_random_pad),
12573         (gst_element_send_event), (gst_element_get_query_types),
12574         (gst_element_query), (gst_element_post_message),
12575         (gst_element_message_full), (gst_element_continue_state),
12576         (gst_element_lost_state), (gst_element_save_thyself),
12577         (gst_element_restore_thyself):
12578         Documentation updates.
12579         Rename last bit of the new-pad -> pad-added signal rename.
12580         Fix the case where an element query would only work if the source
12581         pad was linked.
12582         Avoid some useless type checking in message handling.
12583
12584         * gst/gstevent.c:
12585         * gst/gstevent.h:
12586         * gst/gstutils.c:
12587         Documentation updates.
12588
12589 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12590
12591         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12592           add an INFO line for when we actually update the fd
12593
12594 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12595
12596         * configure.ac:
12597           back to TRUNK
12598
12599 === release 0.10.10 ===
12600
12601 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12602
12603         * configure.ac:
12604           releasing 0.10.10, "Pais"
12605
12606 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12607
12608         * docs/manual/advanced-position.xml:
12609           Fix typo in sample code.
12610
12611 2006-09-05  Wim Taymans  <wim@fluendo.com>
12612
12613         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12614         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12615         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12616         * libs/gst/net/gstnetclientclock.h:
12617         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12618         * libs/gst/net/gstnettimepacket.h:
12619         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12620         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12621         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12622         * libs/gst/net/gstnettimeprovider.h:
12623         Make stuff compile on windows. Fixes #345295.
12624
12625 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12626
12627         * gst/gst.c: (ensure_current_registry_forking):
12628           Print better details when child was terminated by signal.
12629
12630 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12631
12632         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12633           Print a warning rather than g_assert() if a plugin feature
12634           is a URI handler but returns no protocols (#353976).
12635
12636 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12637
12638         * docs/random/moving-plugins:
12639         Fix two typos.         
12640
12641 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12642
12643         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12644           Fix locking order, handle NULL function values properly.
12645
12646         * gst/gstinfo.h:
12647           Fix docs.
12648
12649         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12650           Initialise variable before using it and fix debug statement to
12651           print the address of the function rather than the address of the
12652           variable on the stack holding the address of the function.
12653
12654 2006-09-01  Wim Taymans  <wim@fluendo.com>
12655
12656         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12657         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12658         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12659         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12660         (gst_ghost_pad_parent_unset),
12661         (gst_ghost_pad_internal_do_activate_push),
12662         (gst_ghost_pad_internal_do_activate_pull),
12663         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12664         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12665         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12666         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12667         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12668         (gst_ghost_pad_new_no_target_from_template),
12669         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12670         More cleanups.
12671         Avoid needless typechecking in macros.
12672         Since the internal pad is always present and never changes, there is
12673         no need to locking or ref when retrieving it.
12674         Improve debugging a bit.
12675         Handle link errors when setting the target. Fixes #341029.
12676
12677 2006-09-01  Wim Taymans  <wim@fluendo.com>
12678
12679         * docs/libs/gstreamer-libs-sections.txt:
12680         * docs/plugins/gstreamer-plugins-sections.txt:
12681         Fix docs some more.
12682
12683         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12684         (gst_collect_pads_event):
12685         * libs/gst/base/gstcollectpads.h:
12686         Documentation updates.
12687         Free queued buffer when removing a pad.
12688
12689 2006-08-31  Michael Smith  <msmith@fluendo.com>
12690
12691         * gst/gstutils.c: (gst_element_link_pads),
12692         (gst_element_link_pads_filtered):
12693           Ensure that we set a capsfilter to NULL if we failed to link it
12694           when doing filtered linking, to avoid criticals.
12695
12696           No need to check for unreffing srcpad, which is explicly NULLed
12697           above (a trivial code cleanup).
12698
12699 2006-08-31  Wim Taymans  <wim@fluendo.com>
12700
12701         * docs/design/part-gstghostpad.txt:
12702         Update ascii art in documentation.
12703
12704         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12705         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12706         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12707         (gst_ghost_pad_internal_do_activate_push),
12708         (gst_ghost_pad_internal_do_activate_pull),
12709         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12710         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12711         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12712         (gst_ghost_pad_set_target):
12713         Small cleanups and leak fixes.
12714         Remove some checks now that the internal pad is never NULL.
12715         Fix the case where linking pads without a target would create nasty
12716         criticals. Fixes #341029.
12717         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12718         value of _set_target().
12719
12720         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12721         (gst_ghost_pad_suite):
12722         Some more tests for creating and linking untargeted ghostpads.
12723
12724 2006-08-31  Edward Hervey  <edward@fluendo.com>
12725
12726         * docs/gst/gstreamer-sections.txt:
12727         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12728         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12729         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12730         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12731         (gst_ghost_pad_new_from_template),
12732         (gst_ghost_pad_new_no_target_from_template):
12733         * gst/gstghostpad.h:
12734         Refactored *_new() functions.
12735         Templates are now used as a g_object_new() parameter.
12736         Use template in _do_getcaps() if we don't have a target.
12737         Small documentation cleanups.
12738         Added two new constructors:
12739         gst_ghost_pad_new_from_template()
12740         gst_ghost_pad_new_no_target_from_template()
12741         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12742         (gst_ghost_pad_suite):
12743         Added tests for new ghostpad instanciation functions.
12744
12745         API additions: gst_ghost_pad_new_from_template,
12746         gst_ghost_pad_new_no_target_from_template
12747
12748 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12749
12750         * docs/random/ensonic/profiling.txt:
12751           Ideas about qos profiling.
12752
12753 2006-08-29  Wim Taymans  <wim@fluendo.com>
12754
12755         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12756         Code cleanups.
12757         Fix memleak.
12758
12759 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12760
12761         * gst/gstxml.c:
12762           Improve and detypofy docs.
12763
12764         * tests/check/Makefile.am:
12765         * tests/check/gst/.cvsignore:
12766         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12767           Add a basic test suite for GstXML.
12768
12769 2006-08-29  Wim Taymans  <wim@fluendo.com>
12770
12771         * gst/gstelement.c: (activate_pads), (clear_caps),
12772         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12773         Clear the pad caps when the element shut down all of the pads and
12774         is not streaming data that could modify the caps. 
12775         Fixes #352958.
12776
12777 2006-08-28  Michael Smith  <msmith@fluendo.com>
12778
12779         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12780           Revert previous change; I misunderstood single-segment mode.
12781
12782 2006-08-28  Michael Smith  <msmith@fluendo.com>
12783
12784         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12785           Unset DISCONT on buffers when using single-segment mode.
12786
12787 2006-08-28  Wim Taymans  <wim@fluendo.com>
12788
12789         * gst/gstcaps.c: (gst_caps_merge_structure):
12790         * gst/gstcaps.h:
12791         Fix docs and indentation again.
12792
12793         * tests/check/gst/gstquery.c: (GST_START_TEST):
12794         Fix leak in tests and add some more tests.
12795
12796 2006-08-28  Edward Hervey  <edward@fluendo.com>
12797
12798         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12799         Inform GstSegment of the last stop position in order for the current
12800         segment to have a proper duration if it doesn't have a specific stop
12801         position from which a duration could be calculated.
12802         This bug was noticeable when a non-flushing, non-update new segment was
12803         followed by another segment (all buffers from the new segment were being
12804         dropped).
12805
12806 2006-08-28  Wim Taymans  <wim@fluendo.com>
12807
12808         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12809         Small comment update.
12810
12811         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12812         (gst_identity_transform_ip):
12813         Drop-probability is broken, mention this in the code with a 
12814         FIXME and also in the property description.
12815         Make silent also be silent about the drop messages.
12816
12817 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12818
12819         * docs/manual/appendix-win32.xml:
12820           Remove mention of popt, we don't depend on that any
12821           longer (#353136). Add some comments pointing out that
12822           this section is slightly outdated.
12823
12824 2006-08-28  Wim Taymans  <wim@fluendo.com>
12825
12826         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12827
12828         * gst/gstquery.c: (gst_query_new_segment):
12829         * tests/check/gst/gstquery.c: (GST_START_TEST):
12830         Initialize variables when creating a new segment query.
12831         Fixes #353121.
12832
12833 2006-08-28  Wim Taymans  <wim@fluendo.com>
12834
12835         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12836
12837         * gst/gstelement.c: (gst_element_get_bus):
12838         * tests/check/gst/gstelement.c: (GST_START_TEST):
12839         Check for NULL before _reffing the bus. Fixes #353122.
12840
12841 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12842
12843         * docs/manual/basics-bus.xml:
12844           Docs update: fix wrong callback return value explanation; add
12845           some lines about the implicit relationship between main loop
12846           and main context; remove duplicate main loop variable declaration.
12847
12848 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12849
12850         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12851           Don't leak caps in unit test; add a few more simple
12852           checks. 
12853
12854 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12855
12856         * docs/gst/gstreamer-sections.txt:
12857         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12858         (gst_caps_structure_is_subset), (gst_caps_merge),
12859         (gst_caps_merge_structure):
12860         * gst/gstcaps.h:
12861         * libs/gst/base/gstbasetransform.c:
12862         (gst_base_transform_transform_caps):
12863         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12864           implement caps merging (fixes #352580)
12865
12866 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12867
12868         * tools/Makefile.am:
12869         * tools/gst-plot-timeline.py:
12870           add debug-log plotting developer tool (#340674)
12871
12872 2006-08-23  Wim Taymans  <wim@fluendo.com>
12873
12874         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12875         (gst_pad_stop_task):
12876         Improve debugging for task functions.
12877
12878         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12879         (gst_task_start), (gst_task_pause), (gst_task_join):
12880         Make sure that the task function started and finished after a 
12881         join(). 
12882         Don't try to push the task function on the threadpool multiple
12883         times.
12884         Improve the g_warning message with some useful suggestions
12885         about how to fix the problem. 
12886
12887 2006-08-23  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12890         Handle RESYNC correctly in _proxy_getcaps.
12891
12892 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12893
12894         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12895         (gst_xml_parse_memory), (gst_xml_get_element):
12896           Chain up to parent class in dispose function and also
12897           unref the elements in the toplevel_elements GList.
12898           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12899           Always return a reference in gst_xml_get_element() rather
12900           than only sometimes.
12901
12902         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12903           Don't leak GstXml object.
12904
12905 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12906
12907         * docs/gst/gstreamer-sections.txt:
12908         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12909         (gst_caps_merge):
12910         * gst/gstcaps.h:
12911         * libs/gst/base/gstbasetransform.c:
12912         (gst_base_transform_transform_caps):
12913           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12914           in a better way
12915
12916 2006-08-21  Edward Hervey  <edward@fluendo.com>
12917
12918         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12919         Implement GObject::dispose virtual method in GstXML so we can free the
12920         top_elements GList.
12921
12922 2006-08-21  Wim Taymans  <wim@fluendo.com>
12923
12924         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12925         (gst_buffer_create_sub):
12926         Copy duration/offset_end/caps when creating a subbuffer of the
12927         complete parent.
12928         Make the subbuffer read-only when we make the metadata writable for
12929         now. Fixes #351768.
12930
12931         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12932         Added check for metadata copy when creating subbuffers.
12933
12934 2006-08-21  Edward Hervey  <edward@fluendo.com>
12935
12936         * libs/gst/base/gstbasetransform.c:
12937         (gst_base_transform_buffer_alloc):
12938         Only call downstream buffer_alloc if transform element is passthrough
12939         or always_in_place. Closes #350449.
12940
12941 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12942
12943         * ChangeLog:
12944           ChangeLog surgery to add comments to previous changes
12945
12946 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12947
12948         * gst/gst.c:
12949           Add comments
12950
12951         * gst/gstpad.c: (gst_pad_set_active):
12952           Be more verbose in the log
12953
12954         * libs/gst/base/gstbasetransform.c:
12955         (gst_base_transform_transform_caps):
12956           Simplify caps to get rid of duplicates, fixes #345444
12957
12958 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12959
12960         * gst/gstvalue.c:
12961         * gst/gstvalue.h:
12962           Use these optimizations only internally.
12963
12964 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12965
12966         * gst/gstvalue.c: (gst_value_compare_list),
12967         (gst_value_compare_fraction_range),
12968         (gst_value_intersect_fraction_fraction_range),
12969         (gst_value_intersect_fraction_range_fraction_range),
12970         (gst_value_subtract_fraction_fraction_range),
12971         (gst_value_subtract_fraction_range_fraction_range),
12972         (gst_value_get_compare_func), (gst_value_compare),
12973         (gst_value_compare_with_func):
12974         * gst/gstvalue.h:
12975           Saves the expensive lookup of the compare function in many cases
12976          (#345444)
12977
12978 2006-08-18  Edward Hervey  <edward@fluendo.com>
12979
12980         * tests/check/gst/gstinfo.c: (gst_info_suite):
12981         Disable test that require gstdebug if it wasn't built in core.
12982
12983 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12984
12985         * docs/random/ensonic/logging.txt:
12986           update ideas
12987           
12988         * gst/gstinfo.c: (gst_debug_log_default):
12989           reorder fields, save some columns, add optional color codes for log
12990           levels
12991
12992 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12993
12994         * docs/random/ensonic/logging.txt:
12995           add ideas about making the logs a bit more useful
12996
12997 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12998
12999         * docs/pwg/advanced-events.xml:
13000         * docs/pwg/titlepage.xml:
13001           Update for 0.10 API (#340627). Add myself
13002           to authors list.
13003
13004 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13005
13006         * docs/libs/gstreamer-libs-docs.sgml:
13007         * docs/libs/gstreamer-libs-sections.txt:
13008         * libs/gst/check/gstbufferstraw.c:
13009           Make gstcheck stuff show up in docs (still needs to
13010           be documented properly though).
13011
13012 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13013
13014         * docs/gst/gstreamer-sections.txt:
13015         * gst/Makefile.am:
13016         * gst/gst.c: (init_post):
13017         * gst/gst_private.h:
13018         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13019         * gst/gstquark.h:
13020         * gst/gstquery.c: (gst_query_new_position),
13021         (gst_query_set_position), (gst_query_parse_position),
13022         (gst_query_new_duration), (gst_query_set_duration),
13023         (gst_query_parse_duration), (gst_query_new_convert),
13024         (gst_query_set_convert), (gst_query_parse_convert),
13025         (gst_query_new_segment), (gst_query_set_segment),
13026         (gst_query_parse_segment), (gst_query_new_seeking),
13027         (gst_query_set_seeking), (gst_query_parse_seeking):
13028         Add internal helpers for pre-registering quarks from static strings
13029         and using the quark values directly instead of looking them up when
13030         creating and parsing queries. Can be used for event construction too.
13031         Closes #350432.
13032
13033 2006-08-16  Wim Taymans  <wim@fluendo.com>
13034
13035         * gst/gstbin.c:
13036         Fix bogus docs.
13037
13038 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13039
13040         * gst/gstutils.c: (gst_util_set_value_from_string):
13041           Fix memleak (#351502).
13042
13043         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13044           Add unit test for most of gst_util_set_value_from_string()
13045           (not that one would want to encourage use of this function).
13046
13047 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13048
13049         * libs/gst/check/gstcheck.h:
13050           Use const gchar * variables in fail_unless_equals_string
13051           macro to avoid compiler warnings (and don't use tabs for
13052           indenting).
13053
13054 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13055
13056         * tools/gst-launch.c: (print_tag):
13057           More space on the left for the tag names, to cater
13058           for the 'extended comment' tag (not touching the
13059           string for the first line since it's translated).
13060
13061 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13062
13063         * libs/gst/check/gstcheck.h:
13064           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13065           print something when they fail.
13066
13067 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13068
13069         * docs/gst/gstreamer-sections.txt:
13070         * gst/gsttaglist.c: (_gst_tag_initialize):
13071         * gst/gsttaglist.h:
13072           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13073           Also change merge function for GST_TAG_COMMENT to
13074           use_first.
13075
13076 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13077
13078         * gst/gstinfo.c: (gst_debug_print_object):
13079           Make GST_PTR_FORMAT print messages as well.
13080
13081         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13082         (GST_START_TEST), (gst_info_suite):
13083           More tests.
13084
13085 2006-08-14  Edward Hervey  <edward@fluendo.com>
13086
13087         * gst/gstelementfactory.c: (gst_element_register):
13088         If the GstElementClass doesn't have a GstElementDetails with all fields
13089         filled up correctly (longname, description AND author), then error out
13090         nicely instead of crashing.
13091
13092 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13093
13094         * gst/gststructure.c:
13095           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13096
13097         * gst/gstvalue.h:
13098           Expand on the difference between arrays and lists as we use them.
13099           
13100 2006-08-14  Wim Taymans  <wim@fluendo.com>
13101
13102         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13103         If the parent state change function failed, don't assume we can safely
13104         stop the source, this will be done when the pads are deactivated.
13105
13106 2006-08-14  Wim Taymans  <wim@fluendo.com>
13107
13108         * gst/gstbuffer.c:
13109         * gst/gsttask.c: (gst_task_join):
13110         Small doc updates.
13111
13112         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13113         (gst_pad_stop_task):
13114         When pad (de)activation failed for some reason, restore the old
13115         activation mode and set the pad to flushing instead of assuming the
13116         pad is deactivated.
13117         If the _task_join() failed, reinstall the task on the pad so that it can
13118         be stopped later and return an error.
13119
13120 2006-08-11  Andy Wingo  <wingo@pobox.com>
13121
13122         * configure.ac:
13123         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13124         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13125         is only for users of API that don't want to see deprecated
13126         functions in the headers; people that want to compile out
13127         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13128         CFLAGS. Fixes the build of multifdsink, or will soon..
13129
13130 2006-08-11  Wim Taymans  <wim@fluendo.com>
13131
13132         * docs/gst/gstreamer-sections.txt:
13133         Add GstClockClass vmethod docs.
13134
13135         * gst/gstcaps.h:
13136         Mark #endif with comment for associated #if
13137
13138         * gst/gstclock.c: (gst_clock_id_wait):
13139         * gst/gstclock.h:
13140         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13141         most clock implementations.
13142         Document vmethods.
13143         Flesh out docs about resolution methods.
13144         API: GstClockClass::wait_jitter
13145
13146         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13147         (gst_system_clock_async_thread),
13148         (gst_system_clock_id_wait_jitter_unlocked),
13149         (gst_system_clock_id_wait_jitter):
13150         Use base class wait_jitter variant for improved performance
13151         due to less clock polling.
13152
13153 2006-08-11  Edward Hervey  <edward@fluendo.com>
13154
13155         * gst/gst.c: (gst_init_check), (init_post):
13156         Set gst as being initialized before scanning/updating the registry,
13157         since there might be my python plugin loader that calls gst_init() and
13158         we don't want to loop back in.
13159         Closes #350879
13160
13161 2006-08-11  Wim Taymans  <wim@fluendo.com>
13162
13163         * docs/design/part-qos.txt:
13164         Bring docs in line with the code. Mostly the sign of the jitter was
13165         wrong in the docs. Fixes #349943.
13166
13167         * gst/gstclock.c:
13168         Fix the docs for the jitter.
13169
13170         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13171         (gst_event_parse_tag), (gst_event_new_buffer_size),
13172         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13173         (gst_event_new_seek), (gst_event_parse_seek),
13174         (gst_event_new_navigation):
13175         Make sure the GstStructure has no parent when creating custom
13176         events.
13177         Add some more argument checking so that we avoid 0.0 rates.
13178         Flesh out the docs for the QoS event some more.
13179
13180 2006-08-11  Wim Taymans  <wim@fluendo.com>
13181
13182         * docs/gst/gstreamer-sections.txt:
13183         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13184         (ensure_current_registry_forking), (ensure_current_registry),
13185         (parse_one_option), (parse_goption_arg), (gst_deinit),
13186         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13187         * gst/gst.h:
13188         Doc updates.
13189         Added API and command line option to disable registry forking in
13190         addition to the environment variable.
13191         Constify some static arrays.
13192         Added some more debug.
13193         Don't deinit twice.
13194         API: gst_registry_fork_is_enabled()
13195         API: gst_registry_fork_set_enabled()
13196         API: --gst-disable-registry-fork command line option
13197         Fixes #348918.
13198
13199 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13200
13201         * gst/gst.c: (gst_init):
13202           Fix typo in error message.
13203
13204 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13205
13206         * libs/gst/controller/gstcontroller.h:
13207           fix ABI size-correction
13208
13209         * tests/check/libs/gdp.c: (gst_dp_suite):
13210           make tests that use deprecated API conditional
13211
13212 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13213
13214         * docs/libs/gstreamer-libs-sections.txt:
13215         * libs/gst/controller/gstcontroller.c:
13216         (_gst_controller_get_property), (_gst_controller_set_property),
13217         (_gst_controller_init), (_gst_controller_class_init):
13218         * libs/gst/controller/gstcontroller.h:
13219         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13220         (gst_object_set_control_rate):
13221           API: add gst_object_{s,g}et_control_rate(), add private data section,
13222           fix docs
13223
13224         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13225         * libs/gst/dataprotocol/dataprotocol.h:
13226           add deprecation guards to make gtk-doc happy and allow disabling cruft
13227
13228 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13229
13230         * tests/check/Makefile.am:
13231         * tests/check/gst/.cvsignore:
13232           Let's enable the new unit test as well.
13233
13234 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13235
13236         * configure.ac:
13237         * docs/gst/gstreamer-sections.txt:
13238         * gst/gstconfig.h.in:
13239         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13240         (_gst_info_printf_extension_ptr),
13241         (_gst_info_printf_extension_segment):
13242           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13243           register that lets us easily dump GstSegments into debug
13244           logs (#350419).
13245
13246         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13247         (info_segment_format_printf_extension), (gst_info_suite):
13248           Add simple unit test that logs a bunch of different segments (not
13249           valgrinded at the moment because of leaks in
13250           gst_debug_add_log_function).
13251
13252 2006-08-09  Edward Hervey  <edward@fluendo.com>
13253
13254         * libs/gst/base/gstbasetransform.c:
13255         (gst_base_transform_buffer_alloc):
13256         Even if we can't figure out the proper format to request downstream,
13257         call buffer_alloc() downstream with the input parameters without setting
13258         the caps on the srcpad. This will force negotiation in the chain
13259         function.
13260         Closes #350449
13261
13262 2006-08-08  Edward Hervey  <edward@fluendo.com>
13263
13264         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13265         Unlinking from a pad without a target is now a perfectly valid case
13266         which should NOT raise an assertion.
13267         This case would happen if a linked ghostpad its target set to NULL after
13268         it was previously linked.
13269
13270 2006-08-08  Edward Hervey  <edward@fluendo.com>
13271
13272         * tests/check/libs/gdp.c:
13273         Also comment out the test (see below).
13274
13275 2006-08-08  Edward Hervey  <edward@fluendo.com>
13276
13277         * tests/check/libs/gdp.c: (gst_dp_suite):
13278         Use the architecture information from config.h and not gcc macros
13279         in order to properly disable a test that fails on PPC64.
13280
13281 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13282
13283         * gst/gstelement.c: (gst_element_remove_pad):
13284           Don't crash printing the warning if the pad has no parent.
13285
13286 2006-08-02  Wim Taymans  <wim@fluendo.com>
13287
13288         * libs/gst/dataprotocol/dataprotocol.c:
13289         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13290         (gst_dp_crc), (gst_dp_header_payload_length),
13291         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13292         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13293         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13294         (gst_dp_event_from_packet), (gst_dp_validate_header),
13295         (gst_dp_validate_payload):
13296         Make debug category static
13297         Constify the crc table.
13298         Do some more arg checking in public functions.
13299         Fix some docs and do some small cleanups.
13300
13301         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13302         Add some more checks to see if GDP deals with bogus input.
13303
13304 2006-07-31  Wim Taymans  <wim@fluendo.com>
13305
13306         * gst/gstvalue.c: (gst_value_compare_list):
13307         Fix GstValueList comparison code. Fixes #347293.
13308
13309         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13310         Check to test GstValueList comparison.
13311
13312 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13313
13314         * gst/gstelementfactory.c: (gst_element_factory_create):
13315         Remove unnecessary ref/unref pair
13316
13317         * gst/parse/grammar.y:
13318         Make sure to free the parse buffer on all code paths.
13319         Move a g_free up to the error handler where it's easier to see.
13320
13321         * tests/check/gst/gstevent.c: (test_event):
13322         Extending timeout for downstream travelling events to 10 seconds to
13323         hopefully avoid intermittent failure on the buildbots.
13324
13325         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13326         Don't manually set the state of the src element - it will happen as a
13327         natural consequence of the pipeline changing state, and that way it
13328         will do it in the right order too.
13329
13330 2006-07-31  Wim Taymans  <wim@fluendo.com>
13331
13332         * libs/gst/base/gstbasetransform.c:
13333         (gst_base_transform_buffer_alloc):
13334         Use OBJECT_LOCK and refcounting to get the pad caps in the
13335         buffer_alloc function because the caps could change while we are
13336         busy with them. Fixes #349105
13337
13338 2006-07-31  Wim Taymans  <wim@fluendo.com>
13339
13340         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13341         Protect _PAD_CAPS with OBJECT_LOCK.
13342
13343 2006-07-31  Wim Taymans  <wim@fluendo.com>
13344
13345         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13346         (gst_pad_get_property), (gst_pad_activate_pull),
13347         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13348         (gst_pad_set_activate_function),
13349         (gst_pad_set_activatepull_function),
13350         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13351         (gst_pad_set_getrange_function),
13352         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13353         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13354         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13355         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13356         (gst_pad_set_acceptcaps_function),
13357         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13358         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13359         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13360         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13361         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13362         (gst_pad_configure_sink), (gst_pad_configure_src),
13363         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13364         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13365         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13366         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13367         (gst_pad_send_event):
13368         Use _DEBUG_OBJECT when it makes sense.
13369         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13370         Small cleanups and code reflows.
13371         Avoid caps refcounting in _accept_caps.
13372         Refactor alloc_buffer so that the code performed on the peer is in a
13373         separate function. Also if the pad does not implement a buffer alloc
13374         function, we should still check if the pad is flushing before falling
13375         back to the default allocator.
13376
13377 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13378
13379         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13380         Make all uses of identity and fakesink have silent=true to avoid
13381         serialising every passing data structure, which is breaking tests
13382         on FC4 for some unknown reason.
13383
13384 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13385
13386         * gst/parse/Makefile.am:
13387         * gst/parse/grammar.y:
13388         * gst/parse/parse.l:
13389           Reverted previous patch as it required to bump the flex dependency to
13390           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13391
13392 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13393
13394         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13395
13396         * gst/parse/Makefile.am:
13397         * gst/parse/grammar.y:
13398         * gst/parse/parse.l:
13399           push & pop the state of the lexer for reentrant use case
13400           Fixes #349180
13401
13402 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13403
13404         * libs/gst/base/gstbasesrc.h:
13405           Note in the docs that the ::newsegment vfunc is not actually used by
13406           GstBaseSrc.
13407
13408 2006-07-28  Wim Taymans  <wim@fluendo.com>
13409
13410         * libs/gst/base/gstcollectpads.c:
13411         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13412         (gst_collect_pads_clear), (gst_collect_pads_flush),
13413         (gst_collect_pads_event), (gst_collect_pads_chain):
13414         When flushing a pad, also clear the queued buffer so that we don't
13415         accidentally use it when we shouldn't.
13416         Fix leaks by inreffing incomming buffer.
13417         Flush out queued buffers in case of errors.
13418         Fixes #347452.
13419
13420 2006-07-28  Wim Taymans  <wim@fluendo.com>
13421
13422         * docs/random/phonon-gst:
13423         Random notes about a Phonon backend.
13424
13425 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13426
13427         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13428         Extra debug output
13429         * tests/check/libs/gdp.c: (gst_dp_suite):
13430         Take a whack at fixing the ppc compile using a different define to
13431         disable the broken test.
13432
13433         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13434         Remove excess g_print()
13435
13436 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13437
13438         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13439         Oops, meant to uncomment this line too to dampen the noise a bit.
13440
13441 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13442
13443         * gst/parse/grammar.y:
13444         * gst/parse/parse.l:
13445         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13446         (GST_START_TEST), (parse_suite):
13447         Fix some of the leaks exposed by extending the parse-launch testsuite,
13448         and move the 3 I can't figure out into a separate test that won't run
13449         the pipelines unless the appropriate line is uncommented.
13450
13451 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13452
13453         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13454           Requesting 0 bytes before the end of the file should result in
13455           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13456           unit test.
13457
13458 2006-07-27  Wim Taymans  <wim@fluendo.com>
13459
13460         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13461         Fix useless assert, a uint is always positive.
13462
13463         * gst/gststructure.c: (gst_structure_nth_field_name),
13464         (gst_structure_foreach), (gst_structure_map_in_place):
13465         Check input arguments for public functions to avoid obvious crashes.
13466
13467         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13468         * plugins/elements/gstfakesink.h:
13469         Do less useless typechecking.
13470
13471 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13472
13473         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13474           Do not use mmap() by default since there are a number of error
13475           conditions that we would like to handle in a non-fatal way that
13476           will result in a SIGBUS if we use mmap(). Examples: external
13477           devices (USB harddrive, portable music player) being unplugged
13478           while in use; file on mounted CD/DVD that can't be read because
13479           the medium is partly damaged. Fixes #348455 and #348475.
13480
13481 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13482
13483         * gst/gstquery.h:
13484         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13485         rates are a gdouble
13486
13487 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13488
13489         * gst/gstregistry.c:
13490           Move big documentation comment into class section header, so that it
13491           appears in the API docs.
13492
13493 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13494
13495         * docs/gst/gstreamer-sections.txt:
13496         Oops. Commit the docs additions too for new API.
13497         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13498
13499 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13500
13501         * gst/gststructure.c: (gst_structure_id_set),
13502         (gst_structure_id_set_valist):
13503         * gst/gststructure.h:
13504         Add API for setting values into structures without performing
13505         a quark lookup, if the appropriate quark is already known.
13506
13507         API: gst_structure_id_set
13508         API: gst_structure_id_set_valist
13509
13510         * gst/parse/grammar.y:
13511         * gst/parse/parse.l:
13512         Remove some dead code shown by the coverage information.
13513         Don't throw a critical g_warning when encountering a syntax error,
13514         just warn and let the normal error path handle it.
13515
13516         * plugins/elements/gstelements.c:
13517         Bump the rank of filesink up to PRIMARY so that it is preferred over
13518         gnomevfssink for file:// sink uri's
13519
13520         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13521         (GST_START_TEST), (run_delayed_test),
13522         (gst_parse_test_element_base_init),
13523         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13524         (gst_parse_test_element_change_state),
13525         (gst_register_parse_element), (parse_suite):
13526         Beef up the tests for parse syntax to check that more error cases
13527         fail as they are supposed to. Increases the test coverage a bit.
13528
13529 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13530
13531         * docs/manual/basics-elements.xml:
13532           Fix gst_element_link() example.
13533
13534         * gst/gstutils.c:
13535           Mention in API docs that one should usually gst_bin_add()
13536           elements to a bin or pipeline before doing the linking.
13537           
13538 2006-07-26  Wim Taymans  <wim@fluendo.com>
13539
13540         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13541         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13542         Avoid function call for known types by keeping the buffer and
13543         subbuffer GType global.
13544
13545         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13546         Random silly optimisations in read() path.
13547
13548 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13549
13550         * tools/gst-launch.c: (main):
13551           If the top-level of the parse is a normal bin, it doesn't do the
13552           right logic to run as a top-level element, so place it inside a
13553           pipeline.
13554
13555 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13556
13557         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13558           Remove superfluous g_object_notify() calls, GObject does
13559           that for us automatically.
13560
13561 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13562
13563         * gst/gstinfo.h:
13564           on Win32, use dllspec to export the debug category symbols
13565
13566 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13567
13568         * gst/gsttaglist.c: (_gst_tag_initialize):
13569           Allow more than one GST_TAG_IMAGE per taglist.
13570
13571 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13572
13573         * gst/gstminiobject.c:
13574           update docs
13575         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13576         (gst_fd_src_create):
13577           log recurring events at LOG level
13578           add more debug for when the fd gets set
13579
13580 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13581
13582         * gst/gstparse.c: (gst_parse_launch):
13583           Also remove reentrance checks if flex is MT safe (#348179)
13584          Fix my empty ChangeLog entry below
13585
13586 2006-07-21  Andy Wingo  <wingo@pobox.com>
13587
13588         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13589
13590         * libs/gst/check/Makefile.am
13591         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13592         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13593         * libs/gst/check/gstbufferstraw.h:
13594         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13595         functions, thus proving I am still a GStreamer haxor. OK I wrote
13596         them a long time ago, but anyways.
13597
13598 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13599
13600         * configure.ac:
13601         * gst/gstparse.c: (gst_parse_launch):
13602           Check for flex version and omit mutex if we have a MT save flex
13603           (fixes #348179)
13604
13605 2006-07-21  Wim Taymans  <wim@fluendo.com>
13606
13607         * gst/gstparse.c: (gst_parse_launch):
13608         Protect recursive calls to _parse with a recursive mutex
13609         and busy flag.
13610
13611 2006-07-21  Wim Taymans  <wim@fluendo.com>
13612
13613         * tests/check/gst/gstpad.c: (GST_START_TEST):
13614         Fix leak in test.
13615
13616 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13617
13618         * gst/gstparse.c: (gst_parse_launch):
13619           Do not hang on recursive usage of gst_parse_launch()
13620
13621 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13622
13623         * gst/gsttaglist.c:
13624           Add some more docs, comments and FIXME 0.11s here and there
13625           and also fix some typos.
13626
13627 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13628
13629         * gst/gstsegment.h:
13630           Convert tabs to spaces for better readability. 
13631
13632 2006-07-20  Edward Hervey  <edward@fluendo.com>
13633
13634         * tests/check/libs/gdp.c: (gst_dp_suite):
13635         the test_buffer test fails at line 140 on ppc64 at the following
13636         check:
13637         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13638                 GST_BUFFER_FLAG_IN_CAPS),
13639                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13640         See bug #348114 for more details.
13641
13642 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13643
13644         * docs/pwg/advanced-scheduling.xml:
13645         * gst/gstpad.c:
13646           Fix typos (#348000).
13647
13648 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13649
13650         * docs/pwg/intro-basics.xml:
13651           Fix wrong links (#347927).
13652
13653 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13654
13655         * gst/gstregistry.h:
13656         * gst/gstregistryxml.c: (load_feature),
13657         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13658         * win32/common/config.h:
13659           make --disable-index work (#342564)
13660
13661 2006-07-18  Wim Taymans  <wim@fluendo.com>
13662
13663         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13664
13665         * gst/Makefile.am:
13666         * gst/gsttrace.h:
13667         The attached patch adds two missing defines to gsttrace.h when tracing
13668         is disabled.  It also corrects one existing define.
13669         Fixes #347756.
13670
13671 2006-07-17  Wim Taymans  <wim@fluendo.com>
13672
13673         * docs/gst/gstreamer-sections.txt:
13674         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13675         * gst/gst.h:
13676         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13677         Add two functions to check and change the SIGSEGV behaviour
13678         when loading plugins.
13679         Don't mess with the SIGSEGV handler when we were told not to.
13680         Fixes #347794.
13681         API: gst_segtrap_is_enabled
13682         API: gst_segtrap_set_enabled
13683
13684 2006-07-14  Wim Taymans  <wim@fluendo.com>
13685
13686         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13687         * tests/check/elements/filesrc.c: (GST_START_TEST):
13688         Revert fix for regression in #347408 after release.
13689
13690 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13691
13692         Patch by: Antoine Tremblay <hexa00 at gmail com>
13693
13694         * gst/gstutils.c: (gst_element_unlink):
13695           Free iterator when done (#347311).
13696
13697         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13698           And add a test case for this.
13699
13700 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13701
13702         * configure.ac:
13703         Bump nano back to CVS
13704
13705 === release 0.10.9 ===
13706
13707 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13708
13709         * configure.ac:
13710           releasing 0.10.9, "On the road again"
13711
13712 2006-07-13  Wim Taymans  <wim@fluendo.com>
13713
13714         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13715         * tests/check/elements/filesrc.c: (GST_START_TEST):
13716         Revert pull-0 fix for release. Disable check. Fixes #347408.
13717
13718 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13719
13720         * libs/gst/dataprotocol/dataprotocol.c:
13721         (gst_dp_event_from_packet_1_0):
13722           Fixes #347337: failure to deserialize event packets with
13723           empty payload (only event type)
13724
13725 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13726
13727         * gst/Makefile.am:
13728           do not install a .c file in the header directory
13729
13730 2006-07-13  Edward Hervey  <edward@fluendo.com>
13731
13732         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13733         GhostPad no longer implicitely use the padtemplates of the targets.
13734         Fixes #347384
13735
13736 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13737
13738         * gst/gstvalue.c: (gst_value_compare_list),
13739         (gst_value_compare_array), (_gst_value_initialize):
13740         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13741         Make GstValueArray comparison be order dependent as designed.
13742         Add checks for value lists and value array comparisons.
13743         Fixes #347221
13744
13745 2006-07-11  Edward Hervey  <edward@fluendo.com>
13746
13747         * gst/gstbin.c: (activate_pads),
13748         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13749         (gst_bin_change_state_func):
13750         (de)activate src pads before calling state_change on the childs.
13751         This is to avoid the case where a src ghostpad is blocked (holding the
13752         stream lock), which would block the deactivation of the ghostpad's
13753         target pad.
13754         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13755         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13756         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13757         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13758         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13759         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13760         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13761         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13762         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13763         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13764         (gst_ghost_pad_class_init),
13765         (gst_ghost_pad_internal_do_activate_push),
13766         (gst_ghost_pad_internal_do_activate_pull),
13767         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13768         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13769         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13770         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13771         GhostPads now create their internal GstProxyPad at creation (and not
13772         when they're linked, as it was being done previously).
13773         The internal and target pads are linked straight away.
13774         The data will also travel through the other pad in order to make
13775         pad blocking and probes non-hackish (the probe/block now really happens
13776         on the GhostPad and not on the target).
13777         * gst/gstpad.c: (gst_pad_set_blocked_async),
13778         (gst_pad_link_prepare), (gst_pad_push_event):
13779         Remove previous ghostpad cruft.
13780         * gst/gstutils.c: (gst_pad_add_data_probe),
13781         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13782         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13783         (gst_pad_remove_buffer_probe):
13784         Remove previous ghost pad cruft.
13785         Added more detailed debug statements.
13786         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13787         Fix the testsuite for refcounting changes.
13788         The comments about who has references were correct, but the refcount
13789         being checked wasn't the same (!?!).
13790
13791         Fixes #341029
13792
13793 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13794
13795         * docs/gst/gstreamer-sections.txt:
13796         * gst/gstconfig.h.in:
13797         More docs for configuration options, add docs to gtk-doc.
13798
13799 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13800
13801         * gst/Makefile.am:
13802         * gst/gstconfig.h.in:
13803         * win32/common/config.h:
13804         Fix build when disabling tracing (fixes #344016). Also start to document
13805         the defines that disable the sub-systems.
13806
13807 2006-07-10  Edward Hervey  <edward@fluendo.com>
13808
13809         * gst/gst.c: (ensure_current_registry_forking):
13810         let's make valgrind happy...
13811
13812 2006-07-09  Wim Taymans  <wim@fluendo.com>
13813
13814         * gst/gstelement.c: (activate_pads),
13815         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13816         Better pad activation code: Reset the collect value too on resync.
13817         Add some comments.
13818
13819 2006-07-09  Wim Taymans  <wim@fluendo.com>
13820
13821         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13822         (gst_pad_activate_push):
13823         Use some more macros where it makes sense.
13824         Allow pad mode switching instead of asserting. When a pad
13825         is activated in one mode and we activate it in another, 
13826         deactivate it first before activating it in a different mode.
13827         Fixes #329198.
13828
13829 2006-07-08  Andy Wingo  <wingo@pobox.com>
13830
13831         * tools/gst-launch.c (main): Handle err == NULL.
13832
13833         * gst/gst.c (init_post, ensure_current_registry)
13834         (ensure_current_registry_forking)
13835         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13836         factoring out the registry scanning into separate functions. Don't
13837         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13838         Better environment var name/interface suggestions accepted.
13839
13840 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13841
13842         * gst/gstobject.c: (gst_object_set_name_default),
13843         (gst_object_set_name):
13844           Random micro-optimisation: don't use a hash table
13845           with strings as keys and the usual strdup/strcmp
13846           involved, but rather just use the GQuark of the
13847           type name as key, since it needs to be looked up
13848           anyway to get the type name string.
13849
13850         * tests/check/gst/gstobject.c: (GST_START_TEST):
13851           Fix various leaks.
13852
13853 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13854
13855         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13856         (gst_bin_iterate_all_by_interface):
13857           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13858           GTypes are gulongs and thus the top 4 bytes might be cut
13859           off on some platforms when doing GPOINTER_TO_INT, leading
13860           to invalid GTypes and bad things happening (see RH bug #179654).
13861           Also add a check to make sure the type passed in is really
13862           an interface type.
13863
13864 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13865
13866         * .cvsignore:
13867           Ignore more.
13868
13869 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13870
13871         * Makefile.am:
13872         * configure.ac:
13873         * gst-element-check.m4:
13874         * gst-element-check.m4.in:
13875           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13876           instead of the unversioned gst-inspect (#324176, #168659).
13877
13878 2006-07-06  Wim Taymans  <wim@fluendo.com>
13879
13880         * gst/gstmessage.h:
13881         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13882         warnings.
13883
13884 2006-07-06  Wim Taymans  <wim@fluendo.com>
13885
13886         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13887         (gst_base_src_wait), (gst_base_src_update_length),
13888         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13889         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13890         (gst_base_src_loop), (gst_base_src_start),
13891         (gst_base_src_activate_pull):
13892         Update docs.
13893         blocksize == 0 now means the default blocksize when working in push
13894         based mode.
13895         Remove some pointless asserts in _wait function.
13896         Fix offset/length calculations and EOS handling. We can now pull 0
13897         bytes as well, which is allowed.
13898         use _check_get_range() to decide if we can operate in _pull based
13899         mode.
13900         Fix refcounting leak when check_get_range function was not 
13901         implemented.
13902         API GstBaseSrc::blocksize range can be 0 too now (default)
13903
13904         * tests/check/elements/filesrc.c: (GST_START_TEST),
13905         (filesrc_suite):
13906         Added check to test _get_range() behaviour.
13907
13908 2006-07-06  Wim Taymans  <wim@fluendo.com>
13909
13910         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13911         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13912         (gst_pad_pull_range):
13913         * gst/gstpad.h:
13914         Lots of comments and docs added to the pad functions.
13915         Flesh out the expected behaviour of the get_range() functions.
13916
13917 2006-07-06  Wim Taymans  <wim@fluendo.com>
13918
13919         * gst/gstbus.h:
13920         * gst/gstclock.h:
13921         * gst/gstevent.h:
13922         * gst/gstiterator.h:
13923         * gst/gstpad.h:
13924         * gst/gstplugin.h:
13925         * gst/gsttask.h:
13926         Remove comma at end of enumerator list. 
13927
13928 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13929
13930         * win32/common/libgstbase.def:
13931         * win32/common/libgstdataprotocol.def:
13932         * win32/common/libsgtreamer.def:
13933         Add new exported functions.
13934
13935 2006-07-05  Wim Taymans  <wim@fluendo.com>
13936
13937         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13938         Add some more docs here and there.
13939
13940 2006-07-05  Wim Taymans  <wim@fluendo.com>
13941
13942         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13943         (gst_base_sink_loop), (gst_base_sink_get_position):
13944         When operating in pull mode update the offset so that we
13945         read sequentially.
13946
13947 2006-07-05  Wim Taymans  <wim@fluendo.com>
13948
13949         * gst/gstregistryxml.c: (read_string):
13950         Avoid strdup. (will happen in libxml, but hey!)
13951
13952         * gst/gsturi.c:
13953         Add some more docs.
13954
13955 2006-07-05  Wim Taymans  <wim@fluendo.com>
13956
13957         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13958         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13959         (gst_buffer_suite):
13960         No point in checking if the size of the subbuffer > 0, the
13961         code handles it correclty as demonstrated by unit test.
13962         Also add a unit test for the zero sized _new_and_alloc and
13963         _copy. Fixes #346663.
13964
13965 2006-07-05  Wim Taymans  <wim@fluendo.com>
13966
13967         * libs/gst/base/gstbasetransform.c:
13968         (gst_base_transform_prepare_output_buffer),
13969         (gst_base_transform_buffer_alloc),
13970         (gst_base_transform_handle_buffer):
13971         Make sure the buffer we pass to transform_ip has a refcount of
13972         1 and thus is writable. Fixes #343196
13973
13974 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13975
13976         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13977         (gst_file_src_init), (gst_file_src_set_property),
13978         (gst_file_src_get_property), (gst_file_src_map_region):
13979         * plugins/elements/gstfilesrc.h:
13980         Add "sequential" property, off by default, to use madvise and hint
13981         to the kernel that sequential access is desired.
13982         Touch all retrieved pages by default to ensure they are pulled
13983         into memory. (Closes #345720)
13984
13985 2006-07-03  Wim Taymans  <wim@fluendo.com>
13986
13987         * docs/design/part-block.txt:
13988         * docs/design/part-dynamic.txt:
13989         Small docs updates.
13990
13991 2006-07-03  Wim Taymans  <wim@fluendo.com>
13992
13993         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13994         (gst_caps_unref), (gst_static_caps_get),
13995         (gst_caps_append_structure):
13996         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13997         Use GSlice when the glib we build against is >= 2.10
13998
13999 2006-07-03  Wim Taymans  <wim@fluendo.com>
14000
14001         * gst/gstelement.c: (gst_element_pads_activate):
14002         Small cleanup in pad activation code.
14003
14004 2006-07-03  Wim Taymans  <wim@fluendo.com>
14005
14006         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14007
14008         * gst/gst-i18n-app.h:
14009         * gst/gst-i18n-lib.h:
14010         * tools/gst-inspect.c: (print_signal_info):
14011         The attached patch will make the inclusion of gettext.h unconditional in
14012         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14013         libintl.h in tools/gst-inspect.c.
14014         This allows use of --disable-nls again and fixes #344642.
14015
14016 2006-07-03  Edward Hervey  <edward@fluendo.com>
14017
14018         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14019         Implement pad blocking on events according to part-block.txt.
14020         More comments on behaviour.
14021         * tests/check/gst/gstevent.c: (test_event):
14022         Send event to peer pad of blocked pad (else it will block).
14023
14024 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14025
14026         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14027         (gst_check_run_suite):
14028           if we get the wrong message, give us the types as string
14029         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14030           Fix a translatable
14031         * tests/check/elements/filesrc.c: (GST_START_TEST):
14032           add a test for trying to open a non-existing file
14033
14034 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14035
14036         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14037           add a test for adding self
14038
14039 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14040
14041         * libs/gst/check/gstcheck.h:
14042           add some assert_ as alias for fail_unless_*
14043         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14044           increase test coverage
14045
14046 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * Makefile.am:
14049           include lcov.mak for lcov coverage generation
14050         * tools/Makefile.am:
14051           add to CLEANFILES
14052
14053 2006-07-02  Edward Hervey  <edward@fluendo.com>
14054
14055         * tests/check/elements/.cvsignore:
14056         moaping
14057
14058 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14059
14060         * configure.ac:
14061           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14062         * tests/check/Makefile.am:
14063           clean up gcov files
14064
14065 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14066
14067         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14068           remove gst_caps_simplify; it was not declared and not used
14069           and deprecated in 0.8
14070
14071 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14072
14073         * docs/faq/gst-uninstalled:
14074           don't put empty paths on PYTHONPATH
14075         * docs/gst/gstreamer-sections.txt:
14076           remove some symbols that are not there
14077
14078 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14079
14080         * gst/gstcaps.c: (gst_caps_compare_structures):
14081           whitespace fixes
14082         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14083         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14084           add more tests
14085
14086 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * libs/gst/dataprotocol/Makefile.am:
14089           build dataprotocol test by linking to the lib, instead of
14090           compiling the source, so we get coverage
14091         * tests/check/Makefile.am:
14092         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14093         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14094           add a test for filesrc
14095
14096 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14097
14098         * tests/check/gst/gststructure.c: (GST_START_TEST),
14099         (gst_structure_suite):
14100           Push coverage from 59.04% to 70.00%
14101
14102 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14103
14104         * tests/check/Makefile.am:
14105           gst-inspect every element; this makes sure that we also get
14106           coverage on element's get/set functions
14107
14108 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14109
14110         * configure.ac:
14111           set CFLAGS and friends to -O0 if gcov is being used
14112           add GCOV LIBS
14113         * gst/Makefile.am:
14114         * libs/gst/base/Makefile.am:
14115         * libs/gst/check/Makefile.am:
14116         * libs/gst/controller/Makefile.am:
14117         * libs/gst/dataprotocol/Makefile.am:
14118         * libs/gst/net/Makefile.am:
14119         * plugins/elements/Makefile.am:
14120         * plugins/indexers/Makefile.am:
14121           add makefile rules to generate gcov data and clean up
14122         * tests/check/Makefile.am:
14123           add a coverage target that generates an html overview
14124           of coverage data
14125
14126 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14127
14128         * tests/check/elements/fakesink.c:
14129         * tests/check/elements/fakesrc.c:
14130         * tests/check/elements/fdsrc.c:
14131         * tests/check/elements/identity.c:
14132         * tests/check/generic/sinks.c: (gst_sinks_suite):
14133         * tests/check/generic/states.c:
14134         * tests/check/gst/gst.c:
14135         * tests/check/gst/gstabi.c:
14136         * tests/check/gst/gstbin.c:
14137         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14138         * tests/check/gst/gstbus.c: (gst_bus_suite):
14139         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14140         * tests/check/gst/gstelement.c:
14141         * tests/check/gst/gstevent.c: (gst_event_suite):
14142         * tests/check/gst/gstghostpad.c:
14143         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14144         * tests/check/gst/gstmessage.c: (gst_message_suite):
14145         * tests/check/gst/gstminiobject.c:
14146         * tests/check/gst/gstobject.c:
14147         * tests/check/gst/gstpad.c:
14148         * tests/check/gst/gstpipeline.c:
14149         * tests/check/gst/gstplugin.c:
14150         * tests/check/gst/gstquery.c: (gst_query_suite):
14151         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14152         * tests/check/gst/gststructure.c:
14153         * tests/check/gst/gstsystemclock.c:
14154         * tests/check/gst/gsttag.c:
14155         * tests/check/gst/gsttask.c: (gst_task_suite):
14156         * tests/check/gst/gstutils.c:
14157         * tests/check/gst/gstvalue.c:
14158         * tests/check/libs/adapter.c:
14159         * tests/check/libs/basesrc.c:
14160         * tests/check/libs/collectpads.c:
14161         * tests/check/libs/controller.c:
14162         * tests/check/libs/gdp.c: (gst_dp_suite):
14163         * tests/check/libs/gstnetclientclock.c:
14164         * tests/check/libs/gstnettimeprovider.c:
14165         * tests/check/libs/libsabi.c: (libsabi_suite):
14166         * tests/check/libs/typefindhelper.c:
14167         * tests/check/pipelines/cleanup.c:
14168         * tests/check/pipelines/parse-launch.c:
14169         * tests/check/pipelines/simple-launch-lines.c:
14170         * tests/check/pipelines/stress.c: (stress_suite):
14171           use the new macro
14172
14173 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14174
14175         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14176         * libs/gst/check/gstcheck.h:
14177           create a macro and function so that the simple unit test
14178           case can be just one macro to create main()
14179
14180 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14181
14182         * gst/gstbin.c: (gst_bin_restore_thyself):
14183         * gst/gstxml.c: (gst_xml_make_element):
14184           Fix deserialisation from XML. Set parent manually
14185           instead of using gst_bin_add(), since gst_bin_add()
14186           will unlink all pads of the element being added.
14187           Fixes #341667.
14188
14189 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14190
14191         Patch by: Peter Kjellerstedt <pkj at axis com>
14192
14193         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14194           Fix missing g_strdup() and double free when using the
14195           --gst-plugin-load command line option (#346097).
14196
14197 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14198
14199         * gst/gstinfo.c:
14200           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14201
14202         * libs/gst/net/gstnetclientclock.c:
14203         * libs/gst/net/gstnettimeprovider.c:
14204           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14205
14206 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14207
14208         * docs/manual/advanced-dataaccess.xml:
14209           Fix buffer probe example compilation in
14210           ADM (#345708).
14211         
14212 2006-06-22  Edward Hervey  <edward@fluendo.com>
14213
14214         * gst/gstelement.c: (gst_element_pads_activate):
14215         We need to deactivate src pads first and then sink pads.
14216         The reason is the src pads might be blocking while holding the streaming
14217         lock, so we need to deactivate them first so that deactivating the sink
14218         pads doesn't block (since it will require the streaming lock).
14219
14220 2006-06-22  Wim Taymans  <wim@fluendo.com>
14221
14222         * libs/gst/base/gstbasetransform.c:
14223         (gst_base_transform_buffer_alloc):
14224         Forgot to remove two unneeded unrefs.
14225         Simplify a check _is_equal allready checks the obvious case.
14226
14227 2006-06-22  Wim Taymans  <wim@fluendo.com>
14228
14229         * docs/design/part-block.txt:
14230         Some docs about what pad_block should do.
14231
14232 2006-06-22  Wim Taymans  <wim@fluendo.com>
14233
14234         * gst/gstcaps.c: (gst_caps_replace):
14235         Fix crasher when passed NULL. Doc clarification.
14236         Optimize for the trivial case.
14237
14238         * gst/gstpipeline.c: (gst_pipeline_change_state):
14239         Small cleanups.
14240
14241         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14242         Small documentation cleanup.
14243
14244         * libs/gst/base/gstbasetransform.c:
14245         (gst_base_transform_buffer_alloc):
14246         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14247         is what we need and it avoids a whole lot of redundant 
14248         refcount operations.
14249
14250 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14251
14252         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14253
14254         * docs/manual/advanced-dataaccess.xml:
14255           Fix 'Embedding static elements' section to use
14256           GST_PLUGIN_DEFINE_STATIC (#345607).
14257
14258 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14259
14260         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14261           Attempt to 'fix' spuriously failing test case: it seems like the
14262           timeout of half a second is simply too small when the system is under
14263           load otherwise, and the timeout doesn't really seem to serve any
14264           particular purpose here. Give the pipeline a few seconds to preroll
14265           first, and then give it another half a second to go from PAUSED to
14266           PLAYING and marshal the message into the main thread.
14267
14268 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14269
14270         * tools/gst-feedback-m.m:
14271           Don't only use unversioned tools, try versioned tools as well
14272           (#345086).
14273
14274 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14275
14276         * gst/gstbus.c: (gst_bus_class_init):
14277           Fix some typos, make docs more explicit.
14278
14279 2006-06-20  Wim Taymans  <wim@fluendo.com>
14280
14281         * tests/check/gst/gstghostpad.c: (block_callback),
14282         (GST_START_TEST), (gst_ghost_pad_suite):
14283         Added some more ghostpad tests, mainly blocking
14284         and probes.
14285
14286 2006-06-16  Wim Taymans  <wim@fluendo.com>
14287
14288         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14289         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14290         (gst_file_sink_event), (gst_file_sink_render):
14291         * plugins/elements/gstfilesink.h:
14292         Check if we can seek in the file instead of assuming
14293         we always can. Post an error when we are asked to seek in a
14294         non-seekable file (like a fifo). Fixes #343312.
14295         Some cleanups.
14296
14297 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14298
14299         * tools/gst-launch.1.in:
14300           Un-garble (fourcc) bit in filtered caps section.
14301
14302 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14303
14304         * docs/manual/advanced-autoplugging.xml:
14305         * docs/manual/basics-helloworld.xml:
14306         * docs/manual/highlevel-components.xml:
14307           Don't leak bus reference in sample code.
14308
14309 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14310
14311         * autogen.sh:
14312           Add default for new --enable-plugin-docs switch.
14313
14314         * configure.ac:
14315           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14316           Fixes #344039.
14317
14318         * docs/Makefile.am:
14319           Use new ENABLE_PLUGIN_DOCS conditional.
14320
14321 2006-06-14  Wim Taymans  <wim@fluendo.com>
14322
14323         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14324         Make it clear with a FIXME and a real define what the #if 0
14325         previously disabled.
14326
14327 2006-06-14  Wim Taymans  <wim@fluendo.com>
14328
14329         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14330         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14331         * libs/gst/base/gstbasetransform.c:
14332         (gst_base_transform_sink_eventfunc):
14333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14334         Don't randomly and silently reset a segment when the format 
14335         changes as this is a bug somewhere upstream. Fixes #330379.
14336
14337 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14338
14339         Patch by: Wouter Paesen  <wouter at kangaroot net>
14340
14341         * libs/gst/controller/gstcontroller.c:
14342         (gst_controlled_property_new):
14343           Fix controlling of float properties (#344849).
14344
14345         * tests/check/libs/controller.c:
14346         (gst_test_mono_source_get_property),
14347         (gst_test_mono_source_set_property),
14348         (gst_test_mono_source_class_init), (GST_START_TEST):
14349           While we're at it, add some float stuff to unit test.
14350
14351 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14352
14353         * docs/README:
14354         * docs/images/gdp-header.svg:
14355           add a gdp image
14356         * docs/libs/Makefile.am:
14357         * docs/libs/gdp-header.png:
14358         * libs/gst/dataprotocol/dataprotocol.c:
14359           add it to the API docs
14360         * docs/manual/intro-motivation.xml:
14361           fix typo
14362
14363 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14364
14365         * gst/gst.c: (scan_and_update_registry), (init_post):
14366           If the fork()'ed child process can't write the updated registry cache
14367           file to disk for some reason, make it exit with a failure exit code,
14368           so that the parent can then re-scan the plugins itself and update the
14369           registry structures in memory and work with that (rather than failing
14370           when creating elements because seemingly no plugins are available).
14371           Refactor registry scanning code into separate function for this and
14372           also separate fork() and non-fork() code paths. Fixes #344748.
14373
14374 2006-06-13  Wim Taymans  <wim@fluendo.com>
14375
14376         * docs/manual/advanced-dataaccess.xml:
14377         Fix wrong PluginDesc. Fixes #344755.
14378
14379 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14380
14381         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14382           Fix silly bug that prevented us from creating
14383           ~/.gstreamer-0.10 and writing the registry in one
14384           go (the first call to g_mkstemp() would overwrite the
14385           placeholder in the template string, so the second call
14386           to g_mkstemp() after creating the missing directory
14387           would then error out with 'invalid argument').
14388
14389 2006-06-13  Edward Hervey  <edward@fluendo.com>
14390
14391         * gst/gst.c: (init_post):
14392         Free string.
14393
14394 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14395
14396         * gst/glib-compat-private.h:
14397         * gst/glib-compat.c:
14398         * gst/glib-compat.h:
14399         * gst/gstvalue.c: (gst_value_serialize_flags):
14400           remove GLib 2.6 compatibility code
14401
14402 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14403
14404         * gst/parse/Makefile.am:
14405           Fix build with 'make -j N' even more (#340016).
14406
14407 2006-06-12  Wim Taymans  <wim@fluendo.com>
14408
14409         * docs/gst/gstreamer-sections.txt:
14410         Fix docs.
14411
14412 2006-06-12  Wim Taymans  <wim@fluendo.com>
14413
14414         * gst/gstsegment.c: (gst_segment_set_duration),
14415         (gst_segment_set_last_stop), (gst_segment_set_seek),
14416         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14417         (gst_segment_to_running_time), (gst_segment_clip):
14418         Use G_UNLIKELY to help the compiler a bit.
14419
14420 2006-06-12  Wim Taymans  <wim@fluendo.com>
14421
14422         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14423
14424         * gst/gstevent.c: (gst_event_get_type):
14425         * gst/gstmessage.c:
14426         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14427         (gst_pad_push):
14428         constify quark registration strings. Fixes #344115
14429         Avoid unneeded type checking is _pad_push() by internally
14430         calling gst_pad_chain_unchecked().
14431
14432 2006-06-12  Wim Taymans  <wim@fluendo.com>
14433
14434         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14435         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14436         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14437         (gst_buffer_is_span_fast), (gst_buffer_span):
14438         Init _type for consistency.
14439         Use _FLAGS macro to avoid type check.
14440         Avoid unneeded type checks in subbufer code.
14441
14442 2006-06-12  Wim Taymans  <wim@fluendo.com>
14443
14444         * gst/gst.c: (gst_debug_help):
14445         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14446         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14447         (gst_plugin_feature_list_free):
14448         * gst/gstregistry.c: (gst_registry_add_plugin),
14449         (gst_registry_add_feature), (gst_registry_plugin_filter),
14450         (gst_registry_feature_filter), (gst_registry_find_plugin),
14451         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14452         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14453         * gst/gstregistryxml.c: (load_feature),
14454         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14455         * gst/gstminiobject.c: (gst_mini_object_unref),
14456         (gst_mini_object_replace), (gst_value_mini_object_free),
14457         (gst_value_mini_object_copy):
14458         Use _CAST macros to avoid unneeded type checking.
14459         Added some more G_UNLIKELY.
14460
14461 2006-06-12  Wim Taymans  <wim@fluendo.com>
14462
14463         * gst/gstbuffer.h:
14464         Avoid unneeded type checking.
14465         API: GST_BUFFER_IS_DISCONT
14466
14467         * gst/gstminiobject.h:
14468         Avoid type check in flag accessor.
14469
14470         * gst/gstelementfactory.h:
14471         * gst/gstplugin.h:
14472         * gst/gstpluginfeature.h:
14473         Add _CAST macros.
14474         API: GST_ELEMENT_FACTORY_CAST
14475         API: GST_PLUGIN_CAST
14476         API: GST_PLUGIN_FEATURE_CAST
14477
14478 2006-06-12  Wim Taymans  <wim@fluendo.com>
14479
14480         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14481         (gst_object_unref):
14482         Add G_UNLIKELY in type registration.
14483         Avoid type check in _ref/_unref since that is also
14484         done in glib.
14485
14486 2006-06-12  Wim Taymans  <wim@fluendo.com>
14487
14488         * gst/gsterror.c: (gst_g_error_get_type):
14489         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14490         (gst_static_pad_template_get_type):
14491         * gst/gsttaglist.c: (gst_tag_list_get_type):
14492         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14493         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14494         * gst/gsturi.c: (gst_uri_handler_get_type):
14495         * gst/gstvalue.c: (gst_date_get_type):
14496         * gst/gstxml.c: (gst_xml_get_type):
14497         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14498         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14499         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14500         Add G_UNLIKELY in type registration.
14501
14502 2006-06-12  Wim Taymans  <wim@fluendo.com>
14503
14504         * tools/gst-inspect.c: (print_signal_info):
14505         Properly print enum values.
14506
14507 2006-06-12  Wim Taymans  <wim@fluendo.com>
14508
14509         * gst/gstinfo.c: (gst_debug_set_active),
14510         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14511         * gst/gstinfo.h:
14512         Add some G_[UN]LIKELY.
14513         Maintain __gst_debug_min to avoid formatting the arguments of
14514         debug messages that will be dropped anyway to avoid a lot of 
14515         overhead from the debugging system.
14516
14517 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14518
14519         * po/POTFILES.in:
14520         * po/POTFILES.skip:
14521           add missing files containing translatable strings, tell intltool about
14522           one exception
14523
14524 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14525
14526         * tests/check/libs/.cvsignore:
14527         add test-binary to ignore list
14528
14529 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14530
14531         * docs/libs/gstreamer-libs-docs.sgml:
14532         reorder (put dp into a chapter) and indent
14533
14534 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14535
14536         * configure.ac:
14537           back to HEAD
14538
14539 === release 0.10.8 ===
14540
14541 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14542
14543         * configure.ac:
14544           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14545
14546 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14547
14548         * gst/gst.c: (init_post):
14549           move pid declaration to declaration block
14550
14551 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14552
14553         * gst/gst.c: (init_post):
14554           use _exit() instead of exit() in our forked child; this ensures
14555           that none of the registered exit handlers from whatever is using
14556           GStreamer get executed.  This fixes gnome-mixer-applet failing
14557           to load, because ORBit would shut down.
14558           Spotted by: Edward Hervey  <edward@fluendo.com>
14559           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14560           Fixes #344474
14561
14562 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14563
14564         * configure.ac:
14565           back to TRUNK
14566
14567 === release 0.10.7 ===
14568
14569 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14570
14571         * configure.ac:
14572           releasing 0.10.7, "Soepeke, ik zie ou"
14573
14574 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14575
14576         * configure.ac:
14577         * po/af.po:
14578         * po/az.po:
14579         * po/bg.po:
14580         * po/ca.po:
14581         * po/cs.po:
14582         * po/de.po:
14583         * po/en_GB.po:
14584         * po/fr.po:
14585         * po/it.po:
14586         * po/nb.po:
14587         * po/nl.po:
14588         * po/ru.po:
14589         * po/sq.po:
14590         * po/sr.po:
14591         * po/sv.po:
14592         * po/tr.po:
14593         * po/uk.po:
14594         * po/vi.po:
14595         * po/zh_CN.po:
14596         * po/zh_TW.po:
14597         * win32/common/config.h:
14598           0.10.6.2 prerelease
14599
14600 2006-06-07  Wim Taymans  <wim@fluendo.com>
14601
14602         * gst/gstindex.c: (gst_index_gtype_resolver):
14603         * tools/gst-xmlinspect.c: (print_plugin_info):
14604         Fix leak spotted by coverity checker. Fixes #343827
14605         Fix another other leak found by paolo borelli.
14606
14607 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14608
14609         * libs/gst/dataprotocol/dataprotocol.c:
14610         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14611         (gst_dp_version_get_type), (gst_dp_init),
14612         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14613         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14614         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14615         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14616         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14617         (gst_dp_packetizer_free):
14618         * libs/gst/dataprotocol/dataprotocol.h:
14619           API: add a GstDPPacketizer object, and create/free functions
14620           API: add GstDPVersion enum
14621           Add 1.0 event function that uses the string serialization
14622           Serialize more useful buffer flags
14623           Fixes #343988
14624
14625 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14626
14627         * tests/check/Makefile.am:
14628         * tests/check/gst/gstabi.c:
14629         * tests/check/gst/struct_ppc64.h:
14630         * tests/check/libs/libsabi.c:
14631         * tests/check/libs/struct_ppc64.h:
14632           add ppc64 structure sizes
14633
14634 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14635
14636         * tests/check/Makefile.am:
14637         * tests/check/gst/gstabi.c:
14638         * tests/check/gst/struct_x86_64.h:
14639         * tests/check/libs/libsabi.c:
14640         * tests/check/libs/struct_x86_64.h:
14641           generate and add structure size lists for x86_64
14642
14643 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14644
14645         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14646         * libs/gst/check/gstcheck.h:
14647           factor out the method from tests that checks size of structures,
14648           and add code to generate the header containing these sizes
14649         * tests/check/gst/gstabi.c: (GST_START_TEST):
14650         * tests/check/gst/struct_i386.h:
14651         * tests/check/libs/libsabi.c: (GST_START_TEST):
14652         * tests/check/libs/struct_i386.h:
14653           use it
14654
14655 2006-06-06  Michael Smith  <msmith@fluendo.com>
14656
14657         * gst/gstsegment.h:
14658           Don't use c++-style comments, fixes #343929
14659
14660 2006-06-05  Edward Hervey  <edward@fluendo.com>
14661
14662         * gst/gst.c:
14663         plugin_paths is not used if we build without registry support.
14664
14665         * gst/gstsegment.c: (gst_segment_copy): 
14666         _copy() was always returning NULL...
14667
14668 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14669
14670         * libs/gst/dataprotocol/dataprotocol.c:
14671         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14672         (gst_dp_packet_from_event):
14673           factor out CRC code
14674
14675 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14676
14677         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14678           make sure we unset caps
14679
14680 2006-06-02  Michael Smith  <msmith@fluendo.com>
14681
14682         * libs/gst/check/gstcheck.c: (gst_check_init),
14683         (gst_check_chain_func):
14684         * libs/gst/check/gstcheck.h:
14685           Add a cond/mutex to the check support lib, signal this whenever we
14686           add to the buffers list. This will allow tests to not busy-wait on
14687           the buffer-list.
14688
14689 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14690
14691         * libs/gst/dataprotocol/dataprotocol.c:
14692         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14693         (gst_dp_packet_from_event):
14694           factor out some common header init code
14695
14696 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14697
14698         * docs/libs/gstreamer-libs-sections.txt:
14699         * docs/libs/tmpl/gstdataprotocol.sgml:
14700         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14701         * libs/gst/dataprotocol/dataprotocol.h:
14702           API: make gst_dp_crc() public
14703
14704 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14705
14706         * plugins/indexers/gstindexers.c: (plugin_init):
14707         conditionally register fileindexer (fixes #343598)
14708
14709 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14710
14711         * gst/gsttagsetter.h:
14712         Can't cast ifaces to a class
14713
14714         * libs/gst/net/gstnetclientclock.h:
14715         * libs/gst/net/gstnettimeprovider.h:
14716         * plugins/elements/gstfakesink.h:
14717         * plugins/elements/gstfakesrc.h:
14718         * plugins/elements/gstfdsink.h:
14719         * plugins/elements/gstfdsrc.h:
14720         * plugins/elements/gstfilesink.h:
14721         * plugins/elements/gstfilesrc.h:
14722         * plugins/elements/gstidentity.h:
14723         * plugins/elements/gstqueue.h:
14724         * plugins/elements/gsttee.h:
14725         * plugins/indexers/gstfileindex.c:
14726         * plugins/indexers/gstmemindex.c:
14727         * tests/old/examples/plugins/example.h:
14728         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14729
14730 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14731
14732         * libs/gst/dataprotocol/dataprotocol.c:
14733         (gst_dp_header_from_buffer):
14734           make sure we zero the whole ABI-compatible area
14735
14736 2006-06-01  Wim Taymans  <wim@fluendo.com>
14737
14738         Patch by: Alessandro Decina <alessandro at nnva dot org>
14739
14740         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14741         Make sure the EOS flag is cleared from pads after a flush
14742         or stop. Fixes #343538.
14743
14744         * tests/check/libs/collectpads.c: (GST_START_TEST),
14745         (gst_collect_pads_suite):
14746         Added test for collectpads reusage after EOS.
14747
14748 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14749
14750         * gst/gst.c:
14751          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14752         * win32/common/libgstbase.def:
14753          export gst_collect_pads_set_flushing
14754         * win32/common/libgstreamer.def:
14755          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14756          gst_value_fraction_multiply
14757         * win32/vs6/gst_inspect.dsp:
14758          add a link to intl.lib
14759
14760 2006-05-30  Wim Taymans  <wim@fluendo.com>
14761
14762         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14763         (gst_collect_pads_chain):
14764         Handle the case where a pad is removed from the collection
14765         that could cause the other pads to become collectable.
14766
14767 2006-05-30  Wim Taymans  <wim@fluendo.com>
14768
14769         * gst/gstelement.c:
14770         Clarify the use of _release_request_pad() and
14771         _get_request_pad() a bit better.
14772
14773         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14774         (gst_adapter_take_buffer):
14775         Fix some doc and comment typos.
14776
14777 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14778
14779         * docs/gst/gstreamer-sections.txt:
14780         * docs/libs/gstreamer-libs-sections.txt:
14781           add declared symbols
14782
14783 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14784
14785         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14786         Add debug that can be enabled using a #define at the top of the file,
14787         for dumping stats about how late/early we were when waking up from
14788         waiting on the clock.
14789
14790 2006-05-30  Wim Taymans  <wim@fluendo.com>
14791
14792         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14793         When rebuilding the pad list, don't leak the previous list.
14794
14795 2006-05-30  Wim Taymans  <wim@fluendo.com>
14796
14797         Patch by: Lutz Mueller <lutz at topfrose dot de>
14798
14799         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14800         (gst_base_src_get_query_types), (gst_base_src_update_length):
14801         Publish supported query types.
14802         Update last_stop field in get_range mode so the position
14803         query works. Fixes #342321.
14804
14805 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14806
14807         * docs/gst/gstreamer-sections.txt:
14808         * gst/gsttaglist.c: (_gst_tag_initialize):
14809         * gst/gsttaglist.h:
14810           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14811
14812 2006-05-30  Wim Taymans  <wim@fluendo.com>
14813
14814         Patch by: Alessandro Decina <alessandro at nnva dot org>
14815
14816         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14817         Unlock mutex when removing an unknown pad.
14818         Fixes #343334.
14819
14820         * tests/check/Makefile.am:
14821         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14822         (push_event), (setup), (teardown), (GST_START_TEST),
14823         (gst_collect_pads_suite), (main):
14824         Added collecpads check, disabled for now as check crashes for
14825         some reason.
14826
14827 2006-05-29  Wim Taymans  <wim@fluendo.com>
14828
14829         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14830         Don't leak pads lists.
14831
14832 2006-05-29  Wim Taymans  <wim@fluendo.com>
14833
14834         * docs/libs/gstreamer-libs-sections.txt:
14835         * libs/gst/base/gstcollectpads.c:
14836         (gst_collect_pads_set_flushing_unlocked),
14837         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14838         (gst_collect_pads_stop):
14839         * libs/gst/base/gstcollectpads.h:
14840         API: gst_collect_pads_set_flushing()
14841         Added api to set the pads to flushing, useful for seeking
14842         code in elements using collectpads.
14843         Clear segment when receiving a flush.
14844
14845 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14846
14847         * gst/gst.c: (add_path_func), (init_post):
14848           Don't scan registry paths passed via --gst-plugin-path immediately
14849           (will crash, because absolutely nothing is set up and no types are
14850           registered etc.); do this later in init_post(). Fixes #343057.
14851
14852 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14853
14854         * gst/gst.c: (init_post):
14855           if we have fork, fork while reading/rebuilding the registry
14856           so the parent doesn't take the hit of having all plugins loaded
14857           in memory.  Fixes #342777.
14858         * configure.ac:
14859           Check if we have fork()
14860         * win32/common/config.h.in:
14861           no fork() on win32
14862
14863 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14864
14865         * plugins/elements/gstelements.c:
14866         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14867         (gst_file_src_init), (gst_file_src_set_property),
14868         (gst_file_src_get_property), (gst_file_src_start):
14869         * plugins/elements/gstfilesrc.h:
14870           API: GstFileSrc::use-mmap
14871
14872         Add a use-mmap property to enable easier testing of all code paths.
14873         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14874         in the absence of gnomevfssrc. (Closes #340501)
14875
14876 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14877
14878         * tools/gst-inspect.c:
14879         Add missing include, removes warning of ngettext not being defined on
14880         some arches.
14881
14882 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14883
14884         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14885         Handle NULL input and output pointers silently as a failed conversion,
14886         rather than g_warnings.
14887
14888 2006-05-25  Wim Taymans  <wim@fluendo.com>
14889
14890         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14891         Initialize variable before using. Fixes #342820.
14892
14893 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14894
14895         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14896           Fix off-by-one bug that would only allow peeks of N-1 bytes
14897           from the start even if the buffer to typefind on contains
14898           in fact N bytes of data (makes vorbis typefinding from a
14899           vorbis identification header buffer work).
14900
14901         * tests/check/Makefile.am:
14902         * tests/check/libs/.cvsignore:
14903         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14904         (gst_typefindhelper_suite), (main), (foobar_typefind),
14905         (plugin_init):
14906           Add very basic unit test for gst_type_find_helper_for_buffer()
14907           that checks for the problem fixed above.
14908
14909 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14910
14911         * tools/gst-inspect.c: (print_interfaces),
14912         (print_element_properties_info), (print_element_list), (main):
14913           add more translatable strings
14914
14915 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14916
14917         Patch by: Julien Moutte  <julien at moutte net>
14918
14919         * docs/gst/gstreamer-sections.txt:
14920           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14921           
14922         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14923         (gst_fake_sink_preroll):
14924         * plugins/elements/gstfakesink.h:
14925           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14926
14927 2006-05-23  Wim Taymans  <wim@fluendo.com>
14928
14929         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14930         * gst/gstpad.h:
14931         Added _CUSTOM error and success GstFlowReturn that can be
14932         used be elements internally. 
14933         Added macro to check for SUCCESS flowreturns.
14934         API: GST_FLOW_CUSTOM_SUCCESS
14935         API: GST_FLOW_CUSTOM_ERROR
14936         API: GST_FLOW_IS_SUCCESS
14937
14938         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14939         Added check for GstFlowReturn sanity.
14940
14941 2006-05-23  Wim Taymans  <wim@fluendo.com>
14942
14943         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14944
14945         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14946         (gst_collect_pads_event):
14947         clear/reset segment info in FLUSH_STOP.
14948         Fixes #336929.
14949
14950 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14951
14952         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14953         (gst_collect_pads_check_collected):
14954         Flush queued buffer on _stop(), fixes playing again (#342454)
14955
14956 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14957
14958         * tests/check/gst/gststructure.c: (GST_START_TEST),
14959         (gst_structure_suite):
14960           add a test for a complete structure
14961
14962 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14963
14964         * docs/faq/developing.xml:
14965         * docs/faq/faq.xml:
14966         * docs/faq/troubleshooting.xml:
14967         * docs/faq/using.xml:
14968           Some minor FAQ updates that won't change the fact that
14969           our FAQ is badly structured, full of information hardly
14970           anyone new to GStreamer needs to know and lacking lots
14971           of information people constantly ask for.
14972           
14973 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14974
14975         * gst/gstpad.c: (gst_pad_set_caps):
14976           Short-circuit gst_pad_set_caps if setting the existing
14977           caps pointer again, and avoid printing debug and 
14978           reffing/unreffing the caps.
14979
14980         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14981           There's actually no need to set the caps before pushing -
14982           the acceptcaps method will handle it anyway.
14983
14984 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14985
14986         * docs/gst/gstreamer-sections.txt:
14987         * win32/common/libgstreamer.def:
14988         * gst/gstutils.c: (gst_element_seek_simple):
14989         * gst/gstutils.h:
14990           API: add gst_element_seek_simple() (#342238).
14991
14992 2006-05-18  Edward Hervey  <edward@fluendo.com>
14993
14994         * gst/gsttypefind.c: (gst_type_find_get_type):
14995         * gst/gsttypefind.h:
14996         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14997         registered for GstTypeFind pointers. This allows wrapping the structure
14998         in bindings (i.e. gst-python).
14999
15000 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15001
15002         * gst/gsttagsetter.c:
15003           Docs additions and fixes (see #339918).
15004
15005 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15006
15007         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15008         The caps intersection algorithm can produce multiple copies of the
15009         caps. Until that is fixed, we need to simplify the result to be
15010         sure whether the allowed caps are fixed or not.
15011
15012         * plugins/elements/gstqueue.c: (gst_queue_init),
15013         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15014         (gst_queue_push_one):
15015         Proxied buffer alloc should not set the caps on the source pad.
15016         When pushing buffers, we always accept the caps change that triggers.
15017         This prevents negotiation errors caused by caps changing mid-stream 
15018         and then being refused on our source pad (because upstream is now
15019         refusing those caps).
15020
15021 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15022
15023         * tests/examples/helloworld/helloworld.c: (main):
15024           Must plug audioconvert and audioresample between decoder
15025           and audio sink.
15026
15027 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15028
15029         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15030         (load_feature), (load_plugin):
15031         Allow empty strings for some of the plugin fields so we don't 
15032         drop valid plugin entries that were written out correctly
15033         (Fixes #341479)
15034
15035 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15036         
15037         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15038           Use g_remove and g_rename instead of remove and rename that don't 
15039           handle utf8 characters. rename was failing for users who had specific
15040           characters in their name then the registry was built at each 
15041           gstreamer init.
15042         * win32/vs6/gst_inspect.dsp:
15043         * win32/vs6/gst_launch.dsp:
15044         * win32/vs6/libgstbase.dsp:
15045         * win32/vs6/libgstcoreelements.dsp:
15046         * win32/vs6/libgstreamer.dsp:
15047           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15048           build of libgstreamer and clean unused libraries in projects link 
15049           settings.
15050
15051 2006-05-17  Edward Hervey  <edward@fluendo.com>
15052
15053         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15054         The queue is not responsible for pushing an EOS when receiving a fatal
15055         flow error. It's up to the real element driving the pipeline to do that.
15056
15057 2006-05-16  Edward Hervey  <edward@fluendo.com>
15058
15059         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15060         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15061         buffer returned a fatal error. It should just send an EOS and stop
15062         its task.
15063         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15064         when pushing buffers on the queue and will be able to handle the event.
15065
15066 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15067
15068         * docs/manual/basics-bins.xml:
15069         * docs/manual/basics-init.xml:
15070           Fix typos and minor errors in sample code (#341856).
15071
15072 2006-05-16  Wim Taymans  <wim@fluendo.com>
15073
15074         * docs/design/part-qos.txt:
15075         Fix indexes in formulas to make more sense.
15076
15077 2006-05-15  Wim Taymans  <wim@fluendo.com>
15078
15079         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15080         Don't report POSITION based on clock time if sync is
15081         disabled in a sink.
15082
15083 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15084
15085         * gst/gstobject.h:
15086           Add cast to make compiler happy - refcount variable was a gint
15087           in GstObject but is a guint in GObject and g_atomic_int_get()
15088           wants a gint *.
15089
15090 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15091
15092         * gst/parse/Makefile.am:
15093           chain commands using &&, which also makes parallel make work
15094
15095 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15096
15097         * docs/gst/gstreamer-sections.txt:
15098         * gst/gstevent.c:
15099         * gst/gstevent.h:
15100         * gst/gstmessage.h:
15101           Minor docs fixes.
15102
15103 === release 0.10.6 ===
15104
15105 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15106
15107         * configure.ac:
15108           releasing 0.10.6, "Take the cannoli"
15109
15110 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15111
15112         * tools/gst-launch.c: (print_tag):
15113           Fix use of uninitialized variable in the hypothetical
15114           case that some broken plugin creates a GST_TAG_IMAGE
15115           tag containing a NULL buffer (#341667).
15116
15117 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15118
15119         * tools/gst-launch.c: (print_tag):
15120           Print something more intelligible for image tags when
15121           using the -t switch (#341556).
15122
15123 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15124
15125         * Makefile.am:
15126           updates for win32
15127         * configure.ac:
15128           define GST_MAJORMINOR so we have it available in win32/common/config.h
15129           Possibly remove it from our Makefile.am files later
15130         * win32/common/config.h:
15131         * win32/common/config.h.in:
15132           added GST_MAJORMINOR
15133         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15134         * win32/common/gstversion.h:
15135           updated
15136
15137 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15138
15139         * win32/MANIFEST:
15140           Update win32 files listing.
15141         * win32/common/gstversion.h:
15142           Add GST_MAJORMINOR definition.
15143         * win32/common/libgstreamer.def:
15144           Add new exported functions.
15145           
15146 2006-05-12  Michael Smith  <msmith@fluendo.com>
15147
15148         * gst/gstplugin.c: (gst_plugin_load_file):
15149           If an so file has no plugin entry point, unload the module.
15150
15151 2006-05-11  Wim Taymans  <wim@fluendo.com>
15152
15153         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15154         (gst_queue_set_property):
15155         Don't forget to signal the _chain or _loop function 
15156         when the queue size or thresholds change since that might
15157         cause them to make progres again.
15158
15159 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15160
15161         * gst/gstclock.c: (gst_clock_class_init):
15162         * gst/gstindex.c: (gst_index_class_init):
15163         * gst/gstobject.c: (gst_object_class_init):
15164         * gst/gstpad.c: (gst_pad_class_init):
15165         * gst/gstpipeline.c: (gst_pipeline_class_init):
15166         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15167         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15168         * libs/gst/base/gstbasetransform.c:
15169         (gst_base_transform_class_init):
15170         * libs/gst/net/gstnetclientclock.c:
15171         (gst_net_client_clock_class_init):
15172         * libs/gst/net/gstnettimeprovider.c:
15173         (gst_net_time_provider_class_init):
15174         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15175         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15176         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15177         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15178         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15179         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15180         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15181         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15182         * plugins/elements/gsttee.c: (gst_tee_class_init):
15183         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15184         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15185           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15186
15187 2006-05-11  Wim Taymans  <wim@fluendo.com>
15188
15189         * gst/gstbuffer.c: (_gst_buffer_initialize):
15190         Register subbufer along with the buffer type so that
15191         it does not accidentally gets registered from N
15192         different streaming threads in a non threadsafe way.
15193
15194 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15195
15196         * gst/gstbuffer.h:
15197         * gst/gstevent.h:
15198         * gst/gstmessage.h:
15199           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15200           gst_event_ref() and gst_message_ref() functions again
15201           (ugly hack, please do fix if there's a better way besides
15202           overrides.txt, which doesn't seem to work).
15203
15204 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15205
15206         * libs/gst/check/gstcheck.h:
15207           add an assert for setting state to avoid lots of repetitive code
15208           in the future
15209
15210 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15211
15212         * gst/gstvalue.c: (gst_value_serialize_flags):
15213           fix a leak if no flags are set
15214         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15215           fix leak in tests
15216
15217 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15218
15219         * docs/manual/basics-pads.xml:
15220           Expand a bit on caps and filtered links and update
15221           examples that were still using the no longer existing
15222           gst_pad_link_filtered() (#338206).
15223
15224 2006-05-10  Wim Taymans  <wim@fluendo.com>
15225
15226         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15227         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15228         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15229         (gst_collect_pads_stop):
15230         * libs/gst/base/gstcollectpads.h:
15231         No need to call _stop in _finalize.
15232         Iterate the main pad list in _finalize.
15233         Added some more debug.
15234         Free lists and data in the right order.
15235         Also free data whem doing _remove_pad when stopped for
15236         backward compatibility protect ::started with PAD_LOCK as
15237         well.
15238
15239 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15240
15241         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15242         (gst_structure_parse_value):
15243           add some comments
15244           rename a method so that it actually says what it does better
15245
15246 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15247
15248         * gst/gstevent.c: (_gst_event_initialize):
15249         * gst/gstformat.c: (_gst_format_initialize):
15250           make sure some essential types used by events are registered
15251           as part of gst_init()
15252         * gst/gstvalue.c: (gst_value_serialize_flags):
15253           if no flags are set, serialize them to a value that represents NONE
15254           so that deserializing them works
15255         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15256           add tests for serialization and deserialization of flags
15257
15258 2006-05-10  Wim Taymans  <wim@fluendo.com>
15259
15260         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15261         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15262         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15263         (gst_collect_pads_event), (gst_collect_pads_chain):
15264         Update docs.
15265         Better debug info.
15266         Catch and return errors from the collect function
15267         Refuse data on eos pads.
15268
15269 2006-05-10  Edward Hervey  <edward@fluendo.com>
15270
15271         * gst/gstinterface.h:
15272         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15273         GInterface type checking.
15274         They were previously using non-defined macros.
15275
15276 2006-05-09  Wim Taymans  <wim@fluendo.com>
15277
15278         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15279         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15280         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15281         (gst_collect_pads_start), (gst_collect_pads_stop),
15282         (gst_collect_pads_peek), (gst_collect_pads_pop),
15283         (gst_collect_pads_available), (gst_collect_pads_read),
15284         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15285         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15286         (gst_collect_pads_chain):
15287         * libs/gst/base/gstcollectpads.h:
15288         Clean up the mess that is collectpads, add comments and
15289         FIXMEs where needed.
15290         Maintain a separate pad list so we can add pads while
15291         collecting the other ones. For this we need a new separate 
15292         lock (see comics).
15293         Fix memory leak in finalize.
15294         Refactor some weird code to set/unset pad flushing flags, mark
15295         with comments.
15296         Don't crash in _available, _read, _flush when we're EOS.
15297
15298         * tests/check/libs/.cvsignore:
15299         Ignore adapter check binary.
15300
15301 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15302
15303         * gst/gstindex.c: (gst_index_resolver_get_type):
15304         * plugins/elements/gstfakesink.c:
15305         (gst_fake_sink_state_error_get_type):
15306         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15307         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15308         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15309           Const-ify GEnumValue arrays.
15310
15311 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15312
15313         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15314           Add test case for flags + gst_buffer_make_metadata_writable().
15315
15316 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15317
15318         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15319           gst_buffer_make_metadata_writable() should maintain the
15320           buffer flags (those that make sense at least) (see #340859).
15321
15322 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15323
15324         * tools/gst-inspect.c:
15325         * tools/gst-launch.c:
15326         * tools/gst-typefind.c:
15327         * tools/gst-xmlinspect.c:
15328         * tools/tools.h:
15329           Fix up includes: need to include stdlib.h in tools.h for exit().
15330
15331 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15332
15333         * gst/gsttaglist.c: (_gst_tag_initialize):
15334         * gst/gsttaglist.h:
15335           API: add GST_TAG_IMAGE tag (#340721).
15336
15337 2006-05-08  Wim Taymans  <wim@fluendo.com>
15338
15339         * gst/gstquery.c:
15340         Added some docs for the segment query.
15341
15342 2006-05-08  Wim Taymans  <wim@fluendo.com>
15343
15344         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15345         (gst_base_src_loop), (gst_base_src_change_state):
15346         Always push non-flushing serialized events in the streaming 
15347         thread.
15348
15349 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15350
15351         * gst/gsterror.c: (_gst_stream_errors_init):
15352           Add a missing error string.
15353
15354 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15355
15356         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15357         Add applied_rate to the debug
15358
15359         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15360         Copy applied_rate into the outgoing NEWSEGMENT event
15361
15362 2006-05-08  Wim Taymans  <wim@fluendo.com>
15363
15364         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15365
15366         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15367         (gst_base_sink_change_state):
15368         call ::unlock before taking the PREROLL_LOCK so we can safely
15369         handle elements that lock in ::render.
15370         Fixes #340174.
15371
15372 2006-05-08  Edward Hervey  <edward@fluendo.com>
15373
15374         * autogen.sh: (CONFIGURE_DEF_OPT): 
15375         Darwin's libtoolize is in fact called glibtoolize.
15376         Adding glibtoolize to the list of accepted names for libtoolize.
15377
15378 2006-05-08  Wim Taymans  <wim@fluendo.com>
15379
15380         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15381         Unify error handling, don't post an error message
15382         when a push() returns EOS but perform our normal EOS
15383         handling code. Fixes #340772.
15384
15385 2006-05-08  Wim Taymans  <wim@fluendo.com>
15386
15387         * docs/design/part-overview.txt:
15388         Make upsteam/downstream concepts more clear.
15389         Give an example of serialized/non-serialized events.
15390
15391         * docs/design/part-events.txt:
15392         * docs/design/part-streams.txt:
15393         Mention applied_rate.
15394
15395         * docs/design/part-trickmodes.txt:
15396         Mention applied rate, flesh out some more use cases.
15397
15398         * gst/gstevent.c: (gst_event_new_new_segment),
15399         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15400         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15401         (gst_event_parse_tag), (gst_event_new_buffer_size),
15402         (gst_event_parse_buffer_size), (gst_event_new_qos),
15403         (gst_event_parse_qos), (gst_event_parse_seek),
15404         (gst_event_new_navigation):
15405         * gst/gstevent.h:
15406         Add applied_rate field to NEWSEGMENT event.
15407         API: gst_event_new_new_segment_full()
15408         API: gst_event_parse_new_segment_full()
15409
15410         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15411         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15412         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15413         * gst/gstsegment.h:
15414         Add applied_rate to GstSegment structure.
15415         Make calculation of stream_time and running_time more correct
15416         wrt rate/applied_rate.
15417         Add some more docs.
15418         API: GstSegment::applied_rate field
15419         API: gst_segment_set_newsegment_full();
15420
15421         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15422         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15423         * libs/gst/base/gstbasetransform.c:
15424         (gst_base_transform_sink_eventfunc),
15425         (gst_base_transform_handle_buffer):
15426         Parse and use applied_rate in the GstSegment field.
15427
15428         * tests/check/gst/gstevent.c: (GST_START_TEST):
15429         Add check for applied_rate field.
15430
15431         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15432         (gstsegments_suite):
15433         Add more checks for various GstSegment operations.
15434
15435 2006-05-08  Wim Taymans  <wim@fluendo.com>
15436
15437         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15438         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15439         (gst_base_sink_get_position), (gst_base_sink_change_state):
15440         Store the sync time of the buffer end position separatly in a
15441         new variable eos_rtime so we can properly sync the EOS event.
15442         Fixes #340697.
15443         Fix the docs for gst_base_sink_set_qos_enabled().
15444         Don't set segment start to invalid value when we receive a 
15445         non TIME newsegment.
15446         get closer to handling position reporting for negative rates 
15447         correctly.
15448
15449 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15450
15451         * gst/gstcaps.c:
15452         Docs about how to print caps for debug purposes.
15453
15454         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15455         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15456
15457 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15458
15459         * gst/gstelement.c:
15460           use full enum names and preprend a '%' in docs strings to make recent 
15461           gtk-doc turn that into a link
15462
15463 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15464
15465         * docs/manual/basics-bins.xml:
15466         * docs/manual/basics-bus.xml:
15467         * docs/manual/basics-pads.xml:
15468           Some typo fixes, some additions, some clarifications. 
15469
15470 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15471
15472         * tools/gst-inspect.c: (main):
15473         * tools/gst-launch.c: (main):
15474         * tools/gst-run.c: (main):
15475         * tools/gst-typefind.c: (main):
15476         * tools/gst-xmlinspect.c: (main):
15477           Use the string passed to g_option_context_new() for
15478           what it's intended for - the program name is already
15479           printed elsewhere.
15480
15481 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15482
15483         * tools/Makefile.am:
15484         * tools/gst-inspect.c: (main):
15485         * tools/gst-launch.c: (main):
15486         * tools/gst-xmlinspect.c: (main):
15487         * tools/tools.h:
15488           Add back --version command line option (#340460).
15489
15490         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15491           Add --version option and use GOption for argument parsing; refactor a
15492           bit; accept directories as arguments and recurse into them; lastly,
15493           print a decent error message when things go wrong.
15494
15495 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15496
15497         * docs/manual/basics-bins.xml:
15498         Don't mention GstThread (#340611)
15499         * docs/manual/basics-elements.xml:
15500         Update link to GObject tutorial (#340607)
15501         
15502 2006-05-05  Wim Taymans  <wim@fluendo.com>
15503
15504         * gst/gstbuffer.h:
15505         * gst/gstminiobject.c:
15506         Add note about refcounting and miniobject/buffer writeability
15507         to docs. Fixes #340604
15508
15509         * gst/gstelementfactory.h:
15510         Added some explanation about @klass.
15511
15512 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15513
15514         * docs/manual/intro-motivation.xml:
15515         * docs/manual/manual.xml:
15516         Avoid CORBA & Bonobo references (#340598)
15517
15518 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15519
15520         * docs/manual/basics-bus.xml:
15521         * docs/manual/basics-pads.xml:
15522         Fix up some inaccuracies and omissions (#340609)
15523         
15524 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15525
15526         * gst/gstghostpad.c:
15527           Small typo in docs (#340625)
15528
15529 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15530
15531         * gst/parse/Makefile.am:
15532           Make 'make -j' proof (see #340698).
15533
15534 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15535
15536         * configure.ac:
15537           Require GLib-2.8 here as well.
15538
15539 2006-05-05  Wim Taymans  <wim@fluendo.com>
15540
15541         * gst/glib-compat.c:
15542         * gst/gst.c: (init_pre):
15543         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15544         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15545         (gst_object_dispatch_properties_changed):
15546         * gst/gstobject.h:
15547         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15548         * gst/gststructure.c: (gst_structure_set_valist):
15549         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15550         Remove pre glib2.8 compatibility, fixes #340508
15551
15552 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15553
15554         * gst/gsttaglist.h:
15555           Mention type of tags in doc blurbs.
15556
15557 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15558
15559         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15560         (gst_pad_configure_src), (gst_pad_push):
15561         Restore acceptcaps checking behaviour now that good plugins have
15562         been released.
15563
15564 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15565
15566         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15567
15568         * gst/gst.c:
15569         * gst/gstbus.c:
15570         * gst/gstclock.c:
15571         * gst/gstevent.c:
15572         * gst/gstformat.c:
15573         * gst/gstmessage.c:
15574         * gst/gstparse.c:
15575         * gst/gstquery.c:
15576         * gst/gstutils.c:
15577         * gst/parse/Makefile.am:
15578         * libs/gst/base/gstadapter.c:
15579         * libs/gst/base/gstbasesrc.c:
15580         * libs/gst/base/gstpushsrc.c:
15581         * libs/gst/base/gsttypefindhelper.c:
15582         * plugins/elements/gstfakesrc.c:
15583         * plugins/elements/gstidentity.c:
15584           Make sure gstprivate.h and/or config.h are
15585           always included first, otherwise some of our
15586           defines (like _FILE_OFFSET_BITS) might be
15587           redefined in the system headers. Fixes build
15588           on opensolaris (#340016).
15589
15590 2006-05-04  Wim Taymans  <wim@fluendo.com>
15591
15592         * docs/libs/gstreamer-libs-sections.txt:
15593         API: addition: gst_adapter_take_buffer()
15594         
15595         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15596         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15597         (gst_adapter_available_fast):
15598         * libs/gst/base/gstadapter.h:
15599         Prepare for optimizing the hell out of this hugely inefficient
15600         piece of code. 
15601         Added gst_adapter_take_buffer() so we can at least start thinking
15602         about subbuffering and merging.
15603         Added some comments.
15604
15605         * tests/check/Makefile.am:
15606         * tests/check/libs/adapter.c: (GST_START_TEST),
15607         (gst_adapter_suite), (main):
15608         Added GstAdapter check.
15609
15610 2006-05-04  Wim Taymans  <wim@fluendo.com>
15611
15612         * docs/design/part-overview.txt:
15613         Fix some typos, add blurb about buffer flags.
15614
15615 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15616
15617         * docs/libs/gstreamer-libs-sections.txt:
15618           make sure GstBaseTransformClass shows up in the docs
15619         * libs/gst/base/gstbasetransform.c:
15620         * libs/gst/base/gstbasetransform.h:
15621           move docs so gtk-doc picks it up now
15622
15623 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15624
15625         * docs/libs/gstreamer-libs-sections.txt:
15626           add missing symbols to docs
15627
15628 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15629
15630         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15631           back out the newsegment handling change, see #340060 for ongoing
15632           discussion
15633
15634 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15635
15636         * tools/gst-run.c: (get_candidates), (main):
15637           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15638           work); fix typo in error message. Fixes #340079.
15639
15640 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15641
15642         * common/Makefile.am:
15643         * docs/Makefile.am:
15644         * docs/faq/Makefile.am:
15645         * docs/gst/Makefile.am:
15646         * docs/libs/Makefile.am:
15647         * docs/manual/Makefile.am:
15648         * docs/plugins/Makefile.am:
15649         * docs/pwg/Makefile.am:
15650         * docs/slides/Makefile.am:
15651         * docs/upload.mak:
15652         * common/upload.mak:
15653           move upload.mak to common
15654
15655 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15656
15657         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15658           add more asserts on refcounts
15659           do more cleanup at end of tests
15660           fix test leaks showing in FC5
15661
15662 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15663
15664         * plugins/elements/gsttypefindelement.c:
15665         (gst_type_find_element_handle_event):
15666         reverted wrong change and reflowed code to avoid others falling into
15667         this trap
15668
15669 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15670
15671         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15672           fix changelog entry about last collectpads change,
15673           add notes about proper fix
15674
15675 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15676
15677         * gst/gst.c:
15678         * gst/gstregistry.c: (gst_registry_scan_path_level),
15679         (gst_registry_scan_path):
15680         * gst/gstregistry.h:
15681           only write out registry if it has changed, fixes #338339
15682
15683 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15684
15685         * gst/gstbin.c:
15686         * gst/gstpipeline.c:
15687         * plugins/elements/gstcapsfilter.c:
15688         * plugins/elements/gstfakesink.c:
15689         * plugins/elements/gstfakesrc.c:
15690         * plugins/elements/gstfdsink.c:
15691         * plugins/elements/gstfdsrc.c:
15692         * plugins/elements/gstfilesink.c:
15693         * plugins/elements/gstfilesrc.c:
15694         * plugins/elements/gstidentity.c:
15695         * plugins/elements/gstqueue.c:
15696         * plugins/elements/gsttee.c:
15697         * plugins/elements/gsttypefindelement.c:
15698         (gst_type_find_element_handle_event):
15699           make GstElementDetails const
15700
15701 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15702
15703         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15704         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15705         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15706           more detailed debug and formatting cleanup,
15707           forward newsegments to src-pad (so that e.g. adder not eats them)
15708
15709 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15710
15711         * gst/gstutils.c: (gst_element_link_pads):
15712           cleanup double code
15713
15714 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15715
15716         * libs/gst/controller/gstcontroller.c:
15717         (gst_controller_sync_values):
15718           some little tuning
15719         * tests/check/libs/controller.c: (GST_START_TEST),
15720         (gst_controller_suite):
15721           a new test for live value handling
15722
15723 2006-04-28  Wim Taymans  <wim@fluendo.com>
15724
15725         * gst/gstutils.c: (push_and_ref):
15726         Added some more docs.
15727         Fix refcount issue whith gst_element_found_tags() helper 
15728         function. Fixes #338335
15729
15730         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15731         Added testsuite for gst_element_found_tags().
15732
15733 2006-04-28  Michael Smith  <msmith@fluendo.com>
15734
15735         * gst/gstvalue.c: (gst_value_serialize_flags):
15736           Avoid NULL dereference when trying to serialize flags containing
15737           invalid values.
15738
15739 2006-04-28  Michael Smith  <msmith@fluendo.com>
15740
15741         * plugins/elements/gsttypefindelement.c:
15742         (gst_type_find_element_handle_event):
15743           If we get EOS before any data is accumulated, don't use
15744           uninitialised local variables.
15745
15746 2006-04-28  Michael Smith  <msmith@fluendo.com>
15747
15748         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15749         (gst_dp_event_from_packet):
15750           Fixes in reading/writing events over GDP (not currently used?) - 
15751           dereferencing NULL events for unknown/invalid event types, memory
15752           leak, and change g_warning to GST_WARNING.
15753
15754 2006-04-28  Wim Taymans  <wim@fluendo.com>
15755
15756         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15757         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15758         (gst_base_sink_get_position), (gst_base_sink_change_state):
15759         When frame dropping is enabled, we should not ignore frames
15760         without a duration.
15761         Update some documentation.
15762
15763 2006-04-28  Wim Taymans  <wim@fluendo.com>
15764
15765         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15766         (gst_base_src_send_event), (gst_base_src_change_state):
15767         Documentation updates.
15768
15769 2006-04-28  Wim Taymans  <wim@fluendo.com>
15770
15771         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15772         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15773         handle EAGAIN, EINTR and short writes correctly. Also clean
15774         up some error cases, avoid a deadlock on bad file descriptors and
15775         use GST_DEBUG_OBJECT.
15776         Fixes #339843
15777
15778 2006-04-28  Wim Taymans  <wim@fluendo.com>
15779
15780         * gst/gstvalue.c: (gst_value_serialize_buffer),
15781         (gst_value_deserialize_buffer):
15782         Don't try to serialize a GValue with a NULL buffer. 
15783         Fixes #339821.
15784
15785         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15786         Added check for serialisation of NULL buffers.
15787
15788 2006-04-28  Wim Taymans  <wim@fluendo.com>
15789
15790         * gst/gstminiobject.c: (gst_value_take_mini_object):
15791         Taking a NULL miniobject is valid, fix the case where
15792         we try to unref the NULL miniobject.
15793
15794 2006-04-28  Wim Taymans  <wim@fluendo.com>
15795
15796         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15797
15798         * gst/gstbin.c: (gst_bin_handle_message_func):
15799         Update docs.
15800         Don't leak bin refcount when a state recalc is
15801         in progress and we delay another one #339808.
15802
15803 2006-04-28  Wim Taymans  <wim@fluendo.com>
15804
15805         * docs/design/part-TODO.txt:
15806         Mention QoS as an ongoing work item.
15807
15808         * docs/design/part-buffering.txt:
15809         New doc about buffering that needs to be fleshed out
15810         at some point.
15811
15812         * docs/design/part-qos.txt:
15813         More QoS policy for decoders/demuxers/transforms
15814
15815         * docs/design/part-trickmodes.txt:
15816         Small update.
15817
15818 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15819
15820         * configure.ac:
15821           back to HEAD
15822
15823 === release 0.10.5 ===
15824
15825 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15826
15827         * configure.ac:
15828           releasing 0.10.5, "Fogo"
15829
15830 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15831
15832         patch by: Wim Taymans
15833
15834         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15835         (gst_pad_configure_src), (gst_pad_push):
15836         * gst/gstpipeline.c: (gst_pipeline_init):
15837           Fix internal data flow errors.  Fixes #338711.
15838
15839 2006-04-12  Wim Taymans  <wim@fluendo.com>
15840
15841         * tests/check/gst/gstelement.c: (GST_START_TEST):
15842         Don't leak the factory.
15843
15844 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15845
15846         * configure.ac:
15847         * win32/common/config.h:
15848           prerelease
15849
15850 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15851
15852         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15853         (gst_controller_unset_all):
15854           Free allocated GstTimedValues when freeing list nodes.
15855           Should fix leaks 'make check-valgrind' complains about.
15856
15857         * win32/common/libgstcontroller.def:
15858           Add gst_controller_unset_all.
15859
15860 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15861
15862         * docs/libs/gstreamer-libs-sections.txt:
15863         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15864         (gst_controller_unset_all):
15865         * libs/gst/controller/gstcontroller.h:
15866         API: Added new method gst_controller_unset_all()
15867         fixed gst_controller_unset()
15868         * tests/check/libs/controller.c: (GST_START_TEST),
15869         (gst_controller_suite):
15870         Added two testcases for new and fixed method
15871
15872 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15873
15874         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15875           MSG_DONTWAIT is not defined on Cygwin, so work
15876           around that (fixes #317048).
15877           
15878 2006-04-11  Wim Taymans  <wim@fluendo.com>
15879
15880         * gst/gstelementfactory.c: (gst_element_register),
15881         (gst_element_factory_create), (gst_element_factory_make):
15882         Some cleanups.
15883         Fixed a FIXME.
15884         Updated docs (Fixes #131079)
15885
15886         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15887         Small cleanups.
15888
15889         * tests/check/gst/gstelement.c: (GST_START_TEST),
15890         (gst_element_suite):
15891         Added testcase for elementfactory class field.
15892
15893 2006-04-10  Wim Taymans  <wim@fluendo.com>
15894
15895         * gst/gstsegment.c:
15896         Added some more docs.
15897
15898         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15899         (gst_base_sink_reset_qos):
15900         Calculate more accurate rate values.
15901
15902 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15903
15904         * gst/gst_private.h:
15905           add a new #ifdef to use __declspec(dllimport) only for
15906           other modules and not for gstreamer core
15907         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15908           use gst_guint64_to_gdouble for conversion
15909         * win32/common/libgstreamer.def:
15910           add new exported functions
15911         * win32/vs6/gst_inspect.dsp:
15912         * win32/vs6/gst_launch.dsp:
15913         * win32/vs6/libgstbase.dsp:
15914         * win32/vs6/libgstcontroller.dsp:
15915         * win32/vs6/libgstcoreelements.dsp:
15916         * win32/vs6/libgstdataprotocol.dsp:
15917         * win32/vs6/libgstnet.dsp:
15918           update project files
15919
15920 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15921
15922         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15923         * gst/gstclock.c: (gst_clock_class_init):
15924         * gst/gstelement.c: (gst_element_class_init):
15925         * gst/gstindex.c: (gst_index_class_init):
15926         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15927         * gst/gstobject.c: (gst_object_class_init),
15928         (gst_signal_object_class_init):
15929         * gst/gstpad.c: (gst_pad_class_init):
15930         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15931         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15932         * gst/gstregistry.c: (gst_registry_class_init):
15933         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15934         * gst/gsttask.c: (gst_task_class_init):
15935         * gst/gstxml.c: (gst_xml_class_init):
15936         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15937         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15938         (gst_base_src_loop):
15939         * libs/gst/controller/gstcontroller.c:/
15940         (_gst_controller_class_init):
15941         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15942         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15943         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15944         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15945         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15946         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15947
15948 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15949
15950         * gst/gstpad.c: (gst_pad_link):
15951           Must set peer pads before calling the link function, otherwise
15952           a task started from a link function might get a flow-not-linked
15953           result when trying to push because the other thread where the
15954           linking happens hasn't had a chance to set the peers yet. This
15955           might happen for example when a queue gets linked to a downstream
15956           element, as queue starts a streaming task when its source pad
15957           gets linked. Happens in real life when playing back flac/musepack
15958           files in playbin (#332390).
15959           
15960 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15961
15962         * gst/gstindex.h:
15963         * gst/gstxml.h:
15964         * libs/gst/base/gstadapter.h:
15965         * libs/gst/base/gstbasesink.h:
15966         * libs/gst/base/gstbasesrc.h:
15967         * libs/gst/base/gstbasetransform.h:
15968         * libs/gst/base/gstcollectpads.h:
15969         * libs/gst/base/gstpushsrc.h:
15970         Fix broken GObject macros
15971
15972 2006-04-07  Wim Taymans  <wim@fluendo.com>
15973
15974         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15975         Initialize start and stop times, thanks valgrind.
15976
15977 2006-04-07  Wim Taymans  <wim@fluendo.com>
15978
15979         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15980         Be a bit nicer to badly behaving upstream elements that expect
15981         us to deal with non TIME segments and timestamps (such as fakesrc
15982         in the testsuite).
15983
15984 2006-04-07  Wim Taymans  <wim@fluendo.com>
15985
15986         * gst/gstbus.c:
15987         Small documentation clarification about the signal watch.
15988
15989         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15990         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15991         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15992         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15993         (gst_base_sink_get_position_last),
15994         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15995         Convert and store timestamps in stream time and running time, the
15996         raw timestamps are not useful, also document this better.
15997         Use different window sizes for good and bad QoS observations so
15998         we react to badness a little quicker.
15999         Keep track of the amount of rendered and dropped buffers.
16000         Send QoS timestamps in running time.
16001
16002         * libs/gst/base/gstbasetransform.c:
16003         (gst_base_transform_sink_eventfunc),
16004         (gst_base_transform_handle_buffer):
16005         Compare QoS timestamps against running time.
16006
16007 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16008
16009         * gst/gstpad.c:
16010           Typo fixes in docs.
16011
16012 2006-04-06  Michael Smith  <msmith@fluendo.com>
16013
16014         * gst/gstpad.c: (gst_pad_set_property):
16015           Use g_value_get_object() instead of g_value_dup_gst_object(),
16016           to avoid double-reffing the pad template (which we then sink,
16017           so this worked previously if (and only if) the pad template
16018           was floating.
16019
16020         * gst/gstpadtemplate.c: (gst_pad_template_init),
16021         (gst_pad_template_pad_created):
16022           Never return floating references to pad templates, create
16023           them as initially-sunken.
16024
16025           Document an extra function (and make this stop sinking our
16026           pad template, since that is now guaranteed to do nothing,
16027           since we created it sunken).
16028
16029         * gst/gstghostpad.c:
16030           Fix docs typo.
16031
16032 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16033
16034         * gst/gstinfo.c: (__gst_in_valgrind):
16035           Add some newlines.
16036
16037         * plugins/elements/gsttypefindelement.c:
16038         (gst_type_find_element_chain):
16039           Don't leak buffer caps.
16040
16041 2006-04-06  Michael Smith  <msmith@fluendo.com>
16042
16043         * gst/parse/grammar.y:
16044           Fix a leak in parse-launch for any source-or-sink named element 
16045           references used.
16046
16047         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16048           Unref the pipeline if it exists after we've failed parsing.
16049
16050 2006-04-05  Michael Smith  <msmith@fluendo.com>
16051
16052         * gst/gstpipeline.c: (gst_pipeline_init):
16053           When we create a pipeline bus, initially create it in flushing mode.
16054           Fixes leaks in at least one test, and makes a new pipeline work the
16055           same as one that has gone to READY and then back to NULL.
16056
16057         * gst/gstelement.c:
16058           Typo fix in docs.
16059
16060 2006-04-05  Michael Smith  <msmith@fluendo.com>
16061
16062         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16063           Unref a pad we reffed.
16064         * tests/check/gst/gstutils.c: (GST_START_TEST):
16065           Unref bins
16066
16067 2006-04-05  Michael Smith  <msmith@fluendo.com>
16068
16069         * gst/gstquery.c: (gst_query_set_formats),
16070         (gst_query_set_formatsv):
16071           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16072
16073 2006-04-05  Michael Smith  <msmith@fluendo.com>
16074
16075         * tests/check/generic/sinks.c: (GST_START_TEST):
16076           Fix a variety of memleaks in sinks check, which are only sometimes 
16077           shown by running the tests under valgrind (weird?).
16078
16079 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16080
16081         * docs/version.entities.in:
16082           Fix the substituted entity name after thomas' changes on the
16083           weekend.
16084
16085 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16086
16087         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16088         VALGRIND_PRINTF
16089         
16090 2006-04-05  Andy Wingo  <wingo@pobox.com>
16091
16092         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16093
16094         * libs/gst/base/gstbasetransform.c
16095         (gst_base_transform_sink_eventfunc): When resetting our segment on
16096         FLUSH_STOP, also update the flag saying we haven't seen a
16097         newsegment.
16098
16099 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16102
16103         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16104         (gst_plugin_check_license):
16105           minor clean-ups: G_DEFINE_TYPE already takes care of the
16106           parent_class stuff, no need to do it twice. Mark array of
16107           license strings as constant. (#337103)
16108           
16109 2006-04-04  Michael Smith  <msmith@fluendo.com>
16110
16111         * tools/gst-inspect.c: (print_element_list):
16112           Free the right plugin list; fixes a memory leak.
16113
16114 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16115
16116         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16117
16118         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16119           Don't error out on empty buffers (#336945).
16120           
16121 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16122
16123         * docs/libs/gstreamer-libs-sections.txt:
16124         * gst/gsttaglist.c:
16125         * libs/gst/base/gstbasesink.c:
16126         * libs/gst/base/gstbasesink.h:
16127         * libs/gst/base/gstbasesrc.c:
16128         * libs/gst/base/gstbasesrc.h:
16129           Documentation updates. Make BaseSink and BaseSrc docs contain the
16130           class structure so that people can actually see the prototypes for
16131           virtual functions they're supposed to be overriding.
16132
16133 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16134
16135         * plugins/elements/gsttypefindelement.c:
16136         (gst_type_find_element_chain):
16137           More debug info; when skipping typefinding, send cached
16138           events in all cases.
16139
16140 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16141
16142         * configure.ac:
16143           use new AS_VERSION and AS_NANO macros
16144         * gst/gst-i18n-lib.h:
16145         * gst/gst.c:
16146         * gst/gsterror.c:
16147         * gst/gstversion.h.in:
16148         * win32/common/config.h:
16149         * win32/common/config.h.in:
16150           update accordingly
16151
16152 2006-03-31  Michael Smith  <msmith@fluendo.com>
16153
16154         * plugins/elements/gsttypefindelement.c:
16155         (gst_type_find_element_chain):
16156           Do not typefind content if the buffers already have caps.
16157           Neccesary for icydemux (#333657), and the right thing to do anyway.
16158
16159 2006-03-30  Wim Taymans  <wim@fluendo.com>
16160
16161         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16162         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16163         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16164         (gst_base_sink_record_qos_observation),
16165         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16166         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16167         (gst_base_sink_change_state):
16168         More QoS measurements as described in the design doc.
16169         Get rid of ringbuffer with observations, running average is
16170         more simple and equally good.
16171         Calculates valid proportion now.
16172         Added beginning of flood measurement.
16173
16174 2006-03-29  Wim Taymans  <wim@fluendo.com>
16175
16176         * docs/design/part-qos.txt:
16177         * gst/gstclock.c:
16178         Small documentation updates and additions.
16179
16180 2006-03-29  Wim Taymans  <wim@fluendo.com>
16181
16182         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16183         (gst_base_src_send_event), (gst_base_src_loop),
16184         (gst_base_src_change_state):
16185         Perform the EOS logic when we reach the segment stop position.
16186         Fix compilation on gcc4.1
16187
16188 2006-03-29  Wim Taymans  <wim@fluendo.com>
16189
16190         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16191
16192         * plugins/elements/gstqueue.c: (gst_queue_init),
16193         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16194         (gst_queue_set_property):
16195         * plugins/elements/gstqueue.h:
16196         In queue, when EOS is received, if minimum threshold > max_size -
16197         current_level, there is chance that queue blocks forever in conditional
16198         item del wait. This is because the queue is not emptied completely due
16199         to minimum threshold.  Here is another approach. Instead of setting
16200         cur_levels to max in EOS, just zero all minimum threshold levels. This
16201         should make sure that queue gives out all data. When going to READY
16202         (stop) state, just reset the original minimum threshold levels.
16203         Fixes #336336.
16204
16205 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16206
16207         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16208         (gst_type_find_element_handle_event),
16209         (gst_type_find_element_send_cached_events),
16210         (gst_type_find_element_change_state):
16211         * plugins/elements/gsttypefindelement.h:
16212           When typefinding is done in push mode, we should cache
16213           events we receive during typefinding instead of just
16214           dropping them (e.g. newsegment, custom events from
16215           dvdreadsrc etc.) and then send them out once we've
16216           determined the type of the stream (and decodebin
16217           has had a chance to plug in a decoder/demuxer).
16218           
16219 2006-03-27  Wim Taymans  <wim@fluendo.com>
16220
16221         * docs/design/part-qos.txt:
16222         First QoS ideas.
16223
16224 2006-03-27  Wim Taymans  <wim@fluendo.com>
16225
16226         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16227
16228         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16229         (gst_base_src_send_event), (gst_base_src_change_state):
16230         Handle element seek correctly when we are streaming.
16231         Fixes #326998.
16232
16233 2006-03-24  Michael Smith  <msmith@fluendo.com>
16234
16235         * docs/faq/gst-uninstalled:
16236           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16237           allow you to correctly run intalled applications built against old 
16238           core, using plugins that require updated core (e.g. running
16239           installed totem against a full uninstalled gstreamer stack)
16240
16241 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16242
16243         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16244         more debug details
16245
16246 2006-03-24  Wim Taymans  <wim@fluendo.com>
16247
16248         * docs/gst/gstreamer-sections.txt:
16249         Rearrange the order of the methods so that related methods
16250         are grouped together in sections.
16251
16252 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16253
16254         * gst/gstelement.c:
16255           Little clarification in the docs
16256
16257 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16258
16259         * docs/README:
16260         formatting fix
16261         * plugins/elements/gstidentity.c:
16262         * plugins/elements/gstqueue.c:
16263         * plugins/elements/gsttee.c:
16264         * plugins/elements/gsttypefindelement.c:
16265         GST_ELEMENT_DETAILS formatting
16266
16267 2006-03-24  Wim Taymans  <wim@fluendo.com>
16268
16269         * libs/gst/base/gstbasesink.h:
16270         Only add fields, not insert or we break ABI.
16271
16272 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16273
16274         * win32/common/libgstbase.def:
16275         * win32/common/libgstreamer.def:
16276           Update, add recently added functions.
16277
16278 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16279
16280         * docs/gst/gstreamer-sections.txt:
16281         * gst/gstutils.c: (gst_pad_query_peer_position),
16282         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16283         * gst/gstutils.h:
16284           API: add some new utility functions:
16285            - gst_pad_query_peer_position()
16286            - gst_pad_query_peer_duration()
16287            - gst_pad_query_peer_convert()
16288           
16289 2006-03-23  Wim Taymans  <wim@fluendo.com>
16290
16291         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16292         (gst_base_sink_init), (gst_base_sink_finalize),
16293         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16294         (gst_base_sink_set_property), (gst_base_sink_get_property),
16295         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16296         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16297         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16298         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16299         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16300         (gst_base_sink_preroll_object), (gst_base_sink_event),
16301         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16302         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16303         (gst_base_sink_query), (gst_base_sink_change_state):
16304         Decouple max-lateness and the fact that QoS messages are generated
16305         with a new property (qos).
16306         added API: GstBaseSink::async_play()
16307         Add vmethod so subclasses can be notified of ASYNC playing
16308         state changes.
16309         Collect timestamp start and stop to report better current
16310         position in EOS/PLAYING/PAUSED/READY/NULL.
16311         Refactor QoS/frame dropping and other measurements.
16312         API: GstBaseSrc::qos
16313         Fixes #326311
16314
16315         * libs/gst/base/gstbasesink.h:
16316         Added Private struct.
16317         API: gst_base_sink_set_qos_enabled()
16318         API: gst_base_sink_is_qos_enabled()
16319
16320 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16321
16322         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16323           If compiling against GLib-2.8 or newer, try to read the
16324           registry file using GMappedFile first before falling back
16325           to fopen() + fread() (#332151).
16326
16327 2006-03-22  Wim Taymans  <wim@fluendo.com>
16328
16329         * gst/gstinfo.c: (gst_debug_set_active),
16330         (gst_debug_category_set_threshold):
16331         Disable debugging unless explicitly activated.
16332         Fixes #335480.
16333
16334 2006-03-22  Wim Taymans  <wim@fluendo.com>
16335
16336         * gst/gstelement.c: (gst_element_set_locked_state),
16337         (gst_element_dispose):
16338         Cleanup the error case.
16339
16340         * gst/gstobject.c: (gst_object_dispose):
16341         print a critical when some object was disposed with
16342         a parent, also revive the object since it might
16343         crash the parent.
16344
16345 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16346
16347         * tools/gst-launch.1.in:
16348           Fix another typo.
16349
16350 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16351
16352         * configure.ac:
16353         * tests/check/Makefile.am:
16354           disable some tests when we don't have a registry
16355         * tests/check/gst/gstutils.c: (gst_utils_suite):
16356           don't build the part that needs parsing
16357
16358 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16359
16360         * gst/Makefile.am
16361         * tests/examples/Makefile.am:
16362           fix --disable-parse build
16363
16364 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16365
16366         * tools/gst-feedback.1.in:
16367           Fix typo: s/feeback/feedback/ (#133494).
16368
16369 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16370
16371         * tools/Makefile.am:
16372         * tools/gst-launch.1.in:
16373           Add FILES section and correct entry about GST_REGISTRY_PATH
16374           environment variable (#133495; #133494).
16375
16376 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16377
16378         * tools/Makefile.am:
16379         * tools/gst-md5sum.1.in:
16380         * tools/gst-md5sum.c:
16381           Remove gst-md5sum and man page (the md5sink element
16382           required was removed ages ago)
16383
16384 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16385
16386         * gst/gststructure.c: (gst_structure_id_set_value):
16387           Make sure that string fields in structures/taglists
16388           contain valid UTF-8 - we don't want to pass rubbish to
16389           applications because of a buggy plugin (cp. #334167).
16390
16391 2006-03-21  Edward Hervey  <edward@fluendo.com>
16392
16393         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16394         (gst_bin_handle_message_func):
16395         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16396         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16397         (gst_element_set_bus_func):
16398         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16399         * gst/gstminiobject.c: (gst_value_set_mini_object),
16400         (gst_value_take_mini_object):
16401         * gst/gstpad.c: (gst_pad_set_pad_template):
16402         * gst/gstpipeline.c: (gst_pipeline_dispose),
16403         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16404         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16405         (gst_collect_pads_chain):
16406         * libs/gst/net/gstnettimeprovider.c:
16407         (gst_net_time_provider_set_property):
16408         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16409         It's in fact all issues with gst_*object_replace().
16410
16411 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16412
16413         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16414         
16415         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16416         * pkgconfig/gstreamer-check.pc.in:
16417           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16418
16419 2006-03-21  Edward Hervey  <edward@fluendo.com>
16420
16421         * gst/gstbuffer.h:
16422         * gst/gstevent.h:
16423         * gst/gstmessage.h:
16424         gst_[buffer|event|message]_ref() macros are replaced by a static
16425         inline functions because gcc-4.1 will about if the return value
16426         isn't used.
16427         * tests/check/gst/gstevent.c: (event_probe):
16428         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16429
16430 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16431
16432         * gst/gstutils.h:
16433         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16434         the type' case. (Closes: #335195 for now). In the future, when we
16435         depend on GLib 2.10, we could also intern the type name using
16436         g_intern_static_string()
16437
16438 2006-03-20  Wim Taymans  <wim@fluendo.com>
16439
16440         * gst/gstbin.c: (gst_bin_handle_message_func),
16441         (bin_query_max_init), (bin_query_position_fold),
16442         (bin_query_position_done), (gst_bin_query):
16443         Position query should also take max of all streams.
16444
16445 2006-03-20  Wim Taymans  <wim@fluendo.com>
16446
16447         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16448         (gst_fake_src_finalize):
16449         Fix leaks in fakesrc.
16450
16451         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16452         Fix leaks in the testcase.
16453
16454 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16455
16456         * gst/gst_private.h:
16457           add win32 specific import decoration(__declspec(dllimport)) 
16458           for all extern GstDebugCategory * variables
16459         * win32/common/libgstbase.def:
16460         * win32/common/libgstcontroller.def:
16461         * win32/common/libgstreamer.def:
16462           Add some exports, remove empty lines
16463         * win32/common/libgstdataprotocol.def:
16464         * win32/common/libgstdataprotocol.dsp:
16465         * win32/common/libgstnet.def:
16466         * win32/common/libgstnet.dsp:
16467           new project files and exportation files added
16468         
16469 2006-03-19  Wim Taymans  <wim@fluendo.com>
16470
16471         * tests/check/libs/basesrc.c: (eos_event_counter):
16472         Use proper return value for probe.
16473
16474 2006-03-17  Wim Taymans  <wim@fluendo.com>
16475
16476         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16477         (gst_pad_push):
16478         Don't leak buffers, caps and pads on negotiation errors.
16479
16480 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16481
16482         * docs/faq/cvs.xml:
16483         * docs/faq/dependencies.xml:
16484         * docs/faq/developing.xml:
16485         * docs/faq/faq.xml:
16486         * docs/faq/general.xml:
16487         * docs/faq/getting.xml:
16488         * docs/faq/legal.xml:
16489         * docs/faq/troubleshooting.xml:
16490         * docs/faq/using.xml:
16491         Faq review and update.
16492
16493 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16494
16495         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16496         (gst_pad_push):
16497         Don't pound the cpu to pieces by checking get_caps when accept_caps
16498         is called with the same caps as the pad already has.
16499         Use GST_DEBUG_OBJECT when outputting caps change information.
16500
16501 2006-03-15  Wim Taymans  <wim@fluendo.com>
16502
16503         * gst/gstclock.c: (gst_clock_class_init):
16504         Fix docs.
16505
16506 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16507
16508         * gst/gstbuffer.h:
16509         Documentation fix.
16510
16511         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16512         (gst_pad_accept_caps), (gst_pad_configure_sink),
16513         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16514         Make the default acceptcaps behaviour be to check the requested 
16515         caps against the gst_pad_get_caps output. 
16516
16517         Ensure that gst_pad_accept_caps is used to check caps when a pad
16518         doesn't have a setcaps function, so that pads automatically refuse 
16519         caps that they don't allow in their pad template. (Fixes #332986)
16520
16521         When a buffer with attached caps is pushed, ensure that the source 
16522         pad receives those caps even if the element didn't call
16523         gst_pad_set_caps first.
16524
16525 2006-03-15  Wim Taymans  <wim@fluendo.com>
16526
16527         * libs/gst/base/gstadapter.c:
16528         Add some docs.
16529
16530 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16531
16532         * win32/common/libgstbase.def:
16533         * win32/common/libgstcontroller.def:
16534         * win32/common/libgstreamer.def:
16535           Add a whole bunch of missing functions (#334434).
16536
16537 2006-03-14  Wim Taymans  <wim@fluendo.com>
16538
16539         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16540         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16541         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16542         Better debug info when we receive a segment event.
16543         Reorganize a bit so we can pass the get_times() results around.
16544         Use the segment format when calculating the running time.
16545         Don't do QoS is sync is disabled or we have no clock or the
16546         element does not want us to sync to the clock.
16547         Don't drop buffers if QoS is disabled for now.
16548
16549 2006-03-14  Wim Taymans  <wim@fluendo.com>
16550
16551         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16552         Marked the stats property as unimplemented so people don't get
16553         wild ideas.
16554         Add debug message when regression goes wrong.
16555         Added some more docs.
16556
16557 2006-03-14  Wim Taymans  <wim@fluendo.com>
16558
16559         * gst/gstsegment.c: (gst_segment_to_stream_time):
16560         Return correct return type in case of errors.
16561
16562 2006-03-14  Wim Taymans  <wim@fluendo.com>
16563
16564         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16565           Don't segfault on invalid formats.
16566
16567 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16568
16569         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16570           Can't use gst_segment_to_running_time() when the segment
16571           is not in GST_TIME_FORMAT (like with filesink, for example).
16572           Stops flac encoding pipelines from spewing critical warnings
16573           at EOS (#331248).
16574           
16575 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16576
16577         * gst/gstpipeline.c: (gst_pipeline_class_init):
16578           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16579
16580         * plugins/elements/gsttypefindelement.c:
16581         (gst_type_find_element_handle_event):
16582           Don't try to typefind empty streams.
16583
16584 2006-03-14  Wim Taymans  <wim@fluendo.com>
16585
16586         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16587         (gst_base_sink_do_qos):
16588         Separate QoS calculation.
16589         Only drop buffers when lateness is bigger than the 
16590         duration of the buffer.
16591
16592 2006-03-13  Wim Taymans  <wim@fluendo.com>
16593
16594         * gst/gstpipeline.c: (gst_pipeline_set_property),
16595         (gst_pipeline_get_property), (do_pipeline_seek),
16596         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16597         (gst_pipeline_get_delay):
16598         Don't deadlock when reading properties.
16599
16600 2006-03-13  Wim Taymans  <wim@fluendo.com>
16601
16602         * libs/gst/base/gstbasetransform.c:
16603         (gst_base_transform_class_init), (gst_base_transform_init),
16604         (gst_base_transform_sink_event),
16605         (gst_base_transform_sink_eventfunc),
16606         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16607         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16608         (gst_base_transform_set_property),
16609         (gst_base_transform_get_property),
16610         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16611         (gst_base_transform_set_qos_enabled),
16612         (gst_base_transform_is_qos_enabled):
16613         * libs/gst/base/gstbasetransform.h:
16614         Make basetransform virtual method for src events too.
16615         Handle QOS in basetransform.
16616         API: gst_base_transform_update_qos()
16617         API: gst_base_transform_set_qos_enabled()
16618         API: gst_base_transform_is_qos_enabled()
16619
16620 2006-03-13  Wim Taymans  <wim@fluendo.com>
16621
16622         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16623         (gst_base_sink_do_sync):
16624         Small cleanups.
16625         Use QOS debug category.
16626
16627 2006-03-13  Wim Taymans  <wim@fluendo.com>
16628
16629         * plugins/elements/gstqueue.c:
16630         Very small doc update.
16631
16632 2006-03-13  Wim Taymans  <wim@fluendo.com>
16633
16634         * gst/gst_private.h:
16635         * gst/gstinfo.c: (_gst_debug_init):
16636         Added QOS debug category
16637
16638 2006-03-13  Wim Taymans  <wim@fluendo.com>
16639
16640         * docs/gst/gstreamer-sections.txt:
16641         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16642         * gst/gstbin.h:
16643         * gst/gstbus.c: (gst_bus_class_init):
16644         * gst/gstbus.h:
16645         * gst/gstclock.c:
16646         * gst/gstelement.c: (gst_element_set_locked_state):
16647         * gst/gstsegment.c:
16648         Documentation updates.
16649
16650         * gst/gstpipeline.c: (gst_pipeline_get_type),
16651         (gst_pipeline_class_init), (gst_pipeline_init),
16652         (gst_pipeline_dispose), (gst_pipeline_set_property),
16653         (gst_pipeline_get_property), (do_pipeline_seek),
16654         (gst_pipeline_send_event), (gst_pipeline_change_state),
16655         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16656         (gst_pipeline_get_delay):
16657         * gst/gstpipeline.h:
16658         Added methods for setting the delay.
16659         API: gst_pipeline_set_delay()
16660         API: gst_pipeline_get_delay()
16661         Add pipeline debug category
16662         Various cleanups.
16663         Updated docs.
16664         Don't reset stream time when seek failed.
16665
16666 2006-03-13  Wim Taymans  <wim@fluendo.com>
16667
16668         * docs/design/draft-klass.txt:
16669         * docs/design/part-clocks.txt:
16670         * docs/design/part-events.txt:
16671         * docs/design/part-gstbin.txt:
16672         * docs/design/part-gstpipeline.txt:
16673         * docs/design/part-messages.txt:
16674         * docs/design/part-negotiation.txt:
16675         * docs/design/part-overview.txt:
16676         * docs/design/part-preroll.txt:
16677         * docs/design/part-seeking.txt:
16678         * docs/design/part-states.txt:
16679         * docs/design/part-streams.txt:
16680         Documentation updates.
16681
16682 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16683
16684         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16685         us to leak strings...
16686
16687 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16688
16689         * libs/gst/net/gstnettimeprovider.c:
16690           fix docs
16691         * win32/common/config.h:
16692           update
16693
16694 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16695
16696         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16697
16698         * configure.ac:
16699           Don't check for libgnomeui (leftover from old examples
16700           that aren't built or disted any longer) (#334303).
16701           
16702 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16703
16704         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16705         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16706           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16707           there's no space left on the device.
16708
16709 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16710
16711         * gst/gstclock.h:
16712           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16713           to cast the input to GstClockTime before comparing with
16714           another GstClockTime value.
16715
16716 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16717
16718         * configure.ac:
16719           back to trunk
16720
16721 === release 0.10.4 ===
16722
16723 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16724
16725         * configure.ac:
16726           releasing 0.10.4, "Light"
16727
16728 2006-03-10  Michael Smith  <msmith@fluendo.com>
16729
16730         * libs/gst/dataprotocol/dataprotocol.c:
16731           Fix docs for dataprocotol to not get the return types completely
16732           wrong for a few functions.
16733
16734 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16735
16736         * docs/gst/gstreamer-sections.txt:
16737         * gst/gstpipeline.c: (gst_pipeline_class_init),
16738         (gst_pipeline_init), (gst_pipeline_set_property),
16739         (gst_pipeline_get_property), (gst_pipeline_change_state),
16740         (gst_pipeline_set_auto_flush_bus),
16741         (gst_pipeline_get_auto_flush_bus):
16742         * gst/gstpipeline.h:
16743           Add new API: gst_pipeline_set_auto_flush_bus() and
16744           gst_pipeline_get_auto_flush_bus() to disable automatic
16745           flushing of the pipeline's GstBus when going from READY
16746           to NULL state (#332045).
16747
16748 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16749
16750         * docs/gst/gstreamer-sections.txt:
16751         * gst/gsturi.c: (gst_uri_has_protocol):
16752         * gst/gsturi.h:
16753            Add new API: gst_uri_has_protocol() (#333779).
16754
16755 2006-03-09  Wim Taymans  <wim@fluendo.com>
16756
16757         * gst/gstclock.c: (gst_clock_entry_new),
16758         (gst_clock_id_compare_func), (gst_clock_id_wait),
16759         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16760         (gst_clock_init), (gst_clock_get_internal_time),
16761         (gst_clock_set_master), (do_linear_regression),
16762         (gst_clock_add_observation), (gst_clock_set_property):
16763         * gst/gstclock.h:
16764         Review docs.
16765         Small cleanups.
16766         Fix a possible segfault when the window-size is made smaller.
16767         Calculate jitter before performing the clock wait. Ideally
16768         the clock implementation should calculate jitter but we need
16769         API breakage for that.
16770
16771         * gst/gstsystemclock.c: (gst_system_clock_init):
16772         Docs review.
16773         
16774         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16775         Remove leftover else
16776
16777         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16778         (gst_systemclock_suite):
16779         Added check to test GST_CLOCK_DIFF.
16780
16781 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16782
16783         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16784         (gst_type_find_helper_get_range):
16785           If we are provided with the size, we should implement
16786           GstTypeFind::get_length, so that typefind functions who
16787           want to can actually peek at the middle of a file.
16788
16789 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16790
16791         * docs/manual/advanced-dataaccess.xml:
16792           Add some very very basic error checking.
16793
16794         * docs/pwg/appendix-checklist.xml:
16795           Some updates to the list of things to check when writing an element.
16796
16797 2006-03-08  Wim Taymans  <wim@fluendo.com>
16798
16799         * docs/design/part-element-transform.txt:
16800         Added some docs about the design of tranform elements.
16801
16802         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16803         (gst_base_src_loop), (gst_base_src_change_state):
16804         Mark buffers with the DISCONT flag.
16805
16806 2006-03-08  Michael Smith  <msmith@fluendo.com>
16807
16808         * gst/gstregistry.h:
16809         * gst/gstregistryxml.c: (gst_registry_save),
16810         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16811         (gst_registry_xml_save_pad_template),
16812         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16813         (gst_registry_xml_write_cache):
16814           Rewrite registry-saving to avoid race conditions and check for
16815           failed writes.
16816
16817 2006-03-08  Wim Taymans  <wim@fluendo.com>
16818
16819         * libs/gst/base/gstbasetransform.c:
16820         (gst_base_transform_transform_caps),
16821         (gst_base_transform_transform_size),
16822         (gst_base_transform_prepare_output_buffer),
16823         (gst_base_transform_get_unit_size),
16824         (gst_base_transform_buffer_alloc),
16825         (gst_base_transform_handle_buffer),
16826         (gst_base_transform_change_state):
16827         Cleanups, separate normal flow from errors, add sensible
16828         DEBUG lines.
16829         Don't try to renegotiate when allocating an output buffer.
16830         Also copy DISCONT buffer flag when copying a buffer.
16831         Reset the transform after we finish streaming, not during.
16832
16833 2006-03-08  Wim Taymans  <wim@fluendo.com>
16834
16835         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16836         Use last buffer timestamp in qos message.
16837
16838 2006-03-07  Wim Taymans  <wim@fluendo.com>
16839
16840         Patch by: Christophe Fergeau
16841
16842         * docs/pwg/advanced-tagging.xml:
16843         * docs/pwg/building-pads.xml:
16844           fixes #333416
16845
16846 2006-03-07  Wim Taymans  <wim@fluendo.com>
16847
16848         * docs/libs/gstreamer-libs-sections.txt:
16849         Added basesink new methods.
16850
16851         * gst/gstevent.c:
16852         * gst/gstevent.h:
16853         Docs updates. Flesh out the QoS docs.
16854
16855         * libs/gst/base/gstadapter.c:
16856         Small doc clarification about ownership and flushing.
16857
16858         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16859         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16860         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16861         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16862         * libs/gst/base/gstbasesink.h:
16863         API additions: 
16864         Added new methods to allow subclass to control max-lateness 
16865         and sync.
16866         Generate very basic QoS events based on last sync observation.
16867         Updated docs, fix typo, added some QoS blurb.
16868
16869         * libs/gst/base/gstbasesrc.c:
16870         Remove obsolete _get_state() calls from docs.
16871
16872 2006-03-07  Wim Taymans  <wim@fluendo.com>
16873
16874         * docs/libs/gstreamer-libs-sections.txt:
16875         * libs/gst/base/gstbasetransform.h:
16876         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16877         Fix docs for GstBaseSrc.
16878
16879 2006-03-07  Wim Taymans  <wim@fluendo.com>
16880
16881         * docs/gst/gstreamer-sections.txt:
16882         * gst/gstbuffer.h:
16883         * gst/gstvalue.c:
16884         * libs/gst/base/gstbasetransform.h:
16885         Small documentation fixes.
16886
16887 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16888
16889         * gst/gstvalue.c:
16890           Document thread-unsafety of gst_value_register_foo_func()
16891           when used at the same time as gst_value_foo() (#322628).
16892
16893 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16894
16895         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16896         (gst_push_src_check_get_range):
16897           Push sources don't support pull mode by default.
16898
16899 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16900
16901         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16902         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16903         (gst_base_src_default_check_get_range):
16904         * libs/gst/base/gstbasesrc.h:
16905           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16906           provide default implementation, and rename
16907           gst_base_src_check_get_range() to
16908           gst_base_src_pad_check_get_range() for clarity.
16909
16910 2006-03-06  Wim Taymans  <wim@fluendo.com>
16911
16912         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16913         Make property overridable.
16914
16915 2006-03-06  Wim Taymans  <wim@fluendo.com>
16916
16917         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16918         (gst_base_sink_init), (gst_base_sink_set_property),
16919         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16920         * libs/gst/base/gstbasesink.h:
16921         API addition: Make max-lateness a property.
16922
16923 2006-03-06  Wim Taymans  <wim@fluendo.com>
16924
16925         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16926         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16927         Don't ever draw a frame that is >10ms late.
16928
16929 2006-03-06  Michael Smith  <msmith@fluendo.com>
16930
16931         * gst/gstmessage.c: (_gst_message_copy):
16932           When copying a message, set the parent_refcount of the enclosed
16933           structure to point at the copy, not the original message.
16934
16935 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16936
16937         Patch by: Christophe Fergeau
16938
16939         * gst/gstutils.h:
16940           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16941           usable in c++ code (#333417)
16942
16943 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16944
16945         * gst/gstclock.h:
16946           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16947
16948 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16949
16950         * libs/gst/base/gstbasetransform.c:
16951         (gst_base_transform_transform_caps):
16952           Make sure caps are writable before passing them to
16953           gst_caps_append().
16954
16955 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16956
16957         * gst/gsterror.h:
16958           Fix some minor docs errors.
16959
16960 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16961
16962           Patch by: Ross Burton <ross at burtonini dot com>
16963
16964         * gst/gsterror.c: (_gst_resource_errors_init):
16965         * gst/gsterror.h:
16966           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16967
16968 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16969
16970         * gst/gst.c:
16971         Add a check and output a g_warning when GStreamer is built
16972         against GLib 2.6 but running against 2.8 or higher, and vice 
16973         versa. (Closes: #323542)
16974
16975 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16976
16977         * gst/parse/parse.l:
16978           Commit patch for parse_launch syntax from #331255. Removes 
16979           support for quoted strings and mimetypes when writing filtered 
16980           caps. See the bug report for more details - I'm pretty sure this
16981           obscure feature is not in use by _anyone_ anywhere.
16982
16983           With this simple change, the size of the gstreamer.so here 
16984           drops from 2193KB to 1565KB.
16985
16986 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16987
16988         * plugins/elements/gsttypefindelement.h:
16989         * plugins/elements/gsttypefindelement.c:
16990         (gst_type_find_element_src_event), (start_typefinding),
16991         (stop_typefinding), (gst_type_find_element_handle_event),
16992         (gst_type_find_element_chain),
16993         (gst_type_find_element_chain_do_typefinding):
16994           Use gst_type_find_helper_for_buffer() for chain-based
16995           typefinding.
16996
16997 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16998
16999         * plugins/elements/gsttypefindelement.c:
17000         (gst_type_find_element_class_init),
17001         (gst_type_find_element_set_property),
17002         (gst_type_find_element_get_property):
17003           Deprecate "maximum" property (not only was it only taken into
17004           account for typefinding in push-mode anyway, it also was never
17005           actually possible to set it in the first place because the
17006           property was registered with the numeric property ID for the
17007           "minimum" property). Register "maximum" property correctly,
17008           for the sake of future copy'n'pasters. Remove some cruft
17009           from property get/set functions.
17010
17011 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17012
17013         * plugins/elements/gsttypefindelement.c:
17014         (gst_type_find_element_activate):
17015           Use gst_type_find_helper_get_range() here, so we
17016           can honour the "minimum" property and also emit
17017           the signal with the correct probability of the found caps.
17018
17019 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17020
17021         * docs/libs/gstreamer-libs-sections.txt:
17022         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17023         (helper_find_suggest), (gst_type_find_helper_get_range),
17024         (gst_type_find_helper):
17025         * libs/gst/base/gsttypefindhelper.h:
17026           New API: gst_type_find_helper_get_range() (#333042).
17027
17028 2006-03-02  Michael Smith  <msmith@fluendo.com>
17029
17030         * gst/gstregistryxml.c: (load_feature):
17031           Asserting on a failure to read part of the registry is Not Cool.
17032           Just log a warning and return NULL (which is already handled)
17033
17034 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17035
17036         * win32/common/libgstbase.def:
17037           added export of gst_type_find_helper_for_buffer
17038         * win32/common/libgstbase.def:
17039           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17040           gst_ghost_pad_get_target
17041
17042 2006-02-28  Wim Taymans  <wim@fluendo.com>
17043
17044         * docs/design/draft-klass.txt:
17045         We use Filter now.
17046         Added Connector to mark elements that are only used to
17047         allow pipeline connections.
17048         Moved Debug to extra feature since most of them are 
17049         functionally something else.
17050
17051 2006-02-28  Wim Taymans  <wim@fluendo.com>
17052
17053         * docs/design/draft-klass.txt:
17054         Some updates and clarifications.
17055
17056 2006-02-28  Wim Taymans  <wim@fluendo.com>
17057
17058         * docs/design/draft-klass.txt:
17059         Proposal for klass field values.
17060
17061         * docs/design/part-streams.txt:
17062         Start of a doc describing stream anatomy.
17063
17064 2006-02-28  Wim Taymans  <wim@fluendo.com>
17065
17066         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17067         Help the compiler a bit with type registration.
17068         Use existing forward cod path instead of duplicating it when 
17069         handling a message.
17070         
17071         * gst/gstbus.c: (gst_bus_get_type):
17072         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17073         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17074         * gst/gstclock.c: (gst_clock_get_type):
17075         * gst/gstelement.c: (gst_element_get_type),
17076         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17077         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17078         * gst/gstminiobject.c: (gst_mini_object_get_type):
17079         * gst/gstpad.c: (gst_pad_get_type):
17080         * gst/gstsegment.c: (gst_segment_get_type):
17081         * gst/gststructure.c: (gst_structure_get_type):
17082         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17083         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17084         * gst/gstvalue.c:
17085         Help compiler with type registration.
17086
17087         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17088         Small doc update.
17089
17090 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17091
17092         * plugins/elements/gsttypefindelement.c:
17093         (gst_type_find_element_handle_event):
17094           When we get an EOS event and have not found a type yet
17095           (most likely because we had not yet accumulated
17096           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17097           type given the data we have so far. Fixes typefinding
17098           for very short streams again, most notably quicktime
17099           redirections as used on Apple's trailer site (#331701).
17100
17101 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17102
17103         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17104         (gst_type_find_helper):
17105           Try typefinding factories with the highest rank first.
17106
17107 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17108
17109         * docs/libs/gstreamer-libs-docs.sgml:
17110         * docs/libs/gstreamer-libs-sections.txt:
17111         * libs/gst/base/gsttypefindhelper.c:
17112           Add section for typefind helper and add documentation
17113           for the old and the new function.
17114
17115 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17116
17117         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17118         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17119         (gst_type_find_helper_for_buffer):
17120         * libs/gst/base/gsttypefindhelper.h:
17121           New API: gst_type_find_helper_for_buffer() (#332723).
17122           
17123 2006-02-27  Michael Smith  <msmith@fluendo.com>
17124
17125         Patch by: Loïc Minier
17126
17127         * configure.ac:
17128         * docs/Makefile.am:
17129         * docs/slides/Makefile.am:
17130           prevent CVS directories getting disted.
17131
17132 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17133
17134         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17135           Use the REFCOUNTING category for caps refcounting.
17136           
17137 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17138
17139         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17140           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17141
17142 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17143
17144         * plugins/elements/gsttypefindelement.c:
17145         (gst_type_find_element_activate):
17146           Use gst_pad_check_pull_range() before _activate_pull()
17147           to avoid unnecessary open/close (see #331690).
17148
17149 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17150
17151         * gst/gstutils.c:
17152           Docs enhancement: make it crystal clear what the
17153           gst_pad_add_*_probe() callbacks should look like.
17154
17155 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17156
17157         * libs/gst/base/gstbasesrc.c:
17158           Document how applications can stop recording from
17159           live sources (see #330996).
17160
17161 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17162
17163         * tests/check/Makefile.am:
17164         * tests/check/libs/basesrc.c: (eos_event_counter),
17165         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17166         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17167         (gst_basesrc_suite), (main):
17168           ... and add some tests for the base source EOS stuff.
17169
17170 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17171
17172         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17173           Test case originally showed the problem fixed below,
17174           but was then amended. Add checks back at the place
17175           where they used to be.
17176
17177 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17178
17179         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17180         (gst_base_src_init), (gst_base_src_loop),
17181         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17182         (gst_base_src_change_state):
17183         * libs/gst/base/gstbasesrc.h:
17184           Don't unconditionally send EOS when going from PAUSED to
17185           READY state, esp. make sure we don't send two EOS events
17186           in some cases (e.g. one when reaching EOS and one when
17187           going from PAUSED to READY). Also, we don't want to send
17188           EOS events when operating in pull mode. However, we do
17189           want to send an EOS event when shutting down a live
17190           source explicitly, for example (fixes #330996).
17191           
17192 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17193
17194         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17195           Update src->read_position after a seek when not using mmap.
17196           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17197
17198 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17199
17200         * gst/Makefile.am:
17201         * gst/gstparse.h:
17202         * gst/gstutils.c:
17203         * gst/gstutils.h:
17204         Make things work with --disable-parse as they do with 
17205         --disable-load-save - the symbols involved disappear, but the
17206         header is still installed and GST_DISABLE_PARSE is included via
17207         gstconfig.h
17208
17209 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17210
17211         * libs/gst/base/gstbasetransform.c:
17212         (gst_base_transform_change_state): Fix a stupid bug. I was 
17213         sure I compiled that.
17214
17215 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17216
17217         * gst/gstpad.c: (gst_pad_set_blocked_async):
17218         * gst/gstutils.c: (gst_pad_add_data_probe),
17219         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17220         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17221         (gst_pad_remove_buffer_probe): Make those function act on the
17222         ghostpad target when it's a ghostpad. (Closes #331727)
17223
17224 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17225
17226         * libs/gst/base/gstbasetransform.c:
17227         (gst_base_transform_change_state): Make basetransform reusable.
17228         (Closes #331898)
17229
17230 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17231
17232         * docs/random/release:
17233         Move the current documentation of how to do a release to the top
17234         of the file.
17235
17236         * gst/gstbin.c: (gst_bin_class_init),
17237         (gst_bin_handle_message_func):
17238         Allow multiple state-recalculation threads. (Closes #328873)
17239
17240 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17241
17242         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17243         * gst/gstpad.c: (gst_pad_set_event_function),
17244         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17245         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17246         2 strings. You can't use the STR_NULL macro on that.
17247
17248 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17249
17250         * gst/gstpad.c: (gst_pad_set_event_function),
17251         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17252         (gst_pad_set_getcaps_function)
17253         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17254           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17255           So now, we can use --gst-debug-level=5 on Windows
17256         * win32/common/libgstcontroller.def:
17257           Added export of gst_controller_init
17258         * win32/vs6/libgstcontroller.dsp:
17259           Fixed Release post build configuration
17260
17261 2006-02-17  Wim Taymans  <wim@fluendo.com>
17262
17263         * tests/check/gst/gstquery.c: (GST_START_TEST):
17264         Added another check.
17265
17266 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17267
17268         * plugins/elements/gsttypefindelement.c: (find_peek):
17269           We can do peeks at non-zero offsets, as long as they
17270           fall within the buffer we have.
17271
17272 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17273
17274         * tests/check/Makefile.am:
17275         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17276         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17277         (parse_suite), (main):
17278           Add testsuite for parse launch syntax
17279
17280 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17281
17282         * plugins/elements/gsttypefindelement.c:
17283         (gst_type_find_element_chain):
17284           When typefinding is unsuccessful in the chain function, don't
17285           error out immediately. Only error out with NO_CAPS_FOUND if
17286           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17287           otherwise simply wait for more data so we can try typefinding
17288           again with more data later. Also, don't attempt to typefind
17289           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17290           this should improve typefinding from network sources where the
17291           size of the first buffer can be somewhat random.
17292
17293 2006-02-14  Wim Taymans  <wim@fluendo.com>
17294
17295         * docs/gst/gstreamer-sections.txt:
17296         * gst/gstpadtemplate.c:
17297         * gst/gstpadtemplate.h:
17298         Fix padtemplate docs, fixes #328805.
17299
17300 2006-02-14  Wim Taymans  <wim@fluendo.com>
17301
17302         * tools/gst-launch.c: (main):
17303         NO_PREROLL is not an ERROR so don't send confusing messages
17304         to the user.
17305
17306 2006-02-14  Wim Taymans  <wim@fluendo.com>
17307
17308         Patch by: Torsten Schoenfeld
17309
17310         * gst/gstregistry.c: (gst_registry_get_default),
17311         (_gst_registry_cleanup):
17312         Protect default registry with lock and ref/sink it.
17313         Fixes #324818
17314
17315 2006-02-14  Wim Taymans  <wim@fluendo.com>
17316
17317         * gst/gstbuffer.c:
17318         * gst/gstquery.c: (gst_query_list_add_format),
17319         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17320         (gst_query_parse_formats_nth):
17321         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17322         Docs fixes.
17323
17324 2006-02-14  Wim Taymans  <wim@fluendo.com>
17325
17326         * docs/gst/gstreamer-sections.txt:
17327         Reworked query docs.
17328
17329         * gst/gstquery.c: (gst_query_new_formats),
17330         (gst_query_list_add_format), (gst_query_set_formats),
17331         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17332         (gst_query_parse_formats_nth):
17333         * gst/gstquery.h:
17334         Flesh out formats query, added some new methods.
17335         Fix part of #324398.
17336
17337         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17338         Added query creation tests.
17339
17340 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17341
17342         * gst/gstpad.c: (fixate_value):
17343         Add a default fixation for fraction lists.
17344
17345 2006-02-13  Wim Taymans  <wim@fluendo.com>
17346
17347         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17348         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17349         (gst_task_join):
17350         * gst/gsttask.h:
17351         Detect and warn for obvious deadlocks. fixes #320340
17352         Fix error case where lock was not released.
17353
17354         * tests/check/Makefile.am:
17355         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17356         (task_func), (gst_element_suite), (main):
17357         Add task check.
17358
17359 2006-02-13  Wim Taymans  <wim@fluendo.com>
17360
17361         * docs/gst/gstreamer-sections.txt:
17362         * gst/gstbus.c:
17363         Add new functions to docs.
17364
17365 2006-02-13  Wim Taymans  <wim@fluendo.com>
17366
17367         * docs/design/part-TODO.txt:
17368         Updated TODO list, basesrc supports seeking to non-bytes
17369         formats.
17370
17371         * docs/design/part-element-sink.txt:
17372         Update docs.
17373
17374         * gst/gstbin.c: (bin_replace_message),
17375         (gst_bin_handle_message_func):
17376         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17377         * gst/gstevent.c: (gst_event_finalize):
17378         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17379         (gst_pad_send_event):
17380         Use shiny new _TYPE_NAME macros.
17381
17382         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17383         Move debug statement up.
17384
17385         * gst/gstelement.c: (gst_element_set_locked_state):
17386         Add some debugging.
17387
17388 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17389
17390         * docs/gst/gstreamer-sections.txt:
17391         * gst/gstmessage.h:
17392         * gst/gstquery.h:
17393           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17394           macros (#330906). Also, document the already existing
17395           GST_QUERY_TYPE macro.
17396
17397 2006-02-13  Wim Taymans  <wim@fluendo.com>
17398
17399         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17400         (event_probe), (GST_START_TEST):
17401         Only events up to the pipeline EOS are counted, there are
17402         some more when going to NULL currently which we don't care
17403         about for now.
17404
17405 2006-02-13  Wim Taymans  <wim@fluendo.com>
17406
17407         * gst/gstpad.c: (gst_pad_send_event):
17408         Correctly check flushing and emit probes. fixes #330125
17409
17410 2006-02-10  Andy Wingo  <wingo@pobox.com>
17411
17412         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17413         structure.
17414         (gst_bus_init): Cache the location of the private data in the
17415         instance structure.
17416         (gst_bus_enable_sync_message_emission) 
17417         (gst_bus_disable_sync_message_emission): Implement new public
17418         functions.
17419         (gst_bus_post): Emit the sync-message signal if the user asked for
17420         it. Fixes #330684.
17421
17422         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17423         location of the bus-private structure.
17424         (gst_bus_enable_sync_message_emission)
17425         (gst_bus_disable_sync_message_emission): API addition
17426
17427 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17428
17429         Patch by: Vincent Torri
17430
17431         * docs/pwg/building-boiler.xml:
17432         PWG patch from #326800
17433
17434 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17435
17436         * configure.ac:
17437         * docs/Makefile.am:
17438         * docs/design/Makefile.am:
17439           Dist design docs.
17440
17441 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17442
17443         * configure.ac:
17444           back to CVS
17445
17446 === release 0.10.3 ===
17447
17448 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17449
17450         * configure.ac:
17451           releasing 0.10.3, "Like a virgin"
17452
17453 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17454
17455         * configure.ac:
17456           2nd prerelease of 0.10.3
17457           Bump libtool versioning.
17458
17459 2006-02-07  Andy Wingo  <wingo@pobox.com>
17460
17461         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17462         update last_stop if we're in TIME format and the timestamp is
17463         valid.
17464
17465         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17466         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17467         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17468         If we get a new newsegment with a different format, adapt
17469         accordingly.
17470
17471         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17472         of 0. Not a problem, really.
17473
17474         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17475         warn if sync=true.
17476
17477 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17478
17479         * configure.ac:
17480           Prelease of 0.10.3
17481
17482 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17483
17484         * win32/vs7:
17485           project files updated to the default vs7 configuration
17486         * win32/common/libgstbase.def:
17487         * win32/common/libgstreamer.def:
17488           added new symbols,
17489           removed empty lines,
17490           sorted all exported symbols alphabetically
17491         * win32/common/dirent.c:
17492         * win32/common/dirent.h:
17493         * win32/common/gchar.h:
17494           use windows line end.
17495           
17496 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17497
17498         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17499           Send EOS event when stopping.
17500
17501 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17502
17503         * docs/README:
17504           Tell folks what to do if the plugin-foobar.xml file
17505           hasn't been generated for a newly-added plugin.
17506
17507 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17508
17509         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17510         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17511         (gst_collect_pads_start), (gst_collect_pads_stop),
17512         (gst_collect_pads_event): Collectpads now holds a reference
17513         to the GstPad that was added. Indeed we don't want to look
17514         at pads that might just go away with no warning...
17515
17516 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17517
17518         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17519         (gst_collect_pads_start), (gst_collect_pads_stop),
17520         (gst_collect_pads_event), (gst_collect_pads_chain):
17521         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17522         Mark Nauwelaerts's patch on bug #328491.
17523
17524 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17525
17526         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17527         (gst_utils_suite):
17528           Add some simple tests for gst_parse_bin_from_description() and
17529           gst_bin_find_unconnected_pad() (#329069).
17530
17531 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17532
17533         * tools/gst-launch.c: (event_loop), (main):
17534           Catch errors during preroll (#320084).
17535
17536 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17537
17538         * plugins/elements/gsttypefindelement.c:
17539         (gst_type_find_element_activate):
17540           Post TYPE_NOT_FOUND error message when typefinding
17541           is unsuccessful in the activate function as well.
17542
17543 2006-02-02  Wim Taymans  <wim@fluendo.com>
17544
17545         * docs/design/part-element-sink.txt:
17546         Updated doc.
17547
17548 2006-02-02  Wim Taymans  <wim@fluendo.com>
17549
17550         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17551         (gst_base_sink_render_object),
17552         (gst_base_sink_queue_object_unlocked):
17553         Only keep track of prerollable items when we are 
17554         prerolling.
17555         Before rendering after preroll, always check if we
17556         have queued items.
17557         Added some more debugging.
17558
17559 2006-02-02  Wim Taymans  <wim@fluendo.com>
17560
17561         * gst/gstelement.c: (gst_element_continue_state),
17562         (gst_element_set_state_func), (gst_element_change_state):
17563         Fixed #326576, been running this for quite some time with
17564         no regressions at all.
17565
17566 2006-02-02  Wim Taymans  <wim@fluendo.com>
17567
17568         * common/gst.supp:
17569         Added more suppressions
17570
17571 2006-02-02  Wim Taymans  <wim@fluendo.com>
17572
17573         * docs/design/part-element-sink.txt:
17574         Updated document.
17575
17576         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17577         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17578         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17579         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17580         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17581         (gst_base_sink_preroll_object),
17582         (gst_base_sink_queue_object_unlocked),
17583         (gst_base_sink_queue_object), (gst_base_sink_event),
17584         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17585         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17586         (gst_base_sink_get_position), (gst_base_sink_change_state):
17587         * libs/gst/base/gstbasesink.h:
17588         Totally refactored matching the design doc.
17589         Use two segments, one to clip incomming buffers and another to
17590         perform sync.
17591         Handle queueing correctly, bypass the queue when playing.
17592         Make EOS cancelable.
17593         Handle errors correctly when operating in pull based mode.
17594
17595         * tests/check/elements/fakesink.c: (GST_START_TEST),
17596         (fakesink_suite):
17597         Added new check for sinks.
17598
17599 2006-02-02  Wim Taymans  <wim@fluendo.com>
17600
17601         * gst/gstsegment.c: (gst_segment_clip):
17602         No reason to refuse to clip when start == -1
17603
17604 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17605
17606         * docs/README:
17607         * docs/manual/intro-basics.xml:
17608         * docs/manual/intro-preface.xml:
17609         * docs/manual/manual.xml:
17610         * docs/pwg/advanced-dparams.xml:
17611         * docs/pwg/intro-basics.xml:
17612         * docs/pwg/intro-preface.xml:
17613         * docs/pwg/pwg.xml:
17614           describe dparams (controller) for plugins
17615           unify docs a little more
17616
17617 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17618
17619         * docs/gst/gstreamer-sections.txt:
17620         * gst/gstutils.c: (element_find_unconnected_pad),
17621         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17622         * gst/gstutils.h:
17623           Add new API: gst_parse_bin_from_description() and
17624           gst_bin_find_unconnected_pad() (#329069).
17625
17626 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17627
17628         * docs/manual/README:
17629           uncover a nasty detail of the docs build
17630
17631 2006-01-31  Wim Taymans  <wim@fluendo.com>
17632
17633         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17634         Don't cache duration messages if we're not going to use or
17635         free them.
17636
17637 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17638
17639         * docs/manual/advanced-dparams.xml:
17640         * docs/pwg/advanced-dparams.xml:
17641           more dparam docs
17642         * gst/gstindex.c:
17643           fix docs
17644         * libs/gst/controller/lib.c: (gst_controller_init):
17645           init just once
17646
17647 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17648
17649         * gst/gstelement.c: (gst_element_message_full):
17650           also show file/line/func if no additional debug was given
17651
17652 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17653         
17654         * win32/vs7/grammar.vcproj:
17655           activate copy of autogenerated files for Release mode
17656
17657 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17658         
17659         * win32/common/libgstreamer.def:
17660           export gst_value_compare
17661
17662 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17663
17664         * plugins/elements/Makefile.am:
17665         * plugins/elements/gstelements.c:
17666         * plugins/elements/gstfdsink.c: (_do_init),
17667         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17668         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17669         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17670         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17671         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17672         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17673         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17674         * plugins/elements/gstfdsink.h:
17675         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17676
17677 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17678
17679         * docs/manual/advanced-dparams.xml:
17680           describe controller
17681         * docs/manual/advanced-position.xml:
17682         * docs/manual/basics-init.xml:
17683         * docs/manual/manual.xml:
17684         * docs/manual/titlepage.xml:
17685         * docs/pwg/pwg.xml:
17686         * docs/pwg/titlepage.xml:
17687           cleanup xml (more to come)
17688         * libs/gst/controller/gstcontroller.c:
17689           fix typo
17690
17691 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17692         
17693         * win32/vs6/grammar.dsp:
17694           add autogen of gstmarshal.c,h for Release mode
17695                 
17696 2006-01-30  Wim Taymans  <wim@fluendo.com>
17697
17698         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17699         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17700         (gst_base_sink_handle_object), (gst_base_sink_event),
17701         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17702         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17703         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17704         (gst_base_sink_deactivate), (gst_base_sink_activate),
17705         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17706         (gst_base_sink_query), (gst_base_sink_change_state):
17707         Basesink cleanups, remove some old code.
17708         Handle the case where a subclass can preroll in the render
17709         method (mostly audiosinks).
17710         Handle more events.
17711         Remove some locks around variables that are now protected
17712         with the PREROLL_LOCK (clock_id, flushing, ..).
17713         Optimize position query some more, do correct locking.
17714         Remove old code to push queue in state change, this is not
17715         needed anymore since preroll blocks on all prerollable items 
17716         now.
17717         Almost implemented as described in design doc.
17718
17719 2006-01-30  Wim Taymans  <wim@fluendo.com>
17720
17721         * tests/check/gst/gstbin.c: (GST_START_TEST):
17722         Wait for refcount to settle down before checking.
17723
17724 2006-01-30  Wim Taymans  <wim@fluendo.com>
17725
17726         * docs/design/part-element-sink.txt:
17727         Pseudo code overview of desired sink behaviour regarding
17728         preroll.
17729
17730 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17731         * win32/vs6/grammar.dsp:
17732           fix some bugs in Release mode for autogenerated files
17733                 
17734 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17735         * win32/common/libgstbase.def:
17736         * win32/common/libgstreamer.def:
17737           export some new symbols: gst_base_src_set_format,
17738           gst_iterator_next, gst_structure_set_valist
17739
17740 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17741
17742         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17743         Set pad functions unconditionally. Fixes #329105.
17744
17745 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17746         * win32/vs8:
17747           add vs8 project files created by Sergey Scobich
17748
17749 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17750
17751         * gst/gstutils.c: (gst_element_unlink_pads):
17752         Don't leak pad references.
17753
17754         * tests/check/elements/fakesink.c: (GST_START_TEST):
17755         * tests/check/generic/sinks.c: (GST_START_TEST):
17756         * tests/check/generic/states.c: (GST_START_TEST):
17757         * tests/check/gst/gstbin.c: (GST_START_TEST):
17758         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17759         * tests/check/gst/gstelement.c: (GST_START_TEST):
17760         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17761         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17762         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17763         Fix a bunch of leaks. Make generic/sinks.c
17764         use a bit less cpu by slowing the buffer rate
17765         between fakesrc and fakesink.
17766         
17767 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17768         * gst/gstcaps.c:
17769         * gst/gstelement.c: (gst_element_send_event):
17770         * gst/gstevent.c:
17771         * gst/gstinfo.c:
17772         * gst/gstiterator.c:
17773         * gst/gstiterator.h:
17774         * gst/gstpad.c: (gst_pad_send_event):
17775         * gst/gststructure.c:
17776         * gst/gsturi.c:
17777         * gst/gstutils.c:
17778         * gst/gstvalue.c:
17779         * libs/gst/base/gstadapter.c:
17780           doc fixes, to link to function, just write gst_cool_function(), don't
17781           prefix with '#'
17782
17783 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17784
17785         * plugins/elements/gsttee.c: (gst_tee_do_push),
17786         (gst_tee_handle_buffer):
17787         Always prefer an actual return value from a src
17788         pad in place of NOT_LINKED. This means we return
17789         WRONG_STATE when all src pads are WRONG_STATE
17790         instead of NOT_LINKED.
17791
17792         Lock when replacing the last message to prevent
17793         racing with the get_property method.
17794
17795         Add debug output
17796
17797 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17798
17799         * tests/check/Makefile.am:
17800         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17801         (main):
17802         Add a very simple check that should have caught the memleak I fixed
17803         last night (if not for the slice allocator hiding it)
17804
17805 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17806
17807         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17808         (gst_bin_remove_func), (gst_bin_handle_message_func),
17809         (bin_query_duration_fold), (bin_query_generic_fold):
17810         Clean up references to the clock provider when disposed or when
17811         handling a clock-lost message from it.
17812
17813         Unref sinks when performing a query via gst_iterator_fold, as the
17814         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17815
17816         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17817         (gst_clock_set_master):
17818         Drop our reference to the master clock, if any, when we are disposed.
17819
17820         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17821         Chain up in dispose. 
17822
17823 2006-01-26  Wim Taymans  <wim@fluendo.com>
17824
17825         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17826         Add some debugging.
17827
17828 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17829
17830         * plugins/elements/gsttee.c: (gst_tee_do_push),
17831         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17832         handles pad being NOT_LINKED or in WRONG_STATE.
17833
17834 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17835
17836         * win32/MANIFEST:
17837           more updating
17838
17839 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17840
17841         * win32/MANIFEST:
17842           remove obsolete entry
17843
17844 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17845
17846         * docs/gst/gstreamer-sections.txt:
17847         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17848         (gst_bin_iterate_sources), (gst_bin_send_event):
17849         * gst/gstbin.h:
17850         * gst/gstelement.c: (gst_element_send_event):
17851         * gst/gstevent.c:
17852         * gst/gstpad.c: (gst_pad_send_event):
17853           added code for downstream events, reviewed docs in gstevent.c
17854
17855 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17856
17857         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17858         We only query position using the clock in the playing state.
17859         Query peer in the other cases.
17860         * win32/common/config.h: Updates.
17861
17862 2006-01-24  Wim Taymans  <wim@fluendo.com>
17863
17864         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17865         A clock entry that is scheduled for the exact time of the
17866         clock is still in time.
17867
17868         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17869         (gst_base_sink_do_sync):
17870         Add some more debug info.
17871
17872 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17873
17874         * win32/vs7:
17875           Add new vs7 project files and solution.
17876
17877 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17878
17879         * win32/vs7:
17880           all files removed as they were out-dated.
17881
17882 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17883
17884         * docs/random/release:
17885           update notes
17886         * gst/gstbin.c: (gst_bin_init):
17887         * gst/gstbus.c: (gst_bus_new):
17888         * gst/gstbus.h:
17889         * gst/gstpipeline.c: (gst_pipeline_init):
17890           use gst_bus_new(), improve logging, fix docs
17891         * win32/common/config.h:
17892           update for cvs build
17893
17894 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17895
17896         * autogen.sh:
17897           up required version of automake to 1.7
17898
17899 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17900
17901         * win32/common/libgstreamer.def:
17902           export gst_buffer_is_metadata_writable
17903
17904 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17905
17906         * docs/gst/gstreamer-sections.txt:
17907         * gst/gstevent.h:
17908           Add gst_event_replace() (#327001)
17909
17910 2006-01-20  Wim Taymans  <wim@fluendo.com>
17911
17912         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17913         Make it actually compile too..
17914
17915 2006-01-20  Wim Taymans  <wim@fluendo.com>
17916
17917         * gst/gstcaps.c:
17918         Clarify behaviour of _is_equal() when passing NULL parameters.
17919
17920         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17921         (gst_pad_set_caps):
17922         Cleanups. Don't unref NULL caps.
17923         When setting the same caps, protect caps of the pad with
17924         proper lock.
17925         Use full functionality of _is_equal() when comparing caps.
17926
17927 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17928
17929         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17930         Don't loop infinitely if there are no buffers to present. Partially
17931         fixes #327197, but collectpads is just broken for reusing elements
17932         to do multiple encodes atm.
17933
17934 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17935
17936         * tools/gst-inspect.c: (print_element_features):
17937         * tools/gst-xmlinspect.c: (main):
17938         URL_HANDLER is not a plugin feature we can search for in
17939         the registry.
17940
17941 2006-01-19  Edward Hervey  <edward@fluendo.com>
17942
17943         * gst/gstelement.c: (gst_element_pads_activate): 
17944         When activating, do src pads first, then sink pads.
17945         When de-activating, do sink pads first, then src pads.
17946
17947 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17948
17949         * docs/gst/gstreamer-sections.txt:
17950         Add gst_index_add_associationv to the docs
17951
17952 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17953
17954         * gst/gstevent.c:
17955           Fix docs typo
17956
17957         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17958         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17959           Do some refactoring. Doesn't actually change functionality,
17960           but makes landing the DRAIN event easier later.
17961
17962 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17963
17964         * docs/pwg/advanced-scheduling.xml:
17965           Update from 0.9.x to 0.10 API and make example a bit
17966           clearer.
17967
17968 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17969
17970         * docs/gst/gstreamer-sections.txt:
17971         Add gst_buffer_(is|make)_metadata_writable methods.
17972
17973 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17974
17975         * docs/design/part-sparsestreams.txt:
17976         Update sparse streams doc, hopefully for greater clarity
17977
17978 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17979
17980         * docs/design/part-events.txt:
17981         Remove mention of FILLER events.
17982         Add DRAIN event.
17983
17984         * docs/design/part-sparsestreams.txt:
17985         Write some things about using NEWSEGMENT to keep sparse streams
17986         flowing.
17987
17988 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17989
17990         * gst/gstbin.c: (gst_bin_dispose):
17991           Guard gst_object_unref call against a NULL object (dispose
17992           can theoretically be called multiple times).
17993           
17994 2006-01-18  Wim Taymans  <wim@fluendo.com>
17995
17996         * gst/gstbin.c: (gst_bin_element_set_state):
17997         * gst/gstclock.c: (gst_clock_id_wait):
17998         Added some more debug info.
17999
18000         * libs/gst/base/gstadapter.c:
18001         Added more docs.
18002
18003         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18004         (gst_base_sink_do_sync), (gst_base_sink_chain):
18005         Added some comments.
18006
18007 2006-01-18  Wim Taymans  <wim@fluendo.com>
18008
18009         * tests/check/Makefile.am:
18010         * tests/check/elements/fakesink.c: (chain_async_buffer),
18011         (chain_async), (chain_async_return), (GST_START_TEST),
18012         (fakesink_suite), (main):
18013         Added fakesink test that checks prerolling and clipping
18014         behaviour.
18015
18016         * tests/check/gst/gstutils.c: (GST_START_TEST):
18017         Make check run faster so that buildbots don't timeout.
18018
18019 2006-01-18  Wim Taymans  <wim@fluendo.com>
18020
18021         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18022         (gst_base_sink_do_sync):
18023         Some cleanups.
18024         When the sink finishes blocking on the preroll buffer, it can
18025         immediatly render it instead of rendering when the next buffer
18026         arrives.
18027
18028 2006-01-18  Wim Taymans  <wim@fluendo.com>
18029
18030         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18031         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18032         (gst_base_sink_chain):
18033         Small cleanups.
18034         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18035         Don't store _last_stop if the buffer is dropped.
18036
18037 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18038
18039         * plugins/elements/gsttypefindelement.c:
18040         (gst_type_find_element_class_init):
18041           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18042           object method handler that sets the caps on the pad and we want
18043           that to happen before we emit the signal (fixes e.g. feeding a
18044           plain text file to decodebin).
18045
18046 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18047
18048         * gst/gstplugin.c: Add MPL and Proprietary as license options
18049
18050 2006-01-18  Andy Wingo  <wingo@pobox.com>
18051
18052         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18053         symbol was exported before, it appears this was just an oversight.
18054         Fixes #168703.
18055         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18056
18057         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18058         prototype to gint. OK since this prototype was not in the header.
18059
18060 2006-01-17  Andy Wingo  <wingo@pobox.com>
18061
18062         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18063         registry while we remove plugins.
18064
18065         * tools/gst-inspect.c (print_element_info): Don't unref the
18066         factory arg, that should be the responsibility of whatever code
18067         received the ref. Fixes a double-free when called from
18068         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18069         (main): Unref the factory if we have one.
18070         (print_element_list): No change -- relies on the
18071         plugin_feature_list_free to free the list of features.
18072
18073 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18074
18075         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18076         (gst_buffer_make_metadata_writable):
18077         * gst/gstbuffer.h:
18078         * libs/gst/base/gstbasetransform.c:
18079         (gst_base_transform_prepare_output_buf):
18080         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18081         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18082           Replace gst_buffer_(make|is)_metadata_writable patch now
18083           that the release is out.
18084
18085 2006-01-17  Andy Wingo  <wingo@pobox.com>
18086
18087         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18088         in the present tense without reference to versions.
18089
18090         * gst/gstregistry.c (gst_registry_add_plugin)
18091         (gst_registry_remove_plugin, gst_registry_remove_feature)
18092         (gst_registry_find_feature, gst_registry_get_feature_list)
18093         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18094         (gst_registry_lookup, gst_registry_scan_path)
18095         (_gst_registry_remove_cache_plugins)
18096         (gst_registry_get_feature_list_by_plugin): Add argument
18097         validation.
18098
18099 === release 0.10.2 ===
18100
18101 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18102
18103         * configure.ac:
18104           releasing 0.10.2, "If man is five"
18105
18106 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18107
18108         * gst/gstbuffer.c:
18109         * gst/gstbuffer.h:
18110         * libs/gst/base/gstbasetransform.c:
18111         (gst_base_transform_prepare_output_buf):
18112         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18113         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18114           Back out patch until after the release.
18115
18116 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18117
18118         * gst/gstminiobject.c:
18119           Spelling fix in docs.
18120         * ChangeLog - remove conflict indicator
18121
18122 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18123
18124         Reviewed By: Andy Wingo
18125
18126         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18127         (gst_buffer_make_metadata_writable):
18128         * gst/gstbuffer.h:
18129           Add gst_buffer_(is|make)_metadata_writable as analogues of
18130           gst_buffer_(is|make)_writable.
18131
18132         * libs/gst/base/gstbasetransform.c:
18133         (gst_base_transform_prepare_output_buf):
18134         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18135           Use name gst_buffer_(is|make)_metadata_writable functions.
18136
18137         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18138           Test gst_buffer_(is|make)_metadata_writable
18139         
18140           (Closes: #324162)
18141
18142 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18143
18144         * docs/manual/Makefile.am:
18145           don't do parallel make
18146         * configure.ac:
18147           AC_SUBST HOST_CPU
18148         * win32/common/config.h.in:
18149           add generations for HOST_CPU and GST_MAJORMINOR
18150         * win32/common/config.h:
18151           commit generated result
18152
18153 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18154
18155         * docs/manual/appendix-integration.xml:
18156           Update GNOME integration section to use gst_init_get_option_group()
18157           instead of the old popt stuff (#322911). Also, GNOME applications
18158           should  now use gconf*sink and gconf*src instead of the old gconf
18159           helper lib we had.
18160
18161 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18162
18163
18164         * docs/gst/gstreamer-docs.sgml:
18165         * docs/gst/gstreamer-sections.txt:
18166         * docs/libs/gstreamer-libs-sections.txt:
18167           add new API entries to the docs
18168         * libs/gst/controller/Makefile.am:
18169         * libs/gst/controller/gstcontroller.c:
18170         * libs/gst/controller/gstcontroller.h:
18171         * libs/gst/controller/gstcontrollerprivate.h:
18172         * libs/gst/controller/gsthelper.c:
18173         * libs/gst/controller/gstinterpolation.c:
18174           move private structs to private header
18175         * po/README:
18176           gstreamer-0.7 -> gstreamer-0.10
18177         * tests/check/libs/struct_i386.h:
18178           remove private structs
18179
18180 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18181
18182         * plugins/indexers/Makefile.am:
18183           Fixes as part of #317048
18184
18185 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18186
18187         * plugins/indexers/Makefile.am:
18188           fix #316086 - compilation when mmap is missing
18189
18190 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18191
18192         * libs/gst/base/gstbasesink.c:
18193           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18194           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18195         * win32/common/config.h:
18196           added some defines GST_MAJORMINOR and HOST_CPU
18197         * win32/common/libgstbase.def:
18198         * win32/common/libgstreamer.def:
18199           added some exported functions.
18200
18201 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18202
18203         * libs/gst/controller/gstcontroller.c:
18204         (gst_controlled_property_set_interpolation_mode),
18205         (gst_controlled_property_new):
18206         * libs/gst/controller/gstcontroller.h:
18207         * libs/gst/controller/gstinterpolation.c:
18208         (interpolate_none_get_string_value_array):
18209           make G_TYPE_STRING controlable
18210
18211 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18212
18213         * tools/README:
18214         * tools/gst-feedback.1.in:
18215         * tools/gst-inspect.1.in:
18216         * tools/gst-launch.1.in:
18217         * tools/gst-md5sum.1.in:
18218         * tools/gst-typefind.1.in:
18219         * tools/gst-xmlinspect.1.in:
18220         * tools/gst-xmllaunch.1.in:
18221           cleanup man-pages, remove reference to gst-register, document env-vars
18222
18223 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18224
18225         * gst/gstbuffer.c: (gst_buffer_span):
18226           gst_buffer_span should copy the timestamp of the first buffer
18227           if they were both originally overlapping subbuffers of the 
18228           same parent, using the same logic as the 'slow copy' case.
18229
18230 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18231
18232         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18233           Need to awaken ALL the pads when we pop a buffer, otherwise
18234           collectpads only works when there is 2 input streams.
18235
18236 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18237
18238         * docs/random/ensonic/media-device-daemon.txt:
18239           more ideas (dbus)
18240         * gst/gstbuffer.c:
18241           fix doc example, add clarification
18242         * tools/gst-launch.1.in:
18243           add initial info about GST_PLUGIN_PATH, needs more work
18244
18245 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18246
18247         * docs/manual/basics-bins.xml:
18248         * docs/manual/basics-elements.xml:
18249         * docs/manual/intro-basics.xml:
18250           Some more minor docs additions and updates.
18251
18252 2006-01-11  Wim Taymans  <wim@fluendo.com>
18253
18254         * docs/manual/basics-bins.xml:
18255         * docs/manual/basics-elements.xml:
18256         Some small fixes as pointed out by Ser-ver on IRC.
18257
18258 2006-01-10  Edward Hervey  <edward@fluendo.com>
18259
18260         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18261         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18262         the single-segment mode.
18263
18264 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18265
18266         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18267
18268         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18269         (gst_base_src_perform_seek), (gst_base_src_send_event),
18270         (gst_base_src_set_property), (gst_base_src_get_property),
18271         (gst_base_src_loop), (gst_base_src_start),
18272         (gst_base_src_activate_push):
18273         * libs/gst/base/gstbasesrc.h:
18274           Name (private) union; makes Sun's Forte compiler happy (#324900).
18275
18276 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18277
18278         * README:
18279           gst-register is gone.
18280
18281 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18282
18283         * gst/gstvalue.c: (_gst_value_initialize):
18284           make the G_TYPE_DATE instantiation work if debug is disabled
18285
18286 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18287
18288         * gst/gstmessage.c: (gst_message_parse_tag),
18289         (gst_message_parse_error), (gst_message_parse_warning):
18290           Don't crash when return location for error/warning debug
18291           string is NULL; add fact that return locations can be
18292           NULL to docs where appropriate.
18293
18294 2006-01-05  Wim Taymans  <wim@fluendo.com>
18295
18296         * gst/gstplugin.c: (gst_plugin_load_file):
18297         Replace strdup by g_strdup.
18298
18299 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18300
18301         * docs/pwg/advanced-types.xml:
18302           fix doc borkage
18303
18304 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18305
18306         submitted by: Abel Cheung
18307
18308         * po/LINGUAS:
18309         * po/zh_TW.po:
18310           Added Chinese (traditional) translation
18311
18312 2006-01-04  Wim Taymans  <wim@fluendo.com>
18313
18314         * docs/manual/basics-pads.xml:
18315         * docs/plugins/Makefile.am:
18316         * docs/plugins/gstreamer-plugins-docs.sgml:
18317         * docs/plugins/gstreamer-plugins-sections.txt:
18318         * docs/pwg/advanced-clock.xml:
18319         * docs/pwg/advanced-scheduling.xml:
18320         * docs/pwg/advanced-types.xml:
18321         * plugins/elements/gstfdsink.c:
18322         * plugins/elements/gstfdsrc.c:
18323         * plugins/elements/gstfdsrc.h:
18324         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18325         * plugins/elements/gstidentity.h:
18326         * plugins/elements/gstqueue.h:
18327         * plugins/elements/gsttee.c:
18328         * plugins/elements/gsttee.h:
18329         * plugins/elements/gsttypefindelement.c:
18330         (gst_type_find_element_class_init):
18331         * plugins/elements/gsttypefindelement.h:
18332         Small updates to various docs.
18333         Added core plugins to docs.
18334
18335 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18336
18337         * common/gst.supp:
18338           add a suppression for liboil's uninitialized variable
18339
18340 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18341
18342         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18343
18344         * gst/gstutils.h:
18345           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18346           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18347           compiler switch is being used (#325429).
18348
18349 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18350
18351         * gst/gstbin.c: (gst_bin_query):
18352           Disable duration query caching in bins until it gets
18353           fixed (see #324807).
18354
18355 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18356
18357         * tools/gst-inspect.c: (print_element_properties_info):
18358           Handle properties of POINTER and BOXED type.
18359
18360 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18361
18362         * gst/gst.c: (init_post):
18363           Init tags stuff and some other things before loading
18364           any static plugins (there may be other static plugins
18365           than just the GStreamer ones, and they may want to
18366           register their own tags or formats or whatever, and
18367           preferably without segfaulting).
18368
18369         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18370           Print at least a warning in the debug logs if we drop a
18371           query just because we don't know how to adjust the value
18372           in the particular format.
18373
18374 2005-12-24  David Schleef  <ds@schleef.org>
18375
18376         * tools/gstreamer-completion:
18377           Replacement for gst-complete written in sh and sed.  Only
18378           completes names of features, but that's 90% of what I want
18379           it for.  Properties are not available in registry.xml.  (Maybe
18380           they should be...)
18381
18382 === release 0.10.1 ===
18383
18384 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18385
18386         * configure.ac:
18387           releasing 0.10.1, "Nollaig chridheil"
18388
18389 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18390
18391         * docs/faq/cvs.xml:
18392           Add missing quote, should be make ERROR_CFLAGS="".
18393
18394 2005-12-20  Wim Taymans  <wim@fluendo.com>
18395
18396         * docs/design/part-trickmodes.txt:
18397         More documentation on trickmodes.
18398
18399 2005-12-20  Edward Hervey  <edward@fluendo.com>
18400
18401         * gst/gstcaps.c: (gst_static_caps_get_type):
18402         * gst/gstcaps.h:
18403           API addition: GST_TYPE_STATIC_CAPS
18404         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18405         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18406         * gst/gstpadtemplate.h:
18407           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18408         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18409         bindings.
18410
18411 2005-12-18  Wim Taymans  <wim@fluendo.com>
18412
18413         * libs/gst/base/gstadapter.c:
18414         * libs/gst/base/gstadapter.h:
18415         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18416         (gst_base_sink_get_position):
18417         * libs/gst/base/gstbasesink.h:
18418         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18419         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18420         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18421         (gst_base_src_send_event), (gst_base_src_update_length),
18422         (gst_base_src_get_range), (gst_base_src_loop),
18423         (gst_base_src_start):
18424         * libs/gst/base/gstbasesrc.h:
18425         * libs/gst/base/gstbasetransform.h:
18426         * libs/gst/base/gstcollectpads.h:
18427         * libs/gst/base/gstpushsrc.c:
18428         * libs/gst/base/gstpushsrc.h:
18429         * libs/gst/dataprotocol/dataprotocol.c:
18430         * libs/gst/dataprotocol/dataprotocol.h:
18431         * libs/gst/net/gstnetclientclock.h:
18432         * libs/gst/net/gstnettimeprovider.h:
18433         Documentation updates.
18434
18435 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18436
18437         * docs/manual/basics-helloworld.xml:
18438           Remove superfluous closing bracket in helloworld example.
18439
18440 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18441
18442         * tools/gst-launch.1.in:
18443           Update gst-launch man page; add a section with useful
18444           environment variables. Fixes #323882.
18445
18446 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18447
18448         * gst/gst.c:
18449         * gst/gst_private.h:
18450           change some char* into char[]
18451
18452 2005-12-16  Wim Taymans  <wim@fluendo.com>
18453
18454         * gst/gstregistryxml.c: (load_feature):
18455         Cleanups.
18456         Don't use g_object_unref on GstObjects so that we avoid
18457         leaks on unsafe glibs.
18458
18459 2005-12-16  Wim Taymans  <wim@fluendo.com>
18460
18461         * gst/gstbin.c: (gst_bin_recalc_state):
18462         Small doc updates.
18463
18464 2005-12-16  Wim Taymans  <wim@fluendo.com>
18465
18466         * common/check.mak:
18467         Added make forever target for check.
18468
18469 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18470
18471         * gst/gst.c: (init_post):
18472           make the registry cache file HOST_CPU-dependent
18473
18474 2005-12-16  Andy Wingo  <wingo@pobox.com>
18475
18476         * plugins/elements/gstbufferstore.c
18477         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18478         return value.
18479
18480         * tests/check/gst/gstobject.c
18481         (test_fake_object_name_threaded_unique): Pay attention to
18482         g_list_sort return value.
18483
18484 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18485
18486         * tools/gst-feedback-m.m:
18487           Update for 0.9/0.10 (fixes #323870).
18488
18489 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18490
18491         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18492           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18493           
18494         * tests/check/gst/gstminiobject.c: (my_foo_init),
18495         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18496         (test_value_collection), (gst_mini_object_suite):
18497           Add test to ensure refcounts end up as expected when passing
18498           GstMiniObjects through g_object_get() and g_object_set().
18499
18500 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18501
18502         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18503         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18504         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18505         of collectpads. This version removes a lot of races without
18506         touching API/ABI. Yay !
18507
18508 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18509
18510         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18511           Don't allow activation of a srcpad in pull_range if it has no
18512           getrange function.
18513           Change some debug statements to be a little clearer
18514
18515         * plugins/elements/gsttypefindelement.c:
18516         (gst_type_find_handle_src_query):
18517           Check that we have a peer before executing queries thereupon.
18518
18519         * tests/examples/metadata/read-metadata.c: (message_loop):
18520           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18521           immediately return us any available message with 0 timeout.
18522
18523 2005-12-12  Michael Smith  <msmith@fluendo.com>
18524
18525         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18526           Don't unref factories after calling them.
18527         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18528         * plugins/elements/gsttypefindelement.c:
18529         (gst_type_find_element_chain):
18530           Free lists of factories after using them. Fixing typefinding memory
18531           leaks.
18532
18533 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18534
18535         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18536         (gst_plugin_feature_load):
18537           more meaningful debug output
18538         * configure.ac:
18539         * tests/Makefile.am:
18540         * tests/old/examples/Makefile.am:
18541           make make distcheck happy again
18542
18543 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18544
18545         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18546           Catch the special case where we are operating chain-based,
18547           but the downstream peer pad has no chain function. Emit a
18548           custom error message in this case instead of letting the
18549           core generate one implying that this is some sort of core
18550           bug. It's not, it just means that whatever got plugged
18551           into the pipeline downstream when we announced the type
18552           can only operate pull-based, while our source can only
18553           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18554           Error string has not been marked for translation yet, as
18555           it probably needs some more work first.
18556
18557         (gst_type_find_element_get_best_possibility):
18558           Add helper function to find the best of all available
18559           found possibilities that qualify given the min. threshold.
18560
18561         (gst_type_find_element_handle_event):
18562           Fix the case where we get an EOS while still in TYPEFIND
18563           mode (we want to chose the best of all possible types,
18564           not just the first type that happens to be in our unsorted
18565           list of possible types).
18566
18567         (gst_type_find_element_chain):
18568           Make sure we return GST_FLOW_ERROR when we errored out
18569           in stop_typefinding(); also, don't just find the best of
18570           all found type entries and then use the last examined
18571           type entry, but actually use the best entry.
18572
18573 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18574
18575         * tests/examples/typefind/typefind.c: (type_found):
18576         * tests/examples/xml/runxml.c: (xml_loaded):
18577           More gcc4 fixes and a mem leak fix.
18578
18579 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18580
18581         * tests/examples/xml/createxml.c: (object_saved):
18582           gcc 4 fixes
18583
18584 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18585
18586         * tests/Makefile.am:
18587           enable the examples even more
18588
18589 2005-12-12  Andy Wingo  <wingo@pobox.com>
18590
18591         * libs/gst/net/gstnettimeprovider.c
18592         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18593         (gst_net_time_provider_set_property)
18594         (gst_net_time_provider_get_property):
18595         API addition: Export "active" as a GObject property.
18596         (gst_net_time_provider_thread): Only respond to time queries if
18597         the time provider is active.
18598
18599         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18600         NetTimeProvider, preserving binary compat.
18601
18602 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18603
18604         * tests/examples/controller/audio-example.c: (main):
18605         * tests/examples/launch/Makefile.am:
18606           convert comments again
18607
18608 2005-12-12  Wim Taymans  <wim@fluendo.com>
18609
18610         * libs/gst/base/gstpushsrc.c:
18611         Fix typo.
18612
18613 2005-12-12  Wim Taymans  <wim@fluendo.com>
18614
18615         * docs/libs/gstreamer-libs-sections.txt:
18616         Added new symbol to docs.
18617
18618         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18619         (gst_base_src_init), (gst_base_src_set_format),
18620         (gst_base_src_default_query), (gst_base_src_query),
18621         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18622         (gst_base_src_perform_seek), (gst_base_src_send_event),
18623         (gst_base_src_default_event), (gst_base_src_event_handler),
18624         (gst_base_src_set_property), (gst_base_src_get_property),
18625         (gst_base_src_wait), (gst_base_src_do_sync),
18626         (gst_base_src_update_length), (gst_base_src_get_range),
18627         (gst_base_src_check_get_range), (gst_base_src_loop),
18628         (gst_base_src_default_negotiate), (gst_base_src_start),
18629         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18630         (gst_base_src_change_state):
18631         * libs/gst/base/gstbasesrc.h:
18632         Implement seeking to other formats than _BYTES.
18633         Implement more seeking methods correctly.
18634         Doc updates.
18635         Added query vmethod.
18636         Added do_seek vmethod to make life easier for subclasses
18637         when seeking.
18638         API addition: gst_base_src_set_format()
18639
18640 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18641
18642         * tests/examples/Makefile.am:
18643           added that too
18644
18645 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18646
18647         * configure.ac:
18648         * docs/random/ensonic/media-device-daemon.txt:
18649         * tests/examples/controller/.cvsignore:
18650         * tests/examples/controller/Makefile.am:
18651         * tests/examples/controller/audio-example.c: (main):
18652         * tests/examples/helloworld/.cvsignore:
18653         * tests/examples/helloworld/Makefile.am:
18654         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18655         * tests/examples/launch/.cvsignore:
18656         * tests/examples/launch/Makefile.am:
18657         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18658         * tests/examples/metadata/.cvsignore:
18659         * tests/examples/metadata/Makefile.am:
18660         * tests/examples/metadata/read-metadata.c: (message_loop),
18661         (make_pipeline), (print_tag), (main):
18662         * tests/examples/queue/.cvsignore:
18663         * tests/examples/queue/Makefile.am:
18664         * tests/examples/queue/queue.c: (event_loop), (main):
18665         * tests/examples/typefind/.cvsignore:
18666         * tests/examples/typefind/Makefile.am:
18667         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18668         (main):
18669         * tests/examples/xml/.cvsignore:
18670         * tests/examples/xml/Makefile.am:
18671         * tests/examples/xml/createxml.c: (object_saved), (main):
18672         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18673         * tests/old/examples/Makefile.am:
18674         * tests/old/examples/TODO:
18675         * tests/old/examples/controller/.cvsignore:
18676         * tests/old/examples/controller/Makefile.am:
18677         * tests/old/examples/controller/audio-example.c:
18678         * tests/old/examples/helloworld/.cvsignore:
18679         * tests/old/examples/helloworld/Makefile.am:
18680         * tests/old/examples/helloworld/helloworld.c:
18681         * tests/old/examples/launch/.cvsignore:
18682         * tests/old/examples/launch/Makefile.am:
18683         * tests/old/examples/launch/mp3parselaunch.c:
18684         * tests/old/examples/launch/mp3play:
18685         * tests/old/examples/manual/Makefile.am:
18686         * tests/old/examples/metadata/Makefile.am:
18687         * tests/old/examples/metadata/read-metadata.c:
18688         * tests/old/examples/queue/.cvsignore:
18689         * tests/old/examples/queue/Makefile.am:
18690         * tests/old/examples/queue/queue.c:
18691         * tests/old/examples/typefind/.cvsignore:
18692         * tests/old/examples/typefind/Makefile.am:
18693         * tests/old/examples/typefind/typefind.c:
18694         * tests/old/examples/xml/.cvsignore:
18695         * tests/old/examples/xml/Makefile.am:
18696         * tests/old/examples/xml/createxml.c:
18697         * tests/old/examples/xml/runxml.c:
18698           applied some simple fixing to some examples
18699           re-enabled the working examples
18700
18701 2005-12-12  Wim Taymans  <wim@fluendo.com>
18702
18703         * gst/gstsegment.c: (gst_segment_init),
18704         (gst_segment_set_last_stop), (gst_segment_set_seek),
18705         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18706         (gst_segment_to_running_time):
18707         Added more documentation.
18708         Make sure the last_pos value is updated properly.
18709         Make sure to_stream_time and to_running_time don't
18710         operate on wrong values.
18711
18712         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18713         Update check.
18714
18715 2005-12-12  Michael Smith  <msmith@fluendo.com>
18716
18717         * plugins/elements/gsttypefindelement.c: (free_entry),
18718         (gst_type_find_element_chain):
18719           Now that we're not leaking factories, make sure we keep references
18720           to them while we need them.
18721
18722 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18723
18724         * tests/check/gst/struct_i386.h:
18725           ifdef out the XML structs
18726
18727 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18728
18729         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18730           floor is not needed, F is always positive; this obviates the
18731           need for adding -lm when building without libxml
18732
18733 2005-12-12  Wim Taymans  <wim@fluendo.com>
18734
18735         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18736         Take current playback rate into account when reporting
18737         the position.
18738
18739 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18740
18741         * docs/manual/mime-world.fig:
18742           Let's try this again, this time with a file that is
18743           actually in XFig format.
18744
18745 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18746
18747         * docs/manual/mime-world.fig:
18748           Add audioconvert element to diagram so that it
18749           matches the text and the code (fixes #319526).
18750
18751 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18752
18753         * docs/pwg/building-chainfn.xml:
18754         * docs/pwg/building-pads.xml:
18755         * docs/pwg/building-state.xml:
18756         * docs/pwg/other-source.xml:
18757           Update state change stuff for 0.10 (fixes #322969).
18758
18759 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18760
18761         * docs/manual/advanced-dataaccess.xml:
18762         * docs/manual/appendix-checklist.xml:
18763         * docs/manual/appendix-programs.xml:
18764         * docs/manual/basics-pads.xml:
18765         * docs/manual/highlevel-components.xml:
18766         * docs/manual/manual.xml:
18767           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18768           add converters in front of pipelines; remove curly
18769           brackets for threads stuff, they no longer exist; use
18770           GST_TYPE_FRACTION for framerates; update some pieces of
18771           code to 0.10, but there's plenty more to do.
18772
18773         * docs/manual/appendix-porting.xml:
18774           Expand on asynchroneous state changes; s/0.9/0.10/;
18775           mention disappearance of gst_init_get_popt_table()
18776           (fixes #322916).
18777
18778 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18779
18780         * docs/faq/using.xml:
18781           Spider no longer exists, and neither does gst-launch-ext.
18782           Update examples to use decodebin and playbin and put
18783           converters in front of sinks (fixes #323726).
18784
18785 2005-12-09  Michael Smith  <msmith@fluendo.com>
18786
18787         * plugins/elements/gsttypefindelement.c: (find_peek),
18788         (gst_type_find_element_chain):
18789           Fix leaking element factories in typefinding.
18790           Fix problem where we forgot about a probable type on non-seekable
18791           files, and thus later mis-typefound it.
18792
18793 2005-12-09  Michael Smith  <msmith@fluendo.com>
18794
18795         * common/m4/gst-makecontext.m4:
18796         * common/m4/gst-mcsc.m4:
18797         * configure.ac:
18798         * win32/common/config.h:
18799         * win32/common/config.h.in:
18800           Remove makecontext stuff; not used in 0.10 and causes problems on
18801           HPUX according to bug #322441
18802
18803 2005-12-07  Wim Taymans  <wim@fluendo.com>
18804
18805         * tests/check/Makefile.am:
18806         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18807         (main):
18808         * tests/check/libs/struct_i386.h:
18809         Added ABI check for libs
18810
18811 2005-12-07  Wim Taymans  <wim@fluendo.com>
18812
18813         * tests/check/Makefile.am:
18814         And add the struct_i386.h to dist.
18815
18816 2005-12-07  Wim Taymans  <wim@fluendo.com>
18817
18818         * tests/check/Makefile.am:
18819         * tests/check/gst/.cvsignore:
18820         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18821         (main):
18822         * tests/check/gst/struct_i386.h:
18823         Added check for ABI compatibility.
18824
18825 2005-12-07  Wim Taymans  <wim@fluendo.com>
18826
18827         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18828         (gst_fake_src_get_times), (gst_fake_src_create):
18829         Fix broken sync option, fixes #323259
18830
18831 2005-12-07  Wim Taymans  <wim@fluendo.com>
18832
18833         * gst/gstbuffer.c:
18834         Small docs update.
18835
18836         * gst/gstcaps.c: (gst_caps_is_equal):
18837         Don't assert on NULL <--> X. Fixes #323260
18838
18839         * gst/gstminiobject.c: (gst_mini_object_replace):
18840         If we're doing atomic operations, we might just as well use
18841         the proper way to get an atomic pointer.
18842
18843         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18844         Clean up debugging.
18845
18846 2005-12-07  Michael Smith  <msmith@fluendo.com>
18847
18848         * gst/parse/grammar.y:
18849           Remove handling of { } for threads.
18850
18851 2005-12-06  David Schleef  <ds@schleef.org>
18852
18853         * libs/gst/base/gstbasetransform.c: speling fix.
18854
18855 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18856
18857         * docs/libs/tmpl/gstdataprotocol.sgml:
18858         * docs/random/omega/testing/gstobject.c:
18859         * gst/gst.c:
18860         * gst/gstclock.c:
18861         * gst/gstelement.c:
18862         * gst/gstelementfactory.c:
18863         * gst/gsterror.c:
18864         * gst/gstevent.c:
18865         * gst/gstghostpad.c:
18866         * gst/gstinfo.c:
18867         * gst/gstpadtemplate.c:
18868         * gst/gstregistryxml.c:
18869         * gst/gsttaglist.c:
18870         * gst/gsttagsetter.c:
18871         * gst/gsttypefind.c:
18872         * gst/gstvalue.c:
18873         * libs/gst/base/gstbasesrc.c:
18874         * libs/gst/net/gstnetclientclock.c:
18875         * libs/gst/net/gstnettimeprovider.c:
18876         * plugins/elements/gstfakesrc.c:
18877         * plugins/elements/gstfdsrc.c:
18878         * plugins/elements/gstfilesrc.c:
18879         * plugins/elements/gstidentity.c:
18880         * plugins/elements/gstqueue.c:
18881         * plugins/elements/gsttypefindelement.c:
18882         * plugins/indexers/gstfileindex.c:
18883         * plugins/indexers/gstmemindex.c:
18884         * tests/check/gst/gsttag.c:
18885         * tests/old/examples/cutter/cutter.c:
18886         * tests/old/examples/mixer/mixer.c:
18887         * tests/old/examples/xml/runxml.c: (main):
18888         * tests/old/testsuite/caps/normalisation.c:
18889         * tests/old/testsuite/debug/global.c:
18890         * tests/old/testsuite/parse/parse1.c:
18891         * tools/gst-xmlinspect.c:
18892         * win32/common/dirent.c:
18893           expand tabs
18894
18895 === release 0.10.0 ===
18896
18897 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18898
18899         * configure.ac:
18900           releasing 0.10.0, "Maroilles"
18901
18902 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18903
18904         submitted by: Funda Wang <fundawang@linux.net.cn>
18905
18906         * po/LINGUAS:
18907         * po/zh_CN.po:
18908           added Chinese (Traditional) translation
18909
18910 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18911
18912         * docs/gst/gstreamer-sections.txt:
18913         * docs/libs/tmpl/gstdataprotocol.sgml:
18914         * docs/random/thomasvs/TODO:
18915         * gst/gstutils.c:
18916         * gst/gstutils.h:
18917           fix docs
18918
18919 2005-12-05  Andy Wingo  <wingo@pobox.com>
18920
18921         patch by: Wim Taymans <wim@fluendo.com>
18922
18923         * libs/gst/base/gstbasetransform.c
18924         (gst_base_transform_prepare_output_buf)
18925         (gst_base_transform_buffer_alloc):
18926         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18927         alloc_buffer_and_set_caps.
18928
18929         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18930         set_caps on the source pad.
18931         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18932         alloc_buffer used to do. Fixes #322874.
18933
18934         * docs/gst/gstreamer-sections.txt: 
18935         * docs/design/part-negotiation.txt: 
18936         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18937         changes.
18938
18939 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18940
18941         patch by: Sebastien Moutte
18942
18943         * win32/MANIFEST:
18944         * win32/common/config.h.in:
18945         * win32/vs6/libgstcontroller.dsp:
18946           win32 build fixes
18947
18948 2005-12-05  Wim Taymans  <wim@fluendo.com>
18949
18950         * gst/gstcaps.c: (gst_caps_is_equal):
18951         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18952         (gst_fake_src_create):
18953         Back out previous code changes, leave doc updates, file bugs 
18954         instead. 
18955
18956 2005-12-05  Wim Taymans  <wim@fluendo.com>
18957
18958         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18959         (gst_fake_src_get_times), (gst_fake_src_create):
18960         * plugins/elements/gstfakesrc.h:
18961         Fix broken sync code.
18962
18963 2005-12-05  Wim Taymans  <wim@fluendo.com>
18964
18965         * gst/gstcaps.c: (gst_caps_is_equal):
18966         Comparing NULL against !NULL yields different caps, not a
18967         failure.
18968
18969 2005-12-05  Wim Taymans  <wim@fluendo.com>
18970
18971         * gst/gstpipeline.c:
18972         Fix small typo in docs.
18973
18974 2005-12-05  Andy Wingo  <wingo@pobox.com>
18975
18976         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18977
18978         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18979         registries/plugins with a MAJORMINOR one.
18980         (plugin_desc): Rename library from gstcoreleements to
18981         staticelements. Fixes #323222.
18982
18983 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18984
18985         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18986           Change debug category to 'collectpads' from 'collect_pads'
18987           (fixes #323250).
18988
18989 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18990
18991         patch by: Sebastien Moutte
18992
18993         * libs/gst/controller/gstinterpolation.c:
18994           use convert function for uint64/double
18995         * win32/vs6/libgstcontroller.dsp:
18996           link to GLib
18997
18998 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18999
19000         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19001         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19002         * gst/gstutils.h:
19003         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19004           add tests that seem to show that the guint64/gdouble conversions
19005           are correct.
19006
19007 2005-12-02  Wim Taymans  <wim@fluendo.com>
19008
19009         * gst/gstregistry.c: (gst_registry_add_path):
19010         * gst/gstregistry.h:
19011         * gst/gstregistryxml.c:
19012         Fix docs again.
19013
19014 2005-12-02  Wim Taymans  <wim@fluendo.com>
19015
19016         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19017         (gst_util_uint64_scale_int):
19018         Small cleanup.
19019
19020         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19021         Add debug log line.
19022
19023         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19024         Add FIXME.
19025
19026 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19027
19028         * win32/MANIFEST:
19029         * win32/common/config.h:
19030         * win32/vs6/gstreamer.dsw:
19031         * win32/vs6/libgstcoreelements.dsp:
19032         * win32/vs6/libgstelements.dsp:
19033           renamed core elements plugin
19034
19035 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19036
19037         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19038         (get_candidates):
19039           do piece-wise major/minor comparison so 0.9 < 0.10
19040           also allow .exe extensions for tools
19041
19042 2005-12-02  Michael Smith  <msmith@fluendo.com>
19043
19044         * gst/gst.c:
19045           Escape a % to make gtkdoc happier; bug 322958.
19046
19047 === release 0.9.7 ===
19048
19049 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19050
19051         * configure.ac:
19052           releasing 0.9.7, "My Dog Has No Nose"
19053
19054 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19055
19056         * common/gst-xmlinspect.py:
19057         * configure.ac:
19058         * docs/libs/tmpl/gstdataprotocol.sgml:
19059         * docs/random/release:
19060         * po/af.po:
19061         * po/az.po:
19062         * po/bg.po:
19063         * po/ca.po:
19064         * po/cs.po:
19065         * po/de.po:
19066         * po/en_GB.po:
19067         * po/fr.po:
19068         * po/it.po:
19069         * po/nb.po:
19070         * po/nl.po:
19071         * po/ru.po:
19072         * po/sq.po:
19073         * po/sr.po:
19074         * po/sv.po:
19075         * po/tr.po:
19076         * po/uk.po:
19077         * po/vi.po:
19078         * win32/common/config.h:
19079         * win32/common/config.h.in:
19080         * win32/vs6/gst_inspect.dsp:
19081         * win32/vs6/gst_launch.dsp:
19082         * win32/vs6/libgstbase.dsp:
19083         * win32/vs6/libgstelements.dsp:
19084         * win32/vs6/libgstreamer.dsp:
19085         * win32/vs7/GStreamer.vcproj:
19086         * win32/vs7/gst-inspect.vcproj:
19087         * win32/vs7/gst-launch.vcproj:
19088         * win32/vs7/libgstbase.vcproj:
19089           bump GST_MAJORMINOR to 0.10
19090           reset libtool version
19091
19092 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19093
19094         * po/LINGUAS:
19095         * po/bg.po:
19096           Added Bulgarian translation by (Alexander Shopov)
19097
19098 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19099
19100         * tests/check/gst/gstplugin.c:
19101           fix test
19102
19103 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19104
19105         * common/gst-xmlinspect.py:
19106         * common/gtk-doc-plugins.mak:
19107         * configure.ac:
19108         * docs/Makefile.am:
19109         * docs/gst/Makefile.am:
19110         * docs/gst/gstreamer-docs.sgml:
19111         * docs/gst/gstreamer-sections.txt:
19112         * docs/gst/gstreamer.types:
19113         * docs/gst/gstreamer.types.in:
19114         * docs/plugins/Makefile.am:
19115         * docs/plugins/gstreamer-plugins-docs.sgml:
19116         * docs/plugins/gstreamer-plugins-sections.txt:
19117         * docs/plugins/gstreamer-plugins.types:
19118         * docs/plugins/inspect.stamp:
19119         * docs/plugins/inspect/plugin-coreelements.xml:
19120         * docs/plugins/inspect/plugin-coreindexers.xml:
19121         * docs/plugins/scanobj-build.stamp:
19122         * gstreamer.spec.in:
19123         * plugins/elements/Makefile.am:
19124         * plugins/elements/gstelements.c:
19125         * plugins/elements/gstfakesink.c:
19126         * plugins/elements/gstfakesrc.c:
19127         * plugins/elements/gstfilesink.c:
19128         * plugins/elements/gstfilesrc.c:
19129         * plugins/elements/gstqueue.c:
19130         * plugins/indexers/Makefile.am:
19131         * plugins/indexers/gstindexers.c:
19132           document core plugins in a separate document just like all the
19133           others
19134           rename these plugins to something starting with core
19135
19136 2005-12-01  Andy Wingo  <wingo@pobox.com>
19137
19138         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19139         padding here before, but it missed the commit.
19140
19141 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19142
19143         * libs/gst/controller/gstinterpolation.c:
19144           whitespace prices have crashed, we should feel free to use some now
19145           use gst_guint64_to_gdouble
19146
19147 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19148
19149         * libs/gst/controller/gstcontroller.c:
19150         * libs/gst/controller/gsthelper.c:
19151         * libs/gst/controller/gstinterpolation.c:
19152         * libs/gst/controller/lib.c:
19153           wrap config.h include
19154
19155 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19156
19157         * docs/gst/gstreamer-sections.txt:
19158           update docs
19159
19160 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19161
19162         * plugins/elements/gstelements.c:
19163         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19164         (gst_fd_sink__class_init), (gst_fd_sink__init),
19165         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19166         (gst_fd_sink__get_property):
19167         * plugins/elements/gstfdsink.h:
19168         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19169         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19170         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19171         (gst_fd_src_unlock), (gst_fd_src_set_property),
19172         (gst_fd_src_get_property), (gst_fd_src_create),
19173         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19174         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19175         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19176         (gst_fd_src_uri_handler_init):
19177         * plugins/elements/gstfdsrc.h:
19178         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19179           more anal cleanup
19180
19181 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19182
19183         * docs/gst/Makefile.am:
19184         * docs/gst/gstreamer.types.in:
19185         * gst/Makefile.am:
19186           fix the docs build
19187
19188 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19189
19190         * configure.ac:
19191         * gst/Makefile.am:
19192         * gst/gst.c:
19193         * gst/gstplugin.h:
19194         * gst/gstregistry.h:
19195         * tests/benchmarks/complexity.c:
19196         * tests/benchmarks/mass-elements.c:
19197         * tests/check/Makefile.am:
19198         * tools/Makefile.am:
19199         * tools/gst-inspect.c:
19200         * tools/gst-xmlinspect.c:
19201           various fixes to make
19202           --disable-nls --disable-registry --disable-loadsave
19203           --disable-parse --disable-gst-debug
19204           work and get the core .so down to 360444 bytes after stripping
19205
19206 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19207
19208         * Makefile.am:
19209         * configure.ac:
19210           descend into tests
19211         * docs/random/thomasvs/TODO:
19212         * tests/Makefile.am:
19213         * tests/README:
19214           add a README
19215
19216 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19217
19218         * win32/GStreamer.vcproj:
19219         * win32/MANIFEST:
19220         * win32/Makefile:
19221         * win32/Makefile.inspect:
19222         * win32/Makefile.launch:
19223         * win32/Makefile.register:
19224         * win32/README.txt:
19225         * win32/gst-inspect.vcproj:
19226         * win32/gst-launch.vcproj:
19227         * win32/gst-register.vcproj:
19228         * win32/gstelements.vcproj:
19229         * win32/gstgetbits.def:
19230         * win32/gstgetbits.vcproj:
19231         * win32/gstreamer-dbg.def:
19232         * win32/gstreamer.def:
19233         * win32/libgstbase.def:
19234         * win32/libgstbase.vcproj:
19235         * win32/link_oldruntime.c:
19236         * win32/mman.c:
19237         * win32/mman.h:
19238         * win32/mman.inl:
19239         * win32/msvc71.sln:
19240           move even more stuff, win32/ is nice and clean now
19241
19242 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19243
19244         * libs/gst/control/.cvsignore:
19245         * win32/MANIFEST:
19246         * win32/config.h:
19247         * win32/dirent.c:
19248         * win32/dirent.h:
19249         * win32/gstbytestream.def:
19250         * win32/gstbytestream.vcproj:
19251         * win32/gstconfig.h:
19252         * win32/gstenumtypes.c:
19253         * win32/gstenumtypes.h:
19254         * win32/gstoptimalscheduler.vcproj:
19255         * win32/gstversion.h:
19256         * win32/gtchar.h:
19257         * win32/testsuite/bins.vcproj:
19258         * win32/testsuite/bytestream.vcproj:
19259         * win32/testsuite/caps.vcproj:
19260         * win32/testsuite/cleanup.vcproj:
19261         * win32/testsuite/clock.vcproj:
19262         * win32/testsuite/debug.vcproj:
19263         * win32/testsuite/dlopen.vcproj:
19264         * win32/testsuite/dynparams.vcproj:
19265         * win32/testsuite/elements.vcproj:
19266         * win32/testsuite/ghostpads.vcproj:
19267         * win32/testsuite/indexers.vcproj:
19268         * win32/testsuite/negotiation.vcproj:
19269         * win32/testsuite/parse.vcproj:
19270         * win32/testsuite/plugin.vcproj:
19271         * win32/testsuite/refcounting.vcproj:
19272         * win32/testsuite/schedulers.vcproj:
19273         * win32/testsuite/states.vcproj:
19274         * win32/testsuite/tags.vcproj:
19275         * win32/testsuite/threads.vcproj:
19276           remove old win32 stuff that isn't maintained and should be
19277           reorganized
19278
19279 2005-11-30  Andy Wingo  <wingo@pobox.com>
19280
19281         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19282         loading the gst.interfaces python module bork.
19283
19284         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19285         available since GLib 2.2. Fixes #318031.
19286
19287 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19288
19289         * Makefile.am:
19290         * check/.cvsignore:
19291         * check/Makefile.am:
19292         * check/elements/.cvsignore:
19293         * check/elements/fakesrc.c:
19294         * check/elements/fdsrc.c:
19295         * check/elements/identity.c:
19296         * check/generic/.cvsignore:
19297         * check/generic/states.c:
19298         * check/gst-libs/.cvsignore:
19299         * check/gst-libs/controller.c:
19300         * check/gst-libs/gdp.c:
19301         * check/gst/.cvsignore:
19302         * check/gst/capslist.h:
19303         * check/gst/gst.c:
19304         * check/gst/gstbin.c:
19305         * check/gst/gstbuffer.c:
19306         * check/gst/gstbus.c:
19307         * check/gst/gstcaps.c:
19308         * check/gst/gstelement.c:
19309         * check/gst/gstevent.c:
19310         * check/gst/gstghostpad.c:
19311         * check/gst/gstiterator.c:
19312         * check/gst/gstmessage.c:
19313         * check/gst/gstminiobject.c:
19314         * check/gst/gstobject.c:
19315         * check/gst/gstpad.c:
19316         * check/gst/gstpipeline.c:
19317         * check/gst/gstplugin.c:
19318         * check/gst/gstsegment.c:
19319         * check/gst/gststructure.c:
19320         * check/gst/gstsystemclock.c:
19321         * check/gst/gsttag.c:
19322         * check/gst/gstutils.c:
19323         * check/gst/gstvalue.c:
19324         * check/net/.cvsignore:
19325         * check/net/gstnetclientclock.c:
19326         * check/net/gstnettimeprovider.c:
19327         * check/pipelines/.cvsignore:
19328         * check/pipelines/cleanup.c:
19329         * check/pipelines/simple_launch_lines.c:
19330         * check/pipelines/stress.c:
19331         * check/states/.cvsignore:
19332         * check/states/sinks.c:
19333         * configure.ac:
19334         * examples/Makefile.am:
19335         * examples/appreader/.cvsignore:
19336         * examples/appreader/Makefile.am:
19337         * examples/appreader/appreader.c:
19338         * examples/controller/.cvsignore:
19339         * examples/controller/Makefile.am:
19340         * examples/controller/audio-example.c:
19341         * examples/cutter/.cvsignore:
19342         * examples/cutter/Makefile.am:
19343         * examples/cutter/cutter.c:
19344         * examples/cutter/cutter.h:
19345         * examples/events/Makefile.am:
19346         * examples/events/seek.c:
19347         * examples/helloworld/.cvsignore:
19348         * examples/helloworld/Makefile.am:
19349         * examples/helloworld/helloworld.c:
19350         * examples/helloworld2/.cvsignore:
19351         * examples/helloworld2/Makefile.am:
19352         * examples/helloworld2/helloworld2.c:
19353         * examples/launch/.cvsignore:
19354         * examples/launch/Makefile.am:
19355         * examples/launch/mp3parselaunch.c:
19356         * examples/launch/mp3play:
19357         * examples/manual/.cvsignore:
19358         * examples/manual/Makefile.am:
19359         * examples/manual/extract.pl:
19360         * examples/metadata/Makefile.am:
19361         * examples/metadata/read-metadata.c:
19362         * examples/mixer/.cvsignore:
19363         * examples/mixer/Makefile.am:
19364         * examples/mixer/mixer.c:
19365         * examples/mixer/mixer.h:
19366         * examples/pingpong/.cvsignore:
19367         * examples/pingpong/Makefile.am:
19368         * examples/pingpong/pingpong.c:
19369         * examples/plugins/.cvsignore:
19370         * examples/plugins/Makefile.am:
19371         * examples/plugins/example.c:
19372         * examples/plugins/example.h:
19373         * examples/pwg/.cvsignore:
19374         * examples/pwg/Makefile.am:
19375         * examples/pwg/extract.pl:
19376         * examples/queue/.cvsignore:
19377         * examples/queue/Makefile.am:
19378         * examples/queue/queue.c:
19379         * examples/queue2/.cvsignore:
19380         * examples/queue2/Makefile.am:
19381         * examples/queue2/queue2.c:
19382         * examples/queue3/.cvsignore:
19383         * examples/queue3/Makefile.am:
19384         * examples/queue3/queue3.c:
19385         * examples/queue4/.cvsignore:
19386         * examples/queue4/Makefile.am:
19387         * examples/queue4/queue4.c:
19388         * examples/retag/.cvsignore:
19389         * examples/retag/Makefile.am:
19390         * examples/retag/retag.c:
19391         * examples/retag/transcode.c:
19392         * examples/thread/.cvsignore:
19393         * examples/thread/Makefile.am:
19394         * examples/thread/thread.c:
19395         * examples/typefind/.cvsignore:
19396         * examples/typefind/Makefile.am:
19397         * examples/typefind/typefind.c:
19398         * examples/xml/.cvsignore:
19399         * examples/xml/Makefile.am:
19400         * examples/xml/createxml.c:
19401         * examples/xml/runxml.c:
19402         * tests/Makefile.am:
19403         * tests/check/Makefile.am:
19404         * testsuite/.cvsignore:
19405         * testsuite/Makefile.am:
19406         * testsuite/Rules:
19407         * testsuite/caps/.cvsignore:
19408         * testsuite/caps/Makefile.am:
19409         * testsuite/caps/app_fixate.c:
19410         * testsuite/caps/audioscale.c:
19411         * testsuite/caps/caps.c:
19412         * testsuite/caps/caps.h:
19413         * testsuite/caps/caps_strings:
19414         * testsuite/caps/compatibility.c:
19415         * testsuite/caps/deserialize.c:
19416         * testsuite/caps/enumcaps.c:
19417         * testsuite/caps/eratosthenes.c:
19418         * testsuite/caps/filtercaps.c:
19419         * testsuite/caps/fixed.c:
19420         * testsuite/caps/fraction-convert.c:
19421         * testsuite/caps/fraction-multiply-and-zero.c:
19422         * testsuite/caps/intersect2.c:
19423         * testsuite/caps/intersection.c:
19424         * testsuite/caps/normalisation.c:
19425         * testsuite/caps/random.c:
19426         * testsuite/caps/renegotiate.c:
19427         * testsuite/caps/sets.c:
19428         * testsuite/caps/simplify.c:
19429         * testsuite/caps/string-conversions.c:
19430         * testsuite/caps/structure.c:
19431         * testsuite/caps/subtract.c:
19432         * testsuite/caps/union.c:
19433         * testsuite/debug/.cvsignore:
19434         * testsuite/debug/Makefile.am:
19435         * testsuite/debug/category.c:
19436         * testsuite/debug/commandline.c:
19437         * testsuite/debug/global.c:
19438         * testsuite/debug/output.c:
19439         * testsuite/debug/printf_extension.c:
19440         * testsuite/dlopen/.cvsignore:
19441         * testsuite/dlopen/Makefile.am:
19442         * testsuite/dlopen/dlopen_gst.c:
19443         * testsuite/dlopen/loadgst.c:
19444         * testsuite/elements/.cvsignore:
19445         * testsuite/elements/Makefile.am:
19446         * testsuite/elements/gst-inspect-check.in:
19447         * testsuite/elements/struct_i386.h:
19448         * testsuite/elements/struct_size.c:
19449         * testsuite/indexers/.cvsignore:
19450         * testsuite/indexers/Makefile.am:
19451         * testsuite/indexers/cache1.c:
19452         * testsuite/indexers/indexdump.c:
19453         * testsuite/parse/.cvsignore:
19454         * testsuite/parse/Makefile.am:
19455         * testsuite/parse/parse1.c:
19456         * testsuite/parse/parse2.c:
19457         * testsuite/plugin/.cvsignore:
19458         * testsuite/plugin/Makefile.am:
19459         * testsuite/plugin/README:
19460         * testsuite/plugin/dynamic.c:
19461         * testsuite/plugin/linked.c:
19462         * testsuite/plugin/loading.c:
19463         * testsuite/plugin/registry.c:
19464         * testsuite/plugin/static.c:
19465         * testsuite/plugin/static2.c:
19466         * testsuite/plugin/testplugin.c:
19467         * testsuite/plugin/testplugin2.c:
19468         * testsuite/plugin/testplugin2_s.c:
19469         * testsuite/plugin/testplugin_s.c:
19470         * testsuite/refcounting/.cvsignore:
19471         * testsuite/refcounting/Makefile.am:
19472         * testsuite/refcounting/bin.c:
19473         * testsuite/refcounting/element.c:
19474         * testsuite/refcounting/element_pad.c:
19475         * testsuite/refcounting/mainloop.c:
19476         * testsuite/refcounting/mem.c:
19477         * testsuite/refcounting/mem.h:
19478         * testsuite/refcounting/object.c:
19479         * testsuite/refcounting/pad.c:
19480         * testsuite/refcounting/sched.c:
19481         * testsuite/refcounting/thread.c:
19482         * testsuite/states/.cvsignore:
19483         * testsuite/states/Makefile.am:
19484         * testsuite/states/bin.c:
19485         * testsuite/states/locked.c:
19486         * testsuite/states/parent.c:
19487         * testsuite/threads/.cvsignore:
19488         * testsuite/threads/159566.c:
19489         * testsuite/threads/159852.c:
19490         * testsuite/threads/Makefile.am:
19491         * testsuite/threads/queue.c:
19492         * testsuite/threads/signals.c:
19493         * testsuite/threads/staticrec.c:
19494         * testsuite/threads/thread.c:
19495         * testsuite/threads/threadb.c:
19496         * testsuite/threads/threadc.c:
19497         * testsuite/threads/threadd.c:
19498         * testsuite/threads/threade.c:
19499         * testsuite/threads/threadf.c:
19500         * testsuite/threads/threadg.c:
19501         * testsuite/threads/threadh.c:
19502         * testsuite/threads/threadi.c:
19503           move all of these under tests
19504
19505 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19506
19507         * configure.ac:
19508         * tests/Makefile.am:
19509           fix distcheck
19510
19511 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19512
19513         * docs/gst/gstreamer-sections.txt:
19514         * tests/sched/.cvsignore:
19515         * tests/sched/Makefile.am:
19516         * tests/sched/cases/(fs-fs).xml:
19517         * tests/sched/cases/(fs-i-fs).xml:
19518         * tests/sched/cases/(fs-i-i-fs).xml:
19519         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19520         * tests/sched/dynamic-pipeline.c:
19521         * tests/sched/interrupt1.c:
19522         * tests/sched/interrupt2.c:
19523         * tests/sched/interrupt3.c:
19524         * tests/sched/runtestcases:
19525         * tests/sched/runxml.c:
19526         * tests/sched/sched-stress.c:
19527         * tests/sched/sort.c:
19528         * tests/sched/testcases:
19529         * tests/sched/testcases1.tc:
19530         * tests/seeking/.cvsignore:
19531         * tests/seeking/Makefile.am:
19532         * tests/seeking/seeking1.c:
19533         * tests/threadstate/.cvsignore:
19534         * tests/threadstate/Makefile.am:
19535         * tests/threadstate/test1.c:
19536         * tests/threadstate/test2.c:
19537         * tests/threadstate/threadstate1.c:
19538         * tests/threadstate/threadstate2.c:
19539         * tests/threadstate/threadstate3.c:
19540         * tests/threadstate/threadstate4.c:
19541         * tests/threadstate/threadstate5.c:
19542           remove obsolete tests
19543         * configure.ac:
19544         * tests/bench-complexity.scm:
19545         * tests/bench-mass_elements.scm:
19546         * tests/complexity.c:
19547         * tests/complexity.gnuplot:
19548         * tests/instantiate/.cvsignore:
19549         * tests/instantiate/Makefile.am:
19550         * tests/instantiate/caps.c:
19551         * tests/mass_elements.c:
19552         * tests/network-clock-utils.scm:
19553         * tests/network-clock.scm:
19554         * tests/plot-data:
19555         First pass at cleaning up tests/ dir before moving the rest
19556         Combined with CVS surgery
19557
19558 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19559
19560         * po/POTFILES.in:
19561           queue has moved, update
19562
19563 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19564
19565         * docs/gst/gstreamer-sections.txt:
19566           remove double entries from the docs
19567         * gst/gst_private.h:
19568         * gst/gstinfo.c: (_gst_debug_init):
19569           remove the THREAD debug category
19570         * gst/Makefile.am:
19571         * gst/gstqueue.c:
19572         * gst/gstqueue.h:
19573         * docs/gst/gstreamer.types:
19574         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19575         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19576           completely move queue and fix up debugging categories
19577
19578 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19579
19580         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19581           make initialization portable, using LL is not
19582
19583 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19584
19585         * win32/common/gstconfig.h:
19586           add large padding
19587
19588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19589
19590         * win32/common/libgstreamer.def:
19591           rename symbols; sort base section
19592
19593 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19594
19595         * gst/gstclock.c: (do_linear_regression):
19596           remove crack non-portable handrolled DEBUG macro
19597
19598 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19599
19600         * docs/random/release:
19601           update notes
19602         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19603         (gst_object_flags_get_type), (register_gst_bin_flags),
19604         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19605         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19606         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19607         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19608         (gst_caps_flags_get_type), (register_gst_clock_return),
19609         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19610         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19611         (gst_clock_flags_get_type), (register_gst_state),
19612         (gst_state_get_type), (register_gst_state_change_return),
19613         (gst_state_change_return_get_type), (register_gst_state_change),
19614         (gst_state_change_get_type), (register_gst_element_flags),
19615         (gst_element_flags_get_type), (register_gst_core_error),
19616         (gst_core_error_get_type), (register_gst_library_error),
19617         (gst_library_error_get_type), (register_gst_resource_error),
19618         (gst_resource_error_get_type), (register_gst_stream_error),
19619         (gst_stream_error_get_type), (register_gst_event_type_flags),
19620         (gst_event_type_flags_get_type), (register_gst_event_type),
19621         (gst_event_type_get_type), (register_gst_seek_type),
19622         (gst_seek_type_get_type), (register_gst_seek_flags),
19623         (gst_seek_flags_get_type), (register_gst_format),
19624         (gst_format_get_type), (register_gst_index_certainty),
19625         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19626         (gst_index_entry_type_get_type),
19627         (register_gst_index_lookup_method),
19628         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19629         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19630         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19631         (gst_index_flags_get_type), (register_gst_debug_level),
19632         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19633         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19634         (gst_iterator_result_get_type), (register_gst_iterator_item),
19635         (gst_iterator_item_get_type), (register_gst_message_type),
19636         (gst_message_type_get_type), (register_gst_mini_object_flags),
19637         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19638         (gst_pad_link_return_get_type), (register_gst_flow_return),
19639         (gst_flow_return_get_type), (register_gst_activate_mode),
19640         (gst_activate_mode_get_type), (register_gst_pad_direction),
19641         (gst_pad_direction_get_type), (register_gst_pad_flags),
19642         (gst_pad_flags_get_type), (register_gst_pad_presence),
19643         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19644         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19645         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19646         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19647         (gst_plugin_flags_get_type), (register_gst_rank),
19648         (gst_rank_get_type), (register_gst_query_type),
19649         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19650         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19651         (gst_tag_flag_get_type), (register_gst_task_state),
19652         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19653         (gst_alloc_trace_flags_get_type),
19654         (register_gst_type_find_probability),
19655         (gst_type_find_probability_get_type), (register_gst_uri_type),
19656         (gst_uri_type_get_type), (register_gst_parse_error),
19657         (gst_parse_error_get_type):
19658         * win32/common/gstenumtypes.h:
19659         * win32/common/gstversion.h:
19660           update visual studio generated files
19661
19662 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19663
19664         * win32/vs6/libgstbase.dsp:
19665         * win32/vs6/libgstelements.dsp:
19666           update project files for new locations
19667
19668 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19669
19670         * Makefile.am:
19671           remove some files
19672         * README:
19673           reinstate and update
19674         * DEVEL:
19675         * REQUIREMENTS:
19676           removed
19677         * LICENSE:
19678         * docs/random/LICENSE:
19679           moved to random
19680
19681 2005-11-30  Edward Hervey  <edward@fluendo.com>
19682
19683         * gst/gsttypefind.c: (gst_type_find_register):
19684         * gst/gsttypefind.h:
19685         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19686         (gst_type_find_factory_dispose):
19687         * gst/gsttypefindfactory.h:
19688         Fix memory leak in GstTypeFindFactory.
19689
19690 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19691
19692         * gst/gst.c:
19693         * plugins/elements/Makefile.am:
19694         * plugins/elements/gstelements.c:
19695         * plugins/elements/gstqueue.c:
19696           move queue from core to the elements plugin
19697
19698 2005-11-29  Andy Wingo  <wingo@pobox.com>
19699
19700         * libs/gst/base/gstbasetransform.h: 
19701         * libs/gst/base/gstbasesrc.h: 
19702         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19703
19704         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19705         of pointers by which to pad very extensible base classes (like the
19706         ones in libs/gst/base).
19707
19708 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19709
19710         * docs/gst/gstreamer-docs.sgml:
19711         * docs/gst/gstreamer-sections.txt:
19712         * docs/libs/gstreamer-libs-docs.sgml:
19713         * docs/libs/gstreamer-libs-sections.txt:
19714           moving documentation from core to lib
19715
19716 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19717
19718         * check/Makefile.am:
19719         * configure.ac:
19720         * docs/gst/Makefile.am:
19721         * gst/Makefile.am:
19722         * gst/base/.cvsignore:
19723         * gst/base/Makefile.am:
19724         * gst/base/README:
19725         * gst/base/gstadapter.c:
19726         * gst/base/gstadapter.h:
19727         * gst/base/gstbasesink.c:
19728         * gst/base/gstbasesink.h:
19729         * gst/base/gstbasesrc.c:
19730         * gst/base/gstbasesrc.h:
19731         * gst/base/gstbasetransform.c:
19732         * gst/base/gstbasetransform.h:
19733         * gst/base/gstcollectpads.c:
19734         * gst/base/gstcollectpads.h:
19735         * gst/base/gstpushsrc.c:
19736         * gst/base/gstpushsrc.h:
19737         * gst/base/gsttypefindhelper.c:
19738         * gst/base/gsttypefindhelper.h:
19739         * gst/check/Makefile.am:
19740         * gst/check/gstcheck.c:
19741         * gst/check/gstcheck.h:
19742         * gst/net/Makefile.am:
19743         * gst/net/gstnet.h:
19744         * gst/net/gstnetclientclock.c:
19745         * gst/net/gstnetclientclock.h:
19746         * gst/net/gstnettimepacket.c:
19747         * gst/net/gstnettimepacket.h:
19748         * gst/net/gstnettimeprovider.c:
19749         * gst/net/gstnettimeprovider.h:
19750         * libs/gst/Makefile.am:
19751         * libs/gst/base/Makefile.am:
19752         * libs/gst/base/gstbasetransform.c:
19753         * libs/gst/check/Makefile.am:
19754         * plugins/elements/Makefile.am:
19755         * po/POTFILES.in:
19756           CVS surgery + support to move base, check, and net out of gst
19757           and into libs/gst
19758
19759 2005-11-29  Andy Wingo  <wingo@pobox.com>
19760
19761         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19762
19763         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19764         padding.
19765
19766         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19767
19768         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19769
19770         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19771
19772         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19773         padding; reduces object size by about 30%. We don't expect
19774         anything else to go into gstobject.
19775
19776         * gst/gstminiobject.h (struct _GstMiniObject)
19777         (struct _GstMiniObjectClass): Only one pointer of padding; the
19778         payload is only a pointer and two ints anyway. For the class there
19779         are only two methods as well.
19780         
19781         * gst/gstelement.h (struct _GstElementClass): Removed
19782         the state_changed signal callback, it is not used.
19783
19784 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19785
19786         * docs/gst/gstreamer.types:
19787           fix includes, though they are a little dinky
19788
19789 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19790
19791         * check/Makefile.am:
19792           look in the right place for elements, a lot more chance of
19793           success
19794         * gst/Makefile.am:
19795           remove indexers and elements subdirs
19796         * plugins/Makefile.am:
19797           make indexers conditional
19798
19799 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19800
19801         * Makefile.am:
19802         * configure.ac:
19803         * plugins/elements/Makefile.am:
19804         * plugins/elements/gstcapsfilter.c:
19805         * plugins/elements/gstfilesink.c:
19806         * plugins/elements/gstfilesrc.c:
19807         * plugins/elements/gstidentity.c:
19808         * plugins/indexers/Makefile.am:
19809           do CVS surgery and related build fixery to move elements
19810           and indexers in a new gstreamer/plugins directory, out of the
19811           gst/ directory
19812
19813 2005-11-29  Andy Wingo  <wingo@pobox.com>
19814
19815         * check/Makefile.am:
19816         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19817         * pkgconfig/gstreamer-net.pc.in:
19818         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19819         #322257.
19820
19821 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19822
19823         * tools/Makefile.am:
19824         * tools/gst-complete.1.in:
19825         * tools/gst-complete.c:
19826         * tools/gst-compprep.1.in:
19827         * tools/gst-compprep.c:
19828           removing -compprep and -complete
19829
19830 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19831
19832         * gst/gstevent.c: (gst_event_new_new_segment),
19833         (gst_event_parse_new_segment):
19834         * gst/gstevent.h:
19835           fix #320529 - clean up new_segment API and structure.
19836           Let's hope everyone was using the methods, and not the structure.
19837
19838 2005-11-29  Edward Hervey  <edward@fluendo.com>
19839
19840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19841         (gst_base_sink_event), (gst_base_sink_do_sync),
19842         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19843         Properly handle non GST_FORMAT_TIME segment
19844         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19845         Properly handle non GST_FORMAT_TIME segment
19846         * gst/gstsegment.c:
19847         This function is valid if the accumulator is 0 and the format
19848         is different from the requested format.
19849         
19850 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19851
19852         * docs/gst/gstreamer-sections.txt:
19853         Add gst_query_new_seeking and gst_query_parse_seeking to the
19854         docs.
19855
19856 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19857
19858         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19859           Treat a pad alloc with new caps the same as if we were not
19860           negotiated, in order to allow a changing upstream output
19861           to produce a new format of data.
19862
19863 2005-11-29  Edward Hervey  <edward@fluendo.com>
19864
19865         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19866         (gst_base_transform_event), (gst_base_transform_eventfunc):
19867         The event virtual method is now properly implemented, with a default
19868         handler
19869         Sub classes should call the parent_class event method. They should
19870         return FALSE if they had a problem handling the given event, or don't
19871         want GstBaseTransform to send that even downstream
19872         * gst/elements/gstidentity.c: (gst_identity_class_init),
19873         (gst_identity_init), (gst_identity_event),
19874         (gst_identity_transform_ip), (gst_identity_set_property),
19875         (gst_identity_get_property):
19876         * gst/elements/gstidentity.h:
19877         Added the single-segment boolean property.
19878         If set to TRUE, it will output a single segment of data, starting from
19879         0, will eat up all incoming newsegment, and modify the timestamp of the
19880         buffers accordingly
19881
19882 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19883
19884         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19885           Don't ref NULL target pad (#322751). Improve docs.
19886
19887 2005-11-29  Michael Smith  <msmith@fluendo.com>
19888
19889         * gst/gstregistryxml.c: (load_plugin):
19890           Don't crash if we failed to load a feature from a plugin. 
19891
19892 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19893
19894         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19895         (GST_START_TEST):
19896           use more check API and less GLib API
19897
19898 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19899
19900         * Makefile.am:
19901           don't run checks if we don't have check
19902         * common/check.mak:
19903           remove the registry when running make torture
19904         * docs/gst/gstreamer-sections.txt:
19905           remove second multiply
19906         * gst/gstqueue.c: (gst_queue_loop):
19907           fix a compile warning when disabling debug
19908
19909 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19910
19911         * gst/gstinfo.h:
19912         Hey! Let's print the pad name if the pointer != NULL instead
19913         of when it == NULL :-)
19914
19915 2005-11-28  Wim Taymans  <wim@fluendo.com>
19916
19917         * check/gst/gstutils.c: (GST_START_TEST):
19918         Updated check, add some scaling accuracy checking code.
19919
19920         * gst/gstutils.c: (gst_util_div128_64),
19921         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19922         (gst_util_uint64_scale_int):
19923         Fix 6 times faster division code. Optimize for common 
19924         1/1 and less common X/1 cases.
19925
19926 2005-11-28  Wim Taymans  <wim@fluendo.com>
19927
19928         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19929         More checks.
19930
19931         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19932         (do_linear_regression), (gst_clock_add_observation):
19933         Cleanups.
19934         Release lock when the clock cannot be slaved.
19935         Catch the case where the regression returned an invalid denominator.
19936
19937         * gst/gstutils.c: (gst_util_div128_64_iterate),
19938         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19939         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19940         Add protentially more performant non-iterative 128/64 divide function
19941         that unfortunatly does not work yet.
19942         Shortcut the trivial 0/X = 0 case.
19943         Remove the warnings on overflow.
19944
19945 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19946
19947         * gst/gstplugin.c: (gst_plugin_register_func):
19948           everything causing a plugin not to load should be at least a WARNING
19949
19950 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19951
19952         * docs/random/ensonic/dparams.txt:
19953           some TODOs for the next dev cycle
19954         * libs/gst/controller/gstcontroller.c:
19955         (gst_controlled_property_set_interpolation_mode),
19956         (gst_controlled_property_new):
19957         * libs/gst/controller/gstcontroller.h:
19958           use base type to assign acccessor functions
19959
19960 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19961
19962         * check/Makefile.am:
19963         Oops, that should have been top_srcdir
19964
19965 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19966
19967         * check/Makefile.am:
19968         * check/elements/fdsrc.c: (GST_START_TEST):
19969         Use a cmdline define to specify the location of a file to use for
19970         testing, to avoid breaking distcheck.
19971
19972 2005-11-28  Andy Wingo  <wingo@pobox.com>
19973
19974         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19975
19976 2005-11-28  Edward Hervey  <edward@fluendo.com>
19977
19978         * tools/gst-launch.c: (main):
19979         Clarify the output strings, makes it easier to translate.
19980         Fixes #322626
19981
19982 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19983
19984         * gst/Makefile.am:
19985           don't try and build net if we don't even have <sys/socket.h>
19986
19987 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19988
19989         * check/Makefile.am:
19990         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19991         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19992           Add tests for fdsrc seekability
19993
19994         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19995         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19996         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19997         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19998         * gst/elements/gstfdsrc.h:
19999           fdsrc should not be a 'live' source.
20000           Implement seeking on seekable fd's.
20001
20002         * gst/gstquery.c: (gst_query_new_seeking),
20003         (gst_query_parse_seeking):
20004         * gst/gstquery.h:
20005           Implement SEEKING query functions: 
20006             *_new_seeking and *_parse_seeking
20007
20008 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20009
20010         * gst/gstelement.c: (gst_element_dispose):
20011           don't loop forever
20012
20013         * gst/gstiterator.c:
20014         * gst/gststructure.c:
20015           doc fixes
20016
20017         * libs/gst/controller/gstcontroller.c:
20018         (gst_controlled_property_set_interpolation_mode):
20019         * libs/gst/controller/gstcontroller.h:
20020         * libs/gst/controller/gstinterpolation.c:
20021         (interpolate_none_get_enum_value_array):
20022           support controlling enums
20023
20024 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20025
20026         * gst/gstvalue.c:
20027           Improve documentation for gst_value_union().
20028
20029         * gst/gstvalue.h:
20030           Change return value for union, intersect and subtract functions
20031           from gint to gboolean.
20032
20033 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20034
20035         * gst/gstvalue.c: (gst_value_serialize_any_list),
20036         (gst_value_transform_any_list_string),
20037         (gst_value_deserialize_list), (gst_value_deserialize_array),
20038         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20039         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20040         (gst_value_set_fraction_range_full),
20041         (gst_value_deserialize_fraction_range),
20042         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20043         (gst_value_deserialize_boolean),
20044         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20045         (gst_value_serialize_float), (gst_value_deserialize_float),
20046         (gst_string_wrap), (gst_value_deserialize_string),
20047         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20048         (gst_value_union_int_range_int_range),
20049         (gst_value_intersect_int_range_int_range),
20050         (gst_value_intersect_double_range_double_range),
20051         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20052         (gst_value_subtract_int_range_int_range),
20053         (gst_value_subtract_double_double_range),
20054         (gst_value_subtract_double_range_double_range),
20055         (gst_value_deserialize_fraction):
20056         * gst/gstvalue.h:
20057           Use gint, gdouble and gchar in our API instead of int, double and
20058           char (and make usage in gstvalue.c more consistent).
20059
20060 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20061
20062         * check/Makefile.am:
20063         * libs/gst/controller/Makefile.am:
20064         * libs/gst/dataprotocol/Makefile.am:
20065           fix up Makefile.am and remove GST_ENABLE_NEW
20066
20067 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20068
20069         * configure.ac:
20070         * gst/Makefile.am:
20071         * gst/base/Makefile.am:
20072         * gst/check/Makefile.am:
20073         * gst/elements/Makefile.am:
20074         * gst/net/Makefile.am:
20075           update LDFLAGS use some more
20076
20077 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20078
20079         * common/m4/gst-doc.m4:
20080           Fixes #312589
20081
20082 2005-11-26  Edward Hervey  <edward@fluendo.com>
20083
20084         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20085         This shouldn't issue a g_warning since it returns NULL if it
20086         couldn't find the plugin, and all functions using this behave
20087         properly on a NULL return. Switching to a GST_WARNING.
20088
20089 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20090
20091         * gst/gstbin.c: (gst_bin_handle_message_func):
20092         Don't leak clock messages.
20093
20094 2005-11-25  Wim Taymans  <wim@fluendo.com>
20095
20096         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20097         (gst_util_uint64_scale_int):
20098         Optimisations, remove unneeded vars.
20099
20100 2005-11-25  Wim Taymans  <wim@fluendo.com>
20101
20102         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20103         Added more checks for the high precision uint64 cases.
20104
20105         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20106         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20107         Implement high precision (guint64 * guint64) / guint64.
20108
20109 2005-11-24  Wim Taymans  <wim@fluendo.com>
20110
20111         * gst/base/gstbasesrc.c: (gst_base_src_query):
20112         Fix wrong percentage query.
20113
20114         * gst/gstutils.c: (gst_util_uint64_scale),
20115         (gst_util_uint64_scale_int):
20116         Add some more common cases that can be handled 
20117         efficiently to _scale.
20118
20119 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20120
20121         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20122         (gst_mini_object_suite):
20123           don't use check calls from threads; check probably isn't
20124           threadsafe and using a lock to make it threadsafe would
20125           defeat the purpose of this check
20126         * gst/check/gstcheck.c:
20127         * gst/check/gstcheck.h:
20128           use GST_DEBUG some more
20129
20130 2005-11-24  Wim Taymans  <wim@fluendo.com>
20131
20132         * gst/gstutils.c: (gst_util_uint64_scale),
20133         (gst_util_uint64_scale_int):
20134         Chain trivial case to _scale_int.
20135
20136 2005-11-24  Wim Taymans  <wim@fluendo.com>
20137
20138         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20139         Added test for scaling.
20140
20141         * gst/gstclock.h:
20142         Small doc fix.
20143
20144         * gst/gstutils.c: (gst_util_uint64_scale_int):
20145         Implemented high precision scaling code.
20146
20147 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20148
20149         * gst/gstinfo.h:
20150           do not crash on pad==NULL
20151
20152 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20153
20154         Patch by: Stefan Kost
20155
20156         * common/gtk-doc.mak:
20157         * docs/gst/Makefile.am:
20158         * docs/libs/Makefile.am:
20159           Fix distcheck issues for the libraries docs build
20160           Closes #319599.
20161
20162 2005-11-24  Michael Smith <msmith@fluendo.com>
20163
20164         * docs/manual/basics-helloworld.xml:
20165           Fix bug #315027: memory leak in example code in docs.
20166
20167 2005-11-24  Michael Smith <msmith@fluendo.com>
20168
20169         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20170           Unlock the PREROLL_LOCK in a failure case.
20171
20172 2005-11-24  Wim Taymans  <wim@fluendo.com>
20173
20174         * docs/gst/gstreamer-sections.txt:
20175         * gst/base/gstadapter.h:
20176         * gst/base/gstbasesink.h:
20177         * gst/base/gstbasesrc.h:
20178         * gst/base/gstbasetransform.h:
20179         * gst/base/gstpushsrc.h:
20180         * gst/elements/gstfakesink.h:
20181         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20182         * gst/elements/gstfakesrc.h:
20183         * gst/elements/gstfilesink.h:
20184         * gst/elements/gstfilesrc.h:
20185         * gst/gst.c:
20186         * gst/gstbin.c:
20187         * gst/gstbuffer.c: (_gst_buffer_copy):
20188         * gst/gstbus.h:
20189         * gst/gstcaps.c:
20190         * gst/gstchildproxy.c:
20191         * gst/gstclock.c:
20192         * gst/gstelement.c:
20193         * gst/gstelementfactory.c:
20194         * gst/gstelementfactory.h:
20195         * gst/gstevent.c:
20196         * gst/gstghostpad.h:
20197         * gst/gstindex.h:
20198         * gst/gstinterface.h:
20199         * gst/gstminiobject.c:
20200         * gst/gstminiobject.h:
20201         * gst/gstpad.c:
20202         * gst/gstpad.h:
20203         * gst/gstpadtemplate.h:
20204         * gst/gstpipeline.h:
20205         * gst/gstpluginfeature.h:
20206         * gst/gstquery.h:
20207         * gst/gstqueue.h:
20208         * gst/gsttaglist.c:
20209         * gst/gsttaglist.h:
20210         * gst/gsttagsetter.c:
20211         * gst/gsttagsetter.h:
20212         * gst/gsttrace.c:
20213         * gst/gsttrace.h:
20214         * gst/gsttypefind.h:
20215         * gst/gsturi.h:
20216         * gst/gstvalue.c:
20217         * gst/net/gstnetclientclock.c:
20218         * gst/net/gstnetclientclock.h:
20219         * gst/net/gstnettimepacket.c:
20220         * gst/net/gstnettimeprovider.c:
20221         * gst/net/gstnettimeprovider.h:
20222         Doc fixes.
20223
20224 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20225
20226         * configure.ac: back to HEAD
20227
20228 === release 0.9.6 ===
20229
20230 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20231
20232         * configure.ac:
20233           releasing 0.9.6, "Always On Time"
20234
20235 2005-11-23  Wim Taymans  <wim@fluendo.com>
20236
20237         * docs/gst/gstreamer-sections.txt:
20238         * gst/glib-compat.c:
20239         * gst/gsttagsetter.c:
20240         * gst/gstvalue.c:
20241         * gst/net/gstnetclientclock.c:
20242         * gst/net/gstnettimepacket.h:
20243         Doc updates.
20244
20245 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20246
20247         * docs/faq/using.xml:
20248         * docs/libs/tmpl/gstcontrol.sgml:
20249         * docs/manual/advanced-dparams.xml:
20250         * docs/manual/appendix-checklist.xml:
20251         * docs/manual/basics-elements.xml:
20252         * docs/pwg/other-source.xml:
20253         * docs/random/moving-plugins:
20254         * gst/gstpad.c:
20255         * tools/gst-launch.1.in:
20256           remove mentions of sinesrc
20257
20258 2005-11-23  Michael Smith <msmith@fluendo.com>
20259
20260         * docs/gst/gstreamer-sections.txt:
20261           Update for new API and API changes.
20262         * gst/gstobject.h:
20263           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20264         * gst/gstvalue.c:
20265           Documentation typo fix.
20266         * gst/net/gstnettimepacket.c:
20267           Documentation fixes for arguments.
20268
20269 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20270
20271         * gst/gststructure.c: (gst_structure_get_fraction),
20272         (gst_structure_parse_value),
20273         (gst_structure_fixate_field_nearest_fraction):
20274         * gst/gststructure.h:
20275         * gst/gstutils.c: (gst_util_uint64_scale_int):
20276         * gst/gstutils.h:
20277         * scripts/update-funcnames:
20278         API Changes. 
20279         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20280         Make gst_structure_fixate_field_nearest_fraction take a numerator
20281         and denominator argument instead of a GValue
20282         add gst_structure_get_fraction helper function.
20283
20284 2005-11-23  Wim Taymans  <wim@fluendo.com>
20285
20286         * docs/design/part-TODO.txt:
20287         Update TODO.
20288
20289         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20290         * gst/net/gstnetclientclock.h:
20291         Use parent fields for timeout and window_size.
20292
20293 2005-11-23  Andy Wingo  <wingo@pobox.com>
20294
20295         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20296         rate_num/rate_denom change.
20297
20298         * gst/net/gstnetclientclock.c
20299         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20300         OBJECT_LOCK. Don't call add_observation with the lock.
20301
20302         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20303         fraction.
20304         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20305         rate fraction.
20306         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20307         deal with rate as a fraction whose numerator and denominator are
20308         GstClockTime values.
20309         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20310         master; the other fields are protected by the SLAVE_LOCK.
20311         (do_linear_regression): Note that this must be called with the
20312         SLAVE_LOCK.
20313         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20314         OBJECT_LOCK. Call set_calibration instead of touching the
20315         variables directly.
20316         (gst_clock_set_property, gst_clock_get_property): Protect
20317         master/slave parameters with the SLAVE_LOCK.
20318
20319         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20320         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20321         note that all of the instance variables that add_observation and
20322         the set_master functions use are protected by that lock and not
20323         the OBJECT_LOCK.
20324         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20325
20326         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20327         the caller to take the object lock.
20328
20329 2005-11-23  Wim Taymans  <wim@fluendo.com>
20330
20331         * gst/gsterror.c: (_gst_core_errors_init):
20332         * gst/gsterror.h:
20333         Add error for clock stuff.
20334
20335         * gst/gstpipeline.c: (gst_pipeline_change_state),
20336         (gst_pipeline_set_clock):
20337         Post clock error when clock cannot be used in a pipeline.
20338
20339 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20340
20341         * docs/gst/gstreamer-sections.txt:
20342           make two symbols from gstinfo private for the docs
20343         * gst/base/gstcollectpads.h:
20344         * gst/gstutils.c:
20345           fix doc typos, update docs
20346
20347 2005-11-22  Wim Taymans  <wim@fluendo.com>
20348
20349         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20350         (gst_base_sink_wait), (gst_base_sink_do_sync),
20351         (gst_base_sink_handle_event):
20352         * gst/base/gstbasesink.h:
20353         No need to store the clock, the parent element class already
20354         has it.
20355
20356         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20357         Updates for clock_set returning a gboolean
20358
20359         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20360         (gst_clock_id_wait_async), (gst_clock_class_init),
20361         (gst_clock_init), (gst_clock_finalize),
20362         (gst_clock_get_internal_time), (gst_clock_get_time),
20363         (gst_clock_slave_callback), (gst_clock_set_master),
20364         (gst_clock_get_master), (do_linear_regression),
20365         (gst_clock_add_observation), (gst_clock_set_property),
20366         (gst_clock_get_property):
20367         * gst/gstclock.h:
20368         Implement master/slave. When setting a clock as a slave, a
20369         periodic timeout is scheduled to sample master and slave times.
20370         Then the slave clock is recalibrated to match offset and rate
20371         of the master clock.
20372         Update logging a bit.
20373         Add flag so that a clock can state that is cannot be slaved to
20374         another clock.
20375
20376         * gst/gstelement.c: (gst_element_set_clock):
20377         * gst/gstelement.h:
20378         The set clock returns a gboolean for when an element cannot
20379         deal with the selected clock in the pipeline. 
20380
20381         * gst/gstpipeline.c: (gst_pipeline_change_state),
20382         (gst_pipeline_set_clock):
20383         * gst/gstpipeline.h:
20384         Handle the case where the selected clock cannot be set on
20385         the pipeline.
20386
20387         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20388         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20389         (gst_net_client_clock_set_property),
20390         (gst_net_client_clock_get_property),
20391         (gst_net_client_clock_observe_times):
20392         * gst/net/gstnetclientclock.h:
20393         Use regression code in GstClock parent, remove duplicated
20394         functionality.
20395
20396 2005-11-22  Michael Smith <msmith@fluendo.com>
20397
20398         * gst/gstutils.c: (gst_util_clock_time_scale):
20399         * gst/gstutils.h:
20400         * docs/gst/gstreamer-sections.txt:
20401           Rename method to have extra underscore.
20402
20403 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20404
20405         * gst/elements/Makefile.am:
20406         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20407         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20408         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20409         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20410         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20411         * gst/elements/gstfakesrc.h:
20412         * gst/gstqueue.c: (queue_leaky_get_type):
20413           correctly fix GEnumValues so that nick is the short lowercase
20414           dashed tag
20415         * tools/gst-inspect.c: (print_element_properties_info):
20416           also show the nick, since it's useful to use from parse_launch
20417           syntax
20418           Fixes #322139
20419
20420 2005-11-22  Michael Smith <msmith@fluendo.com>
20421
20422         * gst/gstutils.c: (gst_util_clocktime_scale):
20423         * gst/gstutils.h:
20424         * docs/gst/gstreamer-sections.txt:
20425           Add util method for scaling a clocktime by a fraction. Useful 
20426           implementation is left as an exercise for the reader.
20427
20428 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20429
20430         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20431         If needed, allocate storage in the destination value during
20432         collection.
20433
20434 2005-11-22  Edward Hervey  <edward@fluendo.com>
20435
20436         * docs/gst/gstreamer-sections.txt:
20437         * gst/Makefile.am:
20438         * gst/gst.h:
20439         * gst/gsturitype.c:
20440         * gst/gsturitype.h:
20441         * gst/gstutils.c: (gst_util_set_object_arg):
20442         * tools/gst-compprep.c: (main):
20443         * tools/gst-inspect.c: (print_element_properties_info):
20444         Removed GstURI, closes bug #321061
20445
20446 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20447
20448         * check/gst/gststructure.c: (GST_START_TEST):
20449         * gst/gststructure.c: (gst_structure_parse_value):
20450           Oops, broke automatic string type parsing.
20451           Add a test to catch it in future.
20452
20453 2005-11-22  Andy Wingo  <wingo@pobox.com>
20454
20455         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20456         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20457         Actually rename the function implementations. Grr.
20458
20459 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20460
20461         * check/gst/capslist.h:
20462           Comment test cases
20463         * check/gst/gststructure.c: (GST_START_TEST),
20464         (gst_structure_suite):
20465           Test automatic value type detection in gst_structure_from_string.
20466         * gst/gststructure.c: (gst_structure_parse_value):
20467           Add fraction as a type we try and guess automatically in
20468           caps/structure strings.
20469
20470 2005-11-22  Andy Wingo  <wingo@pobox.com>
20471
20472         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20473
20474         * gst/gsttagsetter.h:
20475         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20476         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20477         (gst_tag_setter_add_tag_valist)
20478         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20479         _add_values, _add_valist, and _add_valist_values. Since this is an
20480         interface the function suffixes should be more explicit so
20481         language binding don't end up with element.add_valist ->
20482         gst_tag_setter_add_valist, for example. Fixes #322069.
20483
20484 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20485
20486         * check/gst/gstcaps.c: (GST_START_TEST):
20487           Extend caps string tests to check that a caps to string
20488           conversion is reversible and produces the same caps.
20489
20490         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20491           Output "fraction" as the generic type fraction range, so caps
20492           serialisation and deserialisation works.
20493         * check/gst/capslist.h:
20494         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20495           Support 'MIN' and 'MAX' for deserialising fractions.
20496
20497 2005-11-22  Andy Wingo  <wingo@pobox.com>
20498
20499         * gst/gstevent.h (gst_event_new_new_segment)
20500         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20501         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20502         Renamed from *_newsegment, *_buffersize, *_notarget.
20503
20504         * scripts/update-funcnames: New script, performs the changes
20505         listed above.
20506
20507 2005-11-22  Wim Taymans  <wim@fluendo.com>
20508
20509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20510         Make sure the GstFlowReturn is returned.
20511
20512         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20513         (gst_bus_add_signal_watch):
20514         * gst/gstbus.h:
20515         add gst_bus_add_signal_watch_full.
20516
20517         * gst/gstplugin.c: (gst_plugin_load_file):
20518         Small style cleanup.
20519
20520 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20521
20522         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20523           Block the fakesrc srcpad when we send an event, to avoid
20524           contention on the stream_lock causing random test failures.
20525
20526 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20527
20528         * check/gst/gstvalue.c: (GST_START_TEST):
20529         * gst/gstvalue.c: (gst_value_fraction_subtract):
20530           Fix subtraction.
20531
20532 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20533
20534         * gst/gst.h:
20535           include "gstchildproxy.h"
20536         * gst/gstchildproxy.h:
20537         * libs/gst/controller/gstcontroller.h:
20538           use G_GNUC_NULL_TERMINATED
20539
20540 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20541
20542         * check/gst/capslist.h:
20543         * check/gst/gstcaps.c: (GST_START_TEST):
20544         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20545         * gst/gststructure.c: (gst_structure_parse_range),
20546         (gst_structure_fixate_field_nearest_fraction):
20547         * gst/gststructure.h:
20548         * gst/gstvalue.c: (gst_value_init_fraction_range),
20549         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20550         (gst_value_collect_fraction_range),
20551         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20552         (gst_value_set_fraction_range_full),
20553         (gst_value_get_fraction_range_min),
20554         (gst_value_get_fraction_range_max),
20555         (gst_value_serialize_fraction_range),
20556         (gst_value_transform_fraction_range_string),
20557         (gst_value_compare_fraction_range),
20558         (gst_value_deserialize_fraction_range),
20559         (gst_value_intersect_fraction_fraction_range),
20560         (gst_value_intersect_fraction_range_fraction_range),
20561         (gst_value_subtract_fraction_fraction_range),
20562         (gst_value_subtract_fraction_range_fraction),
20563         (gst_value_subtract_fraction_range_fraction_range),
20564         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20565         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20566         (gst_value_transform_string_fraction), (_gst_value_initialize):
20567         * gst/gstvalue.h:
20568           Implement fraction ranges and extend GstFraction to support
20569           arithmetic subtraction, as well as deserialization from integer
20570           strings such as "100"
20571           Add a testsuite as for int and double range set operations
20572
20573 2005-11-21  Andy Wingo  <wingo@pobox.com>
20574
20575         * gst/gsttaglist.h: 
20576         * gst/gstcaps.h: 
20577         * gst/gststructure.h: Add glib-compat.h.
20578
20579 2005-11-21  Wim Taymans  <wim@fluendo.com>
20580
20581         * gst/gstbin.c: (gst_bin_change_state_func):
20582         Fix for #321595
20583
20584 2005-11-21  Wim Taymans  <wim@fluendo.com>
20585
20586         * gst/gstsegment.h:
20587         And add a nice define too.
20588
20589 2005-11-21  Wim Taymans  <wim@fluendo.com>
20590
20591         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20592         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20593         (gst_segment_set_duration), (gst_segment_set_last_stop),
20594         (gst_segment_set_seek), (gst_segment_set_newsegment),
20595         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20596         (gst_segment_clip):
20597         * gst/gstsegment.h:
20598         Make binding friendly.
20599
20600 2005-11-21  Andy Wingo  <wingo@pobox.com>
20601
20602         * gst/gsttagsetter.h: 
20603         * gst/gsttaglist.h: 
20604         * gst/gststructure.h: 
20605         * gst/gstcaps.h: 
20606         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20607         #319940.
20608
20609         * gst/gsterror.c (_gst_core_errors_init):
20610         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20611         category.
20612
20613         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20614         (noinst_HEADERS): noinst the -private.
20615
20616 2005-11-21  Michael Smith <msmith@fluendo.com>
20617
20618         * gst/gstplugin.h:
20619         * gst/gstregistry.h:
20620           Remove unimplemented declarations for which we can see no sensible
20621           use.
20622
20623 2005-11-21  Andy Wingo  <wingo@pobox.com>
20624
20625         * gst/gst.h: Include glib-compat.h.
20626
20627         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20628
20629         * gst/glib-compat.c: Include the public and the private header.
20630
20631         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20632
20633         * gst/gstvalue.c: 
20634         * gst/gstpad.c: 
20635         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20636
20637         * check/gst/gstevent.c (create_custom_events): Check that
20638         FLUSH_STOP is serialized.
20639
20640         * check/elements/identity.c (event_func): 
20641         * check/elements/fakesrc.c (event_func): No stream lock, the core
20642         takes it.
20643
20644         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20645         stream lock taking, yay.
20646
20647         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20648         ensure that core takes the stream lock.
20649
20650         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20651         lock name change.
20652
20653         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20654         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20655         it already. For the flush start we do take it though so we get the
20656         right preroll state change messages.
20657
20658         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20659         the stream lock here, the core does it for us.
20660
20661         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20662         GST_STREAM_GET_LOCK.
20663         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20664         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20665         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20666         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20667         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20668         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20669
20670         * gst/gstpad.c: Update for stream lock name change.
20671
20672         * gst/base/gstbasesink.c: Update for preroll lock name change.
20673
20674 2005-11-21  Wim Taymans  <wim@fluendo.com>
20675
20676         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20677         (gst_clock_get_master):
20678         * gst/gstclock.h:
20679         * gst/gstsystemclock.c: (gst_system_clock_init):
20680         Convert Clock flags to object flags.
20681         Added methods to manage master/slave clocks.
20682
20683 2005-11-21  Wim Taymans  <wim@fluendo.com>
20684
20685         * check/gst/gstsegment.c: (GST_START_TEST):
20686         * docs/design/part-TODO.txt:
20687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20688         (gst_base_sink_event), (gst_base_sink_do_sync),
20689         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20690         (gst_base_sink_query), (gst_base_sink_change_state):
20691         * gst/base/gstbasesink.h:
20692         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20693         (gst_base_src_default_newsegment),
20694         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20695         (gst_base_src_get_range), (gst_base_src_loop),
20696         (gst_base_src_change_state):
20697         * gst/base/gstbasesrc.h:
20698         * gst/base/gstbasetransform.c:
20699         (gst_base_transform_prepare_output_buf),
20700         (gst_base_transform_event), (gst_base_transform_change_state):
20701         * gst/base/gstbasetransform.h:
20702         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20703         (gst_collect_pads_event):
20704         * gst/base/gstcollectpads.h:
20705         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20706         (gst_fake_src_create):
20707         * gst/elements/gstfakesrc.h:
20708         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20709         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20710         (gst_segment_set_last_stop), (gst_segment_set_seek),
20711         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20712         (gst_segment_to_running_time), (gst_segment_clip):
20713         * gst/gstsegment.h:
20714         More segment updates, replace code in plugins with segment
20715         helper functions.
20716
20717 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20718
20719         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20720         Don't ignore sscanf results
20721
20722 2005-11-21  Andy Wingo  <wingo@pobox.com>
20723
20724         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20725
20726         * *.h:
20727         * *.c: Ran scripts/update-macros. Oh yes.
20728
20729         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20730         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20731         GST_GET_LOCK, etc.
20732
20733         * scripts/update-macros: New script. Run it on your files to
20734         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20735         well.
20736
20737 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20738
20739         * docs/gst/Makefile.am:
20740         * docs/gst/gstreamer-docs.sgml:
20741         * docs/gst/gstreamer-sections.txt:
20742         * docs/gst/gstreamer.types:
20743         * gst/gstinfo.h:
20744           more docs fixes, add new api to the docs
20745
20746 2005-11-21  Andy Wingo  <wingo@pobox.com>
20747
20748         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20749         state_broadcast call.
20750
20751         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20752
20753 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20754
20755         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20756         function calls for arrays.
20757
20758 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20759
20760         * docs/random/ensonic/media-device-daemon.txt:
20761           wild idea, can this be done?
20762         * docs/gst/gstreamer-sections.txt:
20763         * gst/gsterror.h:
20764         * gst/gstfilter.c:
20765         * gst/gstfilter.h:
20766         * gst/gstplugin.h:
20767         * gst/gstpluginfeature.c:
20768         * gst/gsttrace.c:
20769         * gst/gstvalue.c:
20770         * gst/gstvalue.h:
20771           doc fixes and additions
20772
20773 2005-11-21  Andy Wingo  <wingo@pobox.com>
20774
20775         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20776         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20777         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20778         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20779         private to the basesrc implementation.
20780
20781         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20782         behalf of event function if necessary. It should no longer be
20783         necessary to take the stream lock in pad's event functions. Fixes
20784         #320299.
20785
20786 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20787         * docs/gst/gstreamer-sections.txt:
20788         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20789         (gst_structure_fixate_field_nearest_double),
20790         (gst_structure_fixate_field_boolean):
20791         * gst/gststructure.h:
20792         * win32/common/libgstreamer.def:
20793         * win32/gstreamer.def:
20794
20795         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20796         (#322027)
20797
20798 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20799
20800         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20801         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20802         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20803         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20804         (gst_fdsrc_uri_handler_init):
20805         * gst/elements/gstfdsrc.h:
20806           Port fd:// URI handler from 0.8 to fdsrc
20807
20808 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20809
20810         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20811         (gst_value_serialize_fourcc):
20812         * gst/gstvalue.h:
20813           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20814           consistent with our other format defines (#320324).
20815
20816 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20817
20818         * gst/gstvalue.c: (gst_value_is_fixed):
20819           Revert previous commit. Value lists are by definition
20820           not fixed, as they are a list of possible values.
20821
20822 2005-11-21  Andy Wingo  <wingo@pobox.com>
20823
20824         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20825         during the stable series if we need it. Fixes #319178.
20826
20827         * gst/gstevent.c (gst_event_new_filler): Removed.
20828
20829         * check/gst/gstevent.c: Update comment about filler events.
20830
20831 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20832
20833         * gst/gstvalue.c: (gst_value_is_fixed):
20834           Should handle both value arrays and value lists.
20835
20836 2005-11-21  Andy Wingo  <wingo@pobox.com>
20837
20838         patch by: Alessandro Dessina <alessandro nnva org>
20839
20840         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20841         functions to access arrays. Fixes #321962.
20842
20843 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20844
20845         * docs/gst/gstreamer.types:
20846           gst_collectpads_get_type => gst_collect_pads_get_type.
20847           
20848         * gst/base/gstbasetransform.c:
20849           Remove unused SIGNAL_HANDOFF enum.
20850
20851 2005-11-21  Andy Wingo  <wingo@pobox.com>
20852
20853         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20854         the event type (upstream, downstream, serialized). Renamed
20855         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20856         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20857         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20858
20859         * gst/gstevent.c: Update for new CUSTOM event names.
20860
20861         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20862
20863         * gst/gstevent.h:
20864         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20865         bug #319392.
20866
20867 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20868
20869         * docs/gst/gstreamer-sections.txt:
20870         * win32/common/libgstbase.def:
20871         * win32/libgstbase.def:
20872         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20873         (gst_collect_pads_class_init), (gst_collect_pads_init),
20874         (gst_collect_pads_finalize), (gst_collect_pads_new),
20875         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20876         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20877         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20878         (gst_collect_pads_start), (gst_collect_pads_stop),
20879         (gst_collect_pads_peek), (gst_collect_pads_pop),
20880         (gst_collect_pads_available), (gst_collect_pads_read),
20881         (gst_collect_pads_flush), (gst_collect_pads_event),
20882         (gst_collect_pads_chain):
20883         * gst/base/gstcollectpads.h:
20884           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20885           unimplemented functions as unimplemented. Add padding to
20886           GstCollectData. (#320766, #320423)
20887
20888 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20889
20890         * gst/gstmessage.c:
20891           Improve docs for DURATION message (usage of duration parameter)
20892           (#320113)
20893
20894 2005-11-20  Wim Taymans  <wim@fluendo.com>
20895
20896         * check/Makefile.am:
20897         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20898         (main):
20899         * gst/Makefile.am:
20900         * gst/gst.h:
20901         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20902         (gst_segment_set_seek), (gst_segment_set_newsegment),
20903         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20904         (gst_segment_clip):
20905         * gst/gstsegment.h:
20906         Added segment helper structure and methods. Not fully implemented
20907         yet.
20908         Added segment check.
20909
20910 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20911
20912         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20913           Add a deserialisation test for fractions
20914         * examples/metadata/read-metadata.c: (message_loop),
20915         (make_pipeline), (main):
20916           Fix up metadata reading sample.
20917         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20918           Debug format fix
20919         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20920           Don't try and fixate empty caps
20921         * gst/gst_private.h:
20922           Wrap in G_BEGIN_DECLS/G_END_DECLS
20923         * gst/gstvalue.c: (gst_value_collect_fraction),
20924         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20925         (gst_value_transform_string_fraction),
20926         (gst_value_compare_fraction):
20927           Add some extra guards to ensure that we don't end up 
20928           with an invalid denominator of 0 in a gstfraction and
20929           that fractions always get reduced.
20930
20931 2005-11-20  Wim Taymans  <wim@fluendo.com>
20932
20933         * docs/gst/gstreamer-sections.txt:
20934         * gst/gstbuffer.h:
20935         * gst/gstelement.c:
20936         * gst/gstformat.c:
20937         * gst/gstformat.h:
20938         * gst/gstindex.h:
20939         * gst/gstquery.c:
20940         * gst/gstquery.h:
20941         * gst/gstvalue.c:
20942         Doc fixes.
20943
20944 2005-11-20  Wim Taymans  <wim@fluendo.com>
20945
20946         * docs/design/part-TODO.txt:
20947         * gst/gstcaps.h:
20948         Make a proper enum of the flag.
20949
20950 2005-11-19  Wim Taymans  <wim@fluendo.com>
20951
20952         * docs/design/part-TODO.txt:
20953         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20954         (gst_format_to_quark), (gst_format_register):
20955         * gst/gstformat.h:
20956         * gst/gstquery.c: (_gst_query_initialize),
20957         (gst_query_type_get_name), (gst_query_type_to_quark),
20958         (gst_query_type_register):
20959         * gst/gstquery.h:
20960         Add type to quark and type to string conversions.
20961
20962 2005-11-19  Andy Wingo  <wingo@pobox.com>
20963
20964         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20965         #320097.
20966
20967 2005-11-19  Wim Taymans  <wim@fluendo.com>
20968
20969         * docs/design/part-TODO.txt:
20970         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20971         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20972         (gst_bin_handle_message_func):
20973         * gst/gstbin.h:
20974         Make message handling overridable.
20975
20976 2005-11-19  Andy Wingo  <wingo@pobox.com>
20977
20978         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20979
20980         * gst/gstclock.h:
20981         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20982         be a GstClockTime.
20983         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20984         is a GstClockTime. Fixes #321710.
20985
20986         * gst/gstclock.h (GstClock): Remove offset property. Add
20987         internal_calibration and external_calibration. Fix padding. Pad
20988         also by GstClockTime so we don't run into problems.
20989
20990         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20991         (gst_clock_get_rate_offset): Remove.
20992         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20993
20994         * gst/gstutils.h:
20995         * gst/gstutils.c (g_static_rec_cond_wait)
20996         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20997
20998         * gst/gstbin.c: Remove terrible continue_state prototype.
20999
21000         * gst/gstelement.h (gst_element_continue_state): Make public.
21001
21002         * gst/gstelement.h:
21003         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21004         by continue_state. Fixes #319389.
21005
21006         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21007         Really fixes #168438. However I don't see anywhere where the
21008         filter function is called... stupid GStreamer...
21009         
21010         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21011         don't have a dispose function, so it won't get called when the
21012         object is unreffed, but oh well!
21013
21014         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21015         allows a destroy function to be set so user_data can be freed.
21016         Fixes #168438.
21017         (gst_index_set_filter): Call gst_index_set_filter_full.
21018
21019         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21020
21021         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21022         string should produce an error, given the lack of a way to
21023         represent NULL strings. Fixes #165650.
21024         
21025         * gst/gstvalue.h: 
21026         * gst/gstvalue.c (gst_value_array_append_value) 
21027         (gst_value_array_prepend_value, gst_value_array_get_size) 
21028         (gst_value_array_get_value): New API, copied from
21029         gst_value_list_*, only operates on arrays.
21030         (gst_value_list_append_value, gst_value_list_prepend_value) 
21031         (gst_value_list_concat, gst_value_list_get_size) 
21032         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21033
21034         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21035         init_list, because it works on both.
21036         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21037         (gst_value_copy_list_or_array): Renamed from copy_list.
21038         (gst_value_free_list_or_array): Renamed from free_list.
21039         (gst_value_collect_list_or_array): Renamed from collect_list.
21040         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21041         (gst_value_list_or_array_peek_pointer): Renamed from
21042         list_peek_pointer.
21043         (_gst_value_array_value_table, _gst_value_list_value_table):
21044         Update value table functions.
21045         (gst_value_compare_list_or_array): Renamed from compare_list.
21046
21047         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21048         some constness.
21049
21050         * gst/gsttaglist.c:
21051         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21052         GstTagList*. Fixes #143472.
21053
21054         * gst/gststructure.h: Clarify what the foreach/map functions can
21055         or can't do to their arguments.
21056
21057 2005-11-18  Wim Taymans  <wim@fluendo.com>
21058
21059         * gst/gstclock.c: (gst_clock_set_calibration),
21060         (gst_clock_get_calibration):
21061         Doc and API fixes.
21062         Calibration can be set with internal time equal to current
21063         internal time too.
21064
21065 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21066
21067         * gst/gsterror.c:
21068         * gst/gsterror.h:
21069           document
21070
21071 2005-11-18  Andy Wingo  <wingo@pobox.com>
21072
21073         * configure.ac: 
21074         * pkgconfig/gstreamer-net.pc.in:
21075         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21076         * pkgconfig/Makefile.am: Add net pkgconfig files.
21077
21078 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21079
21080         * gst/gstcaps.c:
21081         * gst/gstghostpad.c:
21082         * gst/gsttrace.c:
21083         * gst/gstvalue.c:
21084         * gst/gstvalue.h:
21085           docs fixes
21086
21087 2005-11-18  Andy Wingo  <wingo@pobox.com>
21088
21089         * gst/net/gstnetclientclock.c: Turn off debugging.
21090
21091         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21092         times connverge somewhat. Can't make a real test.
21093
21094         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21095         integer arithmetic. Return the minimum of the domain, which can be
21096         set as "internal" for gst_clock_set_calibration.
21097         (gst_net_client_clock_observe_times): Call _set_calibration.
21098         (gst_net_client_clock_new): Call _set_calibration instead of
21099         rate_offset.
21100
21101         * check/net/gstnetclientclock.c (test_functioning): Use the right
21102         adjustment api.
21103
21104         * gst/gstclock.h:
21105         * gst/gstclock.c (gst_clock_get_calibration) 
21106         (gst_clock_set_calibration): New functions, obsolete the ones I
21107         added yesterday. Doh. Precision issues mean we have to extrapolate
21108         from a point in the more recent past than 1970.
21109         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21110         obsolete.
21111         (gst_clock_adjust_unlocked): Use the right calibration data.
21112
21113 2005-11-18  Edward Hervey  <edward@fluendo.com>
21114
21115         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21116         Also reset the ->current_* values in READY->PAUSED
21117
21118 2005-11-18  Andy Wingo  <wingo@pobox.com>
21119
21120         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21121         Whoops, check the right fd. Also add some debugging.
21122         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21123         (do_linear_regression): Add a crapload of debugging. Subtract off
21124         the minimum values from the input series to discard unneeded bits.
21125         Use only int arithmetic. There is still double arithmetic when
21126         calculating the intercept that needs fixing. Return boolean to
21127         indicate success; FALSE would mean the domain or range is too
21128         great. Still needs fixes.
21129
21130 2005-11-18  Wim Taymans  <wim@fluendo.com>
21131
21132         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21133         For the current position in stream time, we need to subtract
21134         accumulated time.
21135         
21136         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21137         Release lock before calling the callback function of async
21138         entries.
21139
21140 2005-11-18  Andy Wingo  <wingo@pobox.com>
21141
21142         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21143         Port goes all the way to MAXUINT16.
21144
21145         * gst/net/gstnettimeprovider.c: Make the port range the same as
21146         for the kernel: 0 assigns, otherwise ports are less than
21147         MAXUINT16.
21148
21149         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21150         port change.
21151
21152         * check/net/gstnetclientclock.c (test_functioning): Add the start
21153         of another test. 
21154
21155 2005-11-18  Wim Taymans  <wim@fluendo.com>
21156
21157         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21158         (gst_bin_remove_func), (bin_bus_handler):
21159         * gst/gstbin.h:
21160         Removing a clock provider from a bin, triggers a clock lost message
21161         so that a new clock will be selected.
21162         Adding a clock to a bin triggers a clock provider message.
21163         Make sure we reselect a clock when we received a clock lost message.
21164         Keep a reference to the element that provided the clock.
21165
21166 2005-11-18  Andy Wingo  <wingo@pobox.com>
21167
21168         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21169         the clock initially so it produces values around the base time.
21170         (gst_net_client_clock_class_init): Typo fix.
21171         (gst_net_client_clock_thread): Add note on when the socket gets
21172         closed.
21173
21174 2005-11-17  Wim Taymans  <wim@fluendo.com>
21175
21176         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21177         Free remote and local time arrays.
21178
21179 2005-11-17  Wim Taymans  <wim@fluendo.com>
21180
21181         * gst/net/gstnetclientclock.c: (do_linear_regression),
21182         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21183         Fix compilation, uninitialized vars and a forgotten continue.
21184
21185 2005-11-17  Andy Wingo  <wingo@pobox.com>
21186
21187         * check/Makefile.am (check_PROGRAMS): 
21188         * check/net/gstnetclientclock.c: Add a most minimal test for the
21189         net client clock. More to come later.
21190
21191         * gst/net/gstnet.h: 
21192         * gst/net/Makefile.am: Add netclientclock.
21193
21194         * gst/net/gstnetclientclock.h:
21195         * gst/net/gstnetclientclock.c: New files, implement an untested
21196         GstClock that takes its time from a network time provider.
21197         Implements the algorithm in network-clock.scm.
21198
21199         * tests/network-clock.scm (*window-size*): Rename from
21200         *queue-length*.
21201         * tests/network-clock.scm (network-time): 
21202         * tests/network-clock-utils.scm (q-push): Update callers.
21203
21204 2005-11-17  Wim Taymans  <wim@fluendo.com>
21205
21206         * gst/gstbin.c: (gst_bin_provide_clock_func),
21207         (gst_bin_sort_iterator_new):
21208         And unref the child too..
21209
21210 2005-11-17  Wim Taymans  <wim@fluendo.com>
21211
21212         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21213         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21214         Refactor the sort iterator so it can be used while holding the
21215         LOCK too.
21216         Make clock selection select a clock closest to the source.
21217
21218 2005-11-17  Michael Smith <msmith@fluendo.com>
21219
21220         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21221         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21222         * gst/gstclock.h:
21223           Anonymous structs are a gcc (and some other compilers) extension, so
21224           don't use them. Since this is only for ABI-compatibility, and our
21225           API/ABI freeze is over in a few days, this whole thing will only
21226           last a few days, so don't bother trying to think up a meaningful
21227           name for the struct.
21228
21229 2005-11-17  Andy Wingo  <wingo@pobox.com>
21230
21231         * gst/gstclock.h (GstClock): Add rate and offset properties,
21232         preserving ABI stability. Add rate/offset accessors. Will file bug
21233         for the freeze break.
21234
21235         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21236         and offset, trying to keep precision and avoiding
21237         underflow/overflow.
21238         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21239         functions. Make gst_clock_set_time_adjust obsolete.
21240         (gst_clock_set_time_adjust): Note that this function is obsolete.
21241         Will file bug soon.
21242
21243         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21244         greppable by using GST_PADDING-1+1.
21245
21246 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21247
21248         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21249
21250         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21251           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21252
21253         * gst/gstpadtemplate.h:
21254         * gst/gstpluginfeature.h:
21255           Don't use c++ style comments in headers (#321638).
21256
21257 2005-11-16  Andy Wingo  <wingo@pobox.com>
21258
21259         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21260         buffer.
21261
21262         * check/net/gstnettimeprovider.c: Check to see that the time
21263         provider actually provides times. Works, yo!
21264
21265 2005-11-16  Wim Taymans  <wim@fluendo.com>
21266
21267         * check/Makefile.am:
21268         Enable more tests.
21269
21270         * check/elements/fakesrc.c: (GST_START_TEST):
21271         Set element to NULL before disposing it.
21272
21273 2005-11-16  Andy Wingo  <wingo@pobox.com>
21274
21275         * gst/net/Makefile.am:
21276         * gst/net/gstnet.h:
21277         * gst/net/gstnettimeprovider.c: 
21278         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21279         provider, include it from gstnet.h, and add it to the build.
21280
21281         * gst/net/gstnettimepacket.h: 
21282         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21283         sending and receiving.
21284
21285 2005-11-16  Wim Taymans  <wim@fluendo.com>
21286
21287         * check/Makefile.am:
21288         Enable valgrind check.
21289
21290         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21291         (gst_fake_src_alloc_buffer):
21292         Fix memleak.
21293
21294 2005-11-16  Wim Taymans  <wim@fluendo.com>
21295
21296         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21297         Call parent finalize too.
21298
21299 2005-11-16  Wim Taymans  <wim@fluendo.com>
21300
21301         * check/Makefile.am:
21302         Enable valgrind check that should work fine now.
21303
21304         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21305         * gst/gstqueue.c: (gst_queue_init):
21306         Fix memleaks in pad allocation.
21307
21308 2005-11-16  Andy Wingo  <wingo@pobox.com>
21309
21310         * gst/net/Makefile.am:
21311         * gst/net/gstnet.h: New part of core to hold network elements and
21312         objects. Put in core because it exposes API that applications want
21313         to use. The library is named libgstnet-tempname right now because
21314         of the existing libgstnet in gst-plugins-base. Solution is
21315         probably to rename the one in plugins-base; will file a bug for
21316         the freeze break.
21317
21318         * gst/net/gstnettimeprovider.c: 
21319         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21320         get_time call over the network.
21321
21322         * configure.ac: 
21323         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21324
21325         * check/Makefile.am:
21326         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21327         get additions shortly.
21328
21329 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21330
21331         * gst/gstpad.c: (gst_pad_new_from_static_template):
21332         * gst/gstpad.h:
21333           add gst_pad_new_from_static_template functions
21334         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21335         (gst_check_setup_sink_pad):
21336         * gst/elements/gsttee.c: (gst_tee_init):
21337           and use them
21338
21339 2005-11-16  Wim Taymans  <wim@fluendo.com>
21340
21341         * gst/gstpad.c: (gst_pad_pause_task):
21342         Removed warning, it's not really an error either.
21343
21344 2005-11-16  Wim Taymans  <wim@fluendo.com>
21345
21346         * gst/base/gstbasetransform.c:
21347         (gst_base_transform_prepare_output_buf),
21348         (gst_base_transform_event):
21349         Check if the caps are NULL, this can happen if the element
21350         is shutting down and the pad caps are set to NULL.
21351
21352 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21353
21354         * gst/elements/gsttee.c: (gst_tee_init):
21355           fix pad template leak in tee
21356
21357 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21358
21359         * gst/glib-compat.c: (g_value_dup_gst_object):
21360         * gst/glib-compat.h:
21361         * gst/gstpad.c: (gst_pad_set_property):
21362           use gst_object_ref when setting the pad template; this will
21363           trigger the pad template leaks on GLib 2.6 and the slaves
21364
21365 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21366
21367         * gst/glib-compat.c: (gst_flags_get_first_value):
21368         * gst/glib-compat.h:
21369         * gst/gstregistryxml.c:
21370           remove functions copied from GLib 2.6
21371
21372 2005-11-16  Michael Smith <msmith@fluendo.com>
21373
21374         * gst/Makefile.am:
21375           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21376           do, but only breaks with newer valgrind versions. We're not a
21377           valgrind tool, we have no link-time dependencies on libcoregrind.
21378
21379 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21380
21381         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21382           some debug changes
21383         * gst/gstmessage.h:
21384           typo fixes
21385
21386 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21387
21388         * gst/base/gstbasesrc.c: (gst_base_src_init):
21389         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21390         * gst/gstqueue.c: (gst_queue_init):
21391         * gst/gstregistryxml.c: (load_feature):
21392           Revert all these unrefs, they don't even pass make check !
21393
21394 2005-11-15  Johan Dahlin  <johan@gnome.org>
21395
21396         * gst/base/gstbasesrc.c: (gst_base_src_init):
21397         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21398         * gst/gstqueue.c: (gst_queue_init): 
21399         Free pad templates, fixes a couple of leaks.
21400
21401 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21402
21403         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21404
21405         * gst/gstpad.c: (gst_pad_get_property):
21406           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21407           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21408           (#321452)
21409
21410 2005-11-15  Wim Taymans  <wim@fluendo.com>
21411
21412         * gst/gstevent.c:
21413         Small doc update.
21414
21415 2005-11-15  Andy Wingo  <wingo@pobox.com>
21416
21417         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21418
21419         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21420         using GST_CLOCK_TIME_NONE to disable base time management.
21421         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21422         time if it was NONE before.
21423         (gst_pipeline_change_state): Only munge the base time if
21424         stream_time != GST_CLOCK_TIME_NONE.
21425
21426         * check/gst/gstpipeline.c (test_base_time): Punt around the
21427         problem of the probe not being called, because that's not the
21428         issue I'm looking at. Add a check that setting stream_time to NONE
21429         disables base time management.
21430         
21431 2005-11-15  Wim Taymans  <wim@fluendo.com>
21432
21433         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21434         segment_stop == -1 at startup.
21435
21436         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21437         (gst_base_transform_change_state):
21438         Init segment values at start.
21439
21440 2005-11-15  Wim Taymans  <wim@fluendo.com>
21441
21442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21443         0 segment values are 0 in any format.
21444
21445         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21446         * gst/base/gstbasetransform.h:
21447         Parse newsegment correctly in basetransform
21448
21449         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21450         Sync to clock using updated segment values.
21451
21452 2005-11-15  Andy Wingo  <wingo@pobox.com>
21453
21454         * check/gst/gstpipeline.c (test_base_time): Add check that the
21455         base time and stream time are reset correctly.
21456
21457 2005-11-15  Wim Taymans  <wim@fluendo.com>
21458
21459         * docs/design/part-TODO.txt:
21460         Some more TODO items.
21461
21462 2005-11-15  Andy Wingo  <wingo@pobox.com>
21463
21464         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21465         error if the user selected "no clock" as the clocking method.
21466
21467         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21468         timestamps with live capture.
21469
21470         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21471         is 0 but we are a live source, timestamp the buffers using the
21472         element's clock.
21473
21474 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21475
21476         * docs/gst/gstreamer-sections.txt:
21477         * gst/gsterror.c:
21478         * gst/gstghostpad.c:
21479         * gst/gstobject.h:
21480         * gst/gstxml.c:
21481           more section docs
21482
21483 2005-11-14  Wim Taymans  <wim@fluendo.com>
21484
21485         * common/gst.supp:
21486           add suppressions from Wim's Debian machine
21487
21488 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21489
21490         * common/gst.supp:
21491           add suppressions from Andy's AMD64 Ubuntu machine
21492
21493 2005-11-14  Andy Wingo  <wingo@pobox.com>
21494
21495         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21496         STATE_LOCK not necessary. Fixes #311489.
21497
21498         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21499         #305291.
21500
21501         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21502         this function is not implemented.
21503
21504 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21505
21506         * gst/base/gstbasetransform.c:
21507         (gst_base_transform_prepare_output_buf):
21508         Ref the source pad caps while we need them.
21509         Fixes (#321386)
21510
21511 2005-11-11  Wim Taymans  <wim@fluendo.com>
21512
21513         * docs/gst/gstreamer-sections.txt:
21514         Added some docs for GstCollectData.
21515
21516         * gst/base/gstadapter.c:
21517         Some small code example fix.
21518
21519         * gst/base/gstcollectpads.c:
21520         * gst/base/gstcollectpads.h:
21521         Document some more.
21522
21523 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21524
21525         * configure.ac: back to HEAD
21526
21527 === release 0.9.5 ===
21528
21529 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21530
21531         * configure.ac:
21532           releasing 0.9.5, "Bike Lunch Day"
21533
21534 2005-11-11  Wim Taymans  <wim@fluendo.com>
21535
21536         * gst/gstbuffer.c: (_gst_buffer_copy):
21537         Copy more flags.
21538
21539         * gst/gstcaps.c: (gst_caps_is_equal):
21540         Fix some docs.
21541         Make _is_equal fast in the trivial cases.
21542
21543         * gst/gstminiobject.c:
21544         * gst/gstminiobject.h:
21545         More docs. Spifify .h file.
21546
21547         * gst/gstutils.c:
21548         Small doc update.
21549
21550 2005-11-11  Wim Taymans  <wim@fluendo.com>
21551
21552         * gst/base/gstbasetransform.c:
21553         (gst_base_transform_prepare_output_buf),
21554         (gst_base_transform_handle_buffer):
21555         Small cleanups.
21556         If we're processing a buffer and need to allocate an output
21557         buffer, we cannot accept a format change. If we did get a 
21558         format change, we have to alloc a buffer ourselves of the 
21559         right size.
21560
21561 2005-11-11  Wim Taymans  <wim@fluendo.com>
21562
21563         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21564         While checking the flag for reentrancy in the gstcaps function
21565         is nice to detect recursive invocations, it also makes it 
21566         impossible to call getcaps from multiple threads, which must be
21567         possible. So, checking for recursive calls has to go.
21568
21569 2005-11-11  Michael Smith <msmith@fluendo.com>
21570
21571         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21572           Don't sync on buffers that fall partially outside our current
21573           segment. Prevents an assertion failure/abort playing some files.
21574
21575 2005-11-10  Andy Wingo  <wingo@pobox.com>
21576
21577         * check/gst/gstbin.c (test_message_state_changed_children): Style
21578         fix..
21579
21580         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21581         gst_bus_poll with the signal watch. Ensures that poll and a signal
21582         watch see the same messages.
21583
21584         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21585         a poll and a watch at the same time get the same messages.
21586
21587 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21588
21589         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21590         * gst/gstcaps.c: (gst_caps_intersect):
21591           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21592           and it's not needed.
21593
21594 2005-11-10  Wim Taymans  <wim@fluendo.com>
21595
21596         * docs/design/part-TODO.txt:
21597         Updated todo.
21598
21599 2005-11-10  Wim Taymans  <wim@fluendo.com>
21600
21601         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21602         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21603         (gst_base_src_do_sync), (gst_base_src_get_range):
21604         Implement clock sync in base class.
21605
21606 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21607
21608         patch by: Tim-Philipp Müller <tim at centricular dot net>
21609
21610         * gst/gststructure.c: (gst_structure_parse_field),
21611         (gst_structure_from_string):
21612           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21613           so that gst_parse_launch() can deal with spaces in filtered link
21614           caps (fixes #164479)
21615         * check/gst/capslist.h:
21616         * check/gst/gststructure.c: (GST_START_TEST):
21617           add unit tests for this change
21618
21619 2005-11-10  Wim Taymans  <wim@fluendo.com>
21620
21621         * docs/gst/gstreamer-sections.txt:
21622         * gst/gstelement.c:
21623         * gst/gstelement.h:
21624         Fix docs, move some STATE macros to private.
21625
21626 2005-11-10  Wim Taymans  <wim@fluendo.com>
21627
21628         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21629         Added check for bug #317341
21630
21631         * gst/gstbuffer.c:
21632         * gst/gstbuffer.h:
21633         Some more spiffifying.
21634
21635         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21636         Call peer linkfunction if we are a source pad. Totally fixes
21637         #317341
21638
21639         * gst/gstpad.c:
21640         Update docs, source pads should call the peer linkfunction
21641         so they can atomically perform the pad link.
21642
21643 2005-11-09  Wim Taymans  <wim@fluendo.com>
21644
21645         * gst/gstbuffer.c:
21646         * gst/gstbuffer.h:
21647         Uber-spiffy-spiffify some more.
21648
21649 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21650
21651         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21652         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21653         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21654         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21655         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21656         * gst/gstpad.c: (gst_pad_init):
21657           Use GST_DEBUG_FUNCPTR() more extensively.
21658
21659 2005-11-09  Wim Taymans  <wim@fluendo.com>
21660
21661         * gst/gstobject.c: (gst_object_class_init):
21662         * gst/gstobject.h:
21663         Documentation fixes.
21664
21665 2005-11-09  Edward Hervey  <edward@fluendo.com>
21666
21667         * gst/gsttypefindfactory.c:
21668         Fix docs.
21669         
21670 2005-11-09  Edward Hervey  <edward@fluendo.com>
21671
21672         * gst/base/gsttypefindhelper.c:
21673         * gst/gsttypefind.c:
21674         * gst/gsttypefind.h:
21675         Fix docs.
21676
21677 2005-11-09  Wim Taymans  <wim@fluendo.com>
21678
21679         * gst/gstiterator.c:
21680         Fix revision data.
21681
21682         * gst/gsttask.c:
21683         * gst/gsttask.h:
21684         Fix docs.
21685
21686 2005-11-09  Wim Taymans  <wim@fluendo.com>
21687
21688         * gst/gstevent.h:
21689         * gst/gsturi.h:
21690         Fix docs.
21691
21692 2005-11-09  Wim Taymans  <wim@fluendo.com>
21693
21694         * docs/gst/gstreamer-sections.txt:
21695         Moved the message async delivery private lock and cond
21696         to the private section.
21697
21698         * gst/gstmessage.c:
21699         * gst/gstmessage.h:
21700         Fixed docs.
21701
21702 2005-11-09  Edward Hervey  <edward@fluendo.com>
21703
21704         * docs/gst/gstreamer-sections.txt:
21705         * gst/gsturi.c:
21706         * gst/gsturi.h:
21707         Document GstURIHandler
21708
21709 2005-11-09  Wim Taymans  <wim@fluendo.com>
21710
21711         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21712         (gst_iterator_find_custom):
21713         * gst/gstiterator.h:
21714         Fix iterator docs.
21715
21716 2005-11-09  Wim Taymans  <wim@fluendo.com>
21717
21718         * gst/gstbin.h:
21719         Document another field.
21720
21721         * gst/gststructure.c:
21722         * gst/gststructure.h:
21723         Document.
21724
21725 2005-11-09  Wim Taymans  <wim@fluendo.com>
21726
21727         * gst/gstbin.h:
21728         Documented structs.
21729
21730 2005-11-09  Wim Taymans  <wim@fluendo.com>
21731
21732         * docs/gst/gstreamer-sections.txt:
21733         Added some new macros.
21734
21735         * gst/gstclock.c:
21736         * gst/gstclock.h:
21737         * gst/gstobject.h:
21738         Docs updates.
21739
21740 2005-11-09  Wim Taymans  <wim@fluendo.com>
21741
21742         * docs/design/part-TODO.txt:
21743         Some more items for the TODO
21744
21745         * gst/gstcaps.c:
21746         * gst/gstcaps.h:
21747         Document GstCaps.
21748
21749 2005-11-09  Andy Wingo  <wingo@pobox.com>
21750
21751         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21752         to work on something else now tho...
21753
21754         * gst/base/gstadapter.c: More adapter docs.
21755
21756         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21757         (gst_file_sink_stop): New functions, replace the state change
21758         handler.
21759         (gst_file_sink_class_init): Hook up the start and stop functions.
21760         (gst_file_sink_base_init): Don't set the state change handler any
21761         more. It was a bit ugly too, being set from here...
21762         (gst_file_sink_get_property, gst_file_sink_set_property):
21763         Cleanups...
21764         (gst_file_sink_set_location): More robust check that doesn't call
21765         GST_STATE. Ugggggg.
21766
21767 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21768
21769         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21770           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21771
21772 2005-11-08  Wim Taymans  <wim@fluendo.com>
21773
21774         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21775         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21776         (gst_base_sink_chain), (gst_base_sink_change_state):
21777         * gst/base/gstbasesink.h:
21778         * gst/base/gstbasesrc.h:
21779         * gst/gstelement.h:
21780         * gst/gstevent.h:
21781         Avoid excessive typechecking in macros.
21782
21783         * gst/gstminiobject.c: (gst_mini_object_get_type),
21784         (gst_mini_object_init), (gst_mini_object_new),
21785         (gst_mini_object_free):
21786         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21787         (gst_object_finalize):
21788         Remove cruft code, optimize alloc_trace.
21789
21790 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21791
21792         * docs/faq/gst-uninstalled:
21793           fix up PS1 for systems that try to reset it
21794
21795 2005-11-07  Wim Taymans  <wim@fluendo.com>
21796
21797         * gst/base/gstbasesrc.c: (gst_base_src_init),
21798         (gst_base_src_get_range):
21799         Set the segment_end to -1 initially. Fixed typefind.
21800
21801 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21802
21803         * gst/base/gstadapter.c:
21804           Debug category should be 'adapter', not 'GstAdapter'.
21805           
21806         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21807         (gst_collectpads_class_init), (gst_collectpads_init),
21808         (gst_collectpads_peek), (gst_collectpads_pop),
21809         (gst_collectpads_event), (gst_collectpads_chain):
21810           Add debug category and some debugging output. Use boilerplate
21811           macros. Remove some extraneous words from docs.
21812
21813 2005-11-05  Andy Wingo  <wingo@pobox.com>
21814
21815         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21816         macro.
21817
21818 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21819
21820         * docs/gst/gstreamer-sections.txt:
21821         * gst/gstcaps.h:
21822         * gst/gstinfo.c:
21823         * gst/gstminiobject.h:
21824         * gst/gstobject.h:
21825         * gst/gstutils.h:
21826           more docs added
21827
21828 2005-11-04  Wim Taymans  <wim@fluendo.com>
21829
21830         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21831         Small update to stop at the configured segment_end
21832         position.
21833
21834 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21835
21836         * gst/gstregistry.c:
21837         * gst/gstregistry.h:
21838           added missing docs
21839
21840 2005-11-04  Edward Hervey  <edward@fluendo.com>
21841
21842         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21843         Check if we are doing a segment seek and have arrived at the
21844         end of that segment.
21845
21846 2005-11-04  Wim Taymans  <wim@fluendo.com>
21847
21848         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21849         Don't leak a mutex unlock in case of an error.
21850
21851         * gst/gstbus.h:
21852         Doc fixes.
21853
21854 2005-11-04  Wim Taymans  <wim@fluendo.com>
21855
21856         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21857         (gst_bus_post):
21858         Get the context to wake up only once.
21859
21860 2005-11-03  Wim Taymans  <wim@fluendo.com>
21861
21862         * check/states/sinks.c: (GST_START_TEST):
21863         Uncomment fixed check.
21864
21865         * docs/design/part-TODO.txt:
21866         Updated TODO.
21867
21868         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21869         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21870         (gst_base_sink_get_position):
21871         If we are going to PLAYING, post the right pending state
21872         when we post the intermediate paused message.
21873
21874         * gst/gstelement.c: (gst_element_continue_state),
21875         (gst_element_set_state_func), (gst_element_change_state):
21876         Don't post state changes that were between the same state
21877         and were not ASYNC.
21878
21879 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21880
21881         * docs/gst/gstreamer-sections.txt:
21882         * gst/gstcaps.h:
21883         * gst/gstinfo.c:
21884         * gst/gstminiobject.h:
21885         * gst/gstobject.h:
21886         * gst/gstutils.h:
21887           more docs and doc style fixes
21888
21889 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21890
21891         * docs/gst/gstreamer-sections.txt:
21892         * gst/gstelement.c:
21893         * gst/gstminiobject.c:
21894         doc fixes
21895
21896 2005-11-03  Andy Wingo  <wingo@pobox.com>
21897
21898         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21899         state-changed messages actually have the right order and the right
21900         values.
21901
21902 2005-11-03  Wim Taymans  <wim@fluendo.com>
21903
21904         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21905         Added some more checks. Specifically the case where NO_PREROLL
21906         elements are in the pipeline.
21907
21908         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21909         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21910         (gst_base_sink_get_position):
21911         Post READY->PAUSED state change messages too.
21912         Fix bug where VOID was posted as pending state...
21913
21914         * gst/gstbin.c: (gst_bin_recalc_state):
21915         use _element_continue_state() to continue the state change.
21916
21917         * gst/gstelement.c: (gst_element_continue_state),
21918         (gst_element_commit_state), (gst_element_set_state_func),
21919         (gst_element_change_state), (gst_element_change_state_func):
21920         Lots of state change cleanups, assign the STATE_RETURN in
21921         a new continue_state() function that also propagates the
21922         last return value from a state change to the app.
21923         Update some debug statements with proper category.
21924
21925 2005-11-03  Wim Taymans  <wim@fluendo.com>
21926
21927         * docs/design/part-events.txt:
21928         * docs/design/part-gstpipeline.txt:
21929         * docs/design/part-messages.txt:
21930         * docs/design/part-overview.txt:
21931         * docs/design/part-seeking.txt:
21932         * docs/design/part-states.txt:
21933         * docs/design/part-trickmodes.txt:
21934         * docs/manual/advanced-position.xml:
21935         Small docs updates.
21936
21937         * gst/gstobject.h:
21938         People think !! is ugly, this looks better.
21939
21940         * gst/gstpad.c: (gst_pad_set_blocked_async):
21941         Remove !! since it's fixed elsewhere now.
21942
21943 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21944
21945         * gst/gstminiobject.h:
21946         * gst/gstobject.h:
21947           Add !! to _FLAG_IS_SET macros to make the result boolean.
21948
21949 2005-11-03  Edward Hervey  <edward@fluendo.com>
21950
21951         * gst/gstpad.c: (gst_pad_set_blocked_async):
21952         comparing a flag and a gboolean rarely returns coherent results...
21953         Added two characters (!!) to make that work correctly.
21954         
21955 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21956
21957         * gst/gstbus.c: (gst_bus_class_init):
21958           Fix some typos.
21959           
21960         * gst/gstqueue.c: (gst_queue_loop):
21961           Don't assume a miniobject that isn't a buffer is an
21962           event (it could be that there is a refcounting
21963           problem somewhere and the pointer is stale and
21964           refers to an already destroyed miniobject).
21965
21966 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21967
21968         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21969
21970 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21971
21972         * docs/manual/advanced-position.xml:
21973           Update seek example and explanations to current 0.9 API.
21974
21975         * gst/elements/gsttypefindelement.c:
21976         (gst_type_find_element_activate):
21977           Remove FIXME comment now that the found caps
21978           are unreffed.
21979
21980 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21981
21982         * gst/gstregistryxml.c: (load_feature):
21983           Add another GST_STR_NULL instance
21984
21985 2005-11-02  Edward Hervey  <edward@fluendo.com>
21986
21987         * gst/gstpad.c: (handle_pad_block):
21988         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21989         
21990 2005-11-02  Wim Taymans  <wim@fluendo.com>
21991
21992         * gst/gstbin.c:
21993         Fix typo in docs.
21994
21995         * gst/gstelement.c: (gst_element_commit_state):
21996         Remove unused value.
21997
21998         * gst/gstiterator.c:
21999         Mention that the returned element is reffed in the docs.
22000
22001 2005-11-02  Wim Taymans  <wim@fluendo.com>
22002
22003         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22004         (gst_pad_push), (gst_pad_push_event):
22005         Unlock blocked pads when they are flushed.
22006
22007 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22008
22009         * docs/README:
22010         * docs/gst/gstreamer-sections.txt:
22011         * gst/gstbin.c:
22012           doc updates
22013         * gst/gstregistry.c: (gst_registry_scan_path_level):
22014           fix for a nasty little missed situation where an installed plug-in
22015           which was in the cache did not get overridden by an uninstalled one
22016           which was earlier in the plugin path because the newly created plugin
22017           for the uninstalled one (not in the registry) didn't get its
22018           ->registered set to TRUE
22019
22020 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22021
22022         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22023         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22024         (gst_collectpads_is_active), (gst_collectpads_collect),
22025         (gst_collectpads_collect_range), (gst_collectpads_start),
22026         (gst_collectpads_stop), (gst_collectpads_peek),
22027         (gst_collectpads_pop), (gst_collectpads_available),
22028         (gst_collectpads_read), (gst_collectpads_flush):
22029           Guard public API with assertions.
22030         
22031         * gst/gstpad.c:
22032           Fix docs for gst_pad_set_link_function().
22033
22034 2005-11-02  Johan Dahlin  <johan@gnome.org>
22035
22036         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22037         Unref found_caps after we used it.
22038
22039 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22040
22041         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22042           Don't try to ref NULL.
22043
22044 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22045
22046         * win32/common/config.h.in:
22047           provide a GST_FUNCTION that just gives a string for now
22048
22049 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22050
22051         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22052         (gst_object_flags_get_type), (register_gst_bin_flags),
22053         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22054         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22055         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22056         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22057         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22058         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22059         (gst_clock_flags_get_type), (register_gst_state),
22060         (gst_state_get_type), (register_gst_state_change_return),
22061         (gst_state_change_return_get_type), (register_gst_state_change),
22062         (gst_state_change_get_type), (register_gst_element_flags),
22063         (gst_element_flags_get_type), (register_gst_core_error),
22064         (gst_core_error_get_type), (register_gst_library_error),
22065         (gst_library_error_get_type), (register_gst_resource_error),
22066         (gst_resource_error_get_type), (register_gst_stream_error),
22067         (gst_stream_error_get_type), (register_gst_event_type),
22068         (gst_event_type_get_type), (register_gst_seek_type),
22069         (gst_seek_type_get_type), (register_gst_seek_flags),
22070         (gst_seek_flags_get_type), (register_gst_format),
22071         (gst_format_get_type), (register_gst_index_certainty),
22072         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22073         (gst_index_entry_type_get_type),
22074         (register_gst_index_lookup_method),
22075         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22076         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22077         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22078         (gst_index_flags_get_type), (register_gst_debug_level),
22079         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22080         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22081         (gst_iterator_result_get_type), (register_gst_iterator_item),
22082         (gst_iterator_item_get_type), (register_gst_message_type),
22083         (gst_message_type_get_type), (register_gst_mini_object_flags),
22084         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22085         (gst_pad_link_return_get_type), (register_gst_flow_return),
22086         (gst_flow_return_get_type), (register_gst_activate_mode),
22087         (gst_activate_mode_get_type), (register_gst_pad_direction),
22088         (gst_pad_direction_get_type), (register_gst_pad_flags),
22089         (gst_pad_flags_get_type), (register_gst_pad_presence),
22090         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22091         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22092         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22093         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22094         (gst_plugin_flags_get_type), (register_gst_rank),
22095         (gst_rank_get_type), (register_gst_query_type),
22096         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22097         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22098         (gst_tag_flag_get_type), (register_gst_task_state),
22099         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22100         (gst_alloc_trace_flags_get_type),
22101         (register_gst_type_find_probability),
22102         (gst_type_find_probability_get_type), (register_gst_uri_type),
22103         (gst_uri_type_get_type), (register_gst_parse_error),
22104         (gst_parse_error_get_type):
22105         * win32/common/gstversion.h:
22106           update win32 copies
22107
22108 2005-11-01  Luca Ognibene  <luogni@tin.it>
22109
22110         * gst/gst.c:
22111           fix docs. popt is dead, long live GOption.
22112
22113 2005-10-31  Wim Taymans  <wim@fluendo.com>
22114
22115         * gst/gstbuffer.h:
22116         Small doc fix.
22117
22118 2005-10-31  Andy Wingo  <wingo@pobox.com>
22119
22120         * Boo!
22121
22122         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22123
22124         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22125         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22126         the possibility of deadlocks here if code calling notify() or
22127         set() has a lock that can be taken in another notify handler (ABBA
22128         with class lock and e.g. python GIL state lock).
22129
22130 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22131
22132         * gst/gstbus.c: Doc updates.
22133
22134 2005-10-28  Wim Taymans  <wim@fluendo.com>
22135
22136         * docs/design/part-TODO.txt:
22137         * gst/gstiterator.c:
22138         * gst/gstsystemclock.c:
22139         * gst/gstsystemclock.h:
22140         Doc updates.
22141
22142 2005-10-28  Edward Hervey  <edward@fluendo.com>
22143
22144         * docs/gst/gstreamer-docs.sgml:
22145         * docs/gst/gstreamer-sections.txt:
22146         the GstURIType documentation page is private, it only defines GstURIType
22147         which should be defined in the GstURIHandler page
22148         
22149 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22150
22151         * gst/gstbin.c: (gst_bin_class_init):
22152         * gst/gstbin.h:
22153         * gst/gstutils.c:
22154         Documentation updates.
22155
22156 2005-10-28  Wim Taymans  <wim@fluendo.com>
22157
22158         * docs/gst/gstreamer-sections.txt:
22159         * gst/gstclock.c:
22160         * gst/gstclock.h:
22161         Documented the clocks.
22162
22163 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22164
22165         * docs/gst/gstreamer-sections.txt:
22166           move some macros to private sections
22167         * gst/gstminiobject.c:
22168         * gst/gstminiobject.h:
22169           add descriptions provided by ds and some more
22170         * gst/gstpad.h:
22171           mark macro as to be removed
22172
22173 2005-10-28  Wim Taymans  <wim@fluendo.com>
22174
22175         * docs/design/part-TODO.txt:
22176         Add an item to TODO.
22177
22178         * gst/gstiterator.c: (gst_iterator_fold),
22179         (gst_iterator_find_custom):
22180         * gst/gstiterator.h:
22181         Add iterator docs.
22182
22183 2005-10-28  Wim Taymans  <wim@fluendo.com>
22184
22185         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22186         (gst_base_transform_init):
22187         Don't leak class.
22188
22189         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22190         An EOS event marks the queue as completely filled.
22191
22192 2005-10-27  Wim Taymans  <wim@fluendo.com>
22193
22194         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22195         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22196         Some more debugging.
22197
22198         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22199         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22200         (gst_base_transform_event), (gst_base_transform_getrange),
22201         (gst_base_transform_chain):
22202         * gst/base/gstbasetransform.h:
22203         Fix debugging,
22204         Protect transform and concurrent buffer alloc with a new lock.
22205         Try not to break ABI/API.
22206
22207 2005-10-27  Wim Taymans  <wim@fluendo.com>
22208
22209         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22210         (gst_base_src_init), (gst_base_src_query),
22211         (gst_base_src_default_newsegment),
22212         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22213         (gst_base_src_send_event), (gst_base_src_event_handler),
22214         (gst_base_src_pad_get_range), (gst_base_src_loop),
22215         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22216         (gst_base_src_start), (gst_base_src_deactivate),
22217         (gst_base_src_activate_push), (gst_base_src_change_state):
22218         Move some stuff around and cleanup things.
22219
22220 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22221
22222         * gst/base/gstbasesrc.c: (gst_base_src_query):
22223           Add missing break statements.
22224
22225 2005-10-27  Wim Taymans  <wim@fluendo.com>
22226
22227         * check/gst/gstbin.c: (GST_START_TEST):
22228         An extra refcount is taken in basesrc.
22229
22230         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22231         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22232         (gst_base_src_loop):
22233         Small cleanups, check for flushing after being unlocked from the 
22234         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22235         Don't send out EOS when going to READY.
22236
22237 2005-10-27  Wim Taymans  <wim@fluendo.com>
22238
22239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22240         (gst_base_sink_get_position):
22241         Some more debug.
22242
22243         * gst/gstbin.c: (message_check), (bin_replace_message),
22244         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22245         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22246         (bin_query_duration_init), (bin_query_duration_fold),
22247         (bin_query_duration_done), (bin_query_generic_fold),
22248         (gst_bin_query):
22249         * tools/gst-launch.c: (main):
22250         Remove old option.
22251
22252 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22253
22254         * examples/controller/audio-example.c: (main):
22255         * examples/queue/queue.c: (event_loop):
22256         * gst/base/gstbasetransform.h:
22257         * gst/gstelement.c: (gst_element_send_event):
22258         * gst/gstevent.h:
22259         * gst/gstpad.c: (gst_pad_send_event):
22260           fixing examples
22261           fixing docs typos
22262           changing log priority in error situations
22263
22264 2005-10-25  Wim Taymans  <wim@fluendo.com>
22265
22266         * gst/gstbin.c: (message_check), (bin_replace_message),
22267         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22268         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22269         (bin_query_duration_init), (bin_query_duration_fold),
22270         (bin_query_duration_done), (bin_query_generic_fold),
22271         (gst_bin_query):
22272         Some doc and debug updates.
22273         Cache previously requested query DURATION for speed. invalidate
22274         cached duration if element posts a DURATION message.
22275
22276 2005-10-25  Wim Taymans  <wim@fluendo.com>
22277
22278         * docs/design/part-TODO.txt:
22279         Update TODO.
22280
22281         * gst/gstbin.c: (message_check), (bin_replace_message),
22282         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22283         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22284         (bin_query_duration_init), (bin_query_duration_fold),
22285         (bin_query_duration_done), (bin_query_generic_fold),
22286         (gst_bin_query):
22287         Handle SEGMENT_START/DONE messages correctly.
22288         More evolved query algorithm that handles duration queries
22289         correctly.
22290
22291         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22292         (gst_element_get_state_func), (gst_element_abort_state),
22293         (gst_element_commit_state), (gst_element_lost_state):
22294         Some more debugging.
22295
22296         * gst/gstmessage.h:
22297         Added doc.
22298
22299 2005-10-25  Wim Taymans  <wim@fluendo.com>
22300
22301         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22302         Don't use invalid stream_time.
22303
22304         * gst/gstevent.c: (gst_event_new_newsegment):
22305         stream_time in newsegment cannot be undefined.
22306
22307 2005-10-24  Wim Taymans  <wim@fluendo.com>
22308
22309         * gst/gstbus.c:
22310         Doc fix.
22311
22312         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22313         (gst_queue_loop):
22314         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22315
22316 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22317
22318         * docs/libs/tmpl/gstdparam.sgml:
22319         * docs/libs/tmpl/gstdplinint.sgml:
22320         * docs/libs/tmpl/gstdpman.sgml:
22321         * docs/libs/tmpl/gstdpsmooth.sgml:
22322         * docs/libs/tmpl/gstunitconvert.sgml:
22323           these are obsolete
22324
22325 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22326
22327         * configure.ac:
22328           back to HEAD
22329
22330 === release 0.9.4 ===
22331
22332 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22333
22334         * configure.ac:
22335           releasing 0.9.4, "Tyrannosaurus Rex"
22336
22337 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22338
22339         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22340         (gst_file_sink_get_current_offset):
22341           Use fseeko() and ftello() if available. When falling back on
22342           lseek() to get the current offset, fflush() first to make sure
22343           everything is up-to-date and we get the right offset.
22344
22345 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22346
22347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22348         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22349         * gst/gsterror.c: (_gst_stream_errors_init):
22350         * gst/gsterror.h:
22351         * gst/gstqueue.c: (gst_queue_loop):
22352         * po/POTFILES.in:
22353           remove prematurely added error category and clean up the instances
22354
22355 2005-10-21  Wim Taymans  <wim@fluendo.com>
22356
22357         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22358         (gst_base_sink_get_position), (gst_base_sink_query),
22359         (gst_base_sink_change_state):
22360         Simply set the right flag when going to playing, that's all
22361         we need to do instead of calling a function inside the object
22362         lock (that could take the lock as well and deadlock)
22363
22364 2005-10-21  Wim Taymans  <wim@fluendo.com>
22365
22366         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22367         (gst_base_src_loop):
22368         Don't warn, the peer element knows what to do best when
22369         the seek failed, it might try something else.
22370
22371 2005-10-21  Wim Taymans  <wim@fluendo.com>
22372
22373         * gst/base/gstbasesrc.c: (gst_base_src_init),
22374         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22375         Fix seeking.
22376
22377 2005-10-21  Wim Taymans  <wim@fluendo.com>
22378
22379         * docs/design/part-segments.txt:
22380         More docs.
22381
22382         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22383         Correctly set caps, even on the subbufer.
22384
22385 2005-10-21  Wim Taymans  <wim@fluendo.com>
22386
22387         * docs/gst/gstreamer-docs.sgml:
22388         * docs/gst/gstreamer-sections.txt:
22389         * gst/gstelement.h:
22390         * gst/gstevent.c:
22391         * gst/gstevent.h:
22392         * gst/gstmessage.h:
22393         * gst/gstpad.h:
22394         * gst/gstparse.h:
22395         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22396         * gst/gsttask.h:
22397         * gst/gstutils.c:
22398         * gst/gstutils.h:
22399         And 2% more doc coverage.
22400
22401 2005-10-21  Andy Wingo  <wingo@pobox.com>
22402
22403         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22404         position reporting.
22405
22406 2005-10-20  Wim Taymans  <wim@fluendo.com>
22407
22408         * gst/gsterror.c: (gst_error_get_message):
22409         * gst/gstparse.h:
22410         * gst/gstquery.h:
22411         * gst/gststructure.c:
22412         * gst/gsttrace.c:
22413         * gst/gstutils.c:
22414         More docs.
22415
22416 2005-10-20  Wim Taymans  <wim@fluendo.com>
22417
22418         * gst/gstbuffer.h:
22419         * gst/gstpad.c:
22420         * gst/gstparse.c:
22421         Another 1% more coverage.
22422
22423 2005-10-20  Wim Taymans  <wim@fluendo.com>
22424
22425         * docs/gst/gstreamer-sections.txt:
22426         * gst/gstelement.c: (gst_element_get_state_func),
22427         (gst_element_abort_state), (gst_element_commit_state),
22428         (gst_element_lost_state):
22429         * gst/gstevent.h:
22430         * gst/gstquery.c: (gst_query_set_position),
22431         (gst_query_parse_position), (gst_query_set_duration),
22432         (gst_query_parse_duration), (gst_query_new_convert):
22433         * gst/gstutils.c:
22434         Yay! 1% more docs coverage.
22435
22436 2005-10-20  Wim Taymans  <wim@fluendo.com>
22437
22438         * gst/gstpad.h:
22439         * gst/gstquery.c: (gst_query_set_position),
22440         (gst_query_parse_position), (gst_query_set_duration),
22441         (gst_query_parse_duration), (gst_query_new_convert):
22442         * gst/gstquery.h:
22443         * gst/gstutils.c: (gst_element_query_convert):
22444         * gst/gstutils.h:
22445         Docs and consistency fixes.
22446
22447 2005-10-20  Wim Taymans  <wim@fluendo.com>
22448
22449         * gst/gsttask.c:
22450         * gst/gsttask.h:
22451         More docs.
22452
22453 2005-10-20  Wim Taymans  <wim@fluendo.com>
22454
22455         * gst/gstbin.c: (message_check), (bin_replace_message),
22456         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22457         (update_degree), (gst_bin_sort_iterator_next),
22458         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22459         Reworked the message handling a bit, cache the messages instead of
22460         only the senders. alows us to do more in the future.
22461
22462 2005-10-20  Wim Taymans  <wim@fluendo.com>
22463
22464         * docs/design/part-TODO.txt:
22465         Update TODO
22466
22467         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22468         (gst_base_sink_query):
22469         Don't use clock time to report position when in EOS.
22470
22471 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22472
22473         * tools/gst-inspect.c: (print_interfaces),
22474         (print_element_properties_info), (print_element_info):
22475           Fix interface output with gst-inspect -a; don't print
22476           newlines after double/float properties.
22477
22478 2005-10-20  Wim Taymans  <wim@fluendo.com>
22479
22480         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22481         (gst_base_sink_query):
22482         Speed up current position calculation.
22483
22484         * gst/base/gstbasesrc.c: (gst_base_src_query),
22485         (gst_base_src_default_newsegment):
22486         Correctly set stream position in newsegment.
22487
22488         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22489         (update_degree), (gst_bin_sort_iterator_next),
22490         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22491         * gst/gstmessage.c: (gst_message_new_custom):
22492         Clean up debugging info
22493
22494         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22495         (gst_queue_loop), (gst_queue_handle_src_query):
22496         Pause task faster.
22497
22498 2005-10-19  Wim Taymans  <wim@fluendo.com>
22499
22500         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22501         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22502         Fix query handling again.
22503
22504 2005-10-19  Wim Taymans  <wim@fluendo.com>
22505
22506         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22507         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22508         * gst/base/gstbasesrc.c: (gst_base_src_query):
22509         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22510         * gst/elements/gsttypefindelement.c:
22511         (gst_type_find_handle_src_query), (find_element_get_length),
22512         (gst_type_find_element_activate):
22513         API change fix.
22514
22515         * gst/gstquery.c: (gst_query_new_position),
22516         (gst_query_set_position), (gst_query_parse_position),
22517         (gst_query_new_duration), (gst_query_set_duration),
22518         (gst_query_parse_duration), (gst_query_set_segment),
22519         (gst_query_parse_segment):
22520         * gst/gstquery.h:
22521         Bundling query position/duration is not a good idea since duration
22522         does not change much and we don't want to recalculate it for every
22523         position query, so they are separated again..
22524         Base value in segment query is not needed.
22525
22526         * gst/gstqueue.c: (gst_queue_handle_src_query):
22527         * gst/gstutils.c: (gst_element_query_position),
22528         (gst_element_query_duration), (gst_pad_query_position),
22529         (gst_pad_query_duration):
22530         * gst/gstutils.h:
22531         Updates for query API change.
22532         Added some docs here and there.
22533
22534 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22535
22536         * check/gst/gstbin.c: (GST_START_TEST):
22537         * check/gst/gstghostpad.c: (GST_START_TEST):
22538         * check/pipelines/cleanup.c: (GST_START_TEST):
22539           wait on thread to die so we can check refcount correctly
22540
22541 2005-10-18  Wim Taymans  <wim@fluendo.com>
22542
22543         * check/pipelines/stress.c: (GST_START_TEST):
22544         Make check a little more time consuming.
22545
22546 2005-10-18  Wim Taymans  <wim@fluendo.com>
22547
22548         * check/Makefile.am:
22549         * check/pipelines/stress.c: (GST_START_TEST),
22550         (simple_launch_lines_suite), (main):
22551         Small state change torture test.
22552
22553         * docs/design/part-states.txt:
22554         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22555         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22556         (gst_base_sink_change_state):
22557         Never take state lock from streaming thread, clean up ugly
22558         hacks. Unfortunatly core does not yet support nice ways to
22559         async commit state.
22560         
22561         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22562         (bin_bus_handler):
22563         Start state recalc if a STATE_DIRTY message is posted, but only
22564         on the toplevel bin.
22565
22566         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22567         (gst_element_get_state_func), (gst_element_abort_state),
22568         (gst_element_commit_state), (gst_element_lost_state),
22569         (gst_element_set_state_func), (gst_element_change_state):
22570         * gst/gstelement.h:
22571         State variables are now protected with the LOCK, the state
22572         lock is only used to serialize _set_state().
22573
22574 2005-10-18  Wim Taymans  <wim@fluendo.com>
22575
22576         * check/gst/gstbin.c: (GST_START_TEST):
22577         * check/gst/gstmessage.c: (GST_START_TEST):
22578         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22579         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22580         (bin_bus_handler):
22581         * gst/gstelement.c: (gst_element_abort_state),
22582         (gst_element_commit_state), (gst_element_lost_state):
22583         * gst/gstmessage.c: (gst_message_new_state_changed),
22584         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22585         (gst_message_new_segment_done), (gst_message_new_duration),
22586         (gst_message_parse_state_changed),
22587         (gst_message_parse_segment_start),
22588         (gst_message_parse_segment_done), (gst_message_parse_duration):
22589         * gst/gstmessage.h:
22590         * tools/gst-launch.c: (event_loop):
22591         Seriously, this is better than a previous commit as we only need
22592         to notify the fact that an element changed state in a streaming
22593         thread, marking the state of the parents dirty, hence the 
22594         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22595         message.
22596
22597 2005-10-18  Wim Taymans  <wim@fluendo.com>
22598
22599         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22600         (gst_bin_recalc_func):
22601         * gst/gstelement.c: (gst_element_set_clock),
22602         (gst_element_abort_state), (gst_element_lost_state):
22603         Cleanups, prepare for state change fixes.
22604
22605 2005-10-18  Wim Taymans  <wim@fluendo.com>
22606
22607         * gst/gstbin.h:
22608         * gst/gstelement.c: (gst_element_class_init),
22609         (gst_element_set_state), (gst_element_set_state_func):
22610         * gst/gstelement.h:
22611         Pending ABI changes.
22612         GThreadPool in GstBinClass to monitor async state changes.
22613         state_cookie in GstElement to detect concurrent gst/set state.
22614         set_state is now virtual too in case a very complicated element
22615         has to be constructed.
22616
22617 2005-10-18  Wim Taymans  <wim@fluendo.com>
22618
22619         * check/gst/gstbin.c: (GST_START_TEST):
22620         * check/gst/gstmessage.c: (GST_START_TEST):
22621         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22622         * gst/gstbin.c: (bin_bus_handler):
22623         * gst/gstelement.c: (gst_element_commit_state),
22624         (gst_element_lost_state):
22625         * gst/gstmessage.c: (gst_message_new_state_changed),
22626         (gst_message_new_segment_start), (gst_message_new_segment_done),
22627         (gst_message_new_duration), (gst_message_parse_state_changed),
22628         (gst_message_parse_segment_start),
22629         (gst_message_parse_segment_done), (gst_message_parse_duration):
22630         * gst/gstmessage.h:
22631         * tools/gst-launch.c: (event_loop):
22632         Make messages future proof.
22633         state-change gets a flag if it was a message comming from the
22634         streaming thread.
22635         segment-start/stop can also be specified in other formats.
22636         A message to notify an app that a pipeline changed playback 
22637         duration.
22638         Also fix a GstMessage leak in -launch
22639
22640 2005-10-18  Andy Wingo  <wingo@pobox.com>
22641
22642         * gst/gstelement.c (gst_element_dispose): More helpful message.
22643
22644 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22645
22646         reviewed by: <delete if not using a buddy>
22647
22648         * common/gtk-doc.mak:
22649
22650 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22651
22652         * gst/gstregistry.c: (gst_registry_scan_path_level):
22653           unref a plug-in we get that was already initialized
22654
22655 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22656
22657         * docs/gst/gstreamer-sections.txt:
22658         * docs/libs/gstreamer-libs-sections.txt:
22659         * gst/gstelement.h:
22660           add new api entries
22661           hide internal macro
22662
22663 2005-10-17  Andy Wingo  <wingo@pobox.com>
22664
22665         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22666         cleanup.
22667
22668         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22669
22670         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22671
22672         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22673         (gst_element_get_state_func): Better debug message.
22674         (gst_element_commit_state): s/INFO/DEBUG/.
22675         (gst_element_lost_state, gst_element_change_state): 
22676
22677         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22678         (gst_message_new_custom): s/INFO/LOG/.
22679
22680 2005-10-17  Michael Smith <msmith@fluendo.com>
22681
22682         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22683           Check if end time is valid using end time, not start time.
22684
22685 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22686
22687         * check/gst-libs/controller.c: (GST_START_TEST),
22688         (gst_controller_suite):
22689         * libs/gst/controller/gstcontroller.c:
22690         (gst_controlled_property_set_interpolation_mode):
22691         * libs/gst/controller/gstcontroller.h:
22692         * libs/gst/controller/gstinterpolation.c:
22693         * testsuite/controller/.cvsignore:
22694         * testsuite/controller/Makefile.am:
22695         * testsuite/controller/interpolator.c:
22696           merge controller testsuites
22697           fix broken tests
22698           remove mem-chunk from docs
22699
22700 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22701
22702         * gst/gstmemchunk.c:
22703         * gst/gstmemchunk.h:
22704         * gst/gsttrashstack.c:
22705         * gst/gsttrashstack.h:
22706           out.  get out.  you're fired.  to the Attic !
22707
22708 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22709
22710         * gst/gstcaps.c: (gst_caps_intersect):
22711           fix signedness issues in a (hopefully) correct way
22712         * gst/gstelement.c: (gst_element_pads_activate):
22713           some debugging
22714         * gst/gstobject.c: (gst_object_set_parent):
22715           some debugging
22716
22717 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22718
22719         * gst/gstvalue.h: Fix prototypes.
22720
22721 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22722
22723         * docs/gst/gstreamer-sections.txt:
22724         * gst/gst.c: (gst_version_string):
22725         * gst/gst.h:
22726         * gst/gstversion.h.in:
22727         * win32/common/libgstreamer.def:
22728           add gst_version_string ()
22729
22730 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22731
22732         * configure.ac:
22733           clean up further
22734         * gst/gst.c: (init_post):
22735         * win32/common/config.h.in:
22736           it's PLUGINDIR now
22737         * gst/gstcaps.c: (gst_caps_intersect):
22738           use gint64, the range could be bigger than a guint
22739
22740 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22741
22742         * gst/gstclock.h:
22743           document potential problem in 2038
22744
22745 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22746
22747         * gst/gstcaps.c: (gst_caps_intersect):
22748           Fix guint j diving under 0
22749
22750 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22751
22752         * configure.ac:
22753         * win32/common/config.h:
22754         * win32/common/config.h.in:
22755           check for process.h, declares getpid() on Windows
22756         * gst/gstinfo.c:
22757           include process.h if we have it
22758         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22759         * gst/gstmemchunk.h:
22760           fix signedness issues
22761         * win32/common/libgstreamer.def:
22762           fix get_type's
22763
22764 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22765
22766         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22767         fix. Because of unsigned ints, caps intersection was going nuts and
22768         trying to access structures with G_MAXUINT index. That fixes
22769         videotestsrc ! ffmpegcolorspace ! fakesink
22770         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22771         consistency.
22772
22773 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22774
22775         * configure.ac:
22776           use the gettext macro
22777         * gst/elements/gstelements.c:
22778         * gst/gst.c:
22779         * gst/indexers/gstindexers.c:
22780           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22781         * win32/common/config.h:
22782           updated config.h
22783         * win32/common/config.h.in:
22784           add the template to generate config.h
22785         * win32/common/gstenumtypes.c:
22786         * win32/common/gstversion.h:
22787           updated copies
22788
22789 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22790
22791         * gst/gst.c: (gst_version):
22792         * gst/gstversion.h.in:
22793           add the nano
22794
22795 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22796
22797         * gst/gstevent.h:
22798           Oops, add missing closing bracket.
22799
22800 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22801
22802         * configure.ac:
22803           use common m4's for argument checking
22804
22805 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22806
22807         * docs/gst/gstreamer-sections.txt:
22808         * gst/gstevent.h:
22809           Add GST_EVENT_TYPE_NAME() macro.
22810
22811 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22812
22813         * gst/gstinfo.c:
22814         * gst/gstpluginfeature.c:
22815         * gst/gsttask.c:
22816           privatize more symbols
22817
22818 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22819
22820         * configure.ac:
22821           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22822           everything that uses GStreamer API should have the includes
22823
22824 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22825
22826         * docs/gst/gstreamer-sections.txt:
22827         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22828         * gst/gstvalue.h:
22829           give each value a _get_type, removes the DATA exports
22830
22831 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22832
22833         * gst/gst.c:
22834         * gst/gst.h:
22835           remove _gst_registry_auto_load, not used anymore
22836         * gst/gstbin.c: (gst_bin_get_type):
22837         * gst/gstbin.h:
22838         * gst/gstelement.c: (gst_element_get_type):
22839         * gst/gstelement.h:
22840         * gst/gstobject.c: (gst_object_get_type):
22841         * gst/gstobject.h:
22842         * gst/gstpad.c: (gst_pad_get_type):
22843         * gst/gstpad.h:
22844           make _get_type functions similar, fixes data export from library
22845
22846 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22847
22848         * configure.ac:
22849           correctly make conditionals
22850         * gst/elements/Makefile.am:
22851         * gst/elements/gstelements.c:
22852           fix typo causing fdsrc not to build
22853
22854 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22855
22856         * testsuite/Makefile.am:
22857         * testsuite/bytestream/.cvsignore:
22858         * testsuite/bytestream/Makefile.am:
22859         * testsuite/bytestream/filepadsink.c:
22860         * testsuite/bytestream/gstbstest.c:
22861         * testsuite/bytestream/test1.c:
22862         * testsuite/bytestream/testfile1:
22863         * testsuite/caps/normalisation.c:
22864         * testsuite/caps/random.c: (main):
22865         * testsuite/cleanup/.cvsignore:
22866         * testsuite/cleanup/Makefile.am:
22867         * testsuite/cleanup/cleanup1.c:
22868         * testsuite/cleanup/cleanup2.c:
22869         * testsuite/cleanup/cleanup3.c:
22870         * testsuite/cleanup/cleanup4.c:
22871         * testsuite/cleanup/cleanup5.c:
22872         * testsuite/controller/interpolator.c:
22873         * testsuite/debug/printf_extension.c: (main):
22874         * testsuite/elements/tee.c:
22875         * testsuite/negotiation/.cvsignore:
22876         * testsuite/negotiation/Makefile.am:
22877         * testsuite/negotiation/pad_link.c:
22878         * testsuite/pad/Makefile.am:
22879         * testsuite/pad/chainnopull.c:
22880         * testsuite/pad/getnopush.c:
22881         * testsuite/pad/link.c:
22882         * testsuite/refcounting/sched.c: (create_pipeline):
22883         * testsuite/registry/Makefile.am:
22884         * testsuite/registry/gst-print-formats.c:
22885         * testsuite/schedulers/.cvsignore:
22886         * testsuite/schedulers/142183-2.c:
22887         * testsuite/schedulers/142183.c:
22888         * testsuite/schedulers/143777-2.c:
22889         * testsuite/schedulers/143777.c:
22890         * testsuite/schedulers/147713.c:
22891         * testsuite/schedulers/147819.c:
22892         * testsuite/schedulers/147894-2.c:
22893         * testsuite/schedulers/147894.c:
22894         * testsuite/schedulers/Makefile.am:
22895         * testsuite/schedulers/group_link.c:
22896         * testsuite/schedulers/queue_link.c:
22897         * testsuite/schedulers/relink.c:
22898         * testsuite/schedulers/unlink.c:
22899         * testsuite/schedulers/unref.c:
22900         * testsuite/schedulers/useless_iteration.c:
22901         * testsuite/states/bin.c:
22902           clean out/remove some stuff from the testsuite directories
22903
22904 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22905
22906         * configure.ac:
22907           check for some headers
22908         * gst/elements/Makefile.am:
22909         * gst/elements/gstelements.c:
22910           don't compile fdsrc without sys/socket.h
22911         * gst/indexers/Makefile.am:
22912         * gst/indexers/gstindexers.c: (plugin_init):
22913           don't compile fileindex without mmap
22914
22915 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22916
22917         * configure.ac:
22918           reorganize
22919           clean up
22920           document more
22921           remove cruft
22922         * check/Makefile.am:
22923         * docs/gst/Makefile.am:
22924         * examples/helloworld/Makefile.am:
22925         * gst/Makefile.am:
22926         * gst/base/Makefile.am:
22927         * gst/check/Makefile.am:
22928         * gst/elements/Makefile.am:
22929         * gst/indexers/Makefile.am:
22930         * gst/parse/Makefile.am:
22931         * libs/gst/controller/Makefile.am:
22932         * libs/gst/dataprotocol/Makefile.am:
22933         * examples/helloworld/helloworld.c: (event_loop):
22934           compile fixes, though it's not being compiled currently
22935
22936 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22937
22938         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22939           Add some simple tests for the new taglist date API.
22940
22941 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22942
22943         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22944         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22945           Beautify 'last-message' output: print 'none' for buffer timestamps
22946           and durations if none is set; improve alignment with next messages.
22947
22948 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22949
22950         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22951         * gst/gstpluginfeature.h:
22952         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22953         * gst/gstregistry.h:
22954         * docs/gst/gstreamer-sections.txt:
22955           Add new API to check plugin feature version requirements.
22956
22957         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22958           Some basic tests for the above.         
22959
22960 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22961
22962         * gst/gststructure.c: (gst_structure_to_string):
22963           guard against NULL printf - happens when for example
22964           a message structure with GstClock gets serialized
22965
22966 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22967
22968         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22969           Fix presumable copy'n'pasto.
22970
22971 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22972
22973         * gst/elements/gstfakesrc.h:
22974         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22975         * gst/elements/gsttypefindelement.c:
22976           fix some signedness
22977         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22978           I wonder if this could actually write +2GB files before
22979
22980 2005-10-13  Andy Wingo  <wingo@pobox.com>
22981
22982         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22983         Fix Timmeke Waymans bug.
22984         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22985         string of the proper length to gst_caps_from_string. There's a
22986         potential for, before this fix, that this could cause someone
22987         connecting over the network to cause a segfault if the payload is
22988         not NUL-terminated.
22989
22990 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22991
22992         * docs/design/draft-push-pull.txt:
22993         * docs/design/part-overview.txt:
22994         * docs/random/TODO-pre-0.9:
22995         * docs/random/old/ChangeLog.gstreamer:
22996         * gst/base/gstpushsrc.c:
22997         * gst/gstclock.c:
22998           fixed typos
22999
23000 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23001
23002         * gst/glib-compat.c: (gst_flags_get_first_value):
23003         * gst/glib-compat.h:
23004         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23005         (gst_value_compare_double), (gst_value_serialize_flags):
23006           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23007           infinite loop
23008
23009 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23010
23011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23012         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23013           fix up debugging
23014         * tools/gst-launch.c: (event_loop):
23015           print out clock nicely
23016
23017 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23018
23019         * docs/gst/gstreamer-sections.txt:
23020         * gst/gsttaglist.h:
23021         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23022         (gst_tag_list_get_date_index):
23023           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23024           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23025
23026 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23027
23028         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23029         (gst_collectpads_chain):
23030         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23031         in CollectData.
23032
23033 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23034
23035         * docs/gst/gstreamer-sections.txt:
23036         * gst/gst.c:
23037         * gst/gsterror.h:
23038         * tools/gst-inspect.c: (main):
23039         * tools/gst-launch.c: (main):
23040         * tools/gst-run.c: (main):
23041         * tools/gst-xmlinspect.c: (main):
23042           fix GOption context leaks
23043           doc fixes
23044
23045 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23046
23047         * gst/gstbus.c:
23048           use HAVE_UNISTD_H
23049         * win32/common/config.h:
23050           update config
23051         * win32/vs6/grammar.dsp:
23052         * win32/vs6/libgstelements.dsp:
23053         * win32/vs6/libgstreamer.dsp:
23054           update vs6 files
23055
23056 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23057
23058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23059         * gst/base/gstbasesrc.c: (gst_base_src_query):
23060           fix more guint64<->gdouble conversions
23061
23062 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23063
23064         * Makefile.am:
23065           add win32-update target
23066         * win32/common/gstconfig.h:
23067         * win32/common/gstenumtypes.c:
23068         * win32/common/gstenumtypes.h:
23069         * win32/common/gstversion.h:
23070           add files that visual studio can't generate
23071
23072 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23073
23074         * Makefile.am:
23075           add a win32-update target
23076         * configure.ac:
23077
23078 2005-10-12  Wim Taymans  <wim@fluendo.com>
23079
23080         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23081         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23082         * gst/gstelement.c: (gst_element_commit_state),
23083         (gst_element_set_state):
23084         Protect flags with proper lock.
23085         unref provided cached clock in dispose.
23086
23087 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23088
23089         * gst/gst.c:
23090         * gst/gstminiobject.h:
23091         * gst/gstpad.h:
23092         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23093           removed unused flags from miniobject
23094           doc fixes
23095
23096 2005-10-12  Wim Taymans  <wim@fluendo.com>
23097
23098         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23099         (gst_file_sink_event), (gst_file_sink_render):
23100         Flush before seeking.
23101
23102 2005-10-12  Andy Wingo  <wingo@pobox.com>
23103
23104         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23105         always been the case.
23106
23107 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23108
23109         * check/gst/gstbin.c: (GST_START_TEST):
23110         * docs/gst/gstreamer-sections.txt:
23111         * gst/base/gstbasesink.c: (gst_base_sink_init):
23112         * gst/base/gstbasesrc.c: (gst_base_src_init),
23113         (gst_base_src_get_range), (gst_base_src_check_get_range),
23114         (gst_base_src_start), (gst_base_src_stop):
23115         * gst/base/gstbasesrc.h:
23116         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23117         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23118         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23119         (bin_bus_handler):
23120         * gst/gstbin.h:
23121         * gst/gstbuffer.h:
23122         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23123         * gst/gstbus.h:
23124         * gst/gstelement.c: (gst_element_is_locked_state),
23125         (gst_element_set_locked_state), (gst_element_commit_state),
23126         (gst_element_set_state):
23127         * gst/gstelement.h:
23128         * gst/gstindex.c: (gst_index_init):
23129         * gst/gstindex.h:
23130         * gst/gstminiobject.h:
23131         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23132         (gst_object_set_parent):
23133         * gst/gstobject.h:
23134         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23135         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23136         * gst/gstpad.h:
23137         * gst/gstpadtemplate.h:
23138         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23139         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23140         * gst/gstpipeline.h:
23141         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23142         (gst_file_index_commit):
23143         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23144         * testsuite/pad/link.c: (gst_test_src_init),
23145         (gst_test_filter_init), (gst_test_sink_init):
23146         * testsuite/states/locked.c: (main):
23147           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23148           moved bitshift from macro to enum definition
23149
23150 2005-10-12  Wim Taymans  <wim@fluendo.com>
23151
23152         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23153         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23154         (gst_file_sink_render):
23155         Some more debugging info.
23156
23157 2005-10-12  Wim Taymans  <wim@fluendo.com>
23158
23159         * docs/design/part-states.txt:
23160         * tools/gst-launch.c: (main):
23161         Some doc updates.
23162         Revert non-intentional change.
23163
23164 2005-10-12  Wim Taymans  <wim@fluendo.com>
23165
23166         * check/gst/gstbin.c: (GST_START_TEST):
23167         * check/gst/gstelement.c: (GST_START_TEST):
23168         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23169         * check/gst/gstghostpad.c: (GST_START_TEST):
23170         * check/gst/gstpipeline.c: (GST_START_TEST):
23171         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23172         * check/states/sinks.c: (GST_START_TEST):
23173         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23174         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23175         (gst_bin_remove_func), (gst_bin_get_state_func),
23176         (gst_bin_recalc_state), (gst_bin_change_state_func),
23177         (bin_bus_handler):
23178         * gst/gstelement.c: (gst_element_get_state_func),
23179         (gst_element_get_state), (gst_element_abort_state),
23180         (gst_element_commit_state), (gst_element_set_state),
23181         (gst_element_change_state), (gst_element_change_state_func):
23182         * gst/gstelement.h:
23183         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23184         (gst_pipeline_provide_clock_func):
23185         * gst/gstutils.c: (gst_element_link_pads_filtered):
23186         * tools/gst-launch.c: (main):
23187         * tools/gst-typefind.c: (main):
23188         Use GstClockTime in _get_state() instead of GTimeVal.
23189         Remove old code in gstutils.c
23190
23191 2005-10-12  Andy Wingo  <wingo@pobox.com>
23192
23193         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23194         removed.
23195
23196         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23197         there is no task. Shouldn't affect any code, as nothing in our
23198         plugins checks this return value.
23199         (gst_pad_stop_task): Also take the stream lock if the pad has no
23200         task. Docs updated.
23201
23202 2005-10-12  Wim Taymans  <wim@fluendo.com>
23203
23204         * gst/gstpad.c: (pre_activate), (post_activate),
23205         (gst_pad_activate_pull), (gst_pad_activate_push):
23206         Cleanup activation code. Reset old state if
23207         activation failed.
23208
23209 2005-10-12  Wim Taymans  <wim@fluendo.com>
23210
23211         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23212         (gst_base_sink_change_state):
23213         No need to prerol after receiving EOS.
23214
23215         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23216         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23217         * gst/elements/gstidentity.c: (gst_identity_event):
23218         Print events more verbosely.
23219
23220 2005-10-12  Wim Taymans  <wim@fluendo.com>
23221
23222         * check/Makefile.am:
23223         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23224         * check/states/sinks2.c:
23225         Moved sinks2 testcode in sinks check.
23226
23227         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23228         (gst_bin_remove_func), (gst_bin_recalc_state),
23229         (gst_bin_change_state_func), (bin_bus_handler):
23230         Fix potential race condition when _get_state() iterated over an
23231         ASYNC element right before it posted a state completion.
23232
23233         * gst/gstclock.h:
23234         Do proper cast here.
23235
23236         * gst/gstevent.c: (gst_event_new_newsegment),
23237         (gst_event_parse_newsegment):
23238         A playback rate of 0.0 is not allowed.
23239
23240 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23241
23242         * win32/common/config.h:
23243         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23244         (_trewinddir), (_ttelldir), (_tseekdir):
23245         * win32/common/dirent.h:
23246         * win32/common/gtchar.h:
23247         * win32/common/libgstbase.def:
23248         * win32/common/libgstreamer.def:
23249         * win32/vs6/grammar.dsp:
23250         * win32/vs6/gst_inspect.dsp:
23251         * win32/vs6/gst_launch.dsp:
23252         * win32/vs6/gstreamer.dsw:
23253         * win32/vs6/libgstbase.dsp:
23254         * win32/vs6/libgstelements.dsp:
23255         * win32/vs6/libgstreamer.dsp:
23256           Visual Studio 6 project files, and a new common directory.
23257           Phear.
23258
23259 2005-10-11  Wim Taymans  <wim@fluendo.com>
23260
23261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23262         (gst_base_sink_do_sync), (gst_base_sink_query),
23263         (gst_base_sink_change_state):
23264         * gst/base/gstbasesink.h:
23265         Correctly parse newsegment info.
23266
23267 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23268
23269         * gst/gst.c: (init_post):
23270           split plugin paths correctly
23271
23272 2005-10-11  Wim Taymans  <wim@fluendo.com>
23273
23274         * check/gst/gstevent.c: (GST_START_TEST):
23275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23276         (gst_base_sink_change_state):
23277         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23278         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23279         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23280         * gst/gstevent.c: (gst_event_new_newsegment),
23281         (gst_event_parse_newsegment):
23282         * gst/gstevent.h:
23283         Added extra flag to newsegment for future API freeze.
23284         Updated check and base elements.
23285
23286 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23287
23288         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23289         (gst_collectpads_add_pad), (gst_collectpads_pop),
23290         (gst_collectpads_event), (gst_collectpads_chain):
23291         * gst/base/gstcollectpads.h: Handle EOS correctly.
23292
23293 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23294
23295         * tools/gst-launch.c: (main):
23296           more null protecting
23297
23298 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23299
23300         * gst/gst-i18n-lib.h:
23301           check for ENABLE_NLS, not GETTEXT_PACKAGE
23302         * gst/gstregistry.c: (gst_registry_add_plugin),
23303         (gst_registry_scan_path_level),
23304         (_gst_registry_remove_cache_plugins):
23305           protect possibly NULL strings
23306         * gst/parse/types.h:
23307           config.h already included before
23308         * tools/gst-inspect.c: (main):
23309           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23310           check for ENABLE_NLS, not GETTEXT_PACKAGE
23311         * tools/gst-launch.c: (main):
23312           check for ENABLE_NLS, not GETTEXT_PACKAGE
23313
23314 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23315
23316         * configure.ac:
23317           if we don't have glib, fail before testing 2.8
23318         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23319           fix a leak, should fix plugins-base testsuite
23320
23321 2005-10-11  Andy Wingo  <wingo@pobox.com>
23322
23323         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23324         take the mode we're going to as an arg. Go head and set the mode
23325         and flushing flags now, so that if the activate function starts a
23326         thread all the flags will be in the right state.
23327         (post_activate): Renamed also. Just handle making sure streaming
23328         finishes for the deactivation case, and setting the deactivated
23329         mode.
23330         (gst_pad_set_active): Complain loudly if deactivation fails.
23331         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23332         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23333         remove the terrible hack.
23334
23335 2005-10-11  Wim Taymans  <wim@fluendo.com>
23336
23337         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23338         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23339         (gst_bin_recalc_state), (gst_bin_change_state_func),
23340         (gst_bin_dispose), (bin_bus_handler):
23341         * gst/gstbin.h:
23342         Prepare to make current EOS message queue more generic.
23343         Fix some typos.
23344
23345         * gst/gstevent.c: (gst_event_new_newsegment),
23346         (gst_event_parse_newsegment):
23347         * gst/gstevent.h:
23348         Rename base to stream_time.
23349
23350         * gst/gstmessage.h:
23351         Fix typo in docs.
23352
23353 2005-10-11  Wim Taymans  <wim@fluendo.com>
23354
23355         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23356         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23357         (gst_bin_change_state_func), (bin_bus_handler):
23358         * gst/gstbin.h:
23359         Work on proper clock selection.
23360
23361 2005-10-11  Edward Hervey  <edward@fluendo.com>
23362
23363         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23364         * libs/gst/controller/gstcontroller.h:
23365         Added GList* version of _remove_properties() in order to be able to wrap
23366         it in bindings.
23367
23368 2005-10-11  Wim Taymans  <wim@fluendo.com>
23369
23370         * docs/design/part-states.txt:
23371         Some more docs.
23372
23373         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23374         (gst_bin_change_state_func), (bin_bus_handler):
23375         Doc updates. Don't distribute the same clock over and over again.
23376
23377         * gst/gstclock.c:
23378         * gst/gstclock.h:
23379         Doc updates.
23380
23381         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23382         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23383         (gst_pad_send_event):
23384         * gst/gstpad.h:
23385         Make probe emission threadsafe again.
23386         Register quarks and move _get_name() from utils.
23387         Doc updates.
23388
23389         * gst/gstpipeline.c: (gst_pipeline_class_init),
23390         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23391         Only redistribute the clock of it changed.
23392
23393         * gst/gstsystemclock.h:
23394         Doc updates. 
23395
23396         * gst/gstutils.c:
23397         * gst/gstutils.h:
23398         Moved the _flow_get_name() to GstPad.
23399
23400 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23401
23402         * check/gst-libs/gdp.c: (GST_START_TEST):
23403         * check/gst/gstcaps.c: (GST_START_TEST):
23404         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23405         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23406         (gst_dp_packet_from_caps):
23407           fix more valgrind warnings before turning up the heat
23408
23409 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23410
23411         * gst/parse/grammar.y:
23412           some cleanup before the hacking
23413
23414 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23415
23416         * gst/base/gstbasesrc.c: (gst_base_src_query):
23417           use conversions
23418         * gst/gstutils.c: (gst_guint64_to_gdouble),
23419         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23420         * gst/gstutils.h:
23421           externalize, basesrc uses it
23422           obviously the implementation needs testing
23423
23424 2005-10-10  Wim Taymans  <wim@fluendo.com>
23425
23426         * tests/sched/Makefile.am:
23427         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23428         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23429
23430 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23431
23432         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23433           apparently converting from guint64 to double is not implemented
23434           on MSVC
23435
23436 2005-10-10  Wim Taymans  <wim@fluendo.com>
23437
23438         * check/Makefile.am:
23439         * check/generic/states.c: (GST_START_TEST):
23440         * check/gst/gstbin.c: (GST_START_TEST):
23441         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23442         * check/states/sinks.c: (GST_START_TEST):
23443         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23444         (main):
23445         Check fixes, use API as stated in design docs, remove hacks.
23446
23447         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23448         (gst_base_sink_change_state):
23449         Catch stopping our task while we're shutting down.
23450
23451         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23452         (gst_bin_remove_func), (gst_bin_get_state_func),
23453         (gst_bin_recalc_state), (gst_bin_change_state_func),
23454         (bin_bus_handler):
23455         * gst/gstbin.h:
23456         * gst/gstelement.c: (gst_element_init),
23457         (gst_element_get_state_func), (gst_element_abort_state),
23458         (gst_element_commit_state), (gst_element_lost_state),
23459         (gst_element_set_state), (gst_element_change_state),
23460         (gst_element_change_state_func):
23461         * gst/gstelement.h:
23462         New state change algorithm (see #318116)
23463
23464         * gst/gstpipeline.c: (gst_pipeline_class_init),
23465         (gst_pipeline_init), (gst_pipeline_set_property),
23466         (gst_pipeline_get_property), (do_pipeline_seek),
23467         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23468         * gst/gstpipeline.h:
23469         Remove crude state change hacks.
23470
23471         * gst/gstutils.h:
23472         Remove crude hacks.
23473
23474         * tools/gst-launch.c: (main):
23475         Fixes for state change. Needs some more work to fully use the
23476         new stuff.
23477
23478 2005-10-10  Andy Wingo  <wingo@pobox.com>
23479
23480         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23481
23482         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23483         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23484         issue.
23485
23486 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23487
23488         * gst/gstiterator.c: (gst_iterator_new):
23489           Fix my previous commit: GTypes passed to gst_iterator_new()
23490           can be fundamental types.
23491
23492 2005-10-10  Wim Taymans  <wim@fluendo.com>
23493
23494         * gst/gstelement.c: (gst_element_iterate_pad_list),
23495         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23496         (gst_element_iterate_sink_pads):
23497         Use src/sink pads lists for the respective iterators instead
23498         of filtering.
23499
23500 2005-10-10  Andy Wingo  <wingo@pobox.com>
23501
23502         Merged in popt removal + GOption addition patch from Ronald, bug
23503         #169772.
23504
23505         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23506         GstElement macros around, remove popt-related symbols, add goption
23507         stuff.
23508
23509         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23510         
23511         * docs/gst/Makefile.am:
23512         * docs/libs/Makefile.am: No POPT_CFLAGS.
23513         
23514         * examples/manual/Makefile.am:
23515         * docs/manual/basics-init.xml: Doc updates with an example.
23516         
23517         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23518         (gst_init), (parse_one_option), (parse_goption_arg):
23519         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23520         bit of hand merging and debugging to get the GOption stuff working
23521         tho.
23522         
23523         * tests/Makefile.am:
23524         * tools/Makefile.am:
23525         * tools/gst-inspect.c: (main):
23526         * tools/gst-launch.c: (main):
23527         * tools/gst-run.c: (main):
23528         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23529
23530 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23531
23532         * gst/gstiterator.c: (gst_iterator_new):
23533           Add assertions to make sure passed GType is likely to really
23534           be a GType (as the compiler won't catch it if the size and
23535           GType arguments get mixed up, see #318447).
23536
23537 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23538
23539         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23540
23541         * gst/gstbin.c: (gst_bin_iterate_sorted):
23542           Pass GType and size arguments to gst_iterator_new() in the right
23543           order (maybe we should make _new() take the GType as first argument
23544           just like _new_list()?) (#318447).
23545           
23546
23547 2005-10-10  Wim Taymans  <wim@fluendo.com>
23548
23549         * gst/gstelement.c: (gst_element_finalize):
23550         And free the GStaticRecMutex too
23551
23552 2005-10-10  Andy Wingo  <wingo@pobox.com>
23553
23554         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23555         Allocate and free the mutex properly.
23556
23557         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23558         New macros.
23559         (GstElement): The state_lock is now recursive. Rebuild your
23560         plugins, suckers. Old macros adapted.
23561
23562         * docs/gst/gstreamer-sections.txt: Doc updates.
23563
23564         * gst/gstutils.h:
23565         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23566         (g_static_rec_cond_wait): Ported from state changes patch, while
23567         we wait on bug #317802 to be solved in a well-distributed GLib.
23568
23569         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23570         gst_element_change_state, variable name changes.
23571         (gst_element_change_state): Split out of gst_element_set_state in
23572         preparation for the state change merge. Doesn't pay attention to
23573         the 'transition' argument.
23574         (gst_element_set_state): Updates, hopefully purely cosmetic.
23575         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23576         state change patch.
23577         (gst_element_get_state_func): Renamed from get_state, cosmetic
23578         changes.
23579
23580 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23581
23582         * gst/elements/gstelements.c:
23583         * win32/GStreamer.vcproj:
23584         * win32/config.h:
23585         * win32/dirent.c: (_tseekdir):
23586         * win32/gst-inspect.vcproj:
23587         * win32/gst-launch.vcproj:
23588         * win32/gstconfig.h:
23589         * win32/gstelements.vcproj:
23590         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23591         * win32/gstreamer.def:
23592         * win32/msvc71.sln:
23593           updates for the win32 build (patch from Sebastien Moutte)
23594
23595 2005-10-10  Andy Wingo  <wingo@pobox.com>
23596
23597         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23598         gst_bin_get_state, cleaned up (but no logic changes).
23599         (bin_element_is_sink): Comment updates.
23600         (sink_iterator_filter): Remove needless cast.
23601         (gst_bin_iterate_sinks): Doc update.
23602         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23603         cleaned up (but no logic changes).
23604
23605         * check/states/sinks.c (test_src_sink): Cleanups from the state
23606         change patch.
23607         (test_livesrc_sink): Sync on the state.
23608
23609         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23610         the state change patch.
23611
23612         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23613         change patch.
23614
23615         * check/gst/gstbin.c: Merge in some style fixes and additional
23616         checks from Wim's state change patch.
23617
23618 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23619
23620         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23621         (gst_type_find_helper):
23622           Check whether we have the requested data already in our list of
23623           cached buffers before pulling a new buffer; also make the buffer
23624           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23625
23626 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23627
23628         * gst/gstcaps.c:
23629         * gst/gstevent.c:
23630           doc updates
23631         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23632           don't use long long, it's not portable.  Replacing with
23633           gint64 seems to work; let's hope no skeletons fall out of the closet.
23634
23635 2005-10-10  Andy Wingo  <wingo@pobox.com>
23636
23637         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23638
23639 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23640
23641         * docs/gst/gstreamer-sections.txt:
23642         * gst/gstevent.c:
23643         * gst/gstevent.h:
23644         * gst/gstinfo.c:
23645         * gst/gstinfo.h:
23646         * gst/gstmessage.c: (gst_message_parse_state_changed):
23647         * gst/gstpad.c:
23648         * gst/gstpad.h:
23649           more docs, fix compilation
23650
23651 2005-10-09  Philippe Khalaf <burger@speedy.org>
23652         * gst/gstmessage.c:
23653           Fixed a few forgotten variables on previous commit
23654
23655 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23656
23657         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23658           Fix evil typefind crasher: getrange() might return a short
23659           buffer at the end of a file, but gst_type_find_peek() must
23660           either return the full data as requested or NULL, but
23661           never a short buffer.
23662
23663 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23664
23665         * gst/gstmessage.c: (gst_message_new_state_changed),
23666         (gst_message_parse_state_changed):
23667         * gst/gstmessage.h:
23668           don't use "new", it's a C++ keyword
23669
23670 2005-10-08  Wim Taymans  <wim@fluendo.com>
23671
23672         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23673         * gst/gstelement.c: (gst_element_post_message):
23674         * gst/gstpipeline.c: (gst_pipeline_change_state):
23675         Small docs and debug updates.
23676
23677 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23678
23679         * docs/gst/gstreamer-sections.txt:
23680         * gst/gstelementfactory.c:
23681         * gst/gstevent.c:
23682         * gst/gsttaglist.c:
23683           more docs
23684
23685 2005-10-08  Wim Taymans  <wim@fluendo.com>
23686
23687         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23688         (gst_bin_dispose), (bin_bus_handler):
23689         Fix typos, add comments.
23690         Clear EOS list when going to PAUSED from any direction and do it
23691         in a threadsafe way.
23692         Get base time in a threadsafe way too.
23693         Fix confusing debug in the change_state function.
23694         Various other small cleanups.
23695         
23696         * gst/gstelement.c: (gst_element_post_message):
23697         Fix very verbose bus posting code.
23698
23699         * gst/gstpipeline.c: (gst_pipeline_class_init),
23700         (gst_pipeline_set_property), (gst_pipeline_get_property),
23701         (gst_pipeline_change_state):
23702         Small ARG_ -> PROP_ cleanup
23703
23704 2005-10-08  Wim Taymans  <wim@fluendo.com>
23705
23706         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23707         Do a less CPU demanding EOS check because we can.
23708
23709 2005-10-08  Wim Taymans  <wim@fluendo.com>
23710
23711         * libs/gst/dataprotocol/dataprotocol.c:
23712         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23713         (gst_dp_packet_from_event):
23714         * libs/gst/dataprotocol/dataprotocol.h:
23715         * libs/gst/dataprotocol/dp-private.h:
23716         It's about time we bump the version number.
23717         Since event types don't fit in the guint8 anymore describing
23718         the payload type, make payload type 16 bits wide.
23719
23720 2005-10-08  Wim Taymans  <wim@fluendo.com>
23721
23722         * docs/design/part-TODO.txt:
23723         * docs/design/part-clocks.txt:
23724         * docs/design/part-events.txt:
23725         * docs/design/part-gstbin.txt:
23726         * docs/design/part-gstelement.txt:
23727         * docs/design/part-gstpipeline.txt:
23728         * docs/design/part-live-source.txt:
23729         * docs/design/part-messages.txt:
23730         * docs/design/part-overview.txt:
23731         * docs/design/part-states.txt:
23732         Many doc updates.
23733
23734 2005-10-08  Wim Taymans  <wim@fluendo.com>
23735
23736         * gst/gstevent.c:
23737         * gst/gstevent.h:
23738         Fix event quark registration.
23739         Add some space between events so we can insert them in the
23740         right groups.
23741
23742 2005-10-08  Wim Taymans  <wim@fluendo.com>
23743
23744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23745         (gst_base_sink_handle_buffer):
23746         Better log message.
23747
23748         * gst/gstbus.h:
23749         * gst/gstelement.h:
23750         More docs.
23751
23752         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23753         (gst_queue_set_property), (gst_queue_get_property):
23754         * gst/gstqueue.h:
23755         Remove old unused properties.
23756
23757 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23758         * docs/gst/gstreamer-sections.txt:
23759         * gst/gstmessage.c:
23760         * gst/gstmessage.h:
23761         * gst/gstminiobject.c:
23762         * gst/gstminiobject.h:
23763         * gst/gstobject.h:
23764         * gst/gstpad.h:
23765         * gst/gstutils.h:
23766           lots of new docs and doc fixes
23767
23768 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23769
23770         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23771         * gst/gstplugin.h:
23772         * gst/gstregistry.c: (gst_registry_lookup_locked),
23773         (gst_registry_scan_path_level):
23774         * gst/gstregistryxml.c: (load_plugin):
23775           Only ever load one plugin for a given plugin basename.
23776           This ensures correct overriding of GST_PLUGIN_PATH over
23777           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23778           system installed plugins.
23779
23780 2005-10-08  Wim Taymans  <wim@fluendo.com>
23781
23782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23783         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23784         Prepare for doing QOS.
23785
23786 2005-10-08  Wim Taymans  <wim@fluendo.com>
23787
23788         * check/gst/gstbin.c: (GST_START_TEST):
23789         * check/pipelines/cleanup.c: (GST_START_TEST):
23790         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23791         Allow new clock message too.
23792
23793 2005-10-08  Wim Taymans  <wim@fluendo.com>
23794
23795         * gst/gstmessage.c: (gst_message_new_error),
23796         (gst_message_new_warning), (gst_message_new_tag),
23797         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23798         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23799         (gst_message_new_segment_start), (gst_message_new_segment_done),
23800         (gst_message_parse_state_changed),
23801         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23802         (gst_message_parse_new_clock):
23803         * gst/gstmessage.h:
23804         Also carry the clock in question.
23805
23806 2005-10-08  Wim Taymans  <wim@fluendo.com>
23807
23808         * gst/gstmessage.c: (gst_message_new_custom),
23809         (gst_message_new_eos), (gst_message_new_error),
23810         (gst_message_new_warning), (gst_message_new_tag),
23811         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23812         (gst_message_new_new_clock), (gst_message_new_segment_start),
23813         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23814         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23815         * gst/gstmessage.h:
23816         Clean up.
23817         Added clock related messages.
23818
23819         * gst/gstpipeline.c: (gst_pipeline_change_state):
23820         Post message when the clock changed.
23821
23822         * tools/gst-launch.c: (event_loop):
23823         Print new clock.
23824
23825 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23826
23827         * tools/gst-inspect.c: (print_element_properties_info):
23828           Can't pass NULL strings to g_print() on windows.
23829
23830 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23831
23832         * docs/Makefile.am:
23833         * docs/gst/Makefile.am:
23834         * docs/gst/gstreamer-docs.sgml:
23835         * docs/gst/running.xml:
23836         * docs/version.entities.in:
23837           add a chapter on running GStreamer.
23838           document GST_DEBUG and GST_PLUGIN* env vars
23839
23840 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23841
23842         * Makefile.am:
23843           remove include dir
23844         * configure.ac:
23845           remove PLUGINS_BUILDDIR stuff
23846         * gst/gst.c: (init_post):
23847           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23848         * idiottest.mak:
23849           remove, it was condescending and not needed
23850
23851 2005-10-08  Wim Taymans  <wim@fluendo.com>
23852
23853         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23854         (gst_base_sink_handle_object), (gst_base_sink_event),
23855         (gst_base_sink_wait), (gst_base_sink_handle_event),
23856         (gst_base_sink_change_state):
23857         * gst/base/gstbasesink.h:
23858         Repost EOS message while going to PLAYING if still EOS.
23859         Make sure that when receiving a FLUSH_START we don't attempt
23860         to sync on the clock anymore.
23861
23862 2005-10-08  Wim Taymans  <wim@fluendo.com>
23863
23864         * tools/gst-launch.c: (event_loop):
23865         Better message printout.
23866
23867 2005-10-08  Wim Taymans  <wim@fluendo.com>
23868
23869         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23870         (gst_bin_child_proxy_get_children_count):
23871         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23872         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23873         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23874         (gst_child_proxy_set_valist):
23875         * gst/parse/grammar.y:
23876         Make ChildProxy threadsafe and fix mem leaks.
23877
23878 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23879
23880         * gst/gst.c: (init_post):
23881           debug the GST_PLUGIN_ env vars
23882
23883 2005-10-08  Wim Taymans  <wim@fluendo.com>
23884
23885         * check/gst/gstbin.c: (GST_START_TEST):
23886         * check/gst/gstmessage.c: (GST_START_TEST):
23887         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23888         * gst/gstelement.c: (gst_element_commit_state),
23889         (gst_element_lost_state):
23890         * gst/gstmessage.c: (gst_message_new_state_changed),
23891         (gst_message_parse_state_changed):
23892         * gst/gstmessage.h:
23893         * tools/gst-launch.c: (event_loop):
23894         Added extra field to STATE_CHANGE message with the pending
23895         state, which will be different from the new state soon.
23896
23897 2005-10-08  Wim Taymans  <wim@fluendo.com>
23898
23899         * gst/gstbus.c: (gst_bus_pop):
23900         * gst/gstclock.c:
23901         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23902         Small cleanups and doc updates.
23903
23904 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23905
23906         * gst/gst.c: (init_pre):
23907         * gst/gstbin.c: (gst_bin_add_func):
23908           log distributing clocks and base time
23909         * gst/gstregistry.c: (gst_registry_add_plugin),
23910         (gst_registry_scan_path_level), (gst_registry_scan_path):
23911           clean up the debugging output a little
23912         * gst/gstutils.c: (gst_element_state_get_name):
23913           warn about a memleak (I've actually seen this be used, though
23914           it was probably a bug)
23915
23916 2005-10-07  Wim Taymans  <wim@fluendo.com>
23917
23918         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23919         (gst_base_src_init), (gst_base_src_default_newsegment),
23920         (gst_base_src_newsegment), (gst_base_src_do_seek),
23921         (gst_base_src_loop), (gst_base_src_start):
23922         * gst/base/gstbasesrc.h:
23923         Make the newsegment event customizable by subclasses.
23924
23925 2005-10-07  Wim Taymans  <wim@fluendo.com>
23926
23927         * gst/gstevent.c: (gst_event_new_buffersize),
23928         (gst_event_parse_buffersize):
23929         * gst/gstevent.h:
23930         New event for future idea.
23931
23932 2005-10-07  Andy Wingo  <wingo@pobox.com>
23933
23934         * gst/gstelement.c (gst_element_post_message): Doc update.
23935
23936         * docs/gst/gstreamer-sections.txt: Update.
23937
23938         * gst/gstmessage.c (gst_message_new_application): Made into a
23939         function like honest API calls.
23940         (gst_message_new_element): New message type.
23941
23942         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23943
23944         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23945         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23946         times.
23947
23948         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23949         NO_PREROLL from gst_element_change_state to fall through.
23950
23951 2005-10-07  Wim Taymans  <wim@fluendo.com>
23952
23953         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23954         (gst_ghost_pad_do_activate_push):
23955         Activating a ghostpad with no internal pad in push mode
23956         is ok.
23957
23958 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23959
23960         * gst/gstobject.h:
23961           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23962           Fixes compilation on Windows.
23963
23964 2005-10-07  Michael Smith <msmith@fluendo.com>
23965
23966         * tools/gst-inspect.c:
23967           Print out feature and plugin count at the end when printing out
23968           all features.
23969
23970 2005-10-04  Michael Smith <msmith@fluendo.com>
23971
23972         * gst/gsterror.c: (_gst_stream_errors_init):
23973           Add another error string used in a few existing plugins.
23974
23975         * gst/gstplugin.c:
23976         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23977         * tools/gst-inspect.c: (print_element_info):
23978           When a feature disappears from a plugin (and the feature exists in
23979           the cached registry file), things went horribly wrong. This isn't a
23980           complete fix, we should actually be removing the 'missing' features
23981           from the features list when we load the actual plugin. That's not
23982           yet implemented. 
23983
23984 2005-10-04  Johan Dahlin  <johan@gnome.org>
23985
23986         * check/gst/gstiterator.c: (GST_START_TEST):
23987         * gst/gstbin.c: (gst_bin_iterate_elements),
23988         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23989         * gst/gstelement.c: (gst_element_iterate_pads):
23990         * gst/gstformat.c: (gst_format_iterate_definitions):
23991         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23992         (gst_iterator_new_list), (gst_iterator_filter):
23993         * gst/gstiterator.h:
23994         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23995         Add a GType to GstIterator, update callsites and tests.
23996
23997 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23998
23999         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24000           give events a chance to be handled by event probes when the pad
24001           is not linked
24002
24003 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24004
24005         * gst/gstevent.c: (gst_event_type_get_name),
24006         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24007         * gst/gstevent.h:
24008           add string representations for event types
24009
24010 2005-10-06  Wim Taymans  <wim@fluendo.com>
24011
24012         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24013         Don't use NULL pointers.
24014
24015 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24016
24017         * gst/gst_private.h:
24018         * gst/gstbus.c:
24019         * gst/gstelement.c:
24020         * gst/gstinfo.c:
24021         * gst/gstpluginfeature.c:
24022           widen the debug category in output to fit the biggest one we have
24023           add a bus category and use it
24024           play with the colors
24025           fix up some categories
24026
24027 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24028
24029         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24030           add push activation of sink ghost pads.
24031           Andye, please verify
24032
24033 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24034
24035         * gst/gstutils.c: (gst_element_link_pads):
24036           fix a bug in the case where neither element has a pad
24037         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24038           add a test for that case
24039
24040 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24041
24042         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24043           emit have-data before checking for peers.  This allows
24044           for probe handlers to connect elements.  This helps autopluggers.
24045         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24046         (gst_pad_suite):
24047           add six checks, linked/unlinked with no/true/false probe
24048
24049 2005-10-04  Wim Taymans  <wim@fluendo.com>
24050
24051         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24052         (gst_fake_sink_event), (gst_fake_sink_preroll),
24053         (gst_fake_sink_render), (gst_fake_sink_change_state):
24054         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24055         (gst_fake_src_get_property), (gst_fake_src_create),
24056         (gst_fake_src_stop):
24057         * gst/elements/gstidentity.c: (gst_identity_stop):
24058         Protect last_message with lock.
24059
24060 2005-10-04  Edward Hervey  <edward@fluendo.com>
24061
24062         * gst/gstformat.h: 
24063         Added precision in the comments for GST_FORMAT_DEFAULT
24064
24065 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24066
24067         * tools/gst-launch.c: (main):
24068           Don't try to run erroneous pipelines.
24069
24070 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24071
24072         * gst/gstbus.c: We don't need this header.
24073
24074 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24075
24076         * configure.ac:
24077           back to development
24078
24079 === release 0.9.3 ===
24080
24081 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24082
24083         * README:
24084         * configure.ac:
24085           Releasing 0.9.3, "Unregistered"
24086
24087 2005-10-03  Andy Wingo  <wingo@pobox.com>
24088
24089         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24090         whereby calling a pad's activatepush() function can start a thread
24091         that starts to push or pull before the pad gets the FLUSHING flag
24092         unset. Hack around it by holding the stream lock until the flag is
24093         set. Need to replace this with a proper solution. Together with
24094         the ghost pad fixes, this fixes mp3 playing/tagreading.
24095
24096         * docs/design/part-gstghostpad.txt: Add a note about activation of
24097         proxy pads outside of ghost pads.
24098
24099         * gst/gstghostpad.c: Implement the ghost pad activation design.
24100
24101 2005-10-02  Andy Wingo  <wingo@pobox.com>
24102
24103         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24104         It is volatile, after all.
24105
24106         * docs/design/part-gstghostpad.txt: Flesh out activation with
24107         ghost pads.
24108
24109         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24110         GST_DEBUG_FUNCPTR.
24111
24112 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24113
24114         * configure.ac:
24115           Fix (unused) AM_CONDITIONAL tests.
24116
24117 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24118
24119         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24120
24121         * gst/gstutils.c: (gst_pad_query_convert):
24122           Add assertion that makes sure src_val is >=0, just like
24123           gst_query_new_convert() has. (#315895)
24124
24125 2005-09-30  Edward Hervey  <edward@fluendo.com>
24126
24127         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24128         Let's not iterate pads we're not interested in, it avoids getting 
24129         sky-high refcounts on sinkpad.
24130
24131 2005-09-30  Wim Taymans  <wim@fluendo.com>
24132
24133         * gst/gstelement.c: (gst_element_set_state),
24134         (gst_element_change_state):
24135         Small tweak, element in ASYNC remains ASYNC.
24136
24137 2005-09-30  Wim Taymans  <wim@fluendo.com>
24138
24139         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24140         Only error is an error.
24141
24142         * gst/gstbin.c: (gst_bin_change_state):
24143         Better debugging.
24144
24145         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24146         Also call pad_block in pad alloc.
24147
24148         * gst/gstutils.c: (gst_flow_get_name):
24149         Better debugging.
24150
24151 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24152
24153         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24154         (gst_base_src_get_range):
24155           Fix documentation typos. Add some more debug info.
24156
24157 2005-09-29  David Schleef  <ds@schleef.org>
24158
24159         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24160           more end-user friendly.
24161         * tools/gst-inspect.c: (main): Check if command-line argument is
24162           a file and attempt to load that file as a plugin.
24163
24164 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24165
24166         * check/gst/gstbin.c:
24167         * check/states/sinks.c:
24168           fix tests for the new warning
24169         * check/gst/gstpipeline.c:
24170           add a test for pipeline and bus interaction
24171         * gst/gstelement.c:
24172           elements should be NULL if they get disposed; add a warning if not
24173
24174 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24175
24176         * gst/gstobject.c:
24177           for 2.6 refcounting, make debug log more correct by printing
24178           the actual refcounts at the time of swap (Wim)
24179
24180 2005-09-29  Andy Wingo  <wingo@pobox.com>
24181
24182         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24183         removes signal watches previously added via
24184         gst_bus_add_signal_watch.
24185         (gst_bus_add_signal_watch): Don't return the source id, just store
24186         it on the bus if there wasn't an id already.
24187
24188         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24189         add_signal_watch and remove_signal_watch.
24190
24191 2005-09-29  Edward Hervey  <edward@fluendo.com>
24192
24193         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24194         Better if we actually iterate the list :)
24195
24196 2005-09-29  Wim Taymans  <wim@fluendo.com>
24197
24198         * check/gst/gstbin.c: (GST_START_TEST):
24199         Change for new bus API.
24200
24201         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24202         (send_messages), (GST_START_TEST), (gstbus_suite):
24203         Change for new bus signal API.
24204
24205         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24206         (gst_bus_source_prepare), (gst_bus_source_check),
24207         (gst_bus_create_watch), (gst_bus_add_watch_full),
24208         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24209         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24210         * gst/gstbus.h:
24211         Remove support for multiple GSources operating on different
24212         message types as it is too complex and unneeded when using
24213         signals.
24214         Added support for receiving signals from the bus.
24215
24216 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24217
24218         * docs/libs/tmpl/gstdataprotocol.sgml:
24219         * docs/manual/advanced-dataaccess.xml:
24220         * gst/elements/gstcapsfilter.c:
24221         * gst/gstutils.c:
24222           rename filter-caps to caps property
24223
24224 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24225
24226         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24227           More robust fraction string parsing.
24228
24229         * docs/pwg/appendix-porting.xml:
24230           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24231
24232 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24233
24234         * gst/gstcaps.c: (gst_caps_do_simplify):
24235           Thou shalt not free a structure and then continue using it
24236           in the next loop iteration.
24237
24238         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24239         (gst_caps_suite):
24240           Add test case for caps simplification.
24241
24242 2005-09-29  Wim Taymans  <wim@fluendo.com>
24243
24244         * check/gst/gstbin.c: (GST_START_TEST):
24245         Oops.
24246
24247 2005-09-29  Wim Taymans  <wim@fluendo.com>
24248
24249         * check/gst/gstbin.c: (GST_START_TEST):
24250         Add bus to bin.
24251
24252         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24253         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24254         (find_element), (gst_bin_sort_iterator_next),
24255         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24256         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24257         (gst_bin_change_state), (gst_bin_dispose):
24258         A bin does not have a bus, it gets the bus from the parent.
24259
24260         * gst/gstelement.c: (gst_element_requires_clock),
24261         (gst_element_provides_clock), (gst_element_is_indexable),
24262         (gst_element_is_locked_state), (gst_element_change_state),
24263         (gst_element_set_bus_func):
24264         Small cleanups.
24265
24266         * gst/gstpipeline.c: (gst_pipeline_class_init),
24267         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24268         The pipeline provides a bus.
24269
24270 2005-09-28  Johan Dahlin  <johan@gnome.org>
24271
24272         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24273         gst_structure_get_enum instead of gst_structure_get_int
24274
24275         * gst/gststructure.c (gst_structure_get_enum): Impl.
24276
24277         * gst/gststructure.h (gst_structure_get_enum): Add
24278
24279         * docs/gst/gstreamer-sections.txt: Ditto
24280
24281         * gst/gstmessage.c (gst_message_new_state_changed): Use
24282         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24283         which does introspection.
24284         Reviewed by Christian Schaller
24285
24286 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24287
24288         * gst/gstinfo.c: (gst_debug_log_default):
24289           don't do dummy g_strdup()s
24290         * libs/gst/controller/gstcontroller.c:
24291         (on_object_controlled_property_changed),
24292         (gst_controlled_property_new), (gst_controller_new_valist),
24293         (gst_controller_new_list),
24294         (gst_controller_remove_properties_valist), (gst_controller_set),
24295         (gst_controller_get), (gst_controller_sync_values),
24296         (gst_controller_get_value_array), (_gst_controller_class_init),
24297         (gst_controller_get_type):
24298         * libs/gst/controller/gstcontroller.h:
24299         * libs/gst/controller/gstinterpolation.c:
24300         (gst_controlled_property_find_timed_value_node):
24301           convert // to /**/ comments
24302
24303 2005-09-28  Wim Taymans  <wim@fluendo.com>
24304
24305         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24306         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24307         (gst_bus_sync_signal_handler):
24308         * gst/gstbus.h:
24309         Added async-message and sync-message signals to the bus.
24310         Added helper BusFunc to emit signals for all posted messages.
24311
24312         * gst/gstmessage.c: (gst_message_type_get_name),
24313         (gst_message_type_to_quark), (gst_message_get_type):
24314         * gst/gstmessage.h:
24315         Register quarks for message names.
24316
24317 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24318
24319         * docs/libs/gstreamer-libs-sections.txt:
24320         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24321         (gst_controller_new_list):
24322         * libs/gst/controller/gstcontroller.h:
24323           added another constructor for language bindings
24324
24325 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24326
24327         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24328           add another check
24329         * gst/gstbus.c:
24330           add some doc
24331         * gst/gstinfo.c: (_gst_debug_init):
24332           slightly more readable color for refcount debugging
24333
24334 2005-09-28  Wim Taymans  <wim@fluendo.com>
24335
24336         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24337         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24338         (find_element), (gst_bin_sort_iterator_next),
24339         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24340         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24341         (gst_bin_change_state), (gst_bin_dispose):
24342         Small doc fixes. get_clock -> provide_clock.
24343
24344         * gst/gstelement.c: (gst_element_class_init),
24345         (gst_element_provides_clock), (gst_element_provide_clock),
24346         (gst_element_get_clock), (gst_element_commit_state),
24347         (gst_element_lost_state):
24348         * gst/gstelement.h:
24349         Make get/set_clock() symetric. Add provide_clock vmethod since
24350         that is actually what this function does.
24351
24352         * gst/gstpipeline.c: (gst_pipeline_class_init),
24353         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24354         (gst_pipeline_get_clock):
24355         get_clock -> provide_clock.
24356
24357 2005-09-28  Andy Wingo  <wingo@pobox.com>
24358
24359         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24360         lieu of real docs...
24361
24362         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24363
24364 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24365
24366         * gst/elements/gstcapsfilter.c:
24367         * gst/elements/gstfakesink.c:
24368         * gst/elements/gstfakesrc.c:
24369         * gst/elements/gstfdsink.c:
24370         * gst/elements/gstfdsrc.c:
24371         * gst/elements/gstfilesink.c:
24372         * gst/elements/gstfilesrc.c:
24373         * gst/elements/gstidentity.c:
24374         * gst/elements/gsttee.c:
24375         * gst/elements/gsttypefindelement.c:
24376           Make element details static.
24377
24378 2005-09-28  Wim Taymans  <wim@fluendo.com>
24379
24380         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24381         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24382         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24383         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24384         (gst_bin_change_state), (gst_bin_dispose):
24385         Some documentation updates.
24386         Clean up dispose handlers.
24387
24388         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24389         * gst/gstpad.c: (gst_pad_dispose):
24390         Clean up dispose handler.
24391
24392         * gst/gstpipeline.c: (gst_pipeline_change_state):
24393         Removed spurious UNLOCK.
24394
24395 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24396
24397         * docs/gst/gstreamer-sections.txt:
24398         * gst/base/gstbasesrc.h:
24399         * gst/gstelement.h:
24400         * gst/gstevent.h:
24401         * gst/gstobject.h:
24402         * gst/gstpad.h:
24403         * gst/gstpipeline.c:
24404         * gst/gstpipeline.h:
24405         * gst/gstutils.h:
24406         * gst/gstxml.h:
24407           added two new functions to the docs
24408                 documents all undocumented GstXXXFlags
24409                 completed some incomplete docs 
24410
24411 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24412
24413         * gst/gstbin.c: (gst_bin_dispose):
24414         * gst/gstelement.c: (gst_element_dispose):
24415           remove now useless and leaky resurrection code in dispose
24416         * gst/base/gstbasesrc.c: (gst_base_src_init):
24417         * gst/gstelementfactory.c: (gst_element_factory_create):
24418         * gst/gstobject.c: (gst_object_set_parent):
24419           add some debugging
24420
24421 2005-09-27  Wim Taymans  <wim@fluendo.com>
24422
24423         * docs/design/part-TODO.txt:
24424         Update TODO.
24425
24426         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24427         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24428         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24429         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24430         (gst_bin_change_state):
24431         * gst/gstelement.h:
24432         Remove element variable, we keep element info in the iterator now.
24433
24434 2005-09-27  Andy Wingo  <wingo@pobox.com>
24435
24436         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24437         values.
24438
24439 2005-09-27  Wim Taymans  <wim@fluendo.com>
24440
24441         * check/gst/gstbin.c: (GST_START_TEST):
24442         Enable check that works now.
24443
24444         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24445         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24446         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24447         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24448         (gst_bin_change_state):
24449         * gst/gstbin.h:
24450         Redid the state change algorithm using a topological sort algo.
24451         Handles all cases correctly.
24452         Exposed iterator for state change order.
24453
24454         * gst/gstelement.h:
24455         Temp storage for state changes. Need to get rid of this soon.
24456
24457 2005-09-27  Wim Taymans  <wim@fluendo.com>
24458
24459         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24460         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24461         (link_fold_func), (gst_pad_proxy_setcaps):
24462         Leak fixes, the fold functions need to unref the passed object and
24463         _get_parent_*() returns ref to parent.
24464
24465 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24466
24467         * check/gst/gstbuffer.c: (test_make_writable):
24468           Plug leak in test case and fix 'make check-valgrind'
24469
24470 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24471
24472         * gst/gstbuffer.c: (gst_subbuffer_init):
24473           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24474           works correctly in all circumstances (we could have just copied
24475           the parent buffer's readonly flag, but conceptually it seems
24476           cleaner to mark all subbuffers as read-only). (based on patch
24477           by Alessandro Decina, #314710).
24478         
24479         * check/gst/gstbuffer.c: (create_read_only_buffer),
24480         (test_make_writable), (test_subbuffer_make_writable),
24481         (gst_test_suite):
24482           Add some tests for gst_buffer_make_writable().
24483
24484 2005-09-27  Wim Taymans  <wim@fluendo.com>
24485
24486         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24487         use gst_object_has_ancestor().
24488
24489         * gst/gstobject.c: (gst_object_has_ancestor):
24490         * gst/gstobject.h:
24491         gst_object_has_ancestor() copied from gstbin.c as it is a
24492         useful function.
24493
24494         * tests/instantiate/create.c: (create_all_elements):
24495         * tests/lat.c: (handoff_src), (handoff_sink):
24496         * tests/sched/runxml.c: (main):
24497         * tests/seeking/seeking1.c: (main):
24498         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24499         (main):
24500         Fix compilation of some tests.
24501
24502 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24503
24504         * gst/gsterror.h:
24505           Remove comment. GST_TYPE_G_ERROR is here to stay,
24506           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24507           (#316961, #300610).
24508
24509 2005-09-26  Wim Taymans  <wim@fluendo.com>
24510
24511         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24512         Added check that shows error in state change order.
24513
24514 2005-09-26  Wim Taymans  <wim@fluendo.com>
24515
24516         * gst/gstbin.c: (gst_bin_change_state):
24517         Make state change function use 3 queues again, we were
24518         adding elements in the wrong order.
24519
24520         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24521         Some debug info,
24522
24523         * gst/gstpad.c: (gst_pad_dispose):
24524         Added some debug info first.
24525
24526 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24527
24528         * docs/design/draft-push-pull.txt:
24529         * docs/design/part-events.txt:
24530         * docs/design/part-overview.txt:
24531         * docs/design/part-scheduling.txt:
24532           Replace all _pull_region() with _pull_range()
24533           
24534 2005-09-26  Andy Wingo  <wingo@pobox.com>
24535
24536         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24537
24538         * check/gst-libs/controller.c: Update for controller api change.
24539
24540         * configure.ac: 
24541         * tests/Makefile.am:
24542         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24543         over by GLib bug 118439.
24544         
24545         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24546         routines to a function.
24547
24548         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24549
24550         * libs/gst/controller/gsthelper.c:
24551         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24552         (gst_object_sync_values): Renamed from sink_values. Ugh.
24553
24554         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24555
24556         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24557         Renamed from controller_key, as it is exported.
24558
24559         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24560
24561 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24562
24563         * gst/Makefile.am:
24564         * gst/gst.h:
24565         * gst/gstpad.h:
24566         * gst/gstpadtemplate.h:
24567         * gst/gstquery.c:
24568         * gst/gstquery.h:
24569         * gst/gstqueryutils.c:
24570         * gst/gstqueryutils.h:
24571           remove queryutils headers after moving the two used functions
24572           to gstquery.  also fixes build problem for gstsiddec
24573
24574 2005-09-26  Michael Smith <msmith@fluendo.com>
24575
24576         * tools/gst-launch.1.in:
24577         Correct documentation in manpage of debug syntax
24578
24579 2005-09-26  Wim Taymans  <wim@fluendo.com>
24580
24581         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24582         (gst_base_src_is_seekable), (gst_base_src_change_state):
24583         Some more debugging info.
24584
24585 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24586
24587         * docs/gst/gstreamer-sections.txt:
24588         * gst/base/gstbasetransform.h:
24589         * gst/gstindex.h:
24590           added more docs
24591
24592 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24593
24594         * docs/gst/.cvsignore:
24595         * docs/gst/tmpl/.cvsignore:
24596         * docs/gst/tmpl/gstpipeline.sgml:
24597         * docs/gst/tmpl/gstplugin.sgml:
24598         * gst/gstpipeline.c:
24599         * gst/gstplugin.c:
24600         * gst/gstplugin.h:
24601           inlined the last two docs files
24602           removed the tmpl directory from cvs (no more conflicts here!)
24603
24604 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24605
24606         * docs/gst/gstreamer-sections.txt:
24607         * docs/gst/tmpl/.cvsignore:
24608         * docs/gst/tmpl/gstpad.sgml:
24609         * docs/gst/tmpl/gstpadtemplate.sgml:
24610         * gst/Makefile.am:
24611         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24612         (gst_pad_finalize), (gst_pad_set_pad_template):
24613         * gst/gstpad.h:
24614         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24615         (gst_pad_template_class_init), (gst_pad_template_init),
24616         (gst_pad_template_dispose), (name_is_valid),
24617         (gst_static_pad_template_get), (gst_pad_template_new),
24618         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24619         (gst_pad_template_pad_created):
24620         * gst/gstpadtemplate.h:
24621           inlined two more docs
24622           factored gstpadtemplate out of gstpad
24623
24624 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24625
24626         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24627         (test_children_state_change_order_semi_sink):
24628           Fix test case: we can't rely on a fixed state change order when
24629           going from READY => PAUSED because the sink might commit its 
24630           new state first when the first buffer created by the source 
24631           reaches the sink before the source has finished its change state.
24632           (Test case still fails at times, see #316856, comment 5 onwards)
24633
24634 2005-09-24  Wim Taymans  <wim@fluendo.com>
24635
24636         * docs/design/part-events.txt:
24637         * docs/design/part-gstbus.txt:
24638         * docs/design/part-gstpipeline.txt:
24639         * docs/design/part-messages.txt:
24640         * docs/design/part-overview.txt:
24641         * docs/design/part-segments.txt:
24642         * gst/gstbin.c:
24643         * gst/gstbuffer.c:
24644         * gst/gstclock.c:
24645         * gst/gstelement.c:
24646         * gst/gstevent.c:
24647         * gst/gstfilter.c:
24648         * gst/gstiterator.c:
24649         Various documentation updates.
24650
24651 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24652
24653         * gst/gstclock.h:
24654           Well, that's embarassing.  Luckily we weren't using
24655           GST_CLOCK_DIFF anywhere.
24656
24657 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24658
24659         * common/gtk-doc.mak:
24660           don't fail on building XML, FC4 slave shows a bunch of doc
24661           missing bits that I don't get
24662         * gst/gstpad.c:
24663         * gst/gstpipeline.c:
24664         * gst/gststructure.c:
24665           some doc updates
24666
24667 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24668
24669         * docs/design/part-gstbin.txt:
24670         * docs/design/part-gstbus.txt:
24671         * gst/gstbus.c:
24672           Add blurb about how the bus goes into flushing mode and
24673           drops all messages when its bin goes from READY into NULL 
24674           state.
24675
24676 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24677
24678         * docs/gst/gstreamer-sections.txt:
24679         * gst/gststructure.c: (gst_structure_get_clock_time):
24680         * gst/gststructure.h:
24681           add a method to get a GstClockTime out of a structure
24682
24683 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24684
24685         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24686         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24687           Added test to check state change order in bins (can still be made
24688           to fail here under heavy disk load; bails out with 'Push on pad
24689           fakesink:sink0, but it was not activated in push mode').
24690
24691         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24692           Fix state change order when there is only a semi sink (#316856)
24693
24694         * gst/gstbus.c: (gst_bus_class_init):
24695           Use _class_peek_parent(), not _class_ref(); fix docs to say
24696           'default main context' instead of 'mainloop' where that is
24697           what's meant.
24698
24699         * gst/gstelement.c: (gst_element_commit_state),
24700         (gst_element_set_state):
24701           Fix typos in debug messages
24702
24703 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24704
24705         * docs/README:
24706         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24707         * gst/gstpluginfeature.c:
24708         * gst/gstutils.c:
24709           various doc updates
24710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24711           change an assert into an error until it gets fixed properly
24712
24713 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24714
24715         * docs/gst/gstreamer-sections.txt:
24716         * docs/gst/tmpl/.cvsignore:
24717         * docs/gst/tmpl/gstelement.sgml:
24718         * docs/gst/tmpl/gstinfo.sgml:
24719         * docs/gst/tmpl/gstobject.sgml:
24720         * gst/gstelement.c:
24721         * gst/gstelement.h:
24722         * gst/gstinfo.c:
24723         * gst/gstinfo.h:
24724         * gst/gstobject.c: (gst_object_class_init):
24725         * gst/gstobject.h:
24726           inlined 3 more biiiig doc files and added some missing docs on the fly
24727
24728 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24729
24730         * check/gst/.cvsignore:
24731         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24732         * gst/gstregistryxml.c: (load_plugin),
24733         (gst_registry_xml_save_plugin):
24734           put back source in registry.  add checks for find_plugin.
24735         * testsuite/states/bin.c: (assert_state), (empty_bin),
24736         (test_adding_one_element), (main):
24737         * testsuite/states/locked.c: (main):
24738           some compile/run fixes
24739
24740 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24741
24742         * check/gst/gstvalue.c: (GST_START_TEST):
24743           fix leaks in the test itself
24744
24745 2005-09-22  Wim Taymans  <wim@fluendo.com>
24746
24747         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24748         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24749         (gst_base_sink_query):
24750         Prepare for more accurate position reporting and query
24751         handling.
24752
24753         * gst/gstelement.c: (gst_element_send_event),
24754         (gst_element_set_state):
24755         Add some comment.
24756
24757 2005-09-22  Wim Taymans  <wim@fluendo.com>
24758
24759         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24760         (gst_query_parse_segment):
24761         * gst/gstquery.h:
24762         More documentation.
24763         Add segment query for future use.
24764
24765 2005-09-22  Wim Taymans  <wim@fluendo.com>
24766
24767         * gst/gstbin.c: (gst_bin_add_func):
24768         Some more debug info.
24769
24770         * gst/gstelement.c: (gst_element_send_event):
24771         Simplify send_event
24772
24773         * gst/gstelement.h:
24774         Don't know how flags got broken.
24775
24776         * gst/gstquery.h:
24777         Added new query.
24778
24779 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24780
24781         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24782           Add simplistic test suite for GST_TYPE_DATE serialisation and
24783           deserialisation.
24784
24785 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24786
24787         * docs/gst/gstreamer-sections.txt:
24788         * gst/gststructure.c: (gst_structure_set_valist),
24789         (gst_structure_get_date):
24790         * gst/gststructure.h:
24791         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24792         (gst_date_copy), (gst_value_compare_date),
24793         (gst_value_serialize_date), (gst_value_deserialize_date),
24794         (gst_value_transform_date_string),
24795         (gst_value_transform_string_date), (_gst_value_initialize):
24796         * gst/gstvalue.h:
24797           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24798           bunch of utility functions along with a hack that checks that
24799           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24800           is required. Part of the grand scheme in #170777.
24801
24802 2005-09-22  Andy Wingo  <wingo@pobox.com>
24803
24804         * gst/gstconfig.h.in: Psych out gtk-doc.
24805
24806         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24807
24808         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24809
24810         * tools/gst-inspect.c (print_element_list): Plug some
24811         inconsequential leaks.
24812
24813         * gst/gstregistry.c (gst_registry_get_default): Doc.
24814
24815         * check/gst/gstplugin.c: 
24816         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24817         * gst/gstelementfactory.c (gst_element_factory_create): 
24818         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24819         refcount changes.
24820
24821         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24822         (gst_plugin_feature_load): Doc, don't eat refs.
24823
24824         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24825         (gst_plugin_list_free): Doc.
24826         (gst_plugin_load_file): Doc updates.
24827
24828         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24829         accessors returning refcounted objects, return a ref.
24830
24831         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24832         accessor for caps. IDEMPOTENCE. Oh yes.
24833
24834 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24835
24836         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24837
24838         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24839         (_gst_debug_register_funcptr):
24840           Add mutex to serialise access to the hash table with
24841           the function pointer => function name string mapping;
24842           make that hash table static scope (#316809).
24843
24844         * gst/registries/.cvsignore:
24845           Remove left-over file.
24846
24847 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24848
24849         * docs/pwg/appendix-porting.xml:
24850           And something about newsegment events and caps-on-buffers to
24851           the porting guide (feel free to improve).
24852
24853 2005-09-21  Andy Wingo  <wingo@pobox.com>
24854
24855         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24856         data and event probes on the same pad.
24857         (test_buffer_probe_once): Test that removing probes from within
24858         the probe functions works.
24859
24860 2005-09-21  Andy Wingo  <wingo@pobox.com>
24861
24862         * check/gst/gstutils.c: New file.
24863         (test_buffer_probe_n_times): A simple buffer probe test. More to
24864         come, foolios.
24865
24866         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24867         have-data::buffer, not have-data.
24868         (gst_pad_add_event_probe): Likewise for have-data::event.
24869         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24870         peer' isn't quite right yet though.
24871         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24872         (gst_pad_remove_data_probe): Change to take the guint handler_id
24873         as their arg, not the function+data, which is more glib-like.
24874
24875         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24876         the signal emission to indicate if the data is a buffer or an
24877         event.
24878         (gst_pad_get_type): Initialize buffer and event quarks.
24879         (gst_pad_class_init): have-data is now a detailed signal, yes it
24880         is.
24881
24882 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24883
24884         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24885         * gst/gstutils.c: (gst_util_set_value_from_string),
24886         (gst_util_set_object_arg):
24887           Don't put functional code in g_return_if_fail() or
24888           g_return_val_if_fail() statements, otherwise things will 
24889           break when G_DISABLE_CHECKS is defined during compilation.
24890
24891 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24892
24893         * docs/gst/tmpl/.cvsignore:
24894         * docs/gst/tmpl/gstvalue.sgml:
24895         * gst/gstvalue.c:
24896         * gst/gstvalue.h:
24897           inlied another one and added  some obvious docs
24898
24899 2005-09-21  Wim Taymans  <wim@fluendo.com>
24900
24901         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24902         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24903         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24904         (gst_fdsrc_get_property), (gst_fdsrc_create):
24905         * gst/elements/gstfdsrc.h:
24906         Properly implement fdsrc. Removed signal and timeout,
24907         better implemented somewhere else.
24908
24909 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24910
24911         * docs/gst/tmpl/.cvsignore:
24912         * docs/gst/tmpl/gstimplementsinterface.sgml:
24913         * gst/gstinterface.c:
24914           inlined more docs
24915
24916 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24917
24918         * docs/gst/gstreamer-sections.txt:
24919         * docs/gst/tmpl/.cvsignore:
24920         * docs/gst/tmpl/gstenumtypes.sgml:
24921           remove obsolete doc file
24922
24923 2005-09-21  David Schleef  <ds@schleef.org>
24924
24925         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24926         little beer, fix a little leak.
24927
24928 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24929
24930         * docs/gst/gstreamer-docs.sgml:
24931         * docs/gst/gstreamer-sections.txt:
24932         * docs/gst/tmpl/.cvsignore:
24933         * gst/Makefile.am:
24934         * gst/gst.h:
24935         * gst/gstbin.c:
24936         * gst/gstelement.h:
24937         * gst/gstindex.c: (gst_index_class_init):
24938         * gst/gstindex.h:
24939         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24940         (gst_index_factory_class_init), (gst_index_factory_init),
24941         (gst_index_factory_finalize), (gst_index_factory_new),
24942         (gst_index_factory_destroy), (gst_index_factory_find),
24943         (gst_index_factory_create), (gst_index_factory_make):
24944         * gst/gstindexfactory.h:
24945         * gst/gstpluginfeature.c:
24946         * gst/gstpluginfeature.h:
24947         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24948           more docs inlined, splitted gstindex.{c,h}
24949
24950 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24951
24952         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24953           fix a leak
24954
24955 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24956
24957         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24958           Set sync to FALSE by default.
24959
24960 2005-09-20  Wim Taymans  <wim@fluendo.com>
24961
24962         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24963         (gst_base_sink_init):
24964         Make sync property settable from subclass.
24965
24966         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24967         (gst_fake_sink_change_state):
24968         Set sync to FALSE by default.
24969
24970 2005-09-20  Wim Taymans  <wim@fluendo.com>
24971
24972         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24973         * tools/gst-launch.c: (main):
24974         The timeout handler should have lower priority than the source
24975         so we don't timeout before popping a message with 0 timeout.
24976         Dump error messages after failed state change.
24977
24978 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24979
24980         * tools/gst-inspect.c: (print_element_properties_info):
24981           Fix two typos.
24982
24983 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24984
24985         * check/gst/gstevent.c:
24986         * gst/elements/gstfakesink.c:
24987         * gst/elements/gstfakesink.h:
24988           remove the sync property from fakesink.
24989           has the side effect of setting sync TRUE
24990           for fakesink, which is a change.  Anyone who knows how
24991           to fix this nicely in a GObject-y way, feel free.
24992
24993 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24994
24995         * docs/gst/gstreamer-docs.sgml:
24996           remove probe refsection
24997
24998 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24999
25000         * check/Makefile.am:
25001           disable valgrinding the controller test again
25002         * docs/gst/gstreamer-sections.txt:
25003           update for api-changes
25004
25005 2005-09-20  Wim Taymans  <wim@fluendo.com>
25006
25007         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25008         (gst_base_sink_set_property), (gst_base_sink_get_property),
25009         (gst_base_sink_do_sync):
25010         * gst/base/gstbasesink.h:
25011         Added sync property to basesink to disable clock sync.
25012
25013 2005-09-20  Andy Wingo  <wingo@pobox.com>
25014
25015         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25016         eating the caller's refcount.
25017
25018         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25019         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25020         refcount.
25021
25022         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25023         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25024         of GLib 2.8 public, so we can know which refcount to check in
25025         tests.
25026
25027         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25028         (gst_object_init): Only set the gst refcount if we're going ahead
25029         with the refcount hack.
25030
25031 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25032
25033         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25034         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25035           more leaks plumbed, added more debug-logging
25036         * gst/gstmacros.h:
25037           whitespace fix
25038
25039 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25040
25041         * gst/gstmessage.c:
25042           remove include of gstmemchunk.h
25043
25044 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25045
25046         * gst/gstclock.c: (_gst_clock_id_free):
25047           Commit from the Political Party For More Atomic CVS Commits,
25048           so that people don't waste too much of their day fishing
25049           out obvious leaks out of massive commits.
25050           Oh, and fix a pretty damn obvious leak in the memchunk
25051           removal code.
25052
25053 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25054
25055         * check/Makefile.am:
25056         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25057           plug mem-leak, re-add to valgrindable tests
25058
25059 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25060
25061         * gst/gstplugin.h:
25062           unbreak the build for those who have chronic arthritis
25063           and typing "make check" is just too taxing on the hands
25064
25065 2005-09-20  Andy Wingo  <wingo@pobox.com>
25066
25067         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25068         really want it out, you should fix plugins at the same time.
25069
25070 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25071
25072         * configure.ac:
25073         * docs/gst/gstreamer-sections.txt:
25074         * gst/gstobject.c:
25075           added missing symbols to api docs
25076           disable ref-count hack if we have glib >= 2.8
25077
25078 2005-09-19  David Schleef  <ds@schleef.org>
25079
25080         * docs/gst/Makefile.am: Ignore a few more internal headers
25081         * docs/gst/gstreamer-docs.sgml: Remove old sections
25082         * docs/gst/gstreamer-sections.txt: Remove old sections
25083         * docs/gst/tmpl/gstobject.sgml: update
25084         * docs/gst/tmpl/gstplugin.sgml: update
25085         * docs/gst/tmpl/gstpluginfeature.sgml: update
25086         * docs/random/ds/0.9-suggested-changes: update.
25087         * gst/Makefile.am: remove memchunk and trashstack, since they're
25088           not used.
25089         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25090         * gst/gst.h: don't include some headers
25091         * gst/gstchildproxy.c: add gstmarshal.h
25092         * gst/gstclock.c: Don't use memchunks
25093         * gst/gstminiobject.c: Add some docs
25094         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25095         * gst/gstobject.h: same
25096         * gst/gstplugin.c: include gstmacros.h
25097         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25098         * gst/gstquery.c: don't use memchunks
25099         * gst/gstregistry.c: rename gst_registry_deinit()
25100         * gst/gstregistry.h: same
25101
25102 2005-09-19  David Schleef  <ds@schleef.org>
25103
25104         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25105         * docs/libs/gstreamer-libs-sections.txt:
25106         * docs/libs/tmpl/gstgetbits.sgml:
25107         * docs/libs/tmpl/gstputbits.sgml:
25108
25109 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25110
25111         * win32/gstenumtypes.c:
25112         * win32/gstenumtypes.h:
25113           Update.
25114
25115 2005-09-19  Wim Taymans  <wim@fluendo.com>
25116
25117         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25118         Automatically PAUSE and RESUME a pipeline when a flushing seek
25119         is performed.
25120
25121 2005-09-19  Andy Wingo  <wingo@pobox.com>
25122
25123         * gst/gstregistry.h: Spacing fixen.
25124
25125 2005-09-19  Wim Taymans  <wim@fluendo.com>
25126
25127         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25128         Handle state change failure more correctly.
25129
25130 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25131
25132         * check/Makefile.am:
25133         * check/pipelines/cleanup.c: (run_pipeline):
25134         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25135         (GST_START_TEST):
25136           enable cleanup again after fixing the leak
25137         * docs/README:
25138           some more info on docs
25139
25140 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25141
25142         * check/Makefile.am:
25143           re-enable tests now that leaks are plugged
25144         * check/gst/gst.c:
25145         * check/gst/gstbin.c:
25146         * check/gst/gstpipeline.c:
25147           add some more tests while fixing leaks
25148         * common/check.mak:
25149           make sure binaries are uptodate when valgrinding/gdbing
25150         * gst/gst.c:
25151         * gst/gstelementfactory.c:
25152           remove a ref too many, and add a FIXME for when we get
25153           round to disposing of classes
25154         * gst/gstplugin.c:
25155           fix the refcounting when loading a plugin from a file and
25156           the code pretends that the pointer is the same even though
25157           of course it can change
25158         * gst/gstpluginfeature.c:
25159           unref plugins marked cached (a bit confusing as a name)
25160           as the docs state should be done
25161           various doc additions to explain refcounting
25162         * gst/gstregistry.c:
25163         * gst/gstregistryxml.c:
25164           debugging
25165
25166 2005-09-19  Wim Taymans  <wim@fluendo.com>
25167
25168         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25169         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25170         (send_messages), (GST_START_TEST), (gstbus_suite):
25171         * check/gst/gstpipeline.c: (GST_START_TEST):
25172         * check/pipelines/cleanup.c: (run_pipeline):
25173         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25174         (GST_START_TEST):
25175         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25176         (gst_bus_source_check), (gst_bus_source_dispatch),
25177         (gst_bus_create_watch), (gst_bus_add_watch_full),
25178         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25179         * gst/gstbus.h:
25180         * tools/gst-launch.c: (event_loop):
25181         * tools/gst-md5sum.c: (event_loop):
25182         GstBusHandler -> GstBusFunc, return value has the same meaning as
25183         any other GSource (FALSE == remove source).
25184         _add_watch() and _add_watch_full() now take a MessageType mask to
25185         only handle specific types of messages.
25186         _poll() returns the GstMessage instead of the message type to avoid
25187         race conditions.
25188         _have_pending() takes a MessageType mask now too.
25189         Added testsuite for multiple bus watches.
25190         Fix testsuites and applications for new bus API.
25191
25192 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25193
25194         * check/Makefile.am:
25195           mark a bunch of the tests as to fix until we fix them
25196
25197 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25198
25199         * common/check.mak:
25200           use GST_PLUGIN settings for valgrind tests as well, so we're
25201           valgrinding the correct thing
25202         * gst/gst.c: (init_post):
25203           plug another leak
25204
25205 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25206
25207         * gst/gst.c: (init_post), (gst_deinit):
25208         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25209         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25210         * gst/gstindex.c: (gst_index_factory_class_init),
25211         (gst_index_factory_finalize):
25212         * gst/gstobject.c: (gst_object_dispose):
25213         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25214         (gst_plugin_load_file), (gst_plugin_desc_free):
25215         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25216         (gst_plugin_feature_finalize):
25217         * gst/gstregistry.c: (gst_registry_class_init),
25218         (gst_registry_init), (gst_registry_finalize),
25219         (gst_registry_get_default), (gst_registry_deinit):
25220         * gst/gstregistry.h:
25221         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25222           various cleanups and memleak plugging.  make valgrind is happy now.
25223
25224 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25225
25226         * common/check.mak:
25227           add a check-valgrind target
25228
25229 2005-09-18  David Schleef  <ds@schleef.org>
25230
25231         * tools/gst-inspect.c: Revert the GOption code.
25232
25233 2005-09-17  David Schleef  <ds@schleef.org>
25234
25235         * check/Makefile.am: Fix environment variables.
25236         * check/gst/gstplugin.c: Fix for API changes.
25237         * tools/gst-inspect.c: Fix for API changes.
25238         * tools/gst-xmlinspect.c: Fix for API changes.
25239         * gst/gstelementfactory.c:
25240         * gst/gstplugin.c:
25241         * gst/gstplugin.h:
25242         * gst/gstpluginfeature.c:
25243         * gst/gstpluginfeature.h:
25244         * gst/gstregistry.c:
25245         * gst/gstregistry.h:
25246         * gst/gstregistryxml.c:
25247         * gst/gsttypefind.c:
25248         * gst/gsttypefindfactory.c:
25249         * gst/indexers/gstfileindex.c:
25250         * gst/indexers/gstmemindex.c:
25251         * gst/schedulers/Makefile.am:
25252           Change registry to keep track of both plugins and features,
25253           removing the feature tracking from plugins themselves.
25254
25255 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25256
25257         * check/Makefile.am:
25258         * tools/gst-register.1.in:
25259           remove gst-register
25260
25261 2005-09-15  David Schleef  <ds@schleef.org>
25262
25263         * check/gst/gstplugin.c:
25264         * gst/gstelementfactory.c:
25265         * gst/gstplugin.c:
25266         * gst/gstpluginfeature.c:
25267         * gst/gstregistry.c:
25268           Getting tired of debugging.  Disabled all the unreffing of
25269           plugins and features, which fixes the segfaults, but of
25270           course leaks like crazy.  At least playbin works.
25271
25272 2005-09-15  David Schleef  <ds@schleef.org>
25273
25274         * check/gst/gstplugin.c: (register_check_elements),
25275         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25276         More testing
25277         * gst/elements/gsttypefindelement.c: Fix refcounting.
25278         * gst/gsttypefind.c:
25279         * gst/gsttypefindfactory.c:
25280         * gst/gsttypefindfactory.h:
25281
25282 2005-09-15  David Schleef  <ds@schleef.org>
25283
25284         * gst/gstindex.c: get refcounting correct.
25285         * gst/gstregistry.c: Handle the case where a feature/plugin is
25286           not found.
25287
25288 2005-09-15  David Schleef  <ds@schleef.org>
25289
25290         * check/Makefile.am:
25291         * check/gst/gstplugin.c: Add test
25292         * gst/gstplugin.c: Fix problems noticed by testsuite
25293         * gst/gstplugin.h:
25294         * gst/gstregistry.c: 
25295         * gst/gstregistry.h:
25296
25297 2005-09-15  David Schleef  <ds@schleef.org>
25298
25299         * gst/gstplugin.c: Implement semi-decent recounting and locking
25300           in plugins and plugin features.
25301         * gst/gstplugin.h:
25302         * gst/gstpluginfeature.c:
25303         * gst/gstpluginfeature.h:
25304         * gst/gstregistry.c:
25305
25306 2005-09-15  Michael Smith <msmith@fluendo.com>
25307
25308         * gst/gstregistry.c: (gst_registry_get_feature_list):
25309           Implement this. Makes oggdemux work; decodebin still broken.
25310
25311 2005-09-14  David Schleef  <ds@schleef.org>
25312
25313         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25314           #316076)
25315         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25316         * gst/check/Makefile.am:
25317         * libs/gst/controller/Makefile.am:
25318         * libs/gst/dataprotocol/Makefile.am:
25319
25320 2005-09-14  David Schleef  <ds@schleef.org>
25321
25322         * configure.ac: Remove getbits library.  Nothing uses it, and
25323           it should be in something like liboil if someone did want
25324           to use it.
25325         * libs/gst/Makefile.am:
25326         * libs/gst/getbits/Makefile.am:
25327         * libs/gst/getbits/gbtest.c:
25328         * libs/gst/getbits/getbits.c:
25329         * libs/gst/getbits/getbits.h:
25330         * libs/gst/getbits/gstgetbits_generic.c:
25331         * libs/gst/getbits/gstgetbits_i386.s:
25332         * libs/gst/getbits/gstgetbits_inl.h:
25333
25334 2005-09-14  David Schleef  <ds@schleef.org>
25335
25336         * gst/Makefile.am: Dist glib-compat.h
25337
25338 2005-09-14  David Schleef  <ds@schleef.org>
25339
25340         * configure.ac: Remove gst/registries, since it's no longer used.
25341         * gst/registries/Makefile.am:
25342         * gst/registries/gstlibxmlregistry.c:
25343         * gst/registries/gstlibxmlregistry.h:
25344         * gst/registries/gstxmlregistry.c:
25345         * gst/registries/gstxmlregistry.h:
25346         * gst/registries/registrytest.c:
25347
25348 2005-09-14  David Schleef  <ds@schleef.org>
25349
25350         * gst/glib-compat.h:
25351         * gst/gstregistryxml.c:
25352           Convergence is near.  Seriously.
25353
25354 2005-09-14  David Schleef  <ds@schleef.org>
25355
25356         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25357         * gst/glib-compat.h:
25358           Attempt #4 to appease the buildbots.
25359
25360 2005-09-14  David Schleef  <ds@schleef.org>
25361
25362         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25363           Attempt #3.
25364
25365 2005-09-14  David Schleef  <ds@schleef.org>
25366
25367         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25368         Attempt #2.
25369
25370 2005-09-14  David Schleef  <ds@schleef.org>
25371
25372         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25373           the new functions.
25374
25375 2005-09-14  David Schleef  <ds@schleef.org>
25376
25377         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25378         * gst/glib-compat.h: Add some functions that are in newer versions
25379           of glib than we care to require.
25380         * gst/gstregistryxml.c: Use them.
25381
25382 2005-09-14  David Schleef  <ds@schleef.org>
25383
25384         * po/POTFILES.in: remove gst-register.c
25385
25386 2005-09-14  David Schleef  <ds@schleef.org>
25387
25388         * docs/gst/gstreamer-docs.sgml:
25389         * docs/gst/gstreamer-sections.txt:
25390         * docs/gst/gstreamer.types:
25391         * docs/gst/tmpl/gstelement.sgml:
25392         * docs/gst/tmpl/gstplugin.sgml:
25393         * docs/gst/tmpl/gstpluginfeature.sgml:
25394           Documentation updates for registry changes.
25395
25396 2005-09-14  David Schleef  <ds@schleef.org>
25397
25398         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25399           because we don't require glib-2.8.
25400
25401 2005-09-14  David Schleef  <ds@schleef.org>
25402
25403         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25404           registries directory.
25405
25406 2005-09-14  David Schleef  <ds@schleef.org>
25407
25408         * check/Makefile.am:
25409         * check/generic/states.c:
25410         * gst/Makefile.am:
25411         * gst/gst.c:
25412         * gst/gst.h:
25413         * gst/gst_private.h:
25414         * gst/gstelementfactory.c:
25415         * gst/gstindex.c:
25416         * gst/gstinfo.c:
25417         * gst/gstplugin.c:
25418         * gst/gstplugin.h:
25419         * gst/gstpluginfeature.c:
25420         * gst/gstpluginfeature.h:
25421         * gst/gstregistry.c:
25422         * gst/gstregistry.h:
25423         * gst/gstregistrypool.c: remove
25424         * gst/gstregistrypool.h: remove
25425         * gst/gsttypefind.c:
25426         * gst/gsttypefindfactory.c:
25427         * gst/gsturi.c:
25428         * tools/Makefile.am:
25429         * tools/gst-compprep.c:
25430         * tools/gst-inspect.c:
25431         * tools/gst-register.c: remove
25432         * tools/gst-xmlinspect.c:
25433           Registry rewrite.  Changes registry from being a file created
25434           by a tool into a simple cache file created automatically by 
25435           libgstreamer.  Removed gst-register (because it's no longer
25436           needed).  Remove registry pools, because we only have one
25437           registry implementation (XML).  Fix up other subsystems as
25438           necessary.
25439
25440 2005-09-13  Michael Smith <msmith@fluendo.com>
25441
25442         * gst/gstconfig.h.in:
25443           Don't Use windows linking attributes for MinGW. Fixes #316157
25444
25445 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25446
25447         * gst/gstutils.c: (set_state_async_thread_func),
25448         (gst_element_set_state_async):
25449           Apparently people think it's better if this function doesn't
25450           try to set the state to whatever state was asked for on the first
25451           call to this function for any object.  Seriously.
25452
25453 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25454
25455         * check/gst/gstpipeline.c: (GST_START_TEST):
25456         * docs/gst/gstreamer-sections.txt:
25457         * gst/gstutils.c: (set_state_async_thread_func),
25458         (gst_element_set_state_async):
25459         * gst/gstutils.h:
25460           add a "gst_element_set_state_async" method that
25461           sets the state and starts a thread to make sure the state
25462           change completes as best as it can
25463
25464 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25465
25466         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25467           codify design+behaviour in testsuite after discussion
25468
25469 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25470
25471         * docs/gst/tmpl/gstelement.sgml:
25472         * docs/manual/appendix-quotes.xml:
25473           add a quote
25474         * gst/gstelement.c: (gst_element_set_state):
25475           add some debug
25476
25477 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25478
25479         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25480         (gst_base_transform_prepare_output_buf),
25481         (gst_base_transform_handle_buffer):
25482         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25483         (gst_capsfilter_prepare_buf):
25484           Remove the requirement for sub-classes to call the parent
25485           implementation of prepare_output_buffer with a wrapper function.
25486           
25487         * gst/gsttaglist.h:
25488         * gst/gsttagsetter.h:
25489           Fix #define wrapper
25490
25491 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25492
25493         * docs/gst/gstreamer-sections.txt:
25494           more doc cleanups
25495
25496 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25497
25498         * docs/gst/gstreamer-sections.txt:
25499         * docs/gst/tmpl/gstelement.sgml:
25500         * docs/gst/tmpl/gstplugin.sgml:
25501         * gst/gstminiobject.c:
25502         * gst/gstvalue.h:
25503           docs now stop throwing warnings
25504
25505 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25506
25507         * docs/gst/gstreamer-sections.txt:
25508         * docs/gst/gstreamer.types:
25509         * docs/gst/tmpl/gstpad.sgml:
25510         * docs/gst/tmpl/gsttypes.sgml:
25511         * gst/base/gstadapter.h:
25512         * gst/base/gstbasesink.h:
25513         * gst/base/gstbasesrc.h:
25514         * gst/gstbin.h:
25515         * gst/gstbuffer.h:
25516         * gst/gstbus.h:
25517         * gst/gstcaps.h:
25518         * gst/gstclock.h:
25519         * gst/gstelement.h:
25520         * gst/gstevent.h:
25521         * gst/gstmessage.h:
25522         * gst/gstpad.h:
25523         * gst/gststructure.c:
25524         * gst/registries/gstlibxmlregistry.h:
25525           various documentation fixes
25526
25527 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25528
25529         * docs/gst/gstreamer-sections.txt:
25530         * docs/gst/tmpl/gstvalue.sgml:
25531           rearrange gstvalue section
25532         * gst/gstutils.c: (gst_element_state_get_name):
25533           NONE -> VOID
25534         * gst/gstvalue.c: (_gst_value_initialize):
25535         * gst/gstvalue.h:
25536           doc updates
25537
25538 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25539
25540         * check/gst-libs/controller.c:
25541           Header include fix.
25542         * gst/base/gstbasetransform.c:
25543         (gst_base_transform_default_prepare_buf),
25544         (gst_base_transform_handle_buffer):
25545         * gst/base/gstbasetransform.h:
25546           Some more basetransform changes and fixes to enable sub-classes
25547           that modify buffer metadata only.
25548         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25549         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25550         (gst_capsfilter_prepare_buf):
25551           If the output pad has fixed allowed caps and input buffers 
25552           don't have any, set the fixed caps on outgoing buffers.
25553
25554 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25555         * check/elements/identity.c: (GST_START_TEST):
25556           Make the error a little clearer when the test fails because
25557           identity made a copy of the buffer.
25558         * docs/gst/gstreamer-sections.txt:
25559           New symbols in gstbasetransform.h
25560         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25561         (gst_base_transform_init), (gst_base_transform_transform_size),
25562         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25563         (gst_base_transform_default_prepare_buf),
25564         (gst_base_transform_get_unit_size),
25565         (gst_base_transform_buffer_alloc),
25566         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25567         (gst_base_transform_change_state),
25568         (gst_base_transform_set_passthrough),
25569         (gst_base_transform_set_in_place),
25570         (gst_base_transform_is_in_place):
25571         * gst/base/gstbasetransform.h:
25572           Change BaseTransform to separate in_place operate from same_caps
25573           output. in_place implies that the element can perform the transform
25574           on incoming buffers in-place, even if the caps on the output are
25575           different.
25576           Sub-class elements can now implement special buffer allocation
25577           methods for outgoing buffers if they wish to.
25578           Big documentation addition.
25579         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25580         * gst/elements/gstelements.c:
25581           Changes for basetransform modifications.
25582         * gst/elements/Makefile.am:
25583         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25584           Compile fix. Extra debug output.
25585
25586 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25587
25588         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25589         (gst_pad_suite):
25590           add tests for valid pad naming
25591         * gst/check/gstcheck.c: (gst_check_log_message_func),
25592         (gst_check_log_critical_func):
25593           add ASSERT_WARNING
25594           remove printing of code, it is fragile when the code contains
25595           % and the line number is enough info
25596         * gst/check/gstcheck.h:
25597         * gst/gstpad.c: (gst_pad_template_new):
25598           fix memleaks
25599
25600 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25601
25602         * configure.ac:
25603           say what CHECK flags we use
25604         * docs/libs/gstreamer-libs.types:
25605         * libs/gst/controller/Makefile.am:
25606         * libs/gst/controller/gst-controller.c:
25607         * libs/gst/controller/gst-controller.h:
25608         * libs/gst/controller/gst-helper.c:
25609         * libs/gst/controller/gst-interpolation.c:
25610         * libs/gst/controller/gstcontroller.c:
25611         * libs/gst/controller/gsthelper.c:
25612         * libs/gst/controller/gstinterpolation.c:
25613         * tools/gst-inspect.c: (print_plugin_info):
25614           we don't use dashes in header names
25615
25616 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25617
25618         * check/Makefile.am:
25619         * check/gst/.cvsignore:
25620         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25621         (gst_pipeline_suite), (main):
25622           adding a test for pipelines and state changes
25623         * gst/gstutils.c: (get_state_func):
25624           add some debugging
25625         * gstreamer.spec.in:
25626           fix up spec file
25627
25628 2005-09-08  Michael Smith <msmith@fluendo.com>
25629
25630         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25631         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25632         (gst_file_src_is_seekable), (gst_file_src_get_size),
25633         (gst_file_src_start):
25634         * gst/elements/gstfilesrc.h:
25635           Various fixes for unseekable, unmmapable, and non-normal files, so
25636           that fallback to read() rather than mmap() works.
25637         * gst/gstevent.c: (gst_event_new_newsegment):
25638           Allow newsegment events with segment_start == segment_end, as will
25639           correctly happen if you use filesrc on a zero-size file, for
25640           example.
25641
25642 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25643
25644         * gst/gstplugin.c: (gst_plugin_load_file):
25645           Call g_module_close when we don't load the module
25646
25647         * gst/registries/gstlibxmlregistry.c:
25648         (gst_xml_registry_get_property):
25649           Port leak fix from 0.8
25650
25651 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25652
25653         * docs/gst/gstreamer-docs.sgml:
25654         * docs/gst/tmpl/.cvsignore:
25655         * docs/gst/tmpl/gsttrace.sgml:
25656         * docs/gst/tmpl/gsttrashstack.sgml:
25657         * gst/Makefile.am:
25658         * gst/gst.h:
25659         * gst/gstelement.h:
25660         * gst/gstevent.h:
25661         * gst/gstmessage.c:
25662         * gst/gstmessage.h:
25663         * gst/gsttag.c:
25664         * gst/gsttag.h:
25665         * gst/gsttaginterface.c:
25666         * gst/gsttaginterface.h:
25667         * gst/gsttaglist.c:
25668         * gst/gsttaglist.h:
25669         * gst/gsttagsetter.c:
25670         * gst/gsttagsetter.h:
25671         * gst/gsttrace.c:
25672         * gst/gsttrace.h:
25673         * gst/gsttrashstack.c:
25674           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25675           inlined docs for gsttrace, gsttrashstack
25676
25677 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25678
25679         * gst/Makefile.am:
25680         * gst/elements/gstbufferstore.h:
25681         * gst/elements/gsttypefindelement.c:
25682         * gst/elements/gsttypefindelement.h:
25683         * gst/gst.h:
25684         * gst/gsttypefind.c:
25685         * gst/gsttypefind.h:
25686         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25687         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25688         (gst_type_find_factory_dispose),
25689         (gst_type_find_factory_unload_thyself),
25690         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25691         (gst_type_find_factory_get_caps),
25692         (gst_type_find_factory_get_extensions),
25693         (gst_type_find_factory_call_function):
25694         * gst/gsttypefindfactory.h:
25695         * gst/registries/gstlibxmlregistry.c:
25696         * gst/registries/gstxmlregistry.c:
25697           splitted gsttypefind into gsttypefind, gsttypefindfactory
25698
25699 2005-09-07  Andy Wingo  <wingo@pobox.com>
25700
25701         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25702         condition whereby the pad's task function is entered before the
25703         pad_mode variable was set.
25704
25705 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25706
25707         * gst/gstpad.c: (gst_pad_alloc_buffer):
25708           Catch misbehaving pad_alloc functions that don't
25709           set up caps and do it for them.
25710
25711 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25712
25713         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25714           test for pipe!=NULL
25715         * docs/gst/tmpl/.cvsignore:
25716         * docs/gst/tmpl/gstmemchunk.sgml:
25717         * docs/gst/tmpl/gstparse.sgml:
25718         * docs/gst/tmpl/gsttaglist.sgml:
25719         * docs/gst/tmpl/gsttagsetter.sgml:
25720         * docs/gst/tmpl/gsttypefind.sgml:
25721         * docs/gst/tmpl/gsttypefindfactory.sgml:
25722         * gst/gstmemchunk.c:
25723         * gst/gstparse.c:
25724         * gst/gsttag.c:
25725         * gst/gsttaginterface.c:
25726         * gst/gsttypefind.c:
25727         * gst/gsttypefind.h:
25728           inlined more docs
25729
25730 === release 0.9.2 ===
25731
25732 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25733
25734         * NEWS:
25735         * RELEASE:
25736         * configure.ac:
25737           releasing 0.9.2, "South"
25738
25739 2005-09-05  Andy Wingo  <wingo@pobox.com>
25740
25741         * gst/registries/gstxmlregistry.h:
25742         * gst/registries/gstxmlregistry.c: Um... resurrect...
25743         
25744         * gst/registries/gstxmlregistry.h:
25745         * gst/registries/gstxmlregistry.c: and update to newer API.
25746         Incidentally they should be a bit faster now that they don't have
25747         to parse the caps.
25748         
25749 2005-09-05  Andy Wingo  <wingo@pobox.com>
25750
25751         * gst/registries/gstxmlregistry.h:
25752         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25753         replaced by the libxml registry a while back
25754
25755 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25756
25757         * docs/gst/tmpl/gstplugin.sgml:
25758         * gst/elements/gstelements.c:
25759         * gst/gst.c:
25760         * gst/gstplugin.c: (gst_plugin_register_func),
25761         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25762         (gst_plugin_get_source):
25763         * gst/gstplugin.h:
25764         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25765         (gst_xml_registry_save_plugin):
25766         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25767         (gst_xml_registry_save_plugin):
25768         * tools/gst-inspect.c: (print_plugin_info):
25769           add a "source" plugin description field, to represent the source
25770           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25771           will set it to PACKAGE, which is automake's idea of the name of
25772           the source project.
25773
25774 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25775
25776         * Makefile.am:
25777         * autogen.sh:
25778         * configure.ac:
25779         * docs/Makefile.am:
25780         * docs/faq/Makefile.am:
25781         * docs/gst/tmpl/gstelement.sgml:
25782         * docs/gst/tmpl/gsttypes.sgml:
25783         * docs/htmlinstall.mak:
25784         * docs/manual/Makefile.am:
25785         * docs/pwg/Makefile.am:
25786           reorganize doc build a little
25787           split out docbook and gtk-doc stuff
25788           have two separate --enable's and enable them through autogen
25789           but disable by default in configure (to be similar to other
25790           projects)
25791         * gstreamer.spec.in:
25792           clean up docs install
25793         * po/af.po:
25794         * po/az.po:
25795         * po/ca.po:
25796         * po/cs.po:
25797         * po/de.po:
25798         * po/en_GB.po:
25799         * po/fr.po:
25800         * po/it.po:
25801         * po/nb.po:
25802         * po/nl.po:
25803         * po/ru.po:
25804         * po/sq.po:
25805         * po/sr.po:
25806         * po/sv.po:
25807         * po/tr.po:
25808         * po/uk.po:
25809         * po/vi.po:
25810           translation updates
25811
25812 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25813
25814         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25815           Add comment.
25816           
25817         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25818         (gst_fake_sink_change_state):
25819           Make state change function thread-safe.
25820           
25821         * gst/gstpad.c: (gst_pad_alloc_buffer):
25822           Set offset on generic buffer allocated by fallback.
25823
25824 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25825
25826         * docs/gst/gstreamer-sections.txt:
25827         * docs/gst/tmpl/gstelement.sgml:
25828         * gst/gstpad.c:
25829         * libs/gst/controller/gst-controller.c:
25830         (gst_controlled_property_set_interpolation_mode),
25831         (gst_controlled_property_new),
25832         (gst_controller_find_controlled_property):
25833          run the wingo-magic script against the docs
25834
25835 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25836
25837         * docs/gst/gstreamer-docs.sgml:
25838         * docs/gst/gstreamer-sections.txt:
25839         * docs/gst/tmpl/.cvsignore:
25840         * docs/gst/tmpl/gstelementdetails.sgml:
25841         * docs/gst/tmpl/gstelementfactory.sgml:
25842         * gst/gst.c:
25843         * gst/gstbus.c:
25844         * gst/gstelementfactory.c:
25845         * gst/gstelementfactory.h:
25846           merged elementdetails docs into elementfactory docs
25847           inlined both
25848
25849 2005-09-02  Andy Wingo  <wingo@pobox.com>
25850
25851         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25852         consider this enum an enum and not a flags.
25853
25854 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25855
25856         * docs/gst/gstreamer-docs.sgml:
25857         * docs/gst/tmpl/.cvsignore:
25858         * docs/gst/tmpl/gstghostpad.sgml:
25859         * docs/gst/tmpl/gstiterator.sgml:
25860         * docs/gst/tmpl/gstmacros.sgml:
25861         * docs/gst/tmpl/gstrealpad.sgml:
25862         * docs/gst/tmpl/gstregistry.sgml:
25863         * docs/gst/tmpl/gstregistrypool.sgml:
25864         * docs/gst/tmpl/gststructure.sgml:
25865         * docs/gst/tmpl/gstsystemclock.sgml:
25866         * docs/gst/tmpl/gsttrace.sgml:
25867         * gst/gstghostpad.c:
25868         * gst/gstmacros.h:
25869         * gst/gstmemchunk.c:
25870         * gst/gstmemchunk.h:
25871         * gst/gstqueue.c:
25872         * gst/gstregistry.c:
25873         * gst/gstregistrypool.c:
25874         * gst/gststructure.c:
25875         * gst/gstsystemclock.c:
25876           more docs inlined
25877
25878 2005-09-02  Andy Wingo  <wingo@pobox.com>
25879
25880         * gst/gstelement.h (GstState): Renamed from GstElementState,
25881         changed to be a normal enum instead of flags.
25882         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25883         munged to be GST_STATE_CHANGE_*.
25884         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25885         work with the new state representation.
25886         (GstStateChange): New enumeration of possible state transitions.
25887         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25888         (GstElementClass::change_state): Pass the GstStateChange along as
25889         an argument. Helps language bindings, so they don't have to use
25890         tricky lock-needing macros like GST_STATE_CHANGE ().
25891
25892         * scripts/update-states (file): New script. Run it on a file to
25893         update it for state naming and API changes. Updates files in
25894         place.
25895
25896         * All files updated for the new API.
25897
25898 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25899
25900         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25901         * gst/gstutils.c: (gst_util_set_value_from_string),
25902         (gst_util_set_object_arg):
25903           fix a bunch of unchecked return values
25904         * tools/gst-complete.c: (main):
25905         * gstreamer.spec.in:
25906           clean up a little
25907
25908 2005-09-01  Wim Taymans  <wim@fluendo.com>
25909
25910         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25911         (gst_base_sink_event), (gst_base_sink_do_sync),
25912         (gst_base_sink_handle_event):
25913         * gst/base/gstbasesink.h:
25914         Handle newsegments more correctly.
25915
25916         * gst/gstbus.c:
25917         Fix docs.
25918
25919         * gst/gstevent.c: (gst_event_new_newsegment):
25920         A newsegment cannot have a start_time of -1
25921
25922 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25923
25924         * win32/gstenumtypes.c:
25925         * win32/gstenumtypes.h:
25926           Update
25927
25928 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25929
25930         * libs/gst/controller/gst-controller.c:
25931         (gst_controlled_property_set_interpolation_mode),
25932         (gst_controlled_property_new):
25933          fixed boolean again
25934
25935 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25936
25937         * docs/faq/gst-uninstalled:
25938           add -good
25939         * gst/gstevent.c:
25940         * gst/gstevent.h:
25941           remove wrong docs
25942         * gst/gstutils.c: (gst_element_link_filtered):
25943         * gst/gstutils.h:
25944           add gst_element_link_filtered
25945
25946 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25947
25948         * docs/gst/gstreamer-docs.sgml:
25949         * docs/gst/gstreamer-sections.txt:
25950         * docs/gst/tmpl/.cvsignore:
25951         * docs/gst/tmpl/gsterror.sgml:
25952         * docs/gst/tmpl/gstfilter.sgml:
25953         * docs/gst/tmpl/gsturihandler.sgml:
25954         * docs/gst/tmpl/gsturitype.sgml:
25955         * docs/gst/tmpl/gstutils.sgml:
25956         * docs/gst/tmpl/gstxml.sgml:
25957         * gst/gsterror.c:
25958         * gst/gsterror.h:
25959         * gst/gstfilter.c:
25960         * gst/gsturi.c:
25961         * gst/gsturitype.c:
25962         * gst/gstutils.c:
25963         * gst/gstxml.c:
25964           inlined more docs, fixed double id-ref
25965
25966 2005-08-31  Wim Taymans  <wim@fluendo.com>
25967
25968         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25969         (gst_base_transform_handle_buffer):
25970         Passthrough elements don't need the caps as they don't care.
25971
25972 2005-08-31  Wim Taymans  <wim@fluendo.com>
25973
25974         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25975         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25976         Don't leak refcounts on buffers.
25977
25978 2005-08-31  Wim Taymans  <wim@fluendo.com>
25979
25980         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25981         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25982         (gst_base_transform_chain), (gst_base_transform_change_state):
25983         * gst/base/gstbasetransform.h:
25984         Handle the case where we are not negotiated more gracefully.
25985
25986 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25987
25988         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25989         (gst_file_src_map_region):
25990           Set READONLY flag on mmap'ed buffers, otherwise
25991           gst_buffer_make_writable() won't work properly (#314708).
25992
25993 2005-08-31  Wim Taymans  <wim@fluendo.com>
25994
25995         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25996         passthrough elements can even do inplace on non writable
25997         buffers (as they don't touch them).
25998
25999 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26000
26001         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26002         (gst_test_mono_source_set_property),
26003         (gst_test_mono_source_class_init), (GST_START_TEST),
26004         (gst_controller_suite):
26005           more tests (hehe I have the most)
26006         * gst/gstbus.c:
26007           describe popping messages whenusing mulltiple sources
26008         * libs/gst/controller/gst-controller.c:
26009         (gst_controlled_property_set_interpolation_mode),
26010         (gst_controlled_property_new):
26011         * libs/gst/controller/gst-controller.h:
26012         * libs/gst/controller/gst-interpolation.c:
26013           implement boolean properties
26014
26015 2005-08-31  Wim Taymans  <wim@fluendo.com>
26016
26017         * gst/gstminiobject.c: (gst_mini_object_ref):
26018         Cannot assert that the refcount has to be positive
26019         since a disposed object can be resurrected.
26020
26021 2005-08-31  Wim Taymans  <wim@fluendo.com>
26022
26023         * gst/gstpad.c: (gst_pad_init):
26024         Revert change, need to first fix badly behaving 
26025         apps.
26026
26027 2005-08-30  Wim Taymans  <wim@fluendo.com>
26028
26029         * check/elements/fakesrc.c: (setup_fakesrc):
26030         * check/elements/identity.c: (setup_identity):
26031         Activate pads before using them.
26032
26033 2005-08-30  Wim Taymans  <wim@fluendo.com>
26034
26035         * gst/base/gstadapter.c: (gst_adapter_flush):
26036         Flushing out 0 bytes is ok for this function.
26037
26038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26039         no newsegment gives a warning and sets the start/stop to 
26040         invalid.
26041
26042         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26043         (gst_base_transform_set_passthrough):
26044         Some debug info.
26045
26046         * gst/gstminiobject.c: (gst_mini_object_ref):
26047         Check refcount here too.
26048
26049         * gst/gstpad.c: (gst_pad_init):
26050         Pads are initially flushing and refusing data.
26051
26052         * gst/gstutils.c: (gst_element_link_pads_filtered):
26053         When adding a capsfilter element make sure it has the
26054         same state as the parent bin.
26055
26056 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26057
26058         * docs/gst/tmpl/.cvsignore:
26059         * docs/gst/tmpl/gstformat.sgml:
26060         * docs/gst/tmpl/gstversion.sgml:
26061         * gst/gstbus.h:
26062         * gst/gstformat.c:
26063         * gst/gstformat.h:
26064         * gst/gstversion.h.in:
26065           more docs and two more inlined
26066
26067 2005-08-30  Wim Taymans  <wim@fluendo.com>
26068
26069         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26070         Don't sync to clock.
26071
26072 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26073
26074         * docs/gst/gstreamer-sections.txt:
26075           ultral33t func10ns deserve to appear in the docs actually
26076         * docs/gst/tmpl/.cvsignore:
26077         * docs/gst/tmpl/gstcompat.sgml:
26078         * docs/gst/tmpl/gstconfig.sgml:
26079         * gst/check/gstcheck.c:
26080         * gst/gstcompat.h:
26081         * gst/gstconfig.h.in:
26082           inlined more docs
26083
26084 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26085
26086         * docs/gst/tmpl/.cvsignore:
26087         * docs/gst/tmpl/gstquery.sgml:
26088         * docs/gst/tmpl/gstutils.sgml:
26089         * gst/gstquery.c:
26090         * gst/gstquery.h:
26091           inlined and extended docs
26092
26093 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26094
26095         * check/gst-libs/controller.c: (GST_START_TEST),
26096         (gst_controller_suite):
26097           more tests
26098         * docs/gst/tmpl/gstutils.sgml:
26099         * docs/libs/gstreamer-libs-sections.txt:
26100         * docs/libs/tmpl/gstdataprotocol.sgml:
26101           include path fixes
26102         * examples/controller/audio-example.c: (main):
26103           controller example works now
26104         * gst/gstclock.h:
26105           doc fixes
26106         * tools/gst-inspect.c: (print_element_properties_info):
26107           show param spec flags
26108
26109 2005-08-29  Andy Wingo  <wingo@pobox.com>
26110
26111         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26112
26113 2005-08-28  Andy Wingo  <wingo@pobox.com>
26114
26115         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26116         as having two arguments instead of just one. Allows superclasses
26117         to access information on subclasses -- see the terrible for() loop
26118         in gtype.c:g_type_create_instance for the reason why. All callers
26119         changed.
26120
26121 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26122
26123         * docs/design/part-messages.txt:
26124           update info
26125         * docs/gst/tmpl/.cvsignore:
26126         * docs/gst/tmpl/gstcaps.sgml:
26127         * docs/gst/tmpl/gstclock.sgml:
26128         * gst/gstbus.c:
26129         * gst/gstcaps.c:
26130         * gst/gstcaps.h:
26131         * gst/gstclock.c:
26132         * gst/gstclock.h:
26133         * gst/gstmessage.c:
26134           added descriptions for bus and message
26135           inline caps and clock docs
26136
26137 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26138
26139         * gst/gstmessage.c:
26140         * gst/gstmessage.h:
26141           doc fixes
26142
26143 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26144
26145         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26146           fix div-by-zero
26147
26148 2005-08-26  Andy Wingo  <wingo@pobox.com>
26149
26150         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26151         element_set_state's return val.
26152         (test_2_elements): Add test that's been disabled for months.
26153
26154         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26155         can-activate-pull properties.
26156
26157         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26158         can-activate-pull properties. Implement is_seekable so fakesrc can
26159         operate in pull mode.
26160
26161         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26162         properties.
26163         (gst_base_sink_activate, gst_base_sink_activate_pull)
26164         (gst_base_sink_activate_push): Make activation mode choosing work.
26165         Cleanups.
26166         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26167         is right. Make pull mode work. Post an eos before pausing in pull
26168         mode.
26169         (gst_base_sink_change_state): Pay attention to the core's
26170         change_state() return val.
26171         
26172         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26173         has-getrange properties. Cleanups.
26174         
26175         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26176         has_getrange and replace with can_activate_pull and
26177         can_activate_push.
26178
26179         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26180         locking comments. Remove has_loop, has_chain and replace with
26181         can_activate_pull and can_activate_push.
26182
26183 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26184
26185         * configure.ac:
26186         * examples/Makefile.am:
26187         * examples/metadata/Makefile.am:
26188         * examples/metadata/read-metadata.c: (message_loop),
26189         (have_pad_handler), (make_pipeline), (print_tag), (main):
26190           Add metadata reading example that loops over a list of filenames,
26191           dumping any tags found.
26192
26193         * gst/gstbus.c: (gst_bus_dispose):
26194         * gst/gstelement.c: (gst_element_dispose):
26195           Release a few potentially-held references in dispose.
26196
26197 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26198
26199         * docs/gst/tmpl/gstminiobject.sgml:
26200           do *not* add tmpl/*.sgml files to CVS!
26201
26202 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26203
26204         * libs/gst/bytestream/.cvsignore:
26205         * libs/gst/bytestream/Makefile.am:
26206         * libs/gst/bytestream/adapter.c:
26207         * libs/gst/bytestream/adapter.h:
26208         * libs/gst/bytestream/bytestream.c:
26209         * libs/gst/bytestream/bytestream.h:
26210         * libs/gst/bytestream/filepad.c:
26211         * libs/gst/bytestream/filepad.h:
26212           removing obsolete files
26213
26214 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26215
26216         * docs/gst/gstreamer-docs.sgml:
26217         * docs/libs/gstreamer-libs-docs.sgml:
26218           disabed additional index entries again, as this makes docs-gen just
26219           slow and they aren't useful yet
26220         * docs/libs/gstreamer-libs-sections.txt:
26221           little -section.txt cleanup for libs
26222
26223 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26224
26225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26226         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26227           fix up some debugging
26228         (gst_base_transform_get_unit_size),
26229         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26230         (gst_base_transform_handle_buffer):
26231         * gst/base/gstbasetransform.h:
26232           handle and store timed NEWSEGMENT events so that subclasses that
26233           calculate time by counting samples have a segment_start time they
26234           need to add to their timestamps - see audioresample
26235
26236 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26237
26238         * gst/gstbin.h:
26239           removed ';' from the end of macro defs
26240         * docs/gst/gstreamer-docs.sgml:
26241         * docs/gst/gstreamer-sections.txt:
26242         * docs/gst/tmpl/.cvsignore:
26243         * gst/gstbus.h:
26244         * gst/gstelement.c: (gst_element_class_init),
26245         (gst_element_set_state), (activate_pads),
26246         (gst_element_save_thyself):
26247         * gst/gstevent.c: (gst_event_new_newsegment):
26248         * gst/gstevent.h:
26249         * gst/gstiterator.c:
26250         * gst/gstiterator.h:
26251         * gst/gstpad.c:
26252         * gst/gstprobe.h:
26253         * gst/gstutils.c: (gst_pad_query_convert):
26254         * gst/gstutils.h:
26255           fixed parameter name mismatches between source, header and docs
26256           added some more docs, resolved the last batch of unused elements in
26257           docs (now someone needs to doc them)
26258
26259 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26260
26261         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26262         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26263           don't walk through the plugins backwards.  Where is all this
26264           reversed logic coming from ?
26265
26266 2005-08-25  Wim Taymans  <wim@fluendo.com>
26267
26268         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26269         (gst_base_transform_transform_size),
26270         (gst_base_transform_configure_caps),
26271         (gst_base_transform_get_unit_size),
26272         (gst_base_transform_buffer_alloc),
26273         (gst_base_transform_change_state):
26274         * gst/base/gstbasetransform.h:
26275         Cache caps unit_size.
26276         Make sure we cannot negotiate up and downstream at the
26277         same time.
26278
26279 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26280
26281         * gst/gst.c: (init_pre), (init_post):
26282           register the installed plugin path after the env var
26283         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26284         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26285           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26286           directories, so the tests can prefer uninstalled over installed
26287
26288 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26289
26290         * gst/base/gstbasetransform.h:
26291           comment
26292         * gst/gstpad.c:
26293           add to docs
26294
26295 2005-08-25  Wim Taymans  <wim@fluendo.com>
26296
26297         * gst/gstbin.c: (bin_bus_handler):
26298         Be a bit more conservative about the posted message.
26299         
26300         * gst/gstbus.c: (gst_bus_post):
26301         Some cleanups, warn wrong return values.
26302
26303 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26304
26305         * check/gst/gstbin.c: (GST_START_TEST):
26306         * gst/gstbin.c: (bin_bus_handler):
26307         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26308         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26309         (gst_message_new_warning), (gst_message_new_tag),
26310         (gst_message_new_state_changed), (gst_message_new_segment_start),
26311         (gst_message_new_segment_done), (gst_message_new_custom):
26312         * gst/gstmessage.h:
26313         * tools/gst-launch.c: (event_loop):
26314         * tools/gst-md5sum.c: (event_loop):
26315           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26316
26317 2005-08-25  Wim Taymans  <wim@fluendo.com>
26318
26319         * check/generic/states.c: (GST_START_TEST):
26320         Cleanup can be done at the end.
26321
26322         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26323         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26324         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26325         Oh boy.. Thanks for finding this, Thomas. 
26326
26327 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26328
26329         * docs/gst/gstreamer.types:
26330           added missing types
26331
26332 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26333
26334         * docs/gst/gstreamer-docs.sgml:
26335         * docs/gst/gstreamer-sections.txt:
26336         * docs/gst/tmpl/.cvsignore:
26337         * gst/gstbin.c:
26338         * gst/gstiterator.c:
26339         * gst/gstutils.c:
26340         * gst/registries/gstxmlregistry.h:
26341           added missing classes and symbols (123 more to go)
26342           removed removed symbols from section file
26343           fixed many doc-comments
26344
26345 2005-08-24  Wim Taymans  <wim@fluendo.com>
26346
26347         * check/generic/states.c: (GST_START_TEST):
26348         Make sure all tasks are stopped.
26349
26350         * check/gst/gstbin.c: (GST_START_TEST):
26351         Unref after usage for proper valgrinding.
26352
26353         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26354         Really wait for the task to stop before destroying the
26355         mutex.
26356
26357         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26358         (gst_queue_src_activate_push):
26359         Small cleanups. Don't stop the task when we did not start
26360         it.
26361
26362         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26363         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26364         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26365         (gst_task_join):
26366         * gst/gsttask.h:
26367         Protect the stream lock with the object lock.
26368         Disallow setting the stream lock when running.
26369         Add cleanup_all to wait for the threadpool to finish.
26370         Remove code to autoallocate a mutex if none was provided.
26371         Add _join() to wait for a task to stop.
26372         Protect the thread pool with a global lock.
26373
26374 2005-08-24  Wim Taymans  <wim@fluendo.com>
26375
26376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26377         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26378         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26379         * gst/base/gstbasesink.h:
26380         Handle newsegment events correctly.
26381         Drop buffers out of the segment range.
26382
26383 2005-08-22  Andy Wingo  <wingo@pobox.com>
26384
26385         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26386         macro, implements an interface and gstimplementsinterface for a
26387         new type.
26388
26389 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26390
26391         * check/Makefile.am:
26392         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26393           add a test that does a bunch of state changes on elements
26394           needs some fixing for valgrind
26395         * check/states/sinks.c: (gst_object_suite):
26396           whitespace
26397         * gst/gstcaps.h:
26398           add prototype for gst_caps_is_equal_fixed
26399         * gst/gstplugin.c:
26400         * gst/gstregistrypool.c:
26401           doc fixes
26402
26403 2005-08-24  Andy Wingo  <wingo@pobox.com>
26404
26405         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26406         convert a negative value. Doesn't make much sense. Mostly this is
26407         here to force callers to ensure -1 maps to -1.
26408
26409 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26410
26411         * docs/pwg/advanced-types.xml:
26412           Well done to Michael for catching my deliberate introduction
26413           of this spelling mistake. 
26414         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26415         * gst/gstelement.h:
26416           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26417           unlink pads before removing the element from the bin.
26418
26419 2005-08-24  Andy Wingo  <wingo@pobox.com>
26420
26421         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26422         the same thing as GST_DEBUG=*:4.
26423         (parse_debug_level, parse_debug_category): New helper parsers.
26424
26425 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26426
26427         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26428         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26429         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26430         (gst_base_transform_buffer_alloc),
26431         (gst_base_transform_handle_buffer):
26432           use gboolean return values and pointers to size so we can use the
26433           full GST_BUFFER_SIZE range (guint) for buffer sizes
26434           use GstPadDirection for transform_caps
26435         * gst/base/gstbasetransform.h:
26436           rename get_size to get_unit_size since that's what it is
26437         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26438           use GstPadDirection for transform_caps
26439         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26440         * gst/gstutils.h:
26441           cleanup and debugging
26442
26443 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26444
26445         * gst/gstelement.c: (gst_element_class_init),
26446         (gst_element_set_state), (activate_pads),
26447         (gst_element_save_thyself):
26448         * tools/gst-compprep.c: (main):
26449         * tools/gst-inspect.c: (print_element_properties_info):
26450         * tools/gst-xmlinspect.c: (print_element_properties):
26451           Fixed long standing mem-leak
26452
26453 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26454
26455         * check/gst/gstbin.c: (GST_START_TEST):
26456         * gst/gstbin.c: (bin_bus_handler):
26457         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26458         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26459         (gst_message_new_warning), (gst_message_new_tag),
26460         (gst_message_new_state_changed), (gst_message_new_segment_start),
26461         (gst_message_new_segment_done), (gst_message_new_custom):
26462         * gst/gstmessage.h:
26463         * tools/gst-launch.c: (event_loop):
26464         * tools/gst-md5sum.c: (event_loop):
26465           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26466           that applications can sensibly post custom messages with references
26467           to their own objects.
26468
26469 2005-08-24  Andy Wingo  <wingo@pobox.com>
26470
26471         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26472         already.
26473
26474 2005-08-24  Wim Taymans  <wim@fluendo.com>
26475
26476         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26477         (gst_base_transform_transform_caps),
26478         (gst_base_transform_transform_size),
26479         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26480         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26481         (gst_base_transform_handle_buffer):
26482         * gst/base/gstbasetransform.h:
26483         Many fixes and new features added by Thomas. Can now also do
26484         transforms with variable sizes and a custom fixate_caps function.
26485
26486 2005-08-24  Wim Taymans  <wim@fluendo.com>
26487
26488         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26489         Some debugging.
26490
26491         * gst/gstclock.h:
26492         Cast to ClockTime before formatting to time.
26493
26494         * gst/gstutils.h:
26495         Cleanups.
26496
26497 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26498
26499         * check/gst-libs/controller.c: (GST_START_TEST),
26500         (gst_controller_suite):
26501         * docs/gst/tmpl/gstcaps.sgml:
26502         * docs/gst/tmpl/gstghostpad.sgml:
26503         * docs/gst/tmpl/gstquery.sgml:
26504         * docs/gst/tmpl/gstutils.sgml:
26505         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26506         (gst_object_sink_values), (gst_object_get_value_arrays),
26507         (gst_object_get_value_array):
26508           gracefully handle helper method calls to objects that are not beeing
26509           controlled, added test case for that          
26510
26511 2005-08-23  Wim Taymans  <wim@fluendo.com>
26512
26513         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26514         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26515         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26516         (gst_event_parse_qos), (gst_event_new_seek),
26517         (gst_event_parse_seek):
26518         * gst/gstevent.h:
26519         Some more debugging output and doc cleanups.
26520
26521         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26522         Fix possible deadlock.
26523
26524 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26525
26526         * docs/gst/gstreamer-docs.sgml:
26527         * docs/gst/gstreamer-sections.txt:
26528         * docs/gst/gstreamer.types:
26529         * docs/gst/tmpl/.cvsignore:
26530         * gst/gstbin.h:
26531         * gst/gstbus.c:
26532         * gst/gstelement.c:
26533         * gst/gstevent.h:
26534           added 100 symbols from gstreamer-unused.txt to the right sections
26535           fixed more broken comments
26536           added GstBus to docs
26537
26538 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26539
26540         * docs/gst/gstreamer-sections.txt:
26541         * docs/gst/tmpl/.cvsignore:
26542         * docs/gst/tmpl/gstbin.sgml:
26543         * docs/gst/tmpl/gstbuffer.sgml:
26544         * gst/base/gstbasesrc.c:
26545         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26546         * gst/gstbuffer.c:
26547         * gst/gstbuffer.h:
26548         * tools/gst-launch.1.in:
26549           inlined more doc comments, added missing comments and fixed comments
26550           fixed typos
26551
26552 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26553
26554         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26555           some debugging
26556         * gst/gstcaps.h:
26557           whitespace fixes
26558         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26559           more debugging
26560         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26561         * gst/gststructure.h:
26562           add a fixate function for booleans; add a FIXME that these func
26563           names should probably be gst_structure_fixate_*
26564
26565 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26566
26567         * docs/gst/gstreamer-docs.sgml:
26568         * docs/gst/gstreamer-sections.txt:
26569         * gst/Makefile.am:
26570         * gst/gstbin.c: (gst_bin_get_type),
26571         (gst_bin_child_proxy_get_child_by_index),
26572         (gst_bin_child_proxy_get_children_count),
26573         (gst_bin_child_proxy_init):
26574         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26575         (gst_child_proxy_get_child_by_index),
26576         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26577         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26578         (gst_child_proxy_get), (gst_child_proxy_set_property),
26579         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26580         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26581         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26582         * gst/gstchildproxy.h:
26583         * gst/parse/grammar.y:
26584         * tools/gst-inspect.c: (print_interfaces),
26585         (print_element_properties_info), (print_element_info):
26586           ported gstchildproxy over from 0.8
26587           ported gst-inspect fixes and enhancements over from 0.8
26588
26589 2005-08-22  Wim Taymans  <wim@fluendo.com>
26590
26591         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26592         (gst_base_transform_handle_buffer):
26593         Also call the transform function if we have ANY caps.
26594
26595         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26596         Fix debug info.
26597
26598 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26599
26600         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26601           Don't pretend to handle seek events if the source is not seekable
26602
26603 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26604
26605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26606           Remove extra parameter to debug output
26607
26608         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26609         (gst_base_src_do_seek), (gst_base_src_activate_push):
26610           Fix seek event handling.
26611
26612         * gst/gstpipeline.c: (gst_pipeline_change_state):
26613         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26614         (gst_queue_src_activate_push):
26615           Don't start the src pad task on FLUSH_STOP if the pad
26616           isn't linked.
26617           Debug changes.
26618
26619 2005-08-22  Wim Taymans  <wim@fluendo.com>
26620
26621         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26622         Added check for gst_static_caps_get() refcounting.
26623
26624 2005-08-22  Wim Taymans  <wim@fluendo.com>
26625
26626         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26627         Make _static_caps_get() refcounting sane.
26628         
26629         * gst/gstelement.c: (gst_element_set_state):
26630         Add g_return_val_if_fail() to protect against segfaults.
26631
26632 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26633
26634         * docs/gst/tmpl/gstevent.sgml:
26635         * gst/gstevent.c:
26636         * gst/gstevent.h:
26637           inlined remaining docs, added missing doc comments
26638
26639 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26640
26641         * check/gst/gstbin.c: (GST_START_TEST):
26642           since we don't know when preroll is done, use refcount range
26643           check for the sink
26644         * gst/check/gstcheck.h:
26645           add macro for checking refcount range
26646
26647 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26648
26649         * check/Makefile.am:
26650           clean up environment for when registry gets built versus
26651           when actual tests are run; valgrind seems to not report
26652           leaks if GST_PLUGIN_PATH is set to some specific values
26653         * check/gst/gstbin.c: (GST_START_TEST):
26654           add more refcounting checks; maybe this exposes a
26655           preroll lock bug ?
26656         * common/check.mak:
26657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26658         * gst/check/gstcheck.h:
26659         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26660         (gst_bin_change_state):
26661         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26662           add/fix debugging/whitespace
26663
26664 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26665
26666         * check/gst/gstevent.c: (event_probe), (test_event),
26667         (GST_START_TEST):
26668          Er, don't call gst_bin_watch_for_state_change you idiot.
26669
26670 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26671
26672         * check/Makefile.am:
26673           Use CHECK_CFLAGS and CHECK_LIBS
26674         * check/gst/gstevent.c: (event_probe), (test_event),
26675         (GST_START_TEST):
26676           Don't leak events.
26677         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26678         (gst_base_src_start), (gst_base_src_stop),
26679         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26680         (gst_base_src_change_state):
26681           Sprinkle gst_base_src_stop liberally around error paths to fix
26682           problems reusing a source after failed state changes.
26683         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26684         (helper_find_suggest), (gst_type_find_helper):
26685           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26686         * gst/gstevent.h:
26687         * docs/gst/tmpl/gstevent.sgml:
26688           Migrate part of the docs from the SGML file. Wait for ensonic to
26689           tell me how I did it wrong ;)
26690         * tools/gst-typefind.c: (main):
26691           Extra robustness to state changes between files.
26692
26693 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26694
26695         * check/Makefile.am:
26696           don't valgrind the controller test - it's leaking - Stefan, HELP
26697         * gst/check/gstcheck.c: (gst_check_message_error),
26698         (gst_check_chain_func), (gst_check_setup_element),
26699         (gst_check_teardown_element), (gst_check_setup_src_pad),
26700         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26701         (gst_check_teardown_sink_pad):
26702         * gst/check/gstcheck.h:
26703           add a bunch of methods to set up elements, and src and sink pads
26704         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26705         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26706         (GST_START_TEST):
26707           use them
26708         * gst/gstmessage.c:
26709         * gst/gsttag.h:
26710           whitespace/doc fixes
26711
26712 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26713
26714         * gst/gstelement.h:
26715           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26716           be handled by the application and not always printed as well
26717
26718 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26719
26720         * check/Makefile.am:
26721           set GST_TOOLS_DIR
26722         * gst/check/gstcheck.c: (gst_check_message_error):
26723         * gst/check/gstcheck.h:
26724           add a fail_unless_equals_int
26725           add fail_unless for error messages
26726
26727 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26728
26729         * check/Makefile.am:
26730         * check/gst.supp:
26731         * common/Makefile.am:
26732         * common/check.mak:
26733         * common/gst.supp:
26734           factor out some of the common stuff so we can use it
26735
26736 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26737
26738         * check/Makefile.am:
26739         * check/gst/gstiterator.c: (GST_START_TEST):
26740         * check/gst/gstsystemclock.c: (GST_START_TEST),
26741         (gst_systemclock_suite):
26742         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26743         * gst/gstclock.c:
26744           valgrind more tests
26745
26746 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26747
26748         * check/elements/.cvsignore:
26749         * check/elements/gstfakesrc.c:
26750           rename to name of element
26751         * check/elements/identity.c: (chain_func), (event_func),
26752         (setup_identity), (cleanup_identity), (GST_START_TEST),
26753         (identity_suite), (main):
26754           add a test for identity
26755         * check/Makefile.am:
26756         * pkgconfig/Makefile.am:
26757         * pkgconfig/gstreamer-check.pc.in:
26758         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26759         * gst/check:
26760         * gst/Makefile.am:
26761         * configure.ac:
26762           move the check stuff to a library that gets installed
26763         * check/gst-libs/controller.c: (GST_START_TEST):
26764         * check/gst-libs/gdp.c:
26765         * check/gst/gst.c: (GST_START_TEST):
26766         * check/gst/gstbin.c:
26767         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26768         * check/gst/gstbus.c:
26769         * check/gst/gstcaps.c: (GST_START_TEST):
26770         * check/gst/gstelement.c:
26771         * check/gst/gstghostpad.c:
26772         * check/gst/gstiterator.c:
26773         * check/gst/gstmessage.c:
26774         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26775         * check/gst/gstobject.c:
26776         * check/gst/gstpad.c: (GST_START_TEST):
26777         * check/gst/gststructure.c: (GST_START_TEST):
26778         * check/gst/gstsystemclock.c: (GST_START_TEST),
26779         (gst_systemclock_suite):
26780         * check/gst/gsttag.c: (gst_tag_suite):
26781         * check/gst/gstvalue.c:
26782         * check/pipelines/cleanup.c:
26783         * check/pipelines/simple_launch_lines.c:
26784         * check/states/sinks.c:
26785           change include statement
26786
26787         * docs/gst/gstreamer-sections.txt:
26788         * docs/gst/tmpl/gstpad.sgml:
26789           document more pad stuff
26790         * gst/gstminiobject.c: (gst_mini_object_ref),
26791         (gst_mini_object_unref):
26792           debug refcounting
26793
26794 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26795
26796         * docs/gst/tmpl/gst.sgml:
26797         * gst/gst.c:
26798           eliminate another tmpl file, fix spelling in the long-description
26799
26800 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26801
26802         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26803         (test_event), (timediff), (gstevents_suite):
26804           Should fix build on 64-bit arch's
26805
26806 2005-08-18  Andy Wingo  <wingo@pobox.com>
26807
26808         Make sure that when a pipeline goes to PLAYING, that data has
26809         actually hit the sink.
26810
26811         * check/states/sinks.c (test_sink): A sink that doesn't get any
26812         data shouldn't return SUCCESS for going to either PLAYING or
26813         PAUSED. Test also the return values on the way back down.
26814
26815         * gst/gstelement.c (gst_element_set_state): When changing the
26816         state of an element currently changing state asynchronously, go to
26817         lost-state after commiting the pending state. Makes future calls
26818         to get_state continue to return ASYNC.
26819
26820         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26821         ASYNC when going to PLAYING if we still don't have preroll, as can
26822         happen with live sources.
26823
26824 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26825
26826         * docs/pwg/advanced-types.xml:
26827           Hack long paragraph into 2 chunks as a workaround for buggy
26828           jadetex version in sid and breezy that loops infinitely and
26829           eats all RAM.
26830
26831 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26832
26833         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26834         (test_event), (timediff), (gstevents_suite):
26835           Provide more error margin in clock measurements to allow for 
26836           g_get_current_time inaccuracies.
26837
26838 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26839
26840         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26841         (test_event), (timediff), (gstevents_suite):
26842            Fix error message output so I might be able to tell why the
26843            test works here but fails on the build farm.
26844
26845 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26846
26847         * check/Makefile.am:
26848         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26849         (test_event), (timediff), (gstevents_suite), (main):
26850           I wrote a test!
26851
26852         * docs/design/part-seeking.txt:
26853           Spelling correction
26854
26855         * docs/gst/tmpl/gstevent.sgml:
26856         * docs/gst/tmpl/gstfakesrc.sgml:
26857           Docs updates.
26858
26859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26860           Treat a buffer-without-newsegment the same as a receiving 
26861           a newsegment not in time format, and disable syncing to the clock
26862           with a warning.
26863
26864         * gst/gstbus.c: (gst_bus_set_sync_handler):
26865           Assert if anyone tries to replace the existing sync_handler for bus, 
26866           as only the owner should be setting it.
26867
26868         * gst/gstevent.h:
26869           Have a fixed set of custom event enums with events identified by
26870           their structure name (as in 0.8), rather than a free-for-all
26871           allowing collisions between enum values from different plugins.
26872
26873         * gst/gstpad.c: (gst_pad_class_init):
26874           Docs change.
26875           
26876         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26877           Handle out-of-band downstream events from the sending thread.
26878
26879 2005-08-17  Andy Wingo  <wingo@pobox.com>
26880
26881         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26882         play-timeout==0 to mean no timeout at all. In that case, don't
26883         bother with a get_state or a warning, just return directly, even
26884         if it's ASYNC.
26885
26886         * gst/base/gstbasetransform.c: Debug changes.
26887
26888         * gst/gstutils.h:
26889         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26890         ensure bins post state change messages. A bit of a hack but I can't
26891         think of a way to avoid it.
26892
26893         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26894
26895 2005-08-16  Andy Wingo  <wingo@pobox.com>
26896
26897         * gst/base/gstadapter.h:
26898         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26899         peek() but you own the data. Not terribly efficient atm.
26900
26901 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26902
26903         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26904         (gst_element_found_tags):
26905         * gst/gstutils.h:
26906           Add two utility functions for tag handling.
26907
26908 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26909
26910         * docs/manual/advanced-dataaccess.xml:
26911         * docs/manual/basics-helloworld.xml:
26912           Fix docs to use _bin_add() before _link(), which fixes the examples
26913           with recent core versions (reported by Madhan Raj M
26914           <raj_madan@rediffmail.com>, #313199).
26915
26916 2005-08-16  Wim Taymans  <wim@fluendo.com>
26917
26918         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26919         Added subtract checks.
26920
26921         * docs/design/part-events.txt:
26922         Some more docs about newsegment
26923
26924         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26925         Fix FIXME
26926
26927         * gst/gstcaps.c: (gst_caps_to_string):
26928         Add comments, cleanups.
26929         
26930         * gst/gstelement.c: (gst_element_save_thyself):
26931         cleanups
26932         
26933         * gst/gstvalue.c: (gst_value_collect_int_range),
26934         (gst_string_unwrap), (gst_value_union_int_int_range),
26935         (gst_value_union_int_range_int_range),
26936         (gst_value_intersect_int_int_range),
26937         (gst_value_intersect_int_range_int_range),
26938         (gst_value_intersect_double_double_range),
26939         (gst_value_intersect_double_range_double_range),
26940         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26941         (gst_value_subtract_int_range_int),
26942         (gst_value_subtract_double_range_double),
26943         (gst_value_subtract_double_range_double_range),
26944         (gst_value_subtract_from_list), (gst_value_subtract_list),
26945         (gst_value_can_compare), (gst_value_compare_fraction):
26946         Cleanups, add comments, remove unneeded asserts.
26947
26948 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26949
26950         * tools/gst-launch.c: (event_loop):
26951           don't convert NULL structures to strings
26952
26953 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26954
26955         * docs/gst/gstreamer-sections.txt:
26956           made some defines private
26957         * docs/gst/tmpl/gstconfig.sgml:
26958         * docs/gst/tmpl/gstqueue.sgml:
26959         * docs/gst/tmpl/gsttaglist.sgml:
26960         * docs/gst/tmpl/gsttypes.sgml:
26961         * docs/gst/tmpl/gstutils.sgml:
26962         * docs/pwg/appendix-porting.xml:
26963         * gst/base/gstbasesink.h:
26964         * gst/base/gstbasesrc.c:
26965         * gst/base/gstbasesrc.h:
26966         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26967         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26968         * gst/gstelement.c: (gst_element_class_init):
26969         * gst/gstpad.c: (gst_pad_class_init):
26970         * gst/gstqueue.c: (gst_queue_class_init):
26971         * gst/gstxml.c: (gst_xml_class_init):
26972           documented all undocumented signal inline
26973         * libs/gst/controller/gst-controller.h:
26974           added padding
26975
26976 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26977
26978         * docs/pwg/appendix-porting.xml:
26979           Document _set_link_function -> _set_setcaps_function.
26980
26981 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26982
26983         * check/Makefile.am:
26984           add a .check target for running the check
26985         * check/gst-libs/controller.c: (GST_START_TEST):
26986           cosmetic fixups
26987         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26988           complete checks for gstbuffer; would be nice if I could get the
26989           gcov stuff to work so I can see if I actually completed gstbuffer.c
26990         * check/gstcheck.h:
26991           add ASSERT_BUFFER_REFCOUNT
26992
26993 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26994
26995         * docs/gst/gstreamer-sections.txt:
26996         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26997         * gst/gsttag.h:
26998           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26999           spew out a warning if a tag that is already registered
27000           is re-registered, unless it is re-registered with a 
27001           different type (#308438).
27002
27003 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27004
27005         * docs/pwg/appendix-porting.xml:
27006         * docs/pwg/building-state.xml:
27007           Add some paragraphs about state changes in 0.9 to the PWG
27008           and the porting guide, in particular about the new meaning
27009           of GST_STATE_PAUSED and how to write state change functions
27010           with concurrent access by multiple threads in mind.
27011
27012 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27013
27014         * docs/gst/gstreamer-docs.sgml:
27015         * docs/libs/gstreamer-libs-docs.sgml:
27016           added deprecation and since indexes
27017         * libs/gst/controller/gst-controller.c:
27018         * libs/gst/controller/gst-helper.c:
27019           added since tags
27020
27021
27022 2005-08-11  Wim Taymans  <wim@fluendo.com>
27023
27024         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27025         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27026         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27027         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27028         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27029         (gst_ghost_pad_set_target):
27030         Actually implement (re)setting the target on a ghostpad
27031         as described in the docs.
27032
27033 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27034
27035         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27036           Check whether GST_DEBUG_NO_COLOR environment variable is
27037           set and disable coloured debug output if that is the case.
27038
27039 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27040
27041         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27042         (gst_type_find_helper):
27043           The memory returned by gst_type_find_peek() needs to
27044           stay valid until the end of a typefind function, and
27045           typefind functions may keep results from different 
27046           offsets around, so we can't just unref the buffer from
27047           the previous _peek(), but have to save all buffers 
27048           returned by _peek() until typefinding is done and only
27049           free them then.
27050
27051 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27052
27053         * docs/gst/gstreamer-sections.txt:
27054         * gst/gstutils.h:
27055           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27056
27057 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27058
27059         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27060           Fix a pretty good memleak.
27061
27062 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27063
27064         * gst/gstiterator.h:
27065           Fix wrong include and 'make distcheck'.
27066
27067 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27068
27069         * gst/gstbin.c: (bin_bus_handler):
27070           Use gst_element_post_message() instead.
27071
27072 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27073
27074         * gst/base/gstadapter.h:
27075         * gst/base/gstbasesink.h:
27076         * gst/base/gstbasesrc.h:
27077         * gst/base/gstbasetransform.h:
27078         * gst/base/gstcollectpads.h:
27079         * gst/base/gstpushsrc.h:
27080         * gst/gstiterator.h:
27081           Add padding to our base elements' class and instance structs and
27082           to GstIterator (you will need to rebuild all plugins and apps!)
27083
27084 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27085
27086         * gst/gstbin.c: (bin_bus_handler):
27087           Make default message forwarding from child->bus to bin->bus
27088           threadsafe and make it not emit warnings if the parent has no bus.
27089
27090 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27091
27092         * gst/gstelement.c: (activate_pads):
27093           On paused->ready, set pad->caps to NULL, as is the documented
27094           behaviour in this state change. Fixes playback of series of
27095           media files when visualization is enabled in Totem.
27096
27097 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27098
27099         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27100           Allow NULL as filter-caps (which means "any").
27101
27102 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27103
27104         * docs/libs/gstreamer-libs-sections.txt:
27105         * libs/gst/controller/gst-controller.c:
27106         * libs/gst/controller/gst-controller.h:
27107         * libs/gst/controller/gst-helper.c:
27108           adding more entries to the docs and fix small doc-bugs
27109
27110 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27111
27112         * docs/gst/gstreamer-docs.sgml:
27113         * docs/gst/gstreamer-sections.txt:
27114         * docs/gst/gstreamer.types:
27115         * docs/gst/tmpl/gstbasesink.sgml:
27116         * docs/gst/tmpl/gstbasesrc.sgml:
27117         * docs/gst/tmpl/gstbasetransform.sgml:
27118         * docs/gst/tmpl/gstfakesrc.sgml:
27119         * gst/base/gstcollectpads.c:
27120         * gst/base/gstcollectpads.h:
27121         * libs/gst/controller/gst-controller.c:
27122         * libs/gst/controller/gst-controller.h:
27123         * libs/gst/controller/gst-helper.c:
27124         * libs/gst/controller/gst-interpolation.c:
27125         * libs/gst/controller/lib.c:
27126           added long/short desc for controller docs
27127           added collectpads base class docs
27128           added correct includes to base-class docs
27129
27130 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27131
27132         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27133         (gst_test_mono_source_set_property),
27134         (gst_test_mono_source_class_init), (GST_START_TEST),
27135         (gst_controller_suite):
27136         * docs/gst/gstreamer-docs.sgml:
27137         * docs/gst/gstreamer-sections.txt:
27138         * docs/gst/gstreamer.types:
27139         * docs/libs/gstreamer-libs-docs.sgml:
27140         * docs/libs/gstreamer-libs-sections.txt:
27141         * gst/base/gstadapter.c:
27142         * libs/gst/controller/gst-controller.c:
27143         (gst_controlled_property_new), (gst_controlled_property_free),
27144         (gst_controller_new_valist),
27145         (gst_controller_remove_properties_valist),
27146         (gst_controller_sink_values), (_gst_controller_finalize):
27147         * libs/gst/controller/gst-controller.h:
27148         * libs/gst/controller/gst-helper.c:
27149         (gst_object_control_properties), (gst_object_uncontrol_properties),
27150         (gst_object_get_controller), (gst_object_set_controller),
27151         (gst_object_sink_values), (gst_object_get_value_arrays),
27152         (gst_object_get_value_array):
27153           more tests (and fixes) for the controller
27154           more docs for the controller
27155           integrated companies docs for the adapter 
27156
27157 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27158
27159         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27160         (GST_START_TEST), (fakesrc_suite):
27161           add tests for sizetype
27162
27163 2005-08-04  Andy Wingo  <wingo@pobox.com>
27164
27165         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27166         fixes buffer_alloc proxying among other things.
27167
27168         * gst/base/gstbasetransform.c:
27169         * gst/base/gstbasetransform.h:
27170         Revert patch to gstbasetransform from 7-28 removing
27171         delay_configure.
27172
27173         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27174         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27175         Semantics changed, should return not the size of the output buffer
27176         but the byte size of a buffer with a given caps.
27177
27178         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27179         debug object.
27180         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27181         out) are not the pad caps until setcaps finishes.
27182         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27183         not-in-place case as well. Deal with changing from in-place to
27184         not-in-place within calling pad_alloc_buffer. Still a bit
27185         concerned about the overhead here...
27186
27187 2005-08-03  Andy Wingo  <wingo@pobox.com>
27188
27189         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27190         fixating is an error.
27191
27192 2005-08-04  Edward Hervey  <edward@fluendo.com>
27193
27194         * gst/base/gstadapter.h: 
27195         Added gst_adapter_get_type() to the header
27196
27197 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27198
27199         * check/Makefile.am:
27200         * check/gst-libs/controller.c:
27201         * libs/gst/controller/gst-controller.c:
27202         (gst_controller_new_valist):
27203           added check test suite for the controller
27204         * gst/base/gstpushsrc.c:
27205           fixed a doc typo
27206
27207 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27208
27209         * docs/gst/Makefile.am:
27210         * docs/gst/gstreamer-docs.sgml:
27211         * docs/gst/gstreamer-sections.txt:
27212         * docs/gst/gstreamer.types:
27213         * docs/gst/tmpl/gstfakesrc.sgml:
27214         * gst/base/README:
27215         * gst/base/gstbasesink.c:
27216         * gst/base/gstbasesink.h:
27217         * gst/base/gstbasesrc.c:
27218         * gst/base/gstbasesrc.h:
27219         * gst/base/gstbasetransform.c:
27220         * gst/base/gstpushsrc.c:
27221         * gst/base/gstpushsrc.h:
27222           add short/long description docs to base classes
27223           add pushsrc to the docs
27224           remove consolidated doc fragments
27225
27226 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27227
27228         * configure.ac:
27229         * docs/libs/Makefile.am:
27230         * docs/libs/gstreamer-libs-docs.sgml:
27231         * docs/libs/gstreamer-libs-sections.txt:
27232         * docs/libs/gstreamer-libs.types:
27233         * examples/Makefile.am:
27234         * examples/controller/.cvsignore:
27235         * examples/controller/Makefile.am:
27236         * examples/controller/audio-example.c: (main):
27237         * libs/gst/Makefile.am:
27238         * libs/gst/controller/.cvsignore:
27239         * libs/gst/controller/Makefile.am:
27240         * libs/gst/controller/gst-controller.c:
27241         (on_object_controlled_property_changed), (gst_timed_value_compare),
27242         (gst_timed_value_find),
27243         (gst_controlled_property_set_interpolation_mode),
27244         (gst_controlled_property_new), (gst_controlled_property_free),
27245         (gst_controller_find_controlled_property),
27246         (gst_controller_new_valist), (gst_controller_new),
27247         (gst_controller_remove_properties_valist),
27248         (gst_controller_remove_properties), (gst_controller_set),
27249         (gst_controller_set_from_list), (gst_controller_unset),
27250         (gst_controller_get), (gst_controller_get_all),
27251         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27252         (gst_controller_get_value_array),
27253         (gst_controller_set_interpolation_mode),
27254         (_gst_controller_finalize), (_gst_controller_init),
27255         (_gst_controller_class_init), (gst_controller_get_type):
27256         * libs/gst/controller/gst-controller.h:
27257         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27258         (g_object_uncontrol_properties), (g_object_get_controller),
27259         (g_object_set_controller), (g_object_sink_values),
27260         (g_object_get_value_arrays), (g_object_get_value_array):
27261         * libs/gst/controller/gst-interpolation.c:
27262         (gst_controlled_property_find_timed_value_node),
27263         (interpolate_none_get), (interpolate_trigger_get),
27264         (interpolate_trigger_get_value_array):
27265         * libs/gst/controller/lib.c: (gst_controller_init):
27266         * pkgconfig/Makefile.am:
27267         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27268         * pkgconfig/gstreamer-control.pc.in:
27269         * testsuite/Makefile.am:
27270         * testsuite/controller/.cvsignore:
27271         * testsuite/controller/Makefile.am:
27272         * testsuite/controller/interpolator.c: (main):
27273           added controller code
27274           removed dparam pc files
27275
27276 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27277         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27278         (gst_collectpads_stop):
27279           Broadcast the condition when shutting down, to make sure we wake all
27280           threads up. Shut down pads on finalize, for safety.
27281
27282 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27283         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27284         (gst_base_transform_handle_buffer),
27285         (gst_base_transform_change_state):
27286           Handle PAUSED->READY->PAUSED transition after negotiation
27287           occurred already.
27288         * gst/gstmessage.c: (gst_message_init):
27289           Extra piece of debug for new messages.
27290
27291 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27292
27293         * configure.ac:
27294         * docs/gst/tmpl/gstbasesrc.sgml:
27295         * docs/gst/tmpl/gstelement.sgml:
27296         * docs/gst/tmpl/gstevent.sgml:
27297         * docs/gst/tmpl/gstfakesrc.sgml:
27298         * docs/gst/tmpl/gstformat.sgml:
27299         * docs/gst/tmpl/gstghostpad.sgml:
27300         * docs/gst/tmpl/gstpad.sgml:
27301         * docs/gst/tmpl/gstquery.sgml:
27302         * docs/gst/tmpl/gststructure.sgml:
27303         * docs/gst/tmpl/gsttaglist.sgml:
27304         * docs/gst/tmpl/gstvalue.sgml:
27305         * docs/libs/gstreamer-libs-docs.sgml:
27306         * docs/libs/gstreamer-libs-sections.txt:
27307         * docs/libs/gstreamer-libs.types:
27308         * libs/gst/Makefile.am:
27309         * libs/gst/control/.cvsignore:
27310         * libs/gst/control/Makefile.am:
27311         * libs/gst/control/control.c:
27312         * libs/gst/control/control.h:
27313         * libs/gst/control/dparam.c:
27314         * libs/gst/control/dparam.h:
27315         * libs/gst/control/dparam_smooth.c:
27316         * libs/gst/control/dparam_smooth.h:
27317         * libs/gst/control/dparamcommon.h:
27318         * libs/gst/control/dparammanager.c:
27319         * libs/gst/control/dparammanager.h:
27320         * libs/gst/control/dplinearinterp.c:
27321         * libs/gst/control/dplinearinterp.h:
27322         * libs/gst/control/unitconvert.c:
27323         * libs/gst/control/unitconvert.h:
27324         * testsuite/Makefile.am:
27325         * testsuite/dynparams/.cvsignore:
27326         * testsuite/dynparams/Makefile.am:
27327         * testsuite/dynparams/dparamstest.c:
27328         * tools/Makefile.am:
27329         * tools/gst-inspect.c: (print_element_info), (main):
27330         * tools/gst-xmlinspect.c: (print_element_info), (main):
27331           deactivate and remove dparams (libgstcontrol)
27332
27333 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27334
27335         * gst/elements/gsttypefindelement.c:
27336         (gst_type_find_element_have_type), (gst_type_find_element_init),
27337         (stop_typefinding), (gst_type_find_element_handle_event),
27338         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27339         * gst/elements/gsttypefindelement.h:
27340           Set caps on all outgoing buffers, not just the first one.
27341
27342 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27343
27344         * gst/elements/gsttypefindelement.c:
27345         (gst_type_find_element_have_type),
27346         (gst_type_find_element_check_set_buffer_caps),
27347         (gst_type_find_element_init), (stop_typefinding),
27348         (gst_type_find_element_handle_event),
27349         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27350         * gst/elements/gsttypefindelement.h:
27351           Set caps on first outgoing buffer when we've found the type.
27352
27353 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27354
27355         * docs/gst/gstreamer-docs.sgml:
27356         * docs/gst/gstreamer-sections.txt:
27357         * docs/gst/tmpl/gstscheduler.sgml:
27358         * docs/gst/tmpl/gstschedulerfactory.sgml:
27359           Remove some old cruft from docs.
27360
27361 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27362
27363         * gst/gstpad.h:
27364           Fix inline docs for GstPadLinkReturn.
27365           
27366         * gst/gststructure.c: (gst_structure_has_name):
27367         * gst/gststructure.h:
27368         * docs/gst/gstreamer-sections.txt:
27369           New API: gst_structure_has_name().
27370
27371 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27372
27373         * configure.ac:
27374           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27375           and _LARGEFILE_SOURCE in config.h as required. Do not 
27376           export those flags in our .pc files any longer (#142209).
27377
27378           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27379
27380         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27381         (gst_file_sink_do_seek), (gst_file_sink_event),
27382         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27383           Redo seek/tell calls with large file support in mind; add some
27384           debugging messages; add log message that tells us when large
27385           file support is unavailable or not enabled for some reason.
27386
27387         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27388           Add log message that tells us when large file support 
27389           is unavailable or not enabled for some reason.
27390
27391 2005-07-29  Wim Taymans  <wim@fluendo.com>
27392
27393         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27394         Added test for removing an element with ghostpad from a bin.
27395         Fixed test as current implementation does the right thing.
27396
27397         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27398         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27399         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27400         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27401         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27402         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27403         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27404         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27405         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27406         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27407         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27408         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27409         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27410         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27411         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27412         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27413         * gst/gstghostpad.h:
27414         Clean up ghostpads, remove properties for internal stuff.
27415         Make threadsafe.
27416         Fix refcounting.
27417         Prepare for switching targets, not all use cases work yet.
27418
27419 2005-07-29  Wim Taymans  <wim@fluendo.com>
27420
27421         * docs/design/part-gstghostpad.txt:
27422         Small update.
27423
27424         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27425         (gst_bin_remove_func):
27426         Unlinking pads while holding the bin LOCK is not a good
27427         idea.
27428
27429         * gst/gstpad.c: (gst_pad_class_init),
27430         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27431         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27432         No prob setting template after creating the pad.
27433
27434 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27435
27436         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27437         (gst_bus_peek), (gst_bus_source_dispatch),
27438         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27439         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27440           gst_bus_poll may be called from other threads. Handle
27441           this nicely by not making poll_data disappear off the
27442           stack once gst_bus_poll returns.
27443           gst_bus_peek now increments the refcount on the returned
27444           message.
27445
27446 2005-07-29  Wim Taymans  <wim@fluendo.com>
27447
27448         * docs/design/part-gstghostpad.txt:
27449         Overview of current GhostPad datastructures and use
27450         cases for changing the target.
27451
27452 2005-07-28  Wim Taymans  <wim@fluendo.com>
27453
27454         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27455         Added checks for hierarchy consistency whan adding linked
27456         elements to bins.
27457
27458         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27459         Added check to test element scheduling without bin/pipeline.
27460
27461         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27462         First add elements to bin, then link.
27463         
27464         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27465         (gst_bin_remove_func):
27466         Unlink pads from elements added/removed from bin to maintain
27467         hierarchy consistency.
27468
27469 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27470
27471         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27472         (gst_base_transform_handle_buffer):
27473         * gst/base/gstbasetransform.h:
27474           Remove broken delay_configure (fixes renegotiation of software
27475           scaling pipelines); remove some leftover printf()s.
27476
27477 2005-07-28  Wim Taymans  <wim@fluendo.com>
27478
27479         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27480         Added some more tests for wrong hierarchy
27481
27482         * docs/design/part-overview.txt:
27483         Some updates.
27484
27485         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27486         Cleanups.
27487
27488         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27489         (gst_element_dispose):
27490         Some more cleanups.
27491
27492         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27493         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27494         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27495         (gst_pad_set_caps), (gst_pad_send_event):
27496         Check for correct hierarchy when linking pads. Moving to
27497         strict requirement for ghostpads when linking elements in
27498         different bins.
27499
27500         * gst/gstpad.h:
27501         Clean ups. Added WRONG_HIERARCHY return value.
27502
27503 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27504
27505         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27506           Better debug if no transform is possible.
27507
27508 2005-07-27  Wim Taymans  <wim@fluendo.com>
27509
27510         * docs/random/wtay/network-transp:
27511         Some old doc I had.
27512
27513 2005-07-27  Wim Taymans  <wim@fluendo.com>
27514
27515         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27516         (gst_dp_event_from_packet):
27517         Fix serialization of seek events.
27518
27519 2005-07-27  Wim Taymans  <wim@fluendo.com>
27520
27521         * check/gst-libs/gdp.c: (GST_START_TEST):
27522         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27523         Fix compilation and fix event serialization.
27524
27525 2005-07-27  Wim Taymans  <wim@fluendo.com>
27526
27527         * CHANGES-0.9:
27528         * docs/design/part-TODO.txt:
27529         * docs/design/part-events.txt:
27530         Some docs updates
27531
27532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27533         (gst_base_sink_event), (gst_base_sink_do_sync),
27534         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27535         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27536         (gst_base_src_do_seek), (gst_base_src_event_handler),
27537         (gst_base_src_loop):
27538         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27539         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27540         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27541         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27542         (gst_base_transform_set_passthrough),
27543         (gst_base_transform_is_passthrough):
27544         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27545         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27546         Event updates.
27547
27548         * gst/gstbuffer.h:
27549         Use faster casts.
27550
27551         * gst/gstelement.c: (gst_element_seek):
27552         * gst/gstelement.h:
27553         Update gst_element_seek.
27554
27555         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27556         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27557         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27558         (gst_event_new_eos), (gst_event_new_newsegment),
27559         (gst_event_parse_newsegment), (gst_event_new_tag),
27560         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27561         (gst_event_parse_qos), (gst_event_new_seek),
27562         (gst_event_parse_seek), (gst_event_new_navigation):
27563         * gst/gstevent.h:
27564         Make GstEvent use GstStructure. Add parsing code, make sure the
27565         API is sufficiently generic.
27566         Mark possible directions of events and serialization.
27567
27568         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27569         (_gst_message_copy), (gst_message_new_segment_start),
27570         (gst_message_new_segment_done), (gst_message_new_custom),
27571         (gst_message_parse_segment_start),
27572         (gst_message_parse_segment_done):
27573         Small cleanups.
27574
27575         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27576         (gst_pad_set_caps), (gst_pad_send_event):
27577         Update for new events. 
27578         Catch events sent in wrong directions.
27579
27580         * gst/gstqueue.c: (gst_queue_link_src),
27581         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27582         (gst_queue_handle_src_query):
27583         Event updates.
27584
27585         * gst/gsttag.c:
27586         * gst/gsttag.h:
27587         Remove event code from this file.
27588
27589         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27590         (gst_dp_event_from_packet):
27591         Event updates.
27592
27593 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27594
27595         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27596         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27597         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27598           Make debugging actually useful.
27599
27600 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27601
27602         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27603         (gst_pad_fixate_caps):
27604           Implement default fixation once again, so that gst_pad_fixate()
27605           actually does anything at all. This probably needs to be some
27606           sort of a last resort, and use profile-based fixation first, but
27607           since that doesn't exist yet, this is the best we have. Fixes
27608           visualization in Totem.
27609
27610 2005-07-22  Wim Taymans  <wim@fluendo.com>
27611
27612         * docs/design/part-events.txt:
27613         Small update.
27614
27615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27616         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27617         (gst_base_sink_activate_pull):
27618         Some more comments.
27619
27620         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27621         (gst_fake_src_create):
27622         Fix handoff marshall.
27623
27624         * gst/elements/gstidentity.c: (gst_identity_class_init),
27625         (gst_identity_transform_ip):
27626         We're a real inplace element.
27627
27628         * gst/gstbus.c: (gst_bus_post):
27629         Added some comments.
27630
27631         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27632         * tests/muxing/case1.c: (main):
27633         * tests/sched/dynamic-pipeline.c: (main):
27634         * tests/sched/interrupt1.c: (main):
27635         * tests/sched/interrupt2.c: (main):
27636         * tests/sched/interrupt3.c: (main):
27637         * tests/sched/runxml.c: (main):
27638         * tests/sched/sched-stress.c: (main):
27639         * tests/seeking/seeking1.c: (event_received), (main):
27640         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27641         (main):
27642         * tests/threadstate/threadstate3.c: (main):
27643         * tests/threadstate/threadstate4.c: (main):
27644         * tests/threadstate/threadstate5.c: (main):
27645         Fix the tests.
27646
27647 2005-07-21  Wim Taymans  <wim@fluendo.com>
27648
27649         * docs/design/part-seeking.txt:
27650         Some small additions.
27651
27652         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27653         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27654         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27655         * gst/base/gstbasesink.h:
27656         discont values are gint64, handle the math correctly.
27657
27658         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27659         Make the basesrc report error if the source pad is not linked.
27660
27661         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27662         (gst_queue_loop), (gst_queue_handle_src_query),
27663         (gst_queue_src_activate_push):
27664         Make queue collect data even if the srcpad is not linked.
27665         Start pushing out data as soon as it is linked.
27666
27667         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27668         * gst/gstutils.h:
27669         Added gst_flow_get_name() to ease error reporting.
27670
27671 2005-07-20  Wim Taymans  <wim@fluendo.com>
27672
27673         * gst/gstmessage.c: (gst_message_new_segment_start),
27674         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27675         (gst_message_parse_segment_done):
27676         * gst/gstmessage.h:
27677         Added a bunch of messages for advanced seeking.
27678
27679         * gst/parse/grammar.y:
27680         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27681         (gst_dpman_state_changed):
27682         Fix some new-pad -> pad-added signals
27683
27684 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27685
27686         * docs/manual/appendix-porting.xml:
27687         * docs/pwg/appendix-porting.xml:
27688           Document new-pad/state-change signal renames and the FixedList
27689           type rename.
27690
27691 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27692
27693         * docs/manual/advanced-autoplugging.xml:
27694         * docs/manual/basics-helloworld.xml:
27695         * docs/manual/basics-pads.xml:
27696         * docs/random/ds/0.9-suggested-changes:
27697         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27698         * gst/gstelement.h:
27699         * gst/gstevent.h:
27700         * gst/gstformat.h:
27701         * gst/gstquery.h:
27702         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27703         (gst_structure_parse_array), (gst_structure_parse_value):
27704         * gst/gstvalue.c: (gst_type_is_fixed),
27705         (gst_value_list_prepend_value), (gst_value_list_append_value),
27706         (gst_value_list_get_size), (gst_value_list_get_value),
27707         (gst_value_transform_array_string), (gst_value_serialize_array),
27708         (gst_value_deserialize_array), (gst_value_intersect_array),
27709         (gst_value_is_fixed), (_gst_value_initialize):
27710         * gst/gstvalue.h:
27711           GstElement::new-pad -> pad-added, GstElement::state-change ->
27712           state-changed, GstValueFixedList -> GstValueArray, add format and
27713           flags as their own arguments in gst_element_seek() (should improve
27714           "bindeability"), remove function generators since they don't work
27715           under a whole bunch of compilers (they were deprecated already
27716           anyway).
27717
27718 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27719
27720         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27721         (_gst_debug_register_funcptr):
27722         * gst/gstinfo.h:
27723           Fix illegal cast on some platforms (#309253).
27724
27725 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27726
27727         * gst/gstmessage.c: (gst_message_new_custom):
27728         * gst/gstmessage.h:
27729           Add _new_custom, make _new_application a macro to _new_custom.
27730
27731 2005-07-20  Wim Taymans  <wim@fluendo.com>
27732
27733         * gst/base/gstbasesrc.c: (gst_base_src_init),
27734         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27735         * gst/base/gstbasesrc.h:
27736         Add a gboolean to decide when to push out a discont.
27737
27738         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27739         (gst_queue_loop), (gst_queue_handle_src_query),
27740         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27741         (gst_queue_set_property), (gst_queue_get_property):
27742         Some cleanups.
27743
27744         * tests/threadstate/threadstate1.c: (main):
27745         Make a thread test compile and run... very silly..
27746
27747
27748 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27749
27750         * docs/manual/appendix-porting.xml:
27751           Mention removal of libgstgconf-0.9.la and existence of gconf
27752           elements.
27753
27754 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27755
27756         * docs/pwg/advanced-clock.xml:
27757         * docs/pwg/appendix-porting.xml:
27758         * docs/pwg/intro-preface.xml:
27759         * docs/pwg/other-base.xml:
27760         * docs/pwg/other-manager.xml:
27761         * docs/pwg/other-nton.xml:
27762         * docs/pwg/other-ntoone.xml:
27763         * docs/pwg/other-oneton.xml:
27764         * docs/pwg/pwg.xml:
27765           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27766           demuxer), remove n-to-n (was never written), fix some code examples
27767           and links and update the porting section to include all this.
27768
27769 2005-07-19  Wim Taymans  <wim@fluendo.com>
27770
27771         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27772         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27773         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27774         (gst_queue_src_activate_push), (gst_queue_change_state),
27775         (gst_queue_get_property):
27776         * gst/gstqueue.h:
27777         Propagate GstFlowReturn more intelligently upstream and output
27778         an ERROR/EOS when streaming stopped due to fatal error.
27779
27780 2005-07-19  Wim Taymans  <wim@fluendo.com>
27781
27782         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27783         Don't block forever for the state change to complete, the
27784         pipeline already did with a sensible timeout.
27785
27786 2005-07-19  Wim Taymans  <wim@fluendo.com>
27787
27788         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27789         Make sure we never call the create function is we
27790         got deactivated.
27791
27792 2005-07-19  Andy Wingo  <wingo@pobox.com>
27793
27794         * gst/parse/parse.l: Attempt to solve bug #172815.
27795
27796 2005-07-19  Wim Taymans  <wim@fluendo.com>
27797
27798         * docs/design/part-clocks.txt:
27799         * docs/design/part-events.txt:
27800         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27801         Small docs updates.
27802         Only update the seeking values when we are not
27803         busy streaming.
27804
27805 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27806
27807         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27808           Oops, ignore the result of gst_pad_push_event here.
27809
27810 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27811
27812         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27813         (gst_base_src_activate_push):
27814           Send discont event from the loop function, as pads
27815           aren't activated yet in the activate_push handler.
27816
27817         * gst/gstbin.c: (bin_bus_handler):
27818           Don't leak element name.
27819
27820 2005-07-18  Andy Wingo  <wingo@pobox.com>
27821
27822         * configure.ac: Use AS_LIBTOOL_TAGS.
27823
27824 2005-07-18  Wim Taymans  <wim@fluendo.com>
27825
27826         * docs/gst/gstreamer.types:
27827         Remove deleted types.
27828
27829 2005-07-18  Wim Taymans  <wim@fluendo.com>
27830
27831         * check/elements/gstfakesrc.c: (GST_START_TEST):
27832         * configure.ac:
27833         * gst/Makefile.am:
27834         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27835         (init_popt_callback):
27836         * gst/gst.h:
27837         * gst/gst_private.h:
27838         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27839         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27840         * gst/gstbin.h:
27841         * gst/gstbus.h:
27842         * gst/gstconfig.h.in:
27843         * gst/gstelement.c: (gst_element_class_init),
27844         (gst_element_set_base_time), (gst_element_get_base_time),
27845         (iterator_fold_with_resync), (gst_element_change_state),
27846         (gst_element_dispose), (gst_element_get_bus):
27847         * gst/gstelement.h:
27848         * gst/gstelementfactory.h:
27849         * gst/gsterror.c: (_gst_core_errors_init):
27850         * gst/gsterror.h:
27851         * gst/gstevent.h:
27852         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27853         * gst/gstindex.c:
27854         * gst/gstinfo.c: (_gst_debug_init):
27855         * gst/gstmessage.c: (_gst_message_copy):
27856         * gst/gstmessage.h:
27857         * gst/gstminiobject.h:
27858         * gst/gstobject.c:
27859         * gst/gstobject.h:
27860         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27861         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27862         * gst/gstpad.h:
27863         * gst/gstparse.h:
27864         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27865         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27866         (gst_pipeline_get_last_stream_time):
27867         * gst/gstpipeline.h:
27868         * gst/gstpluginfeature.h:
27869         * gst/gstquery.h:
27870         * gst/gstscheduler.c:
27871         * gst/gstscheduler.h:
27872         * gst/gststructure.h:
27873         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27874         (gst_task_finalize), (gst_task_func), (gst_task_create),
27875         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27876         (gst_task_stop), (gst_task_pause):
27877         * gst/gsttask.h:
27878         * gst/gsttypefind.h:
27879         * gst/gsttypes.h:
27880         * gst/registries/gstlibxmlregistry.c: (load_feature),
27881         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27882         * gst/registries/gstxmlregistry.c:
27883         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27884         * gst/schedulers/threadscheduler.c:
27885         * libs/gst/control/dparammanager.h:
27886         * tools/gst-inspect.c: (print_element_list),
27887         (print_plugin_features), (print_element_features):
27888         * tools/gst-xmlinspect.c: (print_element_list),
27889         (print_plugin_info), (main):
27890         Removed plugable schedulers.
27891         Removed Scheduler/Manager from elements.
27892         Removed gsttypes.h, rearranged includes.
27893         Removed dependency pad<->element, element<>pipeline, and
27894         various others,  fix includes.
27895         implement gst_pad_get_parent() with gst_object_get_parent()
27896         Make GstTask sefcontained.
27897         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27898         timeout.
27899         Fix endless loop in iterator_fold_with_resync.
27900
27901
27902 2005-07-18  Wim Taymans  <wim@fluendo.com>
27903
27904         * gst/Makefile.am:
27905         * gst/gstarch.h:
27906         Remove old file.
27907
27908 2005-07-18  Wim Taymans  <wim@fluendo.com>
27909
27910         * gst/Makefile.am:
27911         No more cothreads.h
27912
27913 2005-07-18  Wim Taymans  <wim@fluendo.com>
27914
27915         * gst/cothreads.c:
27916         * gst/cothreads.h:
27917         Let's remove these.
27918
27919 2005-07-18  Wim Taymans  <wim@fluendo.com>
27920
27921         * docs/design/part-dynamic.txt:
27922         * docs/design/part-events.txt:
27923         * docs/design/part-seeking.txt:
27924         Some more docs in the works.
27925
27926         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27927         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27928         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27929         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27930         (gst_base_transform_handle_buffer),
27931         (gst_base_transform_sink_activate_push),
27932         (gst_base_transform_src_activate_pull),
27933         (gst_base_transform_set_passthrough),
27934         (gst_base_transform_is_passthrough):
27935         Refcounting fixes.
27936
27937         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27938         Cleanups.
27939
27940         * gst/gstevent.c: (gst_event_finalize):
27941         Set SRC to NULL.
27942
27943         * gst/gstutils.c: (gst_element_unlink),
27944         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27945         (gst_pad_proxy_setcaps):
27946         * gst/gstutils.h:
27947         Add _get_parent_element() to get a pads parent as an element.
27948
27949 2005-07-18  Wim Taymans  <wim@fluendo.com>
27950
27951         * check/gst/gstbin.c: (GST_START_TEST):
27952         Remove bogus test.
27953
27954 2005-07-18  Wim Taymans  <wim@fluendo.com>
27955
27956         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27957         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27958         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27959         (gst_base_sink_event), (gst_base_sink_do_sync),
27960         (gst_base_sink_chain), (gst_base_sink_loop),
27961         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27962         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27963         Refcounting fixes.
27964         Fix logic for returning ASYNC when not prerolled.
27965
27966 2005-07-18  Wim Taymans  <wim@fluendo.com>
27967
27968         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27969         Fix nasty refcount bug.
27970
27971 2005-07-16 Philippe Khalaf <burger@speedy.org>
27972
27973         * gst/elements/gstfdsrc.c:
27974         * gst/elements/gstfdsrc.h:
27975         * gst/elements/gstelements.c:
27976         * gst/elements/Makefile.am:
27977         Ported fdsrc to 0.9.
27978
27979 2005-07-16  Wim Taymans  <wim@fluendo.com>
27980
27981         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27982         (gst_base_sink_do_sync):
27983         Fix compile error.
27984
27985 2005-07-16  Wim Taymans  <wim@fluendo.com>
27986
27987         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27988         (gst_base_sink_event), (gst_base_sink_get_times),
27989         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27990         * gst/base/gstbasesink.h:
27991         Store and use discont values when syncing buffers as described
27992         in design docs.
27993         
27994         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27995         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27996         (gst_base_src_activate_push):
27997         Push discont event when starting.
27998
27999         * gst/elements/gstidentity.c: (gst_identity_transform):
28000         Small cleanups.
28001
28002         * gst/gstbin.c: (gst_bin_change_state):
28003         Small cleanups in base_time  distribution.
28004
28005         * gst/gstelement.c: (gst_element_set_base_time),
28006         (gst_element_get_base_time), (gst_element_change_state):
28007         * gst/gstelement.h:
28008         Added methods for the base_time of the element.
28009         Some MT fixes.
28010
28011         * gst/gstpipeline.c: (gst_pipeline_send_event),
28012         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28013         (gst_pipeline_get_last_stream_time):
28014         * gst/gstpipeline.h:
28015         MT fixes.
28016         Handle seeking as described in design doc, remove stream_time
28017         hack.
28018         Cleanups clock and stream_time selection code. Added accessors
28019         for the stream_time.
28020         
28021
28022 2005-07-16  Andy Wingo  <wingo@pobox.com>
28023
28024         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28025         (#305291).
28026
28027 2005-07-16  Wim Taymans  <wim@fluendo.com>
28028
28029         * check/gst/gstbin.c: (GST_START_TEST):
28030         Make elements silent as the deep_notify refs the
28031         parent, which might make the test fail.
28032
28033         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28034         Don't hold the lock for too long.
28035
28036 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28037
28038         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28039           Don't unref the caps we passed to gst_caps_make_writable() after
28040           passing them. gst_caps_make_writable() will do that for us.
28041
28042 2005-07-15  Andy Wingo  <wingo@pobox.com>
28043
28044         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28045         (#157311).
28046
28047         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28048         own marshalling function for the handoff signal. Properly type the
28049         buffer as a buffer. Fixes some warnings. Should do a more general
28050         solution.
28051         (gst_identity_class_init): Plug into the right marshaller.
28052
28053 2005-07-15  Wim Taymans  <wim@fluendo.com>
28054
28055         * docs/design/part-TODO.txt:
28056         * docs/design/part-clocks.txt:
28057         * docs/design/part-element-sink.txt:
28058         * docs/design/part-events.txt:
28059         * docs/design/part-gstpipeline.txt:
28060         Updated docs, mostly DISCONT related.
28061
28062 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28063
28064         * docs/pwg/building-pads.xml:
28065           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28066
28067 2005-07-15  Andy Wingo  <wingo@pobox.com>
28068
28069         * tools/gst-typefind.c: Update, add copyright block.
28070
28071         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28072         Normalize and truncate caps before fixation.
28073
28074         * gst/gstcaps.h:
28075         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28076         discards all but the first structure from its argument.
28077
28078 2005-07-15  Wim Taymans  <wim@fluendo.com>
28079
28080         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28081         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28082         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28083         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28084         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28085         (gst_base_transform_chain), (gst_base_transform_change_state),
28086         (gst_base_transform_set_passthrough),
28087         (gst_base_transform_is_passthrough):
28088         * gst/base/gstbasetransform.h:
28089         Make passthrough work using the bufferpools.
28090         Changed API a bit, subclasses have to write into a buffer
28091         provided by the base class.
28092         More debug info in nego functions.
28093         
28094         * gst/elements/gstidentity.c: (gst_identity_init),
28095         (gst_identity_transform):
28096         Port to new base class.
28097
28098 2005-07-15  Wim Taymans  <wim@fluendo.com>
28099
28100         * gst/gstmessage.c: (gst_message_new_state_changed):
28101         * tools/gst-launch.c: (event_loop), (main):
28102         Totally dump messages in -launch with the -m option.
28103         Fix message name for State messages,
28104
28105 2005-07-14  Wim Taymans  <wim@fluendo.com>
28106
28107         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28108         Post error messages on errors.
28109
28110 2005-07-14  Wim Taymans  <wim@fluendo.com>
28111
28112         * gst/gstcaps.c: (gst_caps_do_simplify):
28113         Remove debug info.
28114
28115         * gst/gsterror.h:
28116         Define error for stream stopped.
28117
28118         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28119         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28120         Do proper return values.
28121
28122         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28123         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28124         (gst_pad_get_range):
28125         Better return values.
28126
28127         * gst/gstpad.h:
28128         Reorganise return values, add macro to check for fatal errors.
28129
28130         * gst/gstqueue.c: (gst_queue_chain):
28131         Return proper GstFlowReturn values,
28132
28133 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28134
28135         * docs/gst/gstreamer-sections.txt:
28136         * docs/gst/gstreamer.types:
28137         * docs/gst/tmpl/gst.sgml:
28138         * docs/gst/tmpl/gstbasesink.sgml:
28139         * docs/gst/tmpl/gstbasesrc.sgml:
28140         * docs/gst/tmpl/gstbasetransform.sgml:
28141         * docs/gst/tmpl/gstbin.sgml:
28142         * docs/gst/tmpl/gstbuffer.sgml:
28143         * docs/gst/tmpl/gstcaps.sgml:
28144         * docs/gst/tmpl/gstclock.sgml:
28145         * docs/gst/tmpl/gstcompat.sgml:
28146         * docs/gst/tmpl/gstconfig.sgml:
28147         * docs/gst/tmpl/gstelement.sgml:
28148         * docs/gst/tmpl/gstelementdetails.sgml:
28149         * docs/gst/tmpl/gstelementfactory.sgml:
28150         * docs/gst/tmpl/gstenumtypes.sgml:
28151         * docs/gst/tmpl/gsterror.sgml:
28152         * docs/gst/tmpl/gstevent.sgml:
28153         * docs/gst/tmpl/gstfakesink.sgml:
28154         * docs/gst/tmpl/gstfakesrc.sgml:
28155         * docs/gst/tmpl/gstfilesink.sgml:
28156         * docs/gst/tmpl/gstfilesrc.sgml:
28157         * docs/gst/tmpl/gstfilter.sgml:
28158         * docs/gst/tmpl/gstformat.sgml:
28159         * docs/gst/tmpl/gstghostpad.sgml:
28160         * docs/gst/tmpl/gstimplementsinterface.sgml:
28161         * docs/gst/tmpl/gstindex.sgml:
28162         * docs/gst/tmpl/gstindexfactory.sgml:
28163         * docs/gst/tmpl/gstinfo.sgml:
28164         * docs/gst/tmpl/gstiterator.sgml:
28165         * docs/gst/tmpl/gstmacros.sgml:
28166         * docs/gst/tmpl/gstmemchunk.sgml:
28167         * docs/gst/tmpl/gstminiobject.sgml:
28168         * docs/gst/tmpl/gstobject.sgml:
28169         * docs/gst/tmpl/gstpad.sgml:
28170         * docs/gst/tmpl/gstpadtemplate.sgml:
28171         * docs/gst/tmpl/gstparse.sgml:
28172         * docs/gst/tmpl/gstpipeline.sgml:
28173         * docs/gst/tmpl/gstplugin.sgml:
28174         * docs/gst/tmpl/gstpluginfeature.sgml:
28175         * docs/gst/tmpl/gstquery.sgml:
28176         * docs/gst/tmpl/gstqueue.sgml:
28177         * docs/gst/tmpl/gstregistry.sgml:
28178         * docs/gst/tmpl/gstregistrypool.sgml:
28179         * docs/gst/tmpl/gstscheduler.sgml:
28180         * docs/gst/tmpl/gstschedulerfactory.sgml:
28181         * docs/gst/tmpl/gststructure.sgml:
28182         * docs/gst/tmpl/gstsystemclock.sgml:
28183         * docs/gst/tmpl/gsttaglist.sgml:
28184         * docs/gst/tmpl/gsttagsetter.sgml:
28185         * docs/gst/tmpl/gsttrace.sgml:
28186         * docs/gst/tmpl/gsttrashstack.sgml:
28187         * docs/gst/tmpl/gsttypefind.sgml:
28188         * docs/gst/tmpl/gsttypefindfactory.sgml:
28189         * docs/gst/tmpl/gsttypes.sgml:
28190         * docs/gst/tmpl/gsturihandler.sgml:
28191         * docs/gst/tmpl/gsturitype.sgml:
28192         * docs/gst/tmpl/gstutils.sgml:
28193         * docs/gst/tmpl/gstvalue.sgml:
28194         * docs/gst/tmpl/gstversion.sgml:
28195         * docs/gst/tmpl/gstxml.sgml:
28196         * docs/libs/tmpl/gstcontrol.sgml:
28197         * docs/libs/tmpl/gstdataprotocol.sgml:
28198         * docs/libs/tmpl/gstdparam.sgml:
28199         * docs/libs/tmpl/gstdplinint.sgml:
28200         * docs/libs/tmpl/gstdpman.sgml:
28201         * docs/libs/tmpl/gstdpsmooth.sgml:
28202         * docs/libs/tmpl/gstgetbits.sgml:
28203         * docs/libs/tmpl/gstunitconvert.sgml:
28204         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28205         (gst_push_src_base_init), (gst_push_src_class_init),
28206         (gst_push_src_init), (gst_push_src_create):
28207         * gst/base/gstpushsrc.h:
28208         * gst/elements/gstelements.c:
28209         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28210         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28211         (gst_fake_sink_init), (gst_fake_sink_set_property),
28212         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28213         (gst_fake_sink_event), (gst_fake_sink_preroll),
28214         (gst_fake_sink_render), (gst_fake_sink_change_state):
28215         * gst/elements/gstfakesink.h:
28216         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28217         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28218         (gst_fake_src_base_init), (gst_fake_src_class_init),
28219         (gst_fake_src_init), (gst_fake_src_event_handler),
28220         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28221         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28222         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28223         (gst_fake_src_create_buffer), (gst_fake_src_create),
28224         (gst_fake_src_start), (gst_fake_src_stop):
28225         * gst/elements/gstfakesrc.h:
28226         * gst/elements/gstfilesink.c: (_do_init),
28227         (gst_file_sink_base_init), (gst_file_sink_class_init),
28228         (gst_file_sink_init), (gst_file_sink_dispose),
28229         (gst_file_sink_set_location), (gst_file_sink_set_property),
28230         (gst_file_sink_get_property), (gst_file_sink_open_file),
28231         (gst_file_sink_close_file), (gst_file_sink_query),
28232         (gst_file_sink_event), (gst_file_sink_render),
28233         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28234         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28235         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28236         * gst/elements/gstfilesink.h:
28237         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28238         (gst_file_src_class_init), (gst_file_src_init),
28239         (gst_file_src_finalize), (gst_file_src_set_location),
28240         (gst_file_src_set_property), (gst_file_src_get_property),
28241         (gst_file_src_map_region), (gst_file_src_map_small_region),
28242         (gst_file_src_create_mmap), (gst_file_src_create_read),
28243         (gst_file_src_create), (gst_file_src_is_seekable),
28244         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28245         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28246         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28247         (gst_file_src_uri_handler_init):
28248         * gst/elements/gstfilesrc.h:
28249           more autistic cleanliness in functions/names/defines
28250
28251 2005-07-13  Andy Wingo  <wingo@pobox.com>
28252
28253         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28254         source couldn't negotiate.
28255
28256         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28257         connections again.
28258
28259         * gst/gstutils.h:
28260         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28261         function. I am channeling Hades. Put your boots on suckers!!!
28262
28263 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28264
28265         * testsuite/caps/Makefile.am:
28266         * testsuite/caps/value_compare.c:
28267         * testsuite/caps/value_intersect.c:
28268         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28269           move two testsuite apps over to the check dir
28270
28271 2005-07-12  Wim Taymans  <wim@fluendo.com>
28272
28273         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28274         Added more debug info in the negotiate process.
28275
28276         * gst/gstmessage.h:
28277         Prepare for segment playback.
28278
28279         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28280         Better debugging.
28281
28282         * gst/gstutils.c:
28283         Some more docs.
28284
28285         * tools/gst-launch.c: (main):
28286         NULL pipeline on errors.
28287
28288 2005-07-12  Andy Wingo  <wingo@pobox.com>
28289
28290         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28291         not it comes from a malloc region. Make sure our copy gets freed.
28292
28293 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28294
28295         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28296         * check/gst/gstmessage.c: (GST_START_TEST):
28297         * check/gst/gststructure.c: (GST_START_TEST),
28298         (gst_structure_suite), (main):
28299           more testing
28300         * gst/gstelement.c: (gst_element_message_full):
28301           clean up GError and debug string now that they get copied
28302         * gst/gstmessage.c: (gst_message_new_error),
28303         (gst_message_new_warning), (gst_message_parse_error),
28304         (gst_message_parse_warning):
28305           use GST_TYPE_G_ERROR for structure_new, and take copies of
28306           arguments, so that we don't mess up refcounting
28307
28308 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28309
28310         * check/Makefile.am:
28311           add per-test valgrind targets
28312         * check/gst-libs/gdp.c: (GST_START_TEST),
28313         (gst_data_protocol_suite), (main):
28314           clean up
28315
28316 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28317
28318         * check/Makefile.am:
28319           instate more valgrindable tests
28320         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28321         (GST_START_TEST), (fakesrc_suite):
28322         * check/gst/gstpad.c: (GST_START_TEST):
28323         * check/gst/gststructure.c: (GST_START_TEST):
28324           fix test leaks
28325         * docs/gst/tmpl/gstminiobject.sgml:
28326         * gst/gstpad.c: (gst_pad_finalize):
28327           fix the static mutex leak
28328
28329 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28330
28331         * check/Makefile.am:
28332           add two more tests for valgrinding
28333         * check/gst/gstvalue.c: (GST_START_TEST):
28334           test refcount of deserialized buffer, found a leak
28335         * docs/gst/gstreamer-docs.sgml:
28336         * docs/gst/gstreamer-sections.txt:
28337         * docs/gst/gstreamer.types:
28338         * docs/gst/tmpl/gstminiobject.sgml:
28339           add miniobject to docs
28340         * gst/gstminiobject.c:
28341           add some docs
28342         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28343         (gst_string_unwrap):
28344           fix a hard-to-find invalid write for one of the tests
28345           fix a leak for deserialized buffers
28346
28347 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28348
28349         * docs/pwg/advanced-events.xml:
28350         * docs/pwg/advanced-request.xml:
28351         * docs/pwg/advanced-scheduling.xml:
28352         * docs/pwg/appendix-porting.xml:
28353         * docs/pwg/building-boiler.xml:
28354         * docs/pwg/intro-preface.xml:
28355         * docs/pwg/other-ntoone.xml:
28356           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28357           of example code and explanation for pad activation, loop() and
28358           getrange() functions and a bit more. Remove old comments pointing
28359           to loop-functions.
28360         * examples/pwg/Makefile.am:
28361           Add loop/getrange examples.
28362
28363 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28364
28365         * configure.ac:
28366           check for valgrind binary + some fixes
28367         * check/gst.supp:
28368           valgrind suppressions for the tests
28369         * check/Makefile.am:
28370           add a valgrind: target that valgrinds the unit tests
28371         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28372         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28373         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28374         * check/gst/gstghostpad.c:
28375           added some cleanup
28376         * check/gst/gstdata.c:
28377           removed
28378         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28379         (thread_unref), (gst_mini_object_suite), (main):
28380           added
28381         * gst/gst.c: (gst_deinit):
28382         * gst/gst.h:
28383           add a method to clean up.
28384         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28385         (gst_system_clock_obtain):
28386           allow for disposing the system clock.
28387         * tools/gst-launch.c: (main):
28388           deinit
28389
28390 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28391
28392         * docs/gst/tmpl/gstbasesrc.sgml:
28393         * docs/gst/tmpl/gstfakesrc.sgml:
28394         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28395         (gst_base_src_init), (gst_base_src_set_property),
28396         (gst_base_src_get_property), (gst_base_src_get_range),
28397         (gst_base_src_start):
28398         * gst/base/gstbasesrc.h:
28399           add num-buffers property
28400         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28401         (gst_fakesrc_init), (gst_fakesrc_set_property),
28402         (gst_fakesrc_get_property), (gst_fakesrc_create),
28403         (gst_fakesrc_start):
28404           remove num-buffers property
28405
28406 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28407
28408         * docs/gst/gstreamer-sections.txt:
28409         * docs/gst/tmpl/gstbasesink.sgml:
28410         * docs/gst/tmpl/gstbasesrc.sgml:
28411         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28412         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28413         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28414         (gst_base_sink_set_property), (gst_base_sink_get_property),
28415         (gst_base_sink_handle_object), (gst_base_sink_event),
28416         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28417         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28418         (gst_base_sink_loop), (gst_base_sink_deactivate),
28419         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28420         (gst_base_sink_change_state):
28421         * gst/base/gstbasesink.h:
28422         * gst/base/gstbasesrc.h:
28423         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28424         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28425         (gst_filesink_init):
28426           more macro splitting
28427
28428 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28429
28430         * gst/gstelement.c: (gst_element_get_bus):
28431           add debug
28432         * tools/gst-launch.c: (check_intr), (event_loop):
28433           fix bus leaks
28434
28435 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28436
28437         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28438           fix a caps leak
28439
28440 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28441
28442         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28443         (gst_base_src_finalize):
28444           add finalize method and clean up properly
28445         * gst/gstpipeline.c: (gst_pipeline_dispose):
28446           add debug
28447
28448 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28449
28450         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28451         (gst_bin_suite):
28452           add more things to check
28453         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28454         * gst/gstelement.c:
28455           more debug
28456
28457 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28458
28459         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28460         (GST_START_TEST), (fakesrc_suite):
28461         * check/gst-libs/gdp.c: (GST_START_TEST):
28462         * check/gst/gst.c: (GST_START_TEST):
28463         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28464         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28465         * check/gst/gstbus.c: (GST_START_TEST):
28466         * check/gst/gstcaps.c: (GST_START_TEST):
28467         * check/gst/gstdata.c: (GST_START_TEST):
28468         * check/gst/gstelement.c: (GST_START_TEST):
28469         * check/gst/gstghostpad.c: (GST_START_TEST):
28470         * check/gst/gstiterator.c: (GST_START_TEST):
28471         * check/gst/gstmessage.c: (GST_START_TEST):
28472         * check/gst/gstobject.c: (GST_START_TEST):
28473         * check/gst/gstpad.c: (GST_START_TEST):
28474         * check/gst/gststructure.c: (GST_START_TEST):
28475         * check/gst/gstsystemclock.c: (GST_START_TEST),
28476         (gst_systemclock_suite):
28477         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28478         * check/gst/gstvalue.c: (GST_START_TEST):
28479         * check/pipelines/cleanup.c: (GST_START_TEST):
28480         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28481         * check/states/sinks.c: (GST_START_TEST):
28482         * check/gstcheck.c: (gst_check_init):
28483         * check/gstcheck.h:
28484           add debugging category
28485           use GST_START_TEST now, so we add a debug line
28486
28487 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28488
28489         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28490           add test for state change message on a bin
28491         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28492           add another test
28493         * gst/gstbin.c: (gst_bin_init):
28494         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28495         * gst/gstelement.c: (gst_element_post_message),
28496         (gst_element_set_state):
28497         * gst/gstelementfactory.c: (gst_element_factory_create):
28498         * gst/gstmessage.c: (gst_message_new):
28499         * gst/gstscheduler.c:
28500           various debugging additions and cleanups
28501
28502 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28503
28504         * check/Makefile.am:
28505         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28506         (main):
28507           adding tests for elements
28508         * gst/gstelement.c: (gst_element_dispose):
28509
28510 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28511
28512         * gst/registries/gstlibxmlregistry.c: (load_feature):
28513           plug more leaks.  A simple gst_init() now is leakfree, yay.
28514
28515 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28516
28517         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28518         (gst_xml_registry_load):
28519           plug another memleak
28520
28521 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28522
28523         * configure.ac:
28524           use GST_SET_ERROR_CFLAGS
28525         * docs/faq/cvs.xml:
28526           change to ERROR_CFLAGS
28527
28528 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28529
28530         * configure.ac:
28531           make GST_ERROR_CFLAGS overridable and re-enable Werror
28532         * docs/faq/cvs.xml:
28533           add a note about error CFLAGS
28534         * docs/gst/tmpl/gstfakesrc.sgml:
28535         * gst/elements/gstfakesrc.c:
28536           comment out some unused code
28537         * gst/gst.c: (split_and_iterate):
28538         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28539         (load_feature):
28540           plug some memleaks
28541
28542 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28543
28544         * common/Makefile.am:
28545         * common/gtk-doc.mak:
28546         * docs/gst/Makefile.am:
28547           factor out gtk-doc.mak
28548
28549 2005-07-07  Wim Taymans  <wim@fluendo.com>
28550
28551         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28552         (gst_thread_scheduler_dispose):
28553         Unlock the STREAM_LOCK completely.
28554
28555 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28556
28557         * check/Makefile.am:
28558         * check/elements/.cvsignore:
28559         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28560         (START_TEST), (fakesrc_suite), (main):
28561         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28562         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28563         (gst_fakesrc_create), (gst_fakesrc_start):
28564         * gst/elements/gstfakesrc.h:
28565           adding a first element test
28566
28567 2005-07-07  Andy Wingo  <wingo@pobox.com>
28568
28569         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28570         debug message.
28571
28572 2005-07-07  Wim Taymans  <wim@fluendo.com>
28573
28574         * gst/gstquery.c:
28575         * gst/gstquery.h:
28576         Remove old types
28577
28578 2005-07-07  Wim Taymans  <wim@fluendo.com>
28579
28580         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28581         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28582         Allow subclasses to implement their own negotiation.
28583
28584 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28585
28586         * docs/design/part-gstbin.txt:
28587         * docs/design/part-gstpipeline.txt:
28588           Update design notes to reflect the movement of
28589           responsibility for bus handling from GstPipeline to
28590           GstBin
28591
28592 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28593
28594         * configure.ac:
28595           Remove unnecessary queue2/3/4 examples.
28596
28597 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28598
28599         * examples/Makefile.am:
28600         * examples/helloworld/helloworld.c: (event_loop), (main):
28601         * examples/queue/queue.c: (event_loop), (main):
28602         * examples/queue2/queue2.c: (main):
28603           Update a couple of the examples to work again.
28604
28605         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28606         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28607          Spelling corrections and extra debug.
28608         
28609         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28610         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28611         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28612         * gst/gstbin.h:
28613         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28614         (gst_pipeline_change_state):
28615         * gst/gstpipeline.h:
28616           Move the bus handler for children to the GstBin, and create a
28617           separate bus for receiving messages from children to the one the
28618           bus sends 'upwards' on.
28619
28620 2005-07-06  Wim Taymans  <wim@fluendo.com>
28621
28622         * gst/base/README:
28623         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28624         (gst_base_sink_handle_object), (gst_base_sink_loop),
28625         (gst_base_sink_change_state):
28626         * gst/base/gstbasesink.h:
28627         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28628         (gst_base_src_init), (gst_base_src_setcaps),
28629         (gst_base_src_getcaps), (gst_base_src_loop),
28630         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28631         (gst_base_src_start), (gst_base_src_change_state):
28632         * gst/base/gstbasesrc.h:
28633         Make basesrc negotiate.
28634         Handle the case where preroll fails in basesink.
28635         Update README.
28636
28637 2005-07-06  Wim Taymans  <wim@fluendo.com>
28638
28639         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28640         Implement the fixate function.
28641         Clean up acceptcaps.
28642
28643 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28644
28645         * docs/pwg/building-filterfactory.xml:
28646         * docs/pwg/pwg.xml:
28647           Remove never-written filter-factory chapter; I'll add the various
28648           base classes to part 4 ("other element types") later on.
28649
28650 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28651
28652         * docs/pwg/advanced-negotiation.xml:
28653         * docs/pwg/building-boiler.xml:
28654         * docs/pwg/building-pads.xml:
28655         * docs/pwg/pwg.xml:
28656         * examples/pwg/Makefile.am:
28657           Add a chapter on caps negotiation, simplify the original code
28658           samples a bit w.r.t. caps negotiation, add link to the advanced
28659           section. Add a bunch of examples showing different use cases of
28660           different types of caps negotiation. Upstream renegotiation isn't
28661           fully documented yet since nobody knows how that works.
28662
28663 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28664
28665         * check/gst/gstpad.c:
28666         * check/gstcheck.c:
28667         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28668           if pad has no parent, return NULL as list of internal links
28669
28670 2005-07-05  Andy Wingo  <wingo@pobox.com>
28671
28672         * gst/elements/gstfilesrc.c:
28673         * gst/elements/gstfakesrc.c: 
28674         * gst/base/gstpushsrc.c:
28675         * gst/base/gstbasesrc.h: 
28676         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28677         
28678 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28679
28680         * Makefile.am:
28681           better report generation target (lcov needs a patch)
28682
28683 2005-07-05  Andy Wingo  <wingo@pobox.com>
28684
28685         * gst/elements, testsuite: Null if we got it...
28686
28687 2005-07-05  Wim Taymans  <wim@fluendo.com>
28688
28689         * configure.ac:
28690         * libs/gst/dataprotocol/Makefile.am:
28691         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28692         * libs/gst/dataprotocol/dataprotocol.h:
28693         * pkgconfig/Makefile.am:
28694         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28695         * pkgconfig/gstreamer-dataprotocol.pc.in:
28696         Ported dataprotol to 0.9. 
28697         Added pkgconfig files.
28698
28699 2005-07-05  Andy Wingo  <wingo@pobox.com>
28700
28701         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28702         Default to returning TRUE for the case when tranform_caps returns
28703         a fixed caps, like for identity or volume.
28704
28705         * check/gst/gstbus.c (pound_bus_with_messages): 
28706         * check/gst/gstmessage.c (START_TEST): 
28707         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28708         message API change.
28709
28710         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28711         logic weaks here: always run transform_caps, trying passthrough
28712         operation only if the original caps intersects with the transform.
28713
28714         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28715         source and sink caps.
28716
28717         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28718         Intersect the peer caps with the pad template before going into
28719         transform_caps.
28720         (gst_base_transform_transform_caps): More debugging.
28721
28722         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28723         src argument.
28724
28725 2005-07-04  Edward Hervey  <edward@fluendo.com>
28726
28727         * gst/gstutils.c:
28728         * gst/gstutils.h:
28729         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28730         in bindings.
28731
28732 2005-07-04  Andy Wingo  <wingo@pobox.com>
28733
28734         * check/gst/gstpad.c: Only set explicit caps on pads.
28735
28736 2005-07-01  Andy Wingo  <wingo@pobox.com>
28737
28738         * tests/network-clock.scm: Commentary update.
28739
28740         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28741         Didn't really make sense, not implementable with basetransform,
28742         etc.
28743         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28744         attempt at implementing the sync property, needs an unlock method.
28745
28746         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28747         New func, by default returns the same caps (the identity
28748         transformation).
28749         (gst_base_transform_getcaps): Uses transform_caps to return
28750         something sensible.
28751         (gst_base_transform_setcaps): Complicated logic to get caps on
28752         both pads, even if they are different, and to call set_caps once
28753         for every time both pads get their caps set.
28754         (gst_base_transform_handle_buffer): Give the ref to the transform
28755         function. Allows in-place modification of the buffer.
28756
28757         * gst/base/gstbasetransform.h (transform_caps): New class method.
28758         Given caps on one side, what can I do on the other.
28759         (set_caps): Take two caps, one for each side of the element.
28760
28761         * gst/gstpad.h:
28762         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28763         caps in place. This is safe because we can check the mutability of
28764         the caps, and a good idea because fixate functions are just called
28765         as a matter of last resort. (Not actually implemented.)
28766         (gst_pad_set_caps): If the caps we're setting is actually the same
28767         as the existing pad caps, just update the pointer without calling
28768         setcaps. Assert that caps is either NULL or fixed, as per the
28769         docs.
28770
28771         * gst/gstghostpad.c: Update for fixate changes.
28772
28773 2005-07-02  Andy Wingo  <wingo@pobox.com>
28774
28775         * gst/gstcaps.c:
28776         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28777         two refcounts makes it immutable, which is enough. Doc more.
28778
28779 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28780
28781         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28782           Put the mini_object into GValue as a mini_object,
28783           not a gpointer, since that's how we declared
28784           the signal.
28785
28786 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28787
28788         * examples/pwg/Makefile.am:
28789           Fix buildbot again.
28790
28791 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28792
28793         * docs/pwg/building-testapp.xml:
28794           Add extra check.
28795         * examples/pwg/Makefile.am:
28796           Fix buildbot.
28797
28798 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28799
28800         * configure.ac:
28801         * examples/Makefile.am:
28802         * examples/pwg/Makefile.am:
28803         * examples/pwg/extract.pl:
28804           Enable building the PWG examples.
28805         * docs/pwg/advanced-interfaces.xml:
28806           Add URI interface stub.
28807         * docs/pwg/advanced-types.xml:
28808         * docs/pwg/other-autoplugger.xml:
28809         * docs/pwg/appendix-porting.xml:
28810         * docs/pwg/pwg.xml:
28811           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28812         * docs/pwg/building-boiler.xml:
28813         * docs/pwg/building-chainfn.xml:
28814         * docs/pwg/building-pads.xml:
28815         * docs/pwg/building-props.xml:
28816         * docs/pwg/building-state.xml:
28817         * docs/pwg/building-testapp.xml:
28818           Update the building-*.xml parts for 0.9 changes. All examples
28819           code blocks compile in examples/pwg/*.
28820
28821 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28822
28823         * docs/manual/advanced-autoplugging.xml:
28824         * docs/manual/appendix-checklist.xml:
28825         * docs/manual/appendix-integration.xml:
28826         * docs/manual/highlevel-components.xml:
28827           Fix playbin/decodebin examples, update docs a bit, mention bus
28828           instead of signals in various places, mention kmplayer and
28829           kaffeine since they have a working GStreamer backend in the KDE
28830           section.
28831
28832 2005-06-30  Wim Taymans  <wim@fluendo.com>
28833
28834         * CHANGES-0.9:
28835         * docs/design/draft-ghostpads.txt:
28836         * docs/design/draft-push-pull.txt:
28837         * docs/design/draft-query.txt:
28838         * docs/design/part-TODO.txt:
28839         * docs/design/part-query.txt:
28840         Added CHANGES-0.9 doc, updated status of other docs.
28841         
28842         * gst/gstquery.h:
28843         Remove "hmm" macro
28844
28845 2005-06-30  Wim Taymans  <wim@fluendo.com>
28846
28847         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28848         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28849         (gst_base_sink_change_state):
28850         * gst/base/gstbasesink.h:
28851         Some tweaks, only EOS and a buffer complete a preroll.
28852
28853 2005-06-30  Andy Wingo  <wingo@pobox.com>
28854
28855         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28856         activate_push down to the internal pad as well.
28857
28858 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28859
28860         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28861
28862         * gst/gsttaginterface.c:
28863           Some documentation fixes (#307394 and #307397).
28864
28865 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28866
28867         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28868
28869         * gst/gstvalue.c: (gst_value_intersect_list):
28870           Fix memleak (#309125).
28871
28872 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28873
28874         * docs/manual/advanced-dataaccess.xml:
28875           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28876         * docs/manual/basics-pads.xml:
28877           Add reference for filtered caps to above chapter.
28878
28879 2005-06-30  Wim Taymans  <wim@fluendo.com>
28880
28881         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28882         (gst_bin_change_state):
28883         Probes are gone.
28884         Lame attempt at making the state change function a bit
28885         more readable.
28886
28887 2005-06-30  Wim Taymans  <wim@fluendo.com>
28888
28889         * docs/design/part-clocks.txt:
28890         * docs/design/part-element-sink.txt:
28891         * docs/design/part-events.txt:
28892         * docs/design/part-preroll.txt:
28893         * docs/design/part-states.txt:
28894         Some more tweeks and additions to the docs.
28895
28896 2005-06-30  Wim Taymans  <wim@fluendo.com>
28897
28898         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28899         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28900         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28901         (gst_pad_check_pull_range), (gst_pad_get_range),
28902         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28903         * gst/gstpad.h:
28904         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28905         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28906         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28907         (gst_pad_remove_buffer_probe):
28908         Removed atomic operations, use existing LOCK.
28909         Move exception handling out of main code path.
28910
28911 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28912
28913         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28914         (silly_return_true_function), (gst_pad_class_init),
28915         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28916         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28917         (gst_pad_send_event):
28918           Fix accumulator, add default value by using _emitv() instead
28919           of _emit() for signal emission.
28920
28921 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28922
28923         * docs/manual/advanced-dataaccess.xml:
28924         * examples/manual/Makefile.am:
28925           Add probe example.
28926         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28927           Make work (??).
28928
28929 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28930
28931         * gst/elements/gstfilesink.c: (gst_filesink_render):
28932           Simplify code so that we don't have to handle short
28933           writes and return GST_FLOW_ERROR if an error occured.
28934
28935 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28936
28937         * docs/gst/gstreamer-docs.sgml:
28938           Remove probes more.
28939
28940 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28941
28942         * docs/gst/gstreamer-sections.txt:
28943         * docs/gst/tmpl/gstpad.sgml:
28944         * docs/gst/tmpl/gstprobe.sgml:
28945         * gst/Makefile.am:
28946         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28947         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28948         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28949         (gst_pad_push_event), (gst_pad_send_event):
28950         * gst/gstpad.h:
28951         * gst/gstutils.c: (gst_pad_add_data_probe),
28952         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28953         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28954         (gst_pad_remove_buffer_probe):
28955         * gst/gstutils.h:
28956           Remove old probes, add new g-signal-based probes and some utility
28957           functions.
28958
28959 2005-06-29  Edward Hervey  <edward@fluendo.com>
28960
28961         * gst/gstelementfactory.c:
28962         * gst/gstutils.h:
28963         * gst/gstutils.c:
28964         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28965         the definition to the header file.
28966
28967 2005-06-29  Andy Wingo  <wingo@pobox.com>
28968
28969         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28970         plugins from the source directory.
28971
28972 2005-06-29  Wim Taymans  <wim@fluendo.com>
28973
28974         * docs/gst/tmpl/gstbuffer.sgml:
28975         * docs/gst/tmpl/gstclock.sgml:
28976         Some fixings for blantently wrong text.
28977
28978 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28979
28980         * check/Makefile.am:
28981         * gst/gst.c: (add_path_func), (init_pre):
28982         * gst/gstregistry.c: (gst_registry_add_path):
28983           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28984           only scan the GST_PLUGIN_PATH locations, and not add
28985           system locations
28986
28987 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28988
28989         * docs/gst/gstreamer-sections.txt:
28990         * docs/gst/tmpl/gstbasesrc.sgml:
28991         * gst/gstelement.c:
28992         * gst/gstelement.h:
28993         * gst/gstevent.c:
28994         * gst/gstutils.c:
28995           doc fixes
28996
28997 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28998
28999         * docs/manual/advanced-autoplugging.xml:
29000           Fix autoplugging example.
29001
29002 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29003
29004         * docs/manual/advanced-autoplugging.xml:
29005         * docs/manual/mime-world.fig:
29006           Try to get autoplugging working, fix type detection. Fix text
29007           in hello-world image.
29008
29009 2005-06-29  Wim Taymans  <wim@fluendo.com>
29010
29011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29012         (gst_base_sink_change_state):
29013         Small debug line.
29014
29015         * gst/gstclock.h:
29016         map SIGNAL and BROADCAST to the right function.
29017
29018         * gst/gstobject.h:
29019         Remove redundant braces.
29020
29021         * gst/gstpad.c: (gst_pad_set_caps):
29022         Don't call setcaps function when reseting caps to NULL.
29023
29024         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29025         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29026         (gst_system_clock_id_unschedule):
29027         Use BROADCAST as this is what we do.
29028
29029 2005-06-29  Wim Taymans  <wim@fluendo.com>
29030
29031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29032         We are actually prerolling before commiting the state
29033         change. 
29034
29035 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29036
29037         * docs/manual/advanced-clocks.xml:
29038         * docs/manual/advanced-interfaces.xml:
29039         * docs/manual/advanced-metadata.xml:
29040         * docs/manual/advanced-position.xml:
29041         * docs/manual/advanced-schedulers.xml:
29042         * docs/manual/advanced-threads.xml:
29043         * docs/manual/appendix-porting.xml:
29044         * docs/manual/basics-bins.xml:
29045         * docs/manual/basics-bus.xml:
29046         * docs/manual/basics-elements.xml:
29047         * docs/manual/basics-helloworld.xml:
29048         * docs/manual/basics-pads.xml:
29049         * docs/manual/highlevel-components.xml:
29050         * docs/manual/manual.xml:
29051         * docs/manual/thread.fig:
29052           Update (until threads/scheduling) Application Development Manual;
29053           remove GstThread, add GstBus, add simple porting checklist, add
29054           documentation for tag writing, clocks, make all examples until this
29055           part compile and run.
29056         * examples/manual/Makefile.am:
29057           Update from changes to Application Development Manual; add bus
29058           example, remove thread example.
29059
29060 2005-06-28  Wim Taymans  <wim@fluendo.com>
29061
29062         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29063         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29064         (gst_bus_source_dispatch):
29065         Add debugging messages.
29066         Make internal methods static.
29067         Handle the case where the bus is flushed in the handler.
29068         
29069         * gst/gstelement.c: (gst_element_get_bus):
29070         Fix refcount in _get_bus();
29071
29072         * gst/gstpipeline.c: (gst_pipeline_change_state),
29073         (gst_pipeline_get_clock_func):
29074         Clock refcounting fixes.
29075         Handle the case where preroll timed out more gracefully.
29076         
29077         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29078         Clean up the internal thread in dispose. This is needed
29079         for subclasses that actually get disposed.
29080         
29081         * gst/schedulers/threadscheduler.c:
29082         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29083         (gst_thread_scheduler_dispose):
29084         Free thread pool in dispose.
29085
29086 2005-06-28  Andy Wingo  <wingo@pobox.com>
29087
29088         * tests/network-clock-utils.scm (debug, print-event): New utils.
29089
29090         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29091         (*packet-loss*): Unified loss probability.
29092         (network-time): Report out-of-band events.
29093
29094         * tests/plot-data: Add support for out-of-band events. Hack it
29095         into this script instead of passing it down the pipe; should fix
29096         this later.
29097
29098 2005-06-28  Wim Taymans  <wim@fluendo.com>
29099
29100         * docs/gst/gstreamer.types:
29101         * docs/gst/tmpl/gstbasesrc.sgml:
29102         * docs/gst/tmpl/gstpad.sgml:
29103         Docs fixes.
29104
29105 2005-06-28  Wim Taymans  <wim@fluendo.com>
29106
29107         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29108         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29109         (gst_proxy_pad_do_fixatecaps):
29110         Correctly proxy the check_pull_range function.
29111
29112 2005-06-28  Andy Wingo  <wingo@pobox.com>
29113
29114         * tests/network-clock.scm: Removed need for slib.
29115         
29116 2005-06-28  Wim Taymans  <wim@fluendo.com>
29117
29118         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29119         (gst_basesink_preroll_queue_flush):
29120         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29121         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29122         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29123         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29124         (gst_proxy_pad_set_property):
29125         * gst/gstpad.c:
29126         * gst/gstpad.h:
29127         * gst/gstqueue.c: (gst_queue_init):
29128         The deprecated pad loop function is removed now.
29129
29130 2005-06-28  Andy Wingo  <wingo@pobox.com>
29131
29132         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29133         New parameters, simulate network packet loss.
29134
29135         * tests/network-clock-utils.scm: Initialize the RNG.
29136
29137 2005-06-28  Wim Taymans  <wim@fluendo.com>
29138
29139         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29140         (gst_basesink_event), (gst_basesink_deactivate):
29141         Flushing the preroll queue always needs to unlock the waiters.
29142
29143 2005-06-28  Edward Hervey  <edward@fluendo.com>
29144
29145         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29146         Wheen a seek was successful on a pipeline, set the stream_time to the
29147         seek offset in order to have a synchronized stream_time.
29148
29149 2005-06-28  Wim Taymans  <wim@fluendo.com>
29150
29151         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29152         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29153         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29154         (gst_proxy_pad_do_fixatecaps):
29155         Call wrapper function instead of just calling the function
29156         pointers. This takes care of any locking and whatmore.
29157
29158 2005-06-28  Wim Taymans  <wim@fluendo.com>
29159
29160         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29161         (gst_pad_pull_range):
29162         * gst/gstpad.h:
29163         CONNECTED -> LINKED.
29164
29165 2005-06-28  Andy Wingo  <wingo@pobox.com>
29166
29167         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29168         source-munging commit!!!
29169
29170         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29171         (gst_object_sink): Take gpointer arguments, not GstObject --
29172         avoids casts. Like GLib.
29173
29174         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29175         activate.
29176
29177 2005-06-27  Andy Wingo  <wingo@pobox.com>
29178
29179         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29180         remaining buffer.
29181
29182         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29183         returns a sorted copy of the trace list.
29184         (gst_alloc_trace_print_live): New API, only prints traces with
29185         live objects. Sort the list.
29186         (gst_alloc_trace_print_all): Sort the list.
29187         (gst_alloc_trace_print): Align columns.
29188
29189         * gst/elements/gstttypefindelement.c:
29190         * gst/elements/gsttee.c:
29191         * gst/base/gstbasesrc.c:
29192         * gst/base/gstbasesink.c:
29193         * gst/base/gstbasetransform.c:
29194         * gst/gstqueue.c: Adapt for pad activation changes.
29195
29196         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29197         sched.
29198         (gst_pipeline_dispose): Drop ref on sched.
29199
29200         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29201         (gst_pad_activate_default): Push mode by default.
29202         (pre_activate_switch, post_activate_switch): New stubs, things to
29203         do before and after switching activation modes on pads.
29204         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29205         the pad's activate function to choose which mode to activate.
29206         Shortcut on deactivation and call the right function directly.
29207         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29208         mode.
29209         (gst_pad_activate_push): New API, same for push mode.
29210         (gst_pad_set_activate_function) 
29211         (gst_pad_set_activatepull_function) 
29212         (gst_pad_set_activatepush_function): Setters for new API.
29213
29214         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29215         Trace all miniobjects.
29216         (gst_mini_object_make_writable): Unref the arg if we copy, like
29217         gst_caps_make_writable.
29218
29219         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29220
29221         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29222         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29223         Adapt for new pad API.
29224
29225         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29226
29227         * gst/gstelement.h:
29228         * gst/gstelement.c (gst_element_iterate_src_pads) 
29229         (gst_element_iterate_sink_pads): New API functions.
29230         
29231         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29232         should fold into gstiterator.c in some form.
29233         (gst_element_pads_activate): Simplified via use of fold and
29234         delegation of decisions to gstpad->activate.
29235
29236         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29237         help in debugging.
29238
29239         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29240         class once in init, like gstmessage. Didn't run into this issue
29241         but it seems correct. Don't initialize a trace, gstminiobject does
29242         that.
29243
29244         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29245         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29246         to the bus.
29247         (assert_live_count): New util function, uses alloc traces to check
29248         cleanup.
29249
29250         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29251         To be modified when unlink drops the internal pad.
29252
29253 2005-06-27  Wim Taymans  <wim@fluendo.com>
29254
29255         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29256         (gst_bin_change_state):
29257         Cleanup the get_state() function a little, make sure it
29258         iterates the same set of elements.
29259         Added stub iterate_state_order().
29260
29261 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29262
29263         * docs/gst/gstreamer-docs.sgml:
29264         * docs/gst/gstreamer-sections.txt:
29265         * docs/gst/gstreamer.types:
29266         * docs/gst/tmpl/gstbasesink.sgml:
29267         * docs/gst/tmpl/gstbasesrc.sgml:
29268         * docs/gst/tmpl/gstbasetransform.sgml:
29269         * docs/gst/tmpl/gstelement.sgml:
29270         * docs/gst/tmpl/gstiterator.sgml:
29271         * gst/base/gstbasesrc.c:
29272         * gst/base/gstbasesrc.h:
29273         * gst/base/gstbasetransform.h:
29274         * gst/gstelement.c:
29275         * gst/gstiterator.h:
29276           adding basetransform and iterator docs
29277
29278 2005-06-27  Andy Wingo  <wingo@pobox.com>
29279
29280         * docs/design/part-activation.txt: Notes on how activation should
29281         work -- not quite implemented yet.
29282
29283 2005-06-25  Wim Taymans  <wim@fluendo.com>
29284
29285         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29286         At least get the chain function correct, needs more
29287         fixing.
29288
29289 2005-06-25  Wim Taymans  <wim@fluendo.com>
29290
29291         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29292         (gst_basesink_handle_object), (gst_basesink_event),
29293         (gst_basesink_do_sync), (gst_basesink_handle_event),
29294         (gst_basesink_change_state):
29295         * gst/gsttask.h:
29296         Right, two problems here: ghostpads don't take locks and
29297         glib _rec_mutex_lock_full() with depth==0 still locks.
29298         Catch illegal locking and g_warn them.
29299
29300 2005-06-25  Wim Taymans  <wim@fluendo.com>
29301
29302         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29303         Have to check for completion now...
29304
29305 2005-06-25  Wim Taymans  <wim@fluendo.com>
29306
29307         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29308         (gst_basesink_handle_object), (gst_basesink_event),
29309         (gst_basesink_do_sync), (gst_basesink_handle_event),
29310         (gst_basesink_change_state):
29311         * gst/gstpad.h:
29312         Unlock STREAM_LOCK whatever the recursion was.
29313
29314 2005-06-25  Wim Taymans  <wim@fluendo.com>
29315
29316         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29317         (gst_basesink_preroll_queue_empty),
29318         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29319         (gst_basesink_event), (gst_basesink_do_sync),
29320         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29321         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29322         (gst_basesink_change_state):
29323         Reworked the base sink, handle event and buffer serialisation
29324         correctly and removed possible deadlock.
29325         Handle EOS correctly.
29326
29327 2005-06-25  Wim Taymans  <wim@fluendo.com>
29328
29329         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29330         (gst_pipeline_change_state):
29331         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29332         Allow elements to post EOS in the state change function.
29333         Fix up -launch, make it exit the poll loop when the
29334         pipeline actually changed state.
29335         Fix up warning parsing in -launch.
29336
29337 2005-06-25  Wim Taymans  <wim@fluendo.com>
29338
29339         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29340         (gst_tee_sink_activate):
29341         Core takes STREAM_LOCK for us now.
29342
29343 2005-06-25  Wim Taymans  <wim@fluendo.com>
29344
29345         * gst/gstelement.c: (gst_element_get_state_func),
29346         (gst_element_set_state):
29347         * gst/gstelement.h:
29348         * gst/gstmessage.c: (gst_message_parse_error),
29349         (gst_message_parse_warning):
29350         Keep track of current target state while performing a state
29351         change so that subclasses can do something interesting.
29352         Fix parsing of warning/error messages when GError is NULL.
29353
29354 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29355
29356         * docs/gst/Makefile.am:
29357         * docs/gst/gstreamer-docs.sgml:
29358         * docs/gst/gstreamer-sections.txt:
29359         * docs/gst/gstreamer.types:
29360         * docs/gst/tmpl/gstbasesink.sgml:
29361         * docs/gst/tmpl/gstbasesrc.sgml:
29362         * docs/gst/tmpl/gstbin.sgml:
29363         * docs/gst/tmpl/gstcompat.sgml:
29364         * docs/gst/tmpl/gstfakesink.sgml:
29365         * docs/gst/tmpl/gstfakesrc.sgml:
29366         * docs/gst/tmpl/gstfilesink.sgml:
29367         * docs/gst/tmpl/gstfilesrc.sgml:
29368         * docs/gst/tmpl/gstindex.sgml:
29369         * docs/manual/appendix-quotes.xml:
29370         * gst/base/gstbasesrc.h:
29371         * gst/elements/gstfakesrc.h:
29372         * gst/gstmessage.h:
29373           start pulling in base classes and elements in our docs
29374
29375 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29376
29377         * docs/gst/Makefile.am:
29378         * docs/libs/Makefile.am:
29379           fixed make distcheck with gtk-doc 1.3
29380
29381 2005-06-23  Wim Taymans  <wim@fluendo.com>
29382
29383         * gst/gstelement.c: (gst_element_get_state_func),
29384         (gst_element_set_state), (gst_element_change_state):
29385         When the state did not change, also report NO_PREROLL
29386         when it matters.
29387
29388 2005-06-23  Wim Taymans  <wim@fluendo.com>
29389
29390         * gst/gstpad.c: (gst_pad_event_default):
29391         * gst/gstqueue.c: (gst_queue_loop):
29392         No unsafe task pausing please.
29393
29394 2005-06-23  Wim Taymans  <wim@fluendo.com>
29395
29396         * gst/schedulers/threadscheduler.c:
29397         (gst_thread_scheduler_task_start),
29398         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29399         Ref the task before pushing it on the threadpool. This
29400         makes sure that we have a ref when the threadfunction is
29401         actually called.
29402
29403 2005-06-23  Andy Wingo  <wingo@pobox.com>
29404
29405         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29406         offset is greater than the file's size.
29407
29408         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29409         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29410         * gst/gstobject.c (gst_object_class_init): Make the class lock
29411         recursive. Wim won't let me drop deep_notify. Decodebin works
29412         again, whoopdy doo.
29413
29414         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29415         internal pad, and hacks accordingly. Doesn't do it on the target
29416         pad because we change its caps. Probably catches all cases of
29417         interest tho.
29418         (gst_ghost_pad_set_property): Connect to notify::caps as
29419         appropritate.
29420
29421         * tests/network-clock.scm (plot-simulation): Pipe data to the
29422         elite python skript.
29423
29424         * tests/network-clock-utils.scm (define-parameter): New macro,
29425         defines a parameter that can be set via the command line.
29426         (set-parameter!, parse-parameter-arguments): Command line args
29427         parser.
29428
29429         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29430         stdin.
29431
29432 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29433
29434         * gst/elements/gsttypefindelement.c:
29435         (gst_type_find_element_handle_event):
29436           Don't restart typefinding on a discont.
29437         * gst/gstelement.c: (gst_element_set_state):
29438           Debug spelling fix.
29439         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29440           Allow changing mode of an active pad.
29441           Debug output fixes.
29442         * gst/registries/gstlibxmlregistry.c: (load_feature):
29443           Don't cast a static pad template to a normal pad template.
29444
29445 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29446
29447         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29448         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29449           remove gst_strtoll completely, since it didn't actually do
29450           anything more than what g_ascii_strtoull already does.
29451           check for range errors when deserializing
29452           do a cast for the unsigned cases; but further fixing needs
29453           a decision on what the interpretation of "(int)" and
29454           deserialization should be for values that fall outside the
29455           type's boundaries (ie, refuse, or interpret as casting)
29456
29457 2005-06-23  Wim Taymans  <wim@fluendo.com>
29458
29459         * check/Makefile.am:
29460         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29461         * docs/design/part-live-source.txt:
29462         * docs/design/part-states.txt:
29463         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29464         (gst_basesrc_set_live), (gst_basesrc_is_live),
29465         (gst_basesrc_get_range), (gst_basesrc_activate),
29466         (gst_basesrc_change_state):
29467         * gst/base/gstbasesrc.h:
29468         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29469         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29470         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29471         * gst/gstelement.c: (gst_element_get_state_func),
29472         (gst_element_set_state):
29473         * gst/gstelement.h:
29474         * gst/gsttypes.h:
29475         * tools/gst-launch.c: (event_loop), (main):
29476         Added support for live sources and other elements that
29477         cannot do preroll.
29478         Updated design docs, added live-source design doc.
29479         Implemented live source functionality in basesrc
29480         Fix error condition in _bin_get_state()
29481         Implement live source handling in -launch.
29482         Added check for live sources.
29483         Fixed case in GstBin where elements were changed state
29484         multiple times.
29485
29486
29487 2005-06-23  Andy Wingo  <wingo@pobox.com>
29488
29489         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29490         borken refcounting.
29491
29492         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29493         gst_caps_replace takes care of this for us.
29494
29495         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29496         gst_pad_set_caps on the target, not just its setcaps() function.
29497
29498         * tests/network-clock.scm: 
29499         * tests/network-clock-utils.scm: A network clock simulator.
29500         Something of an algorithmic testbed before doing something in C.
29501
29502 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29503
29504         * check/Makefile.am:
29505         * check/gst/capslist.h:
29506           copy over from 0.8, and add two with bitmasks specified with
29507           (int) 0xFF...
29508         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29509           add test to parse everything from capslist.h
29510         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29511         (main):
29512           add test for structure deserialization
29513         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29514           add tests for deserialization of strings to int types
29515         * gst/gststructure.c: (gst_structure_nth_field_name):
29516         * gst/gststructure.h:
29517           add a way to get the name of a field referenced by index
29518         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29519           instead of checking if the resulting long long lies between
29520           min and max, we check if the long long would fit into
29521           a number of bytes for the final type.
29522           This fixes cases where a string represents 2^32 - 1, which
29523           when cast to int would be the (valid) -1, but is bigger than
29524           G_MAXINT
29525
29526 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29527
29528         * gst/parse/grammar.y:
29529           add a log line for type deserialization
29530
29531 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29532
29533         * check/gst/gstvalue.c: (START_TEST):
29534         * gst/gstvalue.c: (gst_value_deserialize):
29535           return long long, not int, so gint64 deserialization actually
29536           works.  Is there any flag that makes the compiler check this ?
29537           Fixes #308559
29538
29539 2005-06-22  Wim Taymans  <wim@fluendo.com>
29540
29541         * gst/gstbuffer.h:
29542         Added convenience macros for setting buffers in GValue.
29543
29544 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29545
29546         * check/gst/.cvsignore:
29547         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29548           add a test deserializing int64, and comment part out because
29549           it fails, yay !
29550
29551 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29552
29553         * check/Makefile.am:
29554         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29555         * testsuite/Makefile.am:
29556         * testsuite/caps/Makefile.am:
29557         * testsuite/caps/value_serialize.c:
29558         * testsuite/test_gst_init.c:
29559           move a value_serialize test over
29560
29561 2005-06-20  Wim Taymans  <wim@fluendo.com>
29562
29563         * gst/gstpad.c:
29564         Small doc updates.
29565         
29566         * gst/gstvalue.c: (gst_value_compare_buffer),
29567         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29568         (gst_value_compare_flags), (gst_value_serialize_flags),
29569         (gst_value_deserialize_flags), (_gst_value_initialize):
29570         Fix serialisation of buffers, they are not boxed types anymore
29571
29572 2005-06-20  Wim Taymans  <wim@fluendo.com>
29573
29574         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29575         Testcase to show error in buffer-on-caps serialisation.
29576
29577 2005-06-20  Andy Wingo  <wingo@pobox.com>
29578
29579         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29580         will be adding to later.
29581
29582         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29583         if its socks fill with rocks.
29584         (gst_system_clock_obtain): Set the name on object construction.
29585         Avoid double-checked locking.
29586
29587 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29588
29589         * gst/gsturi.c: (gst_element_make_from_uri):
29590           Fix potential endless loop.
29591
29592 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29593
29594         * check/Makefile.am:
29595           add gsttag
29596         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29597         (main):
29598           move over from testsuite dir and clean up
29599         * configure.ac:
29600         * gst/gsttag.c:
29601         * testsuite/Makefile.am:
29602         * testsuite/tags/.cvsignore:
29603         * testsuite/tags/Makefile.am:
29604         * testsuite/tags/merge.c:
29605           remove testsuite/tags
29606
29607 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29608
29609         * docs/gst/gstreamer-sections.txt:
29610         * docs/gst/tmpl/gstenumtypes.sgml:
29611         * win32/gstenumtypes.c:
29612           clean up documentation build a little
29613
29614 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29615
29616         * check/gstcheck.h:
29617           add macros for checking refcounts on objects and caps
29618         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29619           add some more unit tests
29620         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29621         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29622           fix leaked refcounts (I hope :)) so unittest works
29623         * gst/gstpad.h:
29624           whitespace removal
29625
29626 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29627
29628         * configure.ac: back to HEAD
29629
29630 === release 0.9.1 ===
29631
29632 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29633
29634         * NEWS:
29635         * RELEASE:
29636           updated
29637
29638 2005-06-17  Andy Wingo  <wingo@pobox.com>
29639
29640         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29641         assert; it's always possible that the pad gets deactivated in
29642         between the checks in gstpad.c and the implementation. Rely on
29643         finish_preroll() to return a FLUSHING or similar instead of on the
29644         assert.
29645         
29646         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29647         clock and post an EOS message if we come out of finish_preroll in
29648         the playing state.
29649
29650 2005-06-16  David Schleef  <ds@schleef.org>
29651
29652         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29653         (gst_capsfilter_set_property): Allow NULL as possible value
29654         for filter_caps property, indicating GST_CAPS_ANY.
29655
29656 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29657
29658         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29659           fix debug output
29660         * gst/schedulers/Makefile.am:
29661           use libgst prefix
29662         * gstreamer.spec.in:
29663           fix spec for it
29664
29665 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29666
29667         * gstreamer.spec.in:
29668           clean up
29669
29670 2005-06-08  Andy Wingo  <wingo@pobox.com>
29671
29672         * gst/gstutils.c: RPAD fixes all around.
29673         (gst_element_link_pads): Refcounting fixes.
29674
29675         * tools/gst-inspect.c:
29676         * tools/gst-xmlinspect.c:
29677         * parse/grammar.y:
29678         * gst/base/gsttypefindhelper.c:
29679         * gst/base/gstbasesink.c:
29680         * gst/gstqueue.c: RPAD fixes.
29681
29682         * gst/gstghostpad.h:
29683         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29684         pads. The tricky thing is they provide both source and sink
29685         interfaces, since they proxy the internal pad for the external
29686         pad, and vice versa. Implement with lower-level ProxyPad objects,
29687         with the interior proxy pad as a child of the exterior ghost pad.
29688         Should write a doc on this.
29689         
29690         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29691         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29692         gst_object API.
29693         
29694         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29695         pads are real pads. No ghost pads in this file. Not documenting
29696         the myriad s/RPAD/PAD/ and REALIZE fixes.
29697         (gst_pad_class_init): Add properties for "direction" and
29698         "template". Both are construct-only, so they can't change during
29699         the life of the pad. Fixes properly deriving from GstPad.
29700         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29701         derived objects, just set properties when creating the objects via
29702         g_object_new.
29703         (gst_pad_get_parent): Implement as a function, return NULL if the
29704         parent is not an element.
29705         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29706         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29707         
29708         * gst/gstobject.c (gst_object_class_init): Make name a construct
29709         property. Don't set it in the object init.
29710
29711         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29712         with UNKNOWN direction.
29713         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29714         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29715         (gst_element_remove_pad): Remove ghost-pad special cases.
29716         (gst_element_pads_activate): Remove rpad cruft.
29717
29718         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29719         catch the pad's-parent-not-an-element case.
29720
29721         * gst/gst.h: Include gstghostpad.h.
29722
29723         * gst/gst.c (init_post): No more real, ghost pads.
29724
29725         * gst/Makefile.am: Add gstghostpad.[ch].
29726
29727         * check/Makefile.am:
29728         * check/gst/gstbin.c:
29729         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29730         into a bin creates ghost pads, and that the refcounts are right.
29731         Partly moved from gstbin.c.
29732
29733 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29734
29735         * check/gst-libs/.cvsignore:
29736         * check/gst/.cvsignore:
29737         * check/pipelines/.cvsignore:
29738           ignore more
29739         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29740         (START_TEST), (cleanup_suite), (main):
29741           add some tests related to cleanup after running pipelines
29742
29743 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29744
29745         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29746           add a testsuite for GstBuffer
29747
29748 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29749
29750         * gst/gstminiobject.h:
29751           add defines for accessing the refcount
29752
29753 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29754
29755         * Makefile.am: added support for html unit test coverage reports
29756
29757 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29758
29759         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29760           Free existing caps if the capsfilter changes. Add a FIXME about
29761           setting those caps on the pads.
29762
29763         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29764           Before adding a ghost pad to a parent bin, check that there isn't
29765           already one for the element on the bin. Prevents infinite recursion
29766           when using decodebin in parse pipelines. Andy says he'll rewrite the
29767           way this works anyway, so ignore the hack.
29768
29769 2005-06-02  Andy Wingo  <wingo@pobox.com>
29770
29771         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29772         file size, pass it on to the type find helper.
29773
29774         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29775         segment_start and segment_end properly according to the seek
29776         method. Segment_end is still a bit flaky because offset can be
29777         negative for CUR and END cases, but it takes -1 as an "unset"
29778         value.
29779
29780 2005-06-02  Wim Taymans  <wim@fluendo.com>
29781
29782         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29783         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29784         (gst_basesink_activate):
29785         * gst/base/gstbasesink.h:
29786         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29787         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29788         (gst_pad_query), (gst_pad_start_task):
29789         * gst/gstpad.h:
29790         * gst/gstqueue.c: (gst_queue_bufferalloc),
29791         (gst_queue_handle_sink_event), (gst_queue_chain):
29792         Bufferalloc: return GstFlowReturn to more accuratly report
29793         why allocation failed.
29794
29795 2005-06-02  Wim Taymans  <wim@fluendo.com>
29796
29797         * gst/gstpipeline.c: (gst_pipeline_send_event):
29798         Take snapshot of state without blocking.
29799
29800 2005-06-02  Wim Taymans  <wim@fluendo.com>
29801
29802         * docs/design/part-TODO.txt:
29803         * docs/design/part-caps.txt:
29804         * docs/design/part-clocks.txt:
29805         * docs/design/part-negotiation.txt:
29806         * docs/design/part-preroll.txt:
29807         Small doc updates 
29808
29809 2005-05-30  Wim Taymans  <wim@fluendo.com>
29810
29811         * gst/elements/gstidentity.c: (gst_identity_event),
29812         (gst_identity_transform), (gst_identity_get_property):
29813         Protect last_message property as it is accessed from
29814         multiple threads.
29815
29816 2005-05-30  Wim Taymans  <wim@fluendo.com>
29817
29818         * gst/gstelement.c: (gst_element_init),
29819         (gst_element_pads_activate), (gst_element_change_state):
29820         Slicker pad activation code.
29821
29822 2005-05-30  Wim Taymans  <wim@fluendo.com>
29823
29824         * gst/Makefile.am:
29825         * gst/gstelement.h:
29826         * gst/gstelementfactory.h:
29827         * gst/gsttypes.h:
29828         Move elementfactory methods to separate .h file.
29829
29830 2005-05-30  Wim Taymans  <wim@fluendo.com>
29831
29832         * docs/design/part-overview.txt:
29833         * gst/gstsystemclock.h:
29834         Small typo fixes, doc updates.
29835
29836 2005-05-30  Wim Taymans  <wim@fluendo.com>
29837
29838         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29839         (init_popt_callback):
29840         Remove cpu-opt flag.
29841
29842 2005-05-30  Wim Taymans  <wim@fluendo.com>
29843
29844         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29845         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29846         * gst/gstbuffer.h:
29847         Avoid typechecking in places where not needed.
29848         Added accessor for malloc_data.
29849
29850 2005-05-30  Wim Taymans  <wim@fluendo.com>
29851
29852         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29853         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29854         (gst_pad_configure_sink), (gst_pad_configure_src),
29855         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29856         (gst_pad_start_task):
29857         Propagate errors from _set_caps() in configure_src/sink
29858         functions instead of returning TRUE.
29859         FLUSH events can travel up and downstream
29860
29861
29862 2005-05-30  Wim Taymans  <wim@fluendo.com>
29863
29864         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29865         (gst_basesink_activate):
29866         Handle EOS in preroll.
29867
29868 2005-05-30  Wim Taymans  <wim@fluendo.com>
29869
29870         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29871         (gst_queue_loop), (gst_queue_handle_src_event):
29872         Remove old pieces of code
29873         Flushing the queue in an upstream event is a very bad idea.
29874
29875 2005-05-26  Andy Wingo  <wingo@pobox.com>
29876
29877         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29878         gst_value_set_mini_object so as to add a ref on the object (which
29879         will be removed when the value is unset).
29880
29881         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29882         arg type in ::handoff.
29883
29884         * gst/gstelement.c (gst_element_change_state): Also deactivate
29885         pads in READY->NULL, just in case the element didn't make it to
29886         PAUSED. Wingo tested, Wim approved.
29887
29888 2005-05-26  Wim Taymans  <wim@fluendo.com>
29889
29890         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29891         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29892         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29893         A flushing pad cannot be used to alloc_buffer from.
29894
29895 2005-05-26  Wim Taymans  <wim@fluendo.com>
29896
29897         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29898         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29899         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29900         (gst_bus_create_watch), (gst_bus_add_watch_full):
29901         * gst/gstbus.h:
29902         Implement a real GSource and use g_main_context_wakeup() to
29903         signal new messages instead of the socketpair.
29904
29905 2005-05-25  Wim Taymans  <wim@fluendo.com>
29906
29907         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29908         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29909         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29910         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29911         (gst_pad_send_event), (gst_pad_start_task):
29912         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29913         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29914         (gst_queue_sink_activate), (gst_queue_src_activate),
29915         (gst_queue_change_state):
29916         * gst/gstqueue.h:
29917         Fix state changes for non sinks. We now change sinks, then elements
29918         with unconnected srcpads, then the rest.
29919         More efficient queue unlocking in flush and state changes.
29920         Set the pad activate mode even if it does not have an activate
29921         function.
29922
29923 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29924
29925         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29926           Don't go in pull mode for non-seekable sources.
29927         * gst/elements/gsttypefindelement.h:
29928         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29929         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29930         (free_entry), (stop_typefinding),
29931         (gst_type_find_element_handle_event), (find_peek),
29932         (gst_type_find_element_chain), (do_pull_typefind),
29933         (gst_type_find_element_change_state):
29934           Allow typefinding (w/o seeking) in push-mode, simplified version
29935           of what was in 0.8.
29936         * gst/gstutils.c: (gst_buffer_join):
29937         * gst/gstutils.h:
29938           gst_buffer_join() from 0.8.
29939
29940 2005-05-25  Wim Taymans  <wim@fluendo.com>
29941
29942         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29943         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29944         (gst_pad_send_event), (gst_pad_start_task):
29945         Disable attempt at mode switching until it is figured out.
29946
29947 2005-05-25  Wim Taymans  <wim@fluendo.com>
29948
29949         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29950         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29951         (gst_basesink_finish_preroll), (gst_basesink_chain),
29952         (gst_basesink_loop), (gst_basesink_activate),
29953         (gst_basesink_change_state):
29954         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29955         (gst_basesrc_get_range), (gst_basesrc_loop),
29956         (gst_basesrc_activate):
29957         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29958         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29959         (gst_real_pad_init), (gst_real_pad_set_property),
29960         (gst_real_pad_get_property), (gst_pad_set_active),
29961         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29962         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29963         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29964         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29965         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29966         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29967         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29968         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29969         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29970         (gst_pad_stop_task):
29971         * gst/gstpad.h:
29972         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29973         (gst_queue_loop), (gst_queue_src_activate):
29974         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29975         (gst_task_get_state):
29976         * gst/gsttask.h:
29977         * gst/schedulers/threadscheduler.c:
29978         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29979         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29980         in task function.
29981         Remove ACTIVE pad flag, use FLUSHING everywhere
29982         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29983         functions.
29984         Add locks around IS_FLUSHING when reading.
29985         Take STREAM lock in chain(), get_range() functions so plugins
29986         don't need to take it anymore.
29987         
29988
29989
29990 2005-05-25  Wim Taymans  <wim@fluendo.com>
29991
29992         * tools/gst-launch.c: (event_loop):
29993         Unref message after using its contents instead of
29994         before.
29995
29996 2005-05-24  Wim Taymans  <wim@fluendo.com>
29997
29998         * docs/design/draft-ghostpads.txt:
29999         * docs/design/draft-push-pull.txt:
30000         * docs/design/draft-query.txt:
30001         * docs/design/part-overview.txt:
30002         Docs updates, added general overview doc.
30003
30004 2005-05-21  David Schleef  <ds@schleef.org>
30005
30006         * docs/gst/tmpl/old/GstBin.sgml:
30007         * docs/gst/tmpl/old/GstBuffer.sgml:
30008         * docs/gst/tmpl/old/GstCaps.sgml:
30009         * docs/gst/tmpl/old/GstClock.sgml:
30010         * docs/gst/tmpl/old/GstCompat.sgml:
30011         * docs/gst/tmpl/old/GstData.sgml:
30012         * docs/gst/tmpl/old/GstElement.sgml:
30013         * docs/gst/tmpl/old/GstEvent.sgml:
30014         * docs/gst/tmpl/old/GstIndex.sgml:
30015         * docs/gst/tmpl/old/GstStructure.sgml:
30016         * docs/gst/tmpl/old/GstTag.sgml:
30017         * docs/gst/tmpl/old/cothreads.sgml:
30018         * docs/gst/tmpl/old/cothreads_compat.sgml:
30019         * docs/gst/tmpl/old/gettext.sgml:
30020         * docs/gst/tmpl/old/gobject2gtk.sgml:
30021         * docs/gst/tmpl/old/grammar.tab.sgml:
30022         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30023         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30024         * docs/gst/tmpl/old/gst_private.sgml:
30025         * docs/gst/tmpl/old/gstaggregator.sgml:
30026         * docs/gst/tmpl/old/gstarch.sgml:
30027         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30028         * docs/gst/tmpl/old/gstbufferstore.sgml:
30029         * docs/gst/tmpl/old/gstdata_private.sgml:
30030         * docs/gst/tmpl/old/gstdisksink.sgml:
30031         * docs/gst/tmpl/old/gstdisksrc.sgml:
30032         * docs/gst/tmpl/old/gstelementfactory.sgml:
30033         * docs/gst/tmpl/old/gstextratypes.sgml:
30034         * docs/gst/tmpl/old/gstfakesink.sgml:
30035         * docs/gst/tmpl/old/gstfakesrc.sgml:
30036         * docs/gst/tmpl/old/gstfdsink.sgml:
30037         * docs/gst/tmpl/old/gstfdsrc.sgml:
30038         * docs/gst/tmpl/old/gstfilesink.sgml:
30039         * docs/gst/tmpl/old/gstfilesrc.sgml:
30040         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30041         * docs/gst/tmpl/old/gstidentity.sgml:
30042         * docs/gst/tmpl/old/gstindexfactory.sgml:
30043         * docs/gst/tmpl/old/gstmarshal.sgml:
30044         * docs/gst/tmpl/old/gstmd5sink.sgml:
30045         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30046         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30047         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30048         * docs/gst/tmpl/old/gstpipefilter.sgml:
30049         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30050         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30051         * docs/gst/tmpl/old/gstshaper.sgml:
30052         * docs/gst/tmpl/old/gstspider.sgml:
30053         * docs/gst/tmpl/old/gstspideridentity.sgml:
30054         * docs/gst/tmpl/old/gststatistics.sgml:
30055         * docs/gst/tmpl/old/gsttee.sgml:
30056         * docs/gst/tmpl/old/gsttimecache.sgml:
30057         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30058         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30059         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30060         * docs/gst/tmpl/old/types.sgml:
30061           I didn't intend to add these or check them in.
30062
30063 2005-05-19  David Schleef  <ds@schleef.org>
30064
30065         * configure.ac: Use -no-common everywhere.  In a sane world, it
30066           would be the default in libtool, because without it, you can't
30067           build DLLs on Windows.
30068         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30069         * docs/gst/gstreamer-sections.txt:
30070         * docs/gst/tmpl/gstcpu.sgml:
30071         * docs/gst/tmpl/gstdata.sgml:
30072         * docs/gst/tmpl/gstthread.sgml:
30073
30074 2005-05-19  David Schleef  <ds@schleef.org>
30075
30076         * gst/gstminiobject.c: (gst_value_set_mini_object),
30077         (gst_value_take_mini_object), (gst_value_get_mini_object):
30078         * gst/gstminiobject.h: Add GValue set/get functions.
30079
30080 2005-05-19  Wim Taymans  <wim@fluendo.com>
30081
30082         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30083         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30084         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30085         * gst/gstbuffer.h:
30086         * gst/gstbus.c: (gst_bus_post):
30087         * gst/gstelement.c: (gst_element_get_random_pad):
30088         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30089         Make subbufer unref the parent in finalize.
30090         some more debugging info.
30091
30092
30093 2005-05-19  Wim Taymans  <wim@fluendo.com>
30094
30095         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30096         (gst_basesink_init), (gst_basesink_finalize),
30097         (gst_basesink_activate), (gst_basesink_change_state):
30098         Don't free preroll queue too early.
30099
30100 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30101
30102         * gst/Makefile.am:
30103         * gst/ROADMAP:
30104           Hi, I'm outdated. Please shoot me.
30105
30106 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30107
30108         * gst/gstpipeline.c: (gst_pipeline_send_event):
30109           Do not access variables after they have been deleted.
30110
30111 2005-05-19  Wim Taymans  <wim@fluendo.com>
30112
30113         * tools/gst-inspect.c: (print_plugin_features):
30114         A plugin feature does unfortunatly not use the
30115         object name yet...
30116
30117 2005-05-18  Wim Taymans  <wim@fluendo.com>
30118
30119         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30120         Port _span() functions to new subbuffers.
30121
30122 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30123
30124         * gst/gstbin.c: (gst_bin_add_func):
30125           Fix clock settery in bins when adding kids after the clock has
30126           been selected.
30127
30128 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30129
30130         * gst/elements/gstidentity.c: (gst_identity_class_init):
30131           Workaround until signals support GstMiniObject.
30132
30133 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30134
30135         * gst/gstbuffer.c:
30136         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30137
30138 2005-05-18  Wim Taymans  <wim@fluendo.com>
30139
30140         * gst/base/Makefile.am:
30141         * gst/base/gstadapter.c: (gst_adapter_base_init),
30142         (gst_adapter_class_init), (gst_adapter_init),
30143         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30144         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30145         (gst_adapter_flush), (gst_adapter_available),
30146         (gst_adapter_available_fast):
30147         * gst/base/gstadapter.h:
30148         Ported and added adapter to the base classes.
30149
30150 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30151
30152         * gst/gst.c:
30153         * gst/gstmessage.c:
30154           Make sure the class is reffed/unreffed once before threads can be
30155           used.  Fixes #304551.
30156
30157 2005-05-17  Wim Taymans  <wim@fluendo.com>
30158
30159         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30160         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30161         * gst/gstminiobject.c: (gst_mini_object_get_type),
30162         (gst_mini_object_free):
30163         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30164         (gst_pad_push), (gst_pad_push_event):
30165         * gst/gstqueue.c: (gst_queue_change_state):
30166         Don't queue buffers in basesink when we are flushing.
30167         Unref buffer when flushing in basesink.
30168         Flush queue when going to READY
30169         Unref buffer when _push() returns an error.
30170         Don't free MiniObject instance when refcount is incremented
30171         in _finalize() so that we can recover objects.
30172
30173 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30174
30175         * docs/manual/advanced-schedulers.xml:
30176         * docs/manual/appendix-checklist.xml:
30177         * docs/pwg/advanced-clock.xml:
30178         * docs/pwg/advanced-interfaces.xml:
30179         * docs/pwg/advanced-request.xml:
30180         * docs/pwg/advanced-types.xml:
30181         * docs/pwg/intro-preface.xml:
30182         * examples/plugins/example.c: (gst_example_get_type),
30183         (gst_example_class_init), (gst_example_chain),
30184         (gst_example_set_property), (gst_example_get_property),
30185         (gst_example_change_state), (plugin_init):
30186         * examples/plugins/example.h:
30187           small doc fixes
30188
30189 2005-05-17  Wim Taymans  <wim@fluendo.com>
30190
30191         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30192         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30193         * gst/gstqueue.c: (gst_queue_change_state):
30194         Clear queue when going to READY.
30195         Remove IN_SETCAPS flag too.
30196
30197 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30198
30199         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30200           Remove implicit cast from gboolean to GstElementStateReturn;
30201           make sure we still return failure in paused => ready case if
30202           the parent class fails to change state and our own stop 
30203           vfunc succeeds.
30204
30205 2005-05-17  Wim Taymans  <wim@fluendo.com>
30206
30207         * tools/gst-launch.c: (event_loop):
30208         Message was unreffed too soon.
30209
30210 2005-05-16  Andy Wingo  <wingo@pobox.com>
30211
30212         * gst/gstbin.c (sink_iterator_filter): Err... um...
30213
30214         * check/gst/gstbin.c (test_ghost_pads): New test for the
30215         ghosting-if-elements-not-in-same-bin behavior.
30216
30217 2005-05-16  David Schleef  <ds@schleef.org>
30218
30219         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30220         accessing refcount directly.
30221
30222 2005-05-15  David Schleef  <ds@schleef.org>
30223
30224         * check/Makefile.am: remove GstData checks
30225         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30226         * gst/Makefile.am: add miniobject, remove data
30227         * gst/gst.h: add miniobject, remove data
30228         * gst/gstdata.c: remove
30229         * gst/gstdata.h: remove
30230         * gst/gstdata_private.h: remove
30231         * gst/gsttypes.h: remove GstEvent and GstMessage
30232         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30233         * gst/gstmarshal.list: change BOXED -> OBJECT
30234
30235         Implement GstMiniObject.
30236         * gst/gstminiobject.c:
30237         * gst/gstminiobject.h:
30238
30239         Modify to be subclasses of GstMiniObject.
30240         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30241         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30242         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30243         (gst_subbuffer_get_type), (gst_subbuffer_init),
30244         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30245         (gst_buffer_span):
30246         * gst/gstbuffer.h:
30247         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30248         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30249         (_gst_event_copy), (gst_event_new):
30250         * gst/gstevent.h:
30251         * gst/gstmessage.c: (_gst_message_initialize),
30252         (gst_message_get_type), (gst_message_class_init),
30253         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30254         (gst_message_new), (gst_message_new_error),
30255         (gst_message_new_warning), (gst_message_new_tag),
30256         (gst_message_new_state_changed), (gst_message_new_application):
30257         * gst/gstmessage.h:
30258         * gst/gstprobe.c: (gst_probe_perform),
30259         (gst_probe_dispatcher_dispatch):
30260         * gst/gstprobe.h:
30261         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30262         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30263         (_gst_query_copy), (gst_query_new):
30264
30265         Update elements for GstData -> GstMiniObject changes
30266         * gst/gstquery.h:
30267         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30268         (gst_queue_chain), (gst_queue_loop):
30269         * gst/elements/gstbufferstore.c:
30270         (gst_buffer_store_add_buffer_func),
30271         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30272         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30273         (gst_fakesink_render):
30274         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30275         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30276         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30277         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30278         (gst_filesrc_create_read):
30279         * gst/elements/gstidentity.c: (gst_identity_class_init):
30280         * gst/elements/gsttypefindelement.c:
30281         (gst_type_find_element_src_event), (free_entry_buffers),
30282         (gst_type_find_element_handle_event):
30283         * libs/gst/dataprotocol/dataprotocol.c:
30284         (gst_dp_header_from_buffer):
30285         * libs/gst/dataprotocol/dataprotocol.h:
30286         * libs/gst/dataprotocol/dp-private.h:
30287
30288 2005-05-15  David Schleef  <ds@schleef.org>
30289
30290         * gst/elements/gstelements.c: Don't include headers that were
30291         just removed.
30292
30293 2005-05-15  David Schleef  <ds@schleef.org>
30294
30295         * gst/elements/Makefile.am: Remove some elements that don't
30296         need to be in the core (or even exist at all).
30297         * gst/elements/gstaggregator.c:
30298         * gst/elements/gstaggregator.h:
30299         * gst/elements/gstmd5sink.c:
30300         * gst/elements/gstmd5sink.h:
30301         * gst/elements/gstmultifilesrc.c:
30302         * gst/elements/gstmultifilesrc.h:
30303         * gst/elements/gstpipefilter.c:
30304         * gst/elements/gstpipefilter.h:
30305         * gst/elements/gstshaper.c:
30306         * gst/elements/gstshaper.h:
30307         * gst/elements/gststatistics.c:
30308         * gst/elements/gststatistics.h:
30309         * po/POTFILES.in: Remove above files.
30310
30311 2005-05-14  Andy Wingo  <wingo@pobox.com>
30312
30313         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30314         so as to get the refs right.
30315         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30316         unreffing objects that don't pass the filter.
30317
30318         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30319         gst_element_set_bus.
30320         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30321         normal cases, this will destroy the bus.
30322
30323         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30324         object.
30325
30326         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30327         has no sinks.
30328
30329 2005-05-13  Andy Wingo  <wingo@pobox.com>
30330
30331         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30332         gst_pad_link, call pad_link_maybe_ghosting,
30333         (pad_link_maybe_ghosting): Links pads, making sure that the
30334         elements being linked are in the same bin.
30335         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30336         Helpers for pad_link_maybe_ghosting.
30337
30338 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30339
30340         * configure.ac:
30341           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30342
30343 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30344
30345         * docs/design/part-element-source.txt:
30346           Mention GstPushSrc
30347
30348 2005-05-12  Wim Taymans  <wim@fluendo.com>
30349
30350         * gst/base/gstbasesink.c: (gst_basesink_init),
30351         (gst_basesink_activate):
30352         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30353         (gst_basesrc_is_seekable):
30354         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30355         (bin_element_is_sink), (gst_bin_change_state):
30356         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30357         * gst/gstelement.h:
30358         Identify sinks by their flag to avoid overly complicated
30359         checks (fow now).
30360         Do state changes even for elements not reachable from the
30361         sinks.
30362         BaseSink is a sink now :)
30363         Some more debugging info in the basesrc.
30364
30365
30366 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30367
30368         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30369           Implement _query on a bin, similar to _send_event.
30370
30371 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30372
30373         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30374           Discont event offset format should be GST_FORMAT_BYTES,
30375           not GST_FORMAT_TIME.
30376
30377 2005-05-12  Wim Taymans  <wim@fluendo.com>
30378
30379         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30380         Same fix as Ronald's but without the signal. 
30381
30382 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30383
30384         * gst/gstutils.c: (gst_element_query_position):
30385           No, an element is not a pad.
30386
30387 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30388
30389         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30390         (gst_bin_get_state):
30391           If a child is removed from a bin while we remove the child from
30392           the bin and while we're retrieving its state, signal this to the
30393           get_state function so we abort the wait (instead of waiting for
30394           a timeout) and can immediately re-iterate over all other elements.
30395
30396 2005-05-12  Wim Taymans  <wim@fluendo.com>
30397
30398         * gst/base/Makefile.am:
30399         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30400         (gst_basesrc_start):
30401         * gst/base/gstbasesrc.h:
30402         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30403         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30404         (gst_pushsrc_init), (gst_pushsrc_create):
30405         * gst/base/gstpushsrc.h:
30406         Added is_seekable to BaseSrc
30407         Added simple PushSrc.
30408
30409 2005-05-11  Wim Taymans  <wim@fluendo.com>
30410
30411         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30412         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30413         (gst_element_link_pads), (gst_element_query_position),
30414         (gst_element_query_convert), (intersect_caps_func),
30415         (gst_pad_query_position), (gst_pad_query_convert):
30416         Fix refcounting in utils function.
30417         No point in trying to activate a pad when it's added, it could
30418         be added from the state change function and then we deadlock, the
30419         element has to decide what to do.
30420
30421 2005-05-10  Andy Wingo  <wingo@pobox.com>
30422
30423         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30424         *all* the arguments.
30425
30426         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30427         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30428         lock (according to the docs -- if this is wrong change the docs).
30429
30430         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30431         flush messages in the NULL state.
30432
30433         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30434         message immediately and return.
30435         (gst_bus_set_flushing): New function. If a bus is flushing, it
30436         flushes out any queued messages and immediately unrefs new
30437         messages. This is so when an element goes to NULL, all of the
30438         unhandled messages coming from it can be freed, and their
30439         references to the element dropped. In other words: message source
30440         ref considered harmful :P
30441
30442         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30443         we're finished with it.
30444
30445         * gst/gstmessage.c (gst_message_new_state_changed): 
30446
30447 2005-05-10  Wim Taymans  <wim@fluendo.com>
30448
30449         * gst/gstvalue.c: (gst_value_compare_flags),
30450         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30451         (_gst_value_initialize):
30452         Added flags serialize/deserialize/compare code.
30453
30454 2005-05-09  Andy Wingo  <wingo@pobox.com>
30455
30456         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30457         Intersect the peer's caps with our caps.
30458
30459 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30460
30461         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30462         * gst/elements/gsttypefindelement.c: (find_peek):
30463           Handle negative offsets better. Fixes decodebin.
30464
30465 2005-05-09  Wim Taymans  <wim@fluendo.com>
30466
30467         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30468         (gst_base_transform_event):
30469         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30470         Implement accept_caps.
30471         Fix silly lock/unlock mismatch in base class.
30472
30473 2005-05-09  Wim Taymans  <wim@fluendo.com>
30474
30475         * docs/design/draft-push-pull.txt:
30476         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30477         * gst/elements/gstfilesink.c: (gst_filesink_init),
30478         (gst_filesink_query):
30479         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30480         (gst_type_find_handle_src_query), (find_element_get_length):
30481         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30482         * gst/gstelement.h:
30483         * gst/gstmessage.c:
30484         * gst/gstmessage.h:
30485         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30486         (gst_real_pad_get_caps_unlocked),
30487         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30488         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30489         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30490         (gst_real_pad_dispose), (gst_real_pad_finalize),
30491         (gst_pad_load_and_link), (gst_pad_save_thyself),
30492         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30493         (gst_pad_check_pull_range), (gst_pad_pull_range),
30494         (gst_pad_template_get_type), (gst_pad_template_class_init),
30495         (gst_pad_template_init), (gst_pad_template_dispose),
30496         (name_is_valid), (gst_static_pad_template_get),
30497         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30498         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30499         (gst_pad_get_element_private), (gst_pad_start_task),
30500         (gst_pad_pause_task), (gst_pad_stop_task),
30501         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30502         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30503         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30504         (gst_ghost_pad_new):
30505         * gst/gstpad.h:
30506         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30507         (gst_query_new_position), (gst_query_set_position),
30508         (gst_query_parse_position), (gst_query_new_convert),
30509         (gst_query_set_convert), (gst_query_parse_convert):
30510         * gst/gstquery.h:
30511         * gst/gstqueryutils.c:
30512         * gst/gstqueryutils.h:
30513         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30514         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30515         (gst_queue_handle_src_query):
30516         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30517         (gst_element_query_position), (gst_element_query_convert),
30518         (intersect_caps_func), (gst_pad_query_position),
30519         (gst_pad_query_convert):
30520         * gst/gstutils.h:
30521         * tools/gst-inspect.c: (print_pad_info):
30522         * tools/gst-xmlinspect.c: (print_element_info):
30523         Remove old query functions. Ported old code.
30524         Added position/convert helper functions to gstutils.
30525         Reordered gstpad.c code, grouping relevant things.
30526         Remove gst_message_new(), always need to speficy a specific
30527         message.
30528
30529
30530 2005-05-09  Andy Wingo  <wingo@pobox.com>
30531
30532         * gst/gstiterator.h: Add some includes.
30533
30534         * gst/gstqueryutils.h: Include more headers.
30535
30536         * gst/gstpad.h:
30537         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30538         some uses of gst_pad_query.
30539
30540         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30541         NULL out parameters.
30542         (gst_query_new_position): New proc, allocates a new position
30543         query.
30544
30545         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30546         gstqueryutils.c to the build.
30547
30548         * gst/gststructure.c (gst_structure_set_valist): Implement with
30549         the generic G_VALUE_COLLECT.
30550         
30551 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30552
30553         * gst/Makefile.am: (gst_headers):
30554         Added gstqueryutils.h to the list of headers to install, that was
30555         a 'nachty' move wingo :)
30556
30557 2005-05-06  Andy Wingo  <wingo@pobox.com>
30558
30559         * gst/gstquery.h
30560         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30561         GstData, init a memchunk.
30562         (standard_definitions): Add a few query types, deprecate a few.
30563         (gst_query_get_type): New proc.
30564         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30565         implementation.
30566         (gst_query_new_application, gst_query_get_structure): New public
30567         procs.
30568
30569         * docs/design/draft-query.txt: Removed LINKS from the query types,
30570         because all the rest can be dispatched to other pads -- seemed
30571         ugly to have a query that couldn't be dispatched. internal_links
30572         is fine as a pad method.
30573
30574         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30575         in gstpad.c, but maintain binary compatibility for the moment.
30576         Will fix before 0.9 is out.
30577
30578         * gst/gstqueryutils.c: 
30579         * gst/gstqueryutils.h: New files, implement 3 methods for each
30580         query type: parse_query, parse_response, and set. Probably need an
30581         allocator as well.
30582
30583         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30584
30585         * gst/elements/gstfilesink.c (gst_filesink_query2):
30586         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30587         query_types, and formats methods.
30588
30589         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30590         (gst_pad_set_query2_function): New functions.
30591         (gst_real_pad_init): Set query2_default as the default query2
30592         function. Basically just dispatches to internally linked pads.
30593
30594         Needs review!
30595         
30596         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30597         without using the atomic operations. Only one thread can possibly
30598         be accessing the data at this point. Changed so as to avoid
30599         gst_atomic operations.
30600
30601 2005-05-06  Wim Taymans  <wim@fluendo.com>
30602
30603         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30604         Also set caps if we use the fallback buffer alloc.
30605
30606 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30607
30608         * docs/gst/Makefile.am:
30609         * docs/gst/gstreamer-docs.sgml:
30610         * docs/gst/gstreamer-sections.txt:
30611         * docs/gst/tmpl/gstatomic.sgml:
30612         * docs/gst/tmpl/gstmemchunk.sgml:
30613         * testsuite/elements/struct_i386.h:
30614         * win32/GStreamer.vcproj:
30615         * win32/Makefile:
30616           Purge GstAtomic stuff from docs and win32 makefiles as well
30617
30618 2005-05-06  Wim Taymans  <wim@fluendo.com>
30619
30620         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30621         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30622         * gst/gstpad.c: (gst_pad_peer_get_caps):
30623         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30624         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30625         (gst_queue_src_activate), (gst_queue_change_state):
30626         * gst/gstqueue.h:
30627         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30628         (intersect_caps_func):
30629         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30630         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30631         Some fixes for the peer_get_caps() change.
30632
30633 2005-05-06  Wim Taymans  <wim@fluendo.com>
30634
30635         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30636         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30637         (gst_basesink_activate):
30638         Actually do something with error codes returned from the push
30639         functions.
30640
30641 2005-05-06  Wim Taymans  <wim@fluendo.com>
30642
30643         * docs/design/part-element-sink.txt:
30644         * docs/design/part-element-source.txt:
30645         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30646         (gst_basesink_event), (gst_basesink_activate):
30647         * gst/base/gstbasesink.h:
30648         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30649         (gst_basesrc_activate):
30650         * gst/base/gstbasesrc.h:
30651         * gst/gstelement.c: (gst_element_pads_activate):
30652         Some more documentation.
30653         Fixed scheduling decision in _pads_activate().
30654
30655 2005-05-05  Andy Wingo  <wingo@pobox.com>
30656
30657         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30658         the test suite.
30659
30660 2005-05-05  Wim Taymans  <wim@fluendo.com>
30661
30662         * gst/base/Makefile.am:
30663         * gst/base/gstbasesink.h:
30664         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30665         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30666         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30667         (gst_collectpads_class_init), (gst_collectpads_init),
30668         (gst_collectpads_finalize), (gst_collectpads_new),
30669         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30670         (find_pad), (gst_collectpads_remove_pad),
30671         (gst_collectpads_is_active), (gst_collectpads_collect),
30672         (gst_collectpads_collect_range), (gst_collectpads_start),
30673         (gst_collectpads_stop), (gst_collectpads_peek),
30674         (gst_collectpads_pop), (gst_collectpads_available),
30675         (gst_collectpads_read), (gst_collectpads_flush),
30676         (gst_collectpads_chain):
30677         * gst/base/gstcollectpads.h:
30678         * gst/elements/Makefile.am:
30679         * gst/elements/gstelements.c:
30680         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30681         (gst_fakesink_get_times), (gst_fakesink_event),
30682         (gst_fakesink_preroll), (gst_fakesink_render):
30683         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30684         (gst_filesink_init), (gst_filesink_set_location),
30685         (gst_filesink_open_file), (gst_filesink_close_file),
30686         (gst_filesink_pad_query), (gst_filesink_event),
30687         (gst_filesink_render), (gst_filesink_change_state):
30688         * gst/elements/gstfilesink.h:
30689         Added object to help in making collect pad based elements.
30690         Ported filesink.
30691         Make event function in sink baseclass return gboolean.
30692
30693 2005-05-05  Wim Taymans  <wim@fluendo.com>
30694
30695         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30696         (gst_bin_get_by_name):
30697         * gst/gstbuffer.h:
30698         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30699         (gst_clock_finalize):
30700         * gst/gstdata.c: (gst_data_replace):
30701         * gst/gstdata.h:
30702         * gst/gstelement.c: (gst_element_request_pad),
30703         (gst_element_pads_activate):
30704         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30705         (gst_object_unref):
30706         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30707         (gst_pad_set_checkgetrange_function),
30708         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30709         (gst_pad_check_pull_range), (gst_pad_pull_range),
30710         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30711         (gst_pad_pause_task), (gst_pad_stop_task):
30712         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30713         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30714         Fix name lookup in GstBin.
30715         Added _data_replace() function and _buffer_replace()
30716         Use finalize method to clean up clock.
30717         Fix refcounting on request pads.
30718         Fix pad schedule mode error.
30719         Some more object refcounting debug info,
30720
30721
30722 2005-05-04  Andy Wingo <wingo@pobox.com>
30723
30724         * check/Makefile.am:
30725         * docs/gst/tmpl/gstatomic.sgml:
30726         * docs/gst/tmpl/gstplugin.sgml:
30727         * gst/base/gstbasesink.c: (gst_basesink_activate):
30728         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30729         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30730         (gst_basesrc_query), (gst_basesrc_set_property),
30731         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30732         (gst_basesrc_activate):
30733         * gst/base/gstbasesrc.h:
30734         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30735         (gst_base_transform_src_activate):
30736         * gst/elements/gstelements.c:
30737         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30738         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30739         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30740         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30741         (gst_type_find_element_checkgetrange),
30742         (gst_type_find_element_activate):
30743         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30744         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30745         (gst_caps_load_thyself):
30746         * gst/gstelement.c: (gst_element_pads_activate),
30747         (gst_element_save_thyself), (gst_element_restore_thyself):
30748         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30749         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30750         * gst/gstpad.h:
30751         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30752         (gst_xml_parse_file), (gst_xml_parse_memory),
30753         (gst_xml_get_element), (gst_xml_make_element):
30754         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30755         (_file_index_id_save_xml), (gst_file_index_commit):
30756         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30757         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30758         (load_paths):
30759         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30760         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30761         * tools/gst-complete.c: (main):
30762         * tools/gst-compprep.c: (main):
30763         * tools/gst-inspect.c: (print_element_properties_info):
30764         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30765         * tools/gst-xmlinspect.c: (print_element_properties):
30766         GCC 4 fixen.
30767         
30768 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30769
30770         * gst/gstplugin.c: (gst_plugin_check_module),
30771         (gst_plugin_check_file), (gst_plugin_load_file):
30772             apply patch from #172526 to make register work on MacOSX
30773
30774 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30775
30776         * docs/gst/tmpl/gstconfig.sgml:
30777         * gst/gstconfig.h.in:
30778           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30779         * testsuite/debug/printf_extension.c: (main):
30780           Do not use GST_PTR_FORMAT on pointers to types with
30781           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30782         * testsuite/elements/property.h:
30783           use correct printf format
30784
30785 2005-05-02  Wim Taymans  <wim@fluendo.com>
30786
30787         * docs/design/draft-push-pull.txt:
30788         * docs/design/draft-query.txt:
30789         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30790         (gst_basesrc_start):
30791         Added draft for new query API.
30792         Added draft for better selecting scheduling methods.
30793         Make basesrc ignore length if the subclass does not support
30794         it.
30795
30796 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30797
30798         * gst/Makefile.am:
30799           possible fixes for automake-1.5 - _LIBADD is reserved
30800
30801 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30802
30803         * docs/faq/Makefile.am:
30804         * docs/manual/Makefile.am:
30805         * docs/manuals.mak:
30806         * docs/pwg/Makefile.am:
30807         * gst/Makefile.am:
30808           possible fixes for automake-1.5
30809
30810 2005-04-28  Wim Taymans  <wim@fluendo.com>
30811
30812         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30813         (gst_basesink_pad_getcaps), (gst_basesink_init),
30814         (gst_basesink_do_sync):
30815         * gst/gstclock.c: (gst_clock_entry_new):
30816         * gst/gstevent.c: (gst_event_discont_get_value):
30817         * gst/gstpipeline.c: (pipeline_bus_handler),
30818         (gst_pipeline_change_state):
30819         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30820         Better debugging of clocking info.
30821         Allow NULL values when getting discont values.
30822
30823 2005-04-27  Wim Taymans  <wim@fluendo.com>
30824
30825         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30826         * check/gst/gstpad.c: (gst_pad_suite):
30827         Increase timeout for checks.
30828
30829 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30830
30831         * check/Makefile.am:
30832           fix the broken rule for cleanup.  Apparently this rule is
30833           only needed on FC2, so maybe this warrants further autotool
30834           inspection.
30835
30836 2005-04-26  Wim Taymans  <wim@fluendo.com>
30837
30838         * gst/gsttrashstack.h:
30839         Ooohh. a nasty one! After having a failed pop() from the stack,
30840         it's possible that the stack is empty. In that case, don't
30841         follow the NULL pointer.
30842
30843 2005-04-25  Wim Taymans  <wim@fluendo.com>
30844
30845         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30846         (gst_pad_set_checkgetrange_function),
30847         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30848         (gst_pad_check_pull_range), (gst_pad_pull_range),
30849         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30850         (gst_pad_pause_task), (gst_pad_stop_task):
30851         * gst/gstplugin.c: (gst_plugin_load):
30852         * gst/gstplugin.h:
30853         Remove gst_library_load as it does more harm than good with
30854         the new g_module flags.
30855         Revert bogus caps template check in pad linking, pad caps
30856         are important when linking not the template, which is more
30857         general than the current caps.
30858
30859 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30860
30861         * gst/autoplug/.cvsignore:
30862         * gst/autoplug/Makefile.am:
30863         * gst/autoplug/gstsearchfuncs.c:
30864         * gst/autoplug/gstsearchfuncs.h:
30865         * gst/autoplug/gstspider.c:
30866         * gst/autoplug/gstspider.h:
30867         * gst/autoplug/gstspideridentity.c:
30868         * gst/autoplug/gstspideridentity.h:
30869         * gst/autoplug/spidertest.c:
30870           Die, spider, die.
30871
30872 2005-04-25  Wim Taymans  <wim@fluendo.com>
30873
30874         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30875         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30876         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30877         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30878         * gst/gstpad.h:
30879         Added stubs for unimplemented functions. 
30880
30881 2005-04-24  David Schleef  <ds@schleef.org>
30882
30883         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30884         please fix.
30885
30886 2005-04-24  David Schleef  <ds@schleef.org>
30887
30888         Convert everything from GstAtomicInt to g_atomic_int_*, and
30889         remove gstatomic.
30890         * gst/Makefile.am:
30891         * gst/gstatomic.c:
30892         * gst/gstatomic.h:
30893         * gst/gstatomic_impl.h:
30894         * gst/gstbuffer.c:
30895         * gst/gstcaps.c:
30896         * gst/gstcaps.h:
30897         * gst/gstclock.c:
30898         * gst/gstclock.h:
30899         * gst/gstdata.c:
30900         * gst/gstdata.h:
30901         * gst/gstdata_private.h:
30902         * gst/gstevent.c:
30903         * gst/gstinfo.c:
30904         * gst/gstinfo.h:
30905         * gst/gstmessage.c:
30906         * gst/gstobject.c:
30907         * gst/gstobject.h:
30908         * gst/gststructure.c:
30909         * gst/gststructure.h:
30910         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30911         * gst/gstutils.h:
30912
30913 2005-04-24  David Schleef  <ds@schleef.org>
30914
30915         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30916         make the regressions tests work.  Remove some code that is no
30917         longer true.
30918         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30919         Disable warning for pads without templates.
30920
30921 2005-04-24  David Schleef  <ds@schleef.org>
30922
30923         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30924         functions that handle filtered links.
30925         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30926         removed functions.
30927         * gst/gstutils.c: Fix/remove utility functions that handle
30928         filtered caps.
30929         * gst/gstutils.h:
30930         * gst/gstvalue.c: Add serialization/deserialization of caps
30931         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30932         requires fixing so that the filter caps notation creates
30933         a capsfilter element and sets the filter_caps property.  I
30934         think everyone probably wants to keep the shorthand notation.
30935         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30936         * docs/gst/tmpl/gstpad.sgml:
30937
30938         * gst/elements/gstelements.c: Register capsfilter element.
30939         * gst/Makefile.am: fix spacing
30940         * docs/random/ds/0.9-suggested-changes: random
30941
30942 2005-04-23  David Schleef  <ds@schleef.org>
30943
30944         * gst/elements/Makefile.am:
30945         * gst/elements/gstcapsfilter.c: New element that acts like an
30946         identity, but filters caps.  Will eventually replace filtered
30947         caps in pad linking.
30948         * gst/gstutils.c: (gst_element_create_all_pads): New function
30949         to create all the ALWAYS pads that are registered with an
30950         element class.  This functionality should eventually be
30951         merged in with GstElement initialization.
30952         * gst/gstutils.h:
30953         * testsuite/trigger/README: part of trigger test code that should
30954         have been checked in a long time ago.
30955
30956 2005-04-23  David Schleef  <ds@schleef.org>
30957
30958         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30959         needed with new versions of libtool (nobody will confirm this),
30960         and hard to carry around.
30961         * gst/autoplug/Makefile.am:
30962         * gst/base/Makefile.am:
30963         * gst/elements/Makefile.am:
30964         * gst/indexers/Makefile.am:
30965         * gst/schedulers/Makefile.am:
30966         * libs/gst/bytestream/Makefile.am:
30967         * libs/gst/control/Makefile.am:
30968         * libs/gst/dataprotocol/Makefile.am:
30969         * libs/gst/getbits/Makefile.am:
30970
30971 2005-04-21  Wim Taymans  <wim@fluendo.com>
30972
30973         * docs/design/draft-push-pull.txt:
30974         * docs/design/part-MT-refcounting.txt:
30975         * docs/design/part-TODO.txt:
30976         * docs/design/part-caps.txt:
30977         * docs/design/part-events.txt:
30978         * docs/design/part-gstbus.txt:
30979         * docs/design/part-gstpipeline.txt:
30980         * docs/design/part-messages.txt:
30981         * docs/design/part-push-pull.txt:
30982         * docs/design/part-query.txt:
30983         Some more docs.
30984
30985 2005-04-21  Wim Taymans  <wim@fluendo.com>
30986
30987         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30988         (gst_message_new), (gst_message_new_error),
30989         (gst_message_new_warning), (gst_message_new_tag),
30990         (gst_message_new_state_changed), (gst_message_new_application),
30991         (gst_message_get_structure):
30992         * gst/gstmessage.h:
30993         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30994         (gst_structure_copy_conditional):
30995         Use parent refcount in GstMessage to ensure GstStructure
30996         consistency.
30997         Cleaned up headers a bit.
30998         
30999
31000 2005-04-20  Wim Taymans  <wim@fluendo.com>
31001
31002         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31003         (gst_basesink_pad_getcaps), (gst_basesink_init),
31004         (gst_basesink_chain_unlocked):
31005         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31006         (gst_type_find_helper):
31007         * gst/elements/gsttypefindelement.c:
31008         (gst_type_find_element_have_type), (gst_type_find_element_init),
31009         (stop_typefinding), (gst_type_find_element_handle_event),
31010         (find_suggest), (gst_type_find_element_chain),
31011         (gst_type_find_element_checkgetrange),
31012         (gst_type_find_element_getrange), (do_typefind),
31013         (gst_type_find_element_activate):
31014         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31015         (gst_buffer_default_free), (gst_buffer_default_copy),
31016         (gst_buffer_set_caps):
31017         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31018         (gst_caps_replace):
31019         * gst/gstmessage.c: (gst_message_new),
31020         (gst_message_new_state_changed):
31021         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31022         (gst_pad_set_checkgetrange_function),
31023         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31024         (gst_pad_set_caps), (gst_pad_check_pull_range),
31025         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31026         * gst/gstpad.h:
31027         * gst/gsttypefind.c: (gst_type_find_register):
31028         Make gst_caps_replace() work like other _replace() functions.
31029         Use _caps_replace() where possible.
31030         Make sure _message_new() initialises its field.
31031         Add gst_static_pad_template_get_caps()
31032
31033
31034 2005-04-18  Andy Wingo  <wingo@pobox.com>
31035
31036         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31037         on the peer, not the pad. I think that was a typo. Pass an extra
31038         arg to see if random access is possible. Activate the pads as
31039         PULL_RANGE if possible.
31040
31041         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31042
31043         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31044         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31045         to PROP_....
31046
31047 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31048
31049         * docs/faq/using.xml:
31050           Add note on gstreamer-properties (#154996).
31051
31052 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31053
31054         * docs/random/bbb/optional-properties:
31055           Some analysis on optional properties.
31056
31057 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31058
31059         * docs/gst/tmpl/gstelementfactory.sgml:
31060         * gst/gstelement.h:
31061         * gst/gstelementfactory.c: (gst_element_factory_init),
31062         (gst_element_factory_cleanup), (gst_element_register),
31063         (__gst_element_factory_add_static_pad_template),
31064         (gst_element_factory_get_static_pad_templates),
31065         (gst_element_factory_can_src_caps),
31066         (gst_element_factory_can_sink_caps):
31067         * gst/registries/Makefile.am:
31068         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31069         (gst_xml_registry_class_init), (gst_xml_registry_init),
31070         (gst_xml_registry_new), (gst_xml_registry_set_property),
31071         (gst_xml_registry_get_property), (get_time), (make_dir),
31072         (gst_xml_registry_get_perms_func),
31073         (plugin_times_older_than_recurse), (plugin_times_older_than),
31074         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31075         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31076         (add_to_char_array), (read_string), (read_uint), (read_enum),
31077         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31078         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31079         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31080         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31081         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31082         (gst_xml_registry_rebuild):
31083         * gst/registries/gstlibxmlregistry.h:
31084         * tools/gst-compprep.c: (main):
31085         * tools/gst-inspect.c: (print_pad_templates_info):
31086         * tools/gst-xmlinspect.c: (print_element_info):
31087           Use libxml2 for registry parsing, use staticpadtemplates in
31088           elementfactories. Makes gst_init() +/- 10x faster.
31089
31090 2005-04-12  Wim Taymans  <wim@fluendo.com>
31091
31092         * gst/base/Makefile.am:
31093         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31094         (gst_basesink_pad_getcaps), (gst_basesink_init),
31095         (gst_basesink_event), (gst_basesink_change_state):
31096         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31097         (gst_basesrc_init), (gst_basesrc_query),
31098         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31099         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31100         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31101         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31102         (gst_basesrc_stop), (gst_basesrc_activate),
31103         (gst_basesrc_change_state):
31104         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31105         (helper_find_suggest), (gst_type_find_helper):
31106         * gst/base/gsttypefindhelper.h:
31107         * gst/elements/Makefile.am:
31108         * gst/elements/gstelements.c:
31109         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31110         (gst_fakesink_get_times), (gst_fakesink_event),
31111         (gst_fakesink_preroll), (gst_fakesink_render):
31112         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31113         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31114         (gst_fakesrc_get_property), (gst_fakesrc_create),
31115         (gst_fakesrc_start), (gst_fakesrc_stop):
31116         * gst/elements/gstfakesrc.h:
31117         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31118         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31119         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31120         (gst_filesrc_create_read), (gst_filesrc_create),
31121         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31122         (gst_filesrc_start):
31123         * gst/elements/gsttypefindelement.c:
31124         (gst_type_find_element_have_type), (gst_type_find_element_init),
31125         (start_typefinding), (stop_typefinding), (push_buffer_store),
31126         (gst_type_find_element_handle_event),
31127         (gst_type_find_element_chain),
31128         (gst_type_find_element_checkgetrange),
31129         (gst_type_find_element_getrange), (do_typefind),
31130         (gst_type_find_element_activate),
31131         (gst_type_find_element_change_state):
31132         * gst/elements/gsttypefindelement.h:
31133         * gst/gstpipeline.c: (pipeline_bus_handler):
31134         Added typefind helper.
31135         Small preroll fix in the base sink.
31136         Disable typefind code in basesrc.
31137         Crude port of typefindelement.
31138         Fakesrc cleanups.
31139
31140
31141 2005-04-11  Wim Taymans  <wim@fluendo.com>
31142
31143         * check/gst/gstbus.c: (gstbus_suite):
31144         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31145         * check/gstcheck.h:
31146           Fix up the timeout so that the test does not fail.
31147
31148 2005-04-06  Wim Taymans  <wim@fluendo.com>
31149
31150         * gst/base/README:
31151         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31152         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31153         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31154         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31155         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31156         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31157         (gst_basesrc_stop), (gst_basesrc_activate),
31158         (gst_basesrc_change_state), (basesrc_find_peek),
31159         (basesrc_find_suggest), (gst_basesrc_type_find):
31160         * gst/base/gstbasesrc.h:
31161         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31162         (gst_filesrc_class_init), (gst_filesrc_init),
31163         (gst_filesrc_finalize), (gst_filesrc_set_location),
31164         (gst_filesrc_set_property), (gst_filesrc_get_property),
31165         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31166         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31167         (gst_filesrc_create_read), (gst_filesrc_create),
31168         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31169         * gst/elements/gstfilesrc.h:
31170         * gst/gstelement.c: (gst_element_get_state_func),
31171         (gst_element_lost_state), (gst_element_pads_activate):
31172         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31173         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31174         (gst_pad_pull_range):
31175         * gst/gstpad.h:
31176         More work on the generic source base class, implement seeking,
31177         query.
31178         Make filesrc extend the base source class.
31179         Added gst_pad_set_checkgetrange_function to GstPad.
31180
31181 2005-04-06  Andy Wingo  <wingo@pobox.com>
31182
31183         * pkgconfig/gstreamer-base.pc.in:
31184         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31185
31186         * pkgconfig/Makefile.am:
31187         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31188
31189 2005-04-04  Wim Taymans  <wim@fluendo.com>
31190
31191         * gst/base/Makefile.am:
31192         * gst/base/README:
31193         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31194         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31195         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31196         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31197         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31198         (gst_basesrc_base_init), (gst_basesrc_class_init),
31199         (gst_basesrc_init), (gst_basesrc_get_formats),
31200         (gst_basesrc_get_query_types), (gst_basesrc_query),
31201         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31202         (gst_basesrc_set_property), (gst_basesrc_get_property),
31203         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31204         (gst_basesrc_loop), (gst_basesrc_activate),
31205         (gst_basesrc_change_state):
31206         * gst/base/gstbasesrc.h:
31207         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31208         (gst_fakesrc_class_init), (gst_fakesrc_init),
31209         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31210         (gst_fakesrc_get_property), (gst_fakesrc_create):
31211         * gst/elements/gstfakesrc.h:
31212         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31213         (gst_filesrc_open_file), (gst_filesrc_loop),
31214         (gst_filesrc_activate), (filesrc_find_peek),
31215         (gst_filesrc_type_find):
31216         Made base source class, make fakesrc extend it.
31217         Add comments to basesink class.
31218         Some filesrc cleanup.
31219
31220 2005-03-31  David Schleef  <ds@schleef.org>
31221
31222         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31223         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31224         expected to link against libgstreamer.
31225         * gst/base/Makefile.am: link against libgstreamer
31226         * gst/elements/Makefile.am: same
31227
31228 2005-03-31  Andy Wingo  <wingo@pobox.com>
31229
31230         * tests/instantiate/Makefile.am:
31231         * tests/instantiate/caps.c: Add test to test speed of caps copy
31232         and free.
31233
31234         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31235         GMemChunk to be fair.
31236
31237         * gst/gsttrashstack.h: Remove warning about using the fallback
31238         trash stack implementation, it's still faster than malloc.
31239
31240 2005-03-30  Andy Wingo  <wingo@pobox.com>
31241
31242         * tests/complexity.c: Add a copyright.
31243
31244 2005-03-31  Wim Taymans  <wim@fluendo.com>
31245
31246         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31247         (gst_base_transform_class_init), (gst_base_transform_init),
31248         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31249         (gst_base_transform_get_property),
31250         (gst_base_transform_sink_activate),
31251         (gst_base_transform_src_activate),
31252         (gst_base_transform_change_state):
31253         * gst/base/gstbasetransform.h:
31254         * gst/elements/gstidentity.c: (gst_identity_class_init),
31255         (gst_identity_event), (gst_identity_check_perfect),
31256         (gst_identity_transform), (gst_identity_start),
31257         (gst_identity_stop):
31258         Added start/stop methods to transform base class so subclasses 
31259         don't need to deal with state changes even.
31260
31261 2005-03-31  Wim Taymans  <wim@fluendo.com>
31262
31263         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31264         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31265         * gst/gstevent.h:
31266         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31267         (gst_pad_pull_range):
31268         Added rate to the discont event to prepare for variable speed
31269         and reverse playback.
31270
31271 2005-03-29  David Schleef  <ds@schleef.org>
31272
31273         * configure.ac:
31274         * testsuite/trigger/Makefile.am:
31275         * testsuite/trigger/trigger.c: A little example program to show
31276         how trigger-based elements can work.
31277
31278 2005-03-29  Wim Taymans  <wim@fluendo.com>
31279
31280         * gst/base/Makefile.am:
31281         * gst/base/README:
31282         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31283         (gst_basesink_base_init), (gst_basesink_class_init),
31284         (gst_basesink_pad_getcaps), (gst_basesink_init),
31285         (gst_basesink_activate), (gst_basesink_change_state):
31286         * gst/base/gstbasesink.h:
31287         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31288         (gst_base_transform_base_init), (gst_base_transform_finalize),
31289         (gst_base_transform_class_init), (gst_base_transform_init),
31290         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31291         (gst_base_transform_event), (gst_base_transform_getrange),
31292         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31293         (gst_base_transform_set_property),
31294         (gst_base_transform_get_property),
31295         (gst_base_transform_sink_activate),
31296         (gst_base_transform_src_activate),
31297         (gst_base_transform_change_state):
31298         * gst/base/gstbasetransform.h:
31299         * gst/elements/gstidentity.c: (gst_identity_finalize),
31300         (gst_identity_class_init), (gst_identity_init),
31301         (gst_identity_event), (gst_identity_check_perfect),
31302         (gst_identity_transform), (gst_identity_set_property),
31303         (gst_identity_get_property), (gst_identity_change_state):
31304         * gst/elements/gstidentity.h:
31305         * gst/gstelement.c: (gst_element_get_state_func),
31306         (gst_element_lost_state), (gst_element_pads_activate):
31307         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31308         (gst_pad_check_pull_range), (gst_pad_pull_range):
31309         * gst/gstpad.h:
31310         Simplify pad activation.
31311         Added function to check if pull_range can be performed.
31312         Error out when pulling inactive or flushing pads.
31313         Removed const from refcounted types as it does not make sense.
31314         Simplify pad templates in basesink
31315         Added base class for simple 1-to-1 transforms.
31316         Make identity subclass the base transform.
31317
31318 2005-03-29  Andy Wingo  <wingo@pobox.com>
31319
31320         * docs/libs/gstreamer-libs-overrides.txt: 
31321         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31322         really don't understand what's going on, but like whatever. I want
31323         green buildbot!
31324
31325         * docs/gst/Makefile.am:
31326         * docs/libs/Makefile.am: Dist the overrides files.
31327
31328         * check/Makefile.am (clean-local): Remove .libs directories.
31329
31330         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31331         elements to EXTRA_DIST, so po/ files are happy.
31332
31333         * po/POTFILES.in: Er, remove it here.
31334
31335         * po/POTFILES: Remove gstspider.c.
31336
31337         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31338
31339         * docs/libs/gstreamer-libs-docs.sgml: 
31340         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31341         bytestream.
31342
31343         * tests/complexity.c (main): Set the length of the preroll queue
31344         on the sinks to prevent a lockup.
31345
31346         * libs/gst/dataprotocol/Makefile.am: 
31347         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31348         the same as the one in check/gst-libs/gdp.c.
31349
31350         * po/, docs/gst/: Commit automatic changes to docs and po files.
31351
31352         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31353         the versioned libgstbase.
31354
31355         * check/Makefile.am: Depend on an unversioned gst-register, seems
31356         to make autoconf happier.
31357
31358         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31359
31360 2005-03-28  Wim Taymans  <wim@fluendo.com>
31361
31362         * configure.ac:
31363         * docs/design/part-gstelement.txt:
31364         * docs/design/part-negotiation.txt:
31365         * docs/design/part-preroll.txt:
31366         * docs/design/part-scheduling.txt:
31367         * docs/design/part-states.txt:
31368         * gst/Makefile.am:
31369         * gst/base/Makefile.am:
31370         * gst/base/README:
31371         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31372         (gst_basesink_base_init), (gst_basesink_class_init),
31373         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31374         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31375         (gst_basesink_set_pad_functions),
31376         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31377         (gst_basesink_set_property), (gst_basesink_get_property),
31378         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31379         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31380         (gst_basesink_preroll_queue_push),
31381         (gst_basesink_preroll_queue_empty),
31382         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31383         (gst_basesink_event), (gst_basesink_get_times),
31384         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31385         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31386         (gst_basesink_loop), (gst_basesink_activate),
31387         (gst_basesink_change_state):
31388         * gst/base/gstbasesink.h:
31389         * gst/elements/Makefile.am:
31390         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31391         (gst_fakesink_class_init), (gst_fakesink_init),
31392         (gst_fakesink_set_property), (gst_fakesink_get_property),
31393         (gst_fakesink_get_times), (gst_fakesink_event),
31394         (gst_fakesink_preroll), (gst_fakesink_render),
31395         (gst_fakesink_change_state):
31396         * gst/elements/gstfakesink.h:
31397         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31398         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31399         * gst/gstelement.c: (gst_element_add_pad),
31400         (gst_element_get_state_func), (gst_element_abort_state),
31401         (gst_element_commit_state), (gst_element_lost_state),
31402         (gst_element_set_state), (gst_element_pads_activate):
31403         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31404         * gst/gstpipeline.c: (gst_pipeline_send_event),
31405         (gst_pipeline_change_state):
31406         Added state change code.
31407         Added/updated docs.
31408         Added sink base class, make fakesink extend the base class.
31409         Small cleanups in GstPipeline.
31410
31411 2005-03-26  David Schleef  <ds@schleef.org>
31412
31413         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31414         is broken and should be implemented in a different library.
31415         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31416         * gst/gst.h: remove gstcpu.h
31417         * gst/gstcpu.c: remove
31418         * gst/gstcpu.h: remove
31419         * gst/Makefile.am.future: Remove this file.  It's ancient.
31420
31421 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31422
31423         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31424         (gst_bin_send_event):
31425           Add default event/set_manager handlers. The set_manager handler
31426           takes care that the manager is distributed over kids that were
31427           already in the bin before the manager was set. The event handler
31428           is a utility virtual function that sends the event over all sinks,
31429           so that gst_element_send_event (bin, event); has the expected
31430           behaviour.
31431         * gst/gstpad.c: (gst_pad_event_default):
31432           Re-install default event handling for discontinuities, so that
31433           seeking works without requiring hacks in applications or extra
31434           code in sinks.
31435         * gst/gstpipeline.c: (gst_pipeline_class_init),
31436         (gst_pipeline_send_event):
31437           Half hack, half utility: set a pipeline to PAUSED for seek events,
31438           since that is the only way we can guarantee a/v sync. Means that
31439           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31440           and it "just works".
31441
31442 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31443
31444         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31445           Lock/unlock mismatch.
31446
31447 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31448
31449         * docs/faq/gst-uninstalled:
31450           add gst-plugins-base
31451         * docs/gst/Makefile.am:
31452           don't error out until docs are fixed
31453         * docs/gst/gstreamer.types:
31454           remove thread
31455
31456 2005-03-22  Wim Taymans  <wim@fluendo.com>
31457
31458         * check/Makefile.am:
31459         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31460         * gst/gststructure.c: (gst_structure_set_valist),
31461         (gst_structure_copy_conditional):
31462         Activated more tests.
31463         Added message test.
31464         Added G_TYPE_POINTER to GstStructure.
31465         
31466
31467 2005-03-22  Wim Taymans  <wim@fluendo.com>
31468
31469         * docs/design/part-TODO.txt:
31470         * docs/design/part-events.txt:
31471         * docs/design/part-gstbin.txt:
31472         * docs/design/part-gstbus.txt:
31473         * docs/design/part-gstpipeline.txt:
31474         * docs/design/part-messages.txt:
31475         * gst/gstbus.c:
31476         * gst/gstmessage.c:
31477         Docs updates
31478
31479 2005-03-21  Wim Taymans  <wim@fluendo.com>
31480
31481         * gst/gstbus.c: (gst_bus_post):
31482         Fix copy-and-paste error.
31483
31484 2005-03-21  Wim Taymans  <wim@fluendo.com>
31485
31486         * check/Makefile.am:
31487         * gst/Makefile.am:
31488         * gst/elements/Makefile.am:
31489         * gst/elements/gstelements.c:
31490         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31491         (gst_fakesink_event), (gst_fakesink_chain):
31492         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31493         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31494         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31495         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31496         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31497         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31498         (gst_fakesrc_loop), (gst_fakesrc_activate),
31499         (gst_fakesrc_change_state):
31500         * gst/elements/gstfakesrc.h:
31501         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31502         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31503         (gst_filesrc_open_file), (gst_filesrc_loop),
31504         (gst_filesrc_activate), (gst_filesrc_change_state),
31505         (filesrc_find_peek), (filesrc_find_suggest),
31506         (gst_filesrc_type_find):
31507         * gst/elements/gstidentity.c: (gst_identity_finalize),
31508         (gst_identity_class_init), (gst_identity_init),
31509         (gst_identity_proxy_getcaps), (identity_queue_push),
31510         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31511         (gst_identity_getrange), (gst_identity_chain),
31512         (gst_identity_sink_loop), (gst_identity_src_loop),
31513         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31514         (gst_identity_set_property), (gst_identity_get_property),
31515         (gst_identity_change_state):
31516         * gst/elements/gstidentity.h:
31517         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31518         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31519         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31520         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31521         (gst_tee_sink_activate):
31522         * gst/elements/gsttee.h:
31523         * gst/gst.c: (gst_register_core_elements), (init_post):
31524         * gst/gst.h:
31525         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31526         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31527         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31528         (gst_bin_change_state):
31529         * gst/gstbin.h:
31530         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31531         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31532         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31533         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31534         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31535         (bus_watch_callback), (bus_watch_destroy),
31536         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31537         (poll_timeout), (gst_bus_poll):
31538         * gst/gstbus.h:
31539         * gst/gstcaps.h:
31540         * gst/gstdata.h:
31541         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31542         (gst_element_post_message), (gst_element_message_full),
31543         (gst_element_get_state_func), (gst_element_get_state),
31544         (gst_element_abort_state), (gst_element_commit_state),
31545         (gst_element_lost_state), (gst_element_set_state),
31546         (gst_element_pads_activate), (gst_element_change_state),
31547         (gst_element_dispose), (gst_element_set_manager_func),
31548         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31549         (gst_element_set_manager), (gst_element_get_manager),
31550         (gst_element_set_bus), (gst_element_get_bus),
31551         (gst_element_set_scheduler), (gst_element_get_scheduler):
31552         * gst/gstelement.h:
31553         * gst/gstevent.c: (gst_event_new_segment_seek),
31554         (gst_event_new_flush):
31555         * gst/gstevent.h:
31556         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31557         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31558         (gst_message_new_eos), (gst_message_new_error),
31559         (gst_message_new_warning), (gst_message_new_tag),
31560         (gst_message_new_state_changed), (gst_message_new_application),
31561         (gst_message_get_structure), (gst_message_parse_tag),
31562         (gst_message_parse_state_changed), (gst_message_parse_error),
31563         (gst_message_parse_warning):
31564         * gst/gstmessage.h:
31565         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31566         (gst_real_pad_set_property), (gst_pad_set_active),
31567         (gst_pad_is_active), (gst_pad_set_blocked_async),
31568         (gst_pad_set_blocked), (gst_pad_is_blocked),
31569         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31570         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31571         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31572         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31573         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31574         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31575         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31576         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31577         (gst_pad_set_caps), (gst_pad_configure_sink),
31578         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31579         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31580         (gst_real_pad_dispose), (gst_real_pad_finalize),
31581         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31582         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31583         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31584         * gst/gstpad.h:
31585         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31586         (pipeline_bus_handler), (gst_pipeline_change_state),
31587         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31588         * gst/gstpipeline.h:
31589         * gst/gstprobe.h:
31590         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31591         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31592         (gst_queue_link_src), (gst_queue_bufferalloc),
31593         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31594         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31595         (gst_queue_loop), (gst_queue_handle_src_event),
31596         (gst_queue_handle_src_query), (gst_queue_src_activate),
31597         (gst_queue_change_state):
31598         * gst/gstqueue.h:
31599         * gst/gstscheduler.c: (gst_scheduler_init),
31600         (gst_scheduler_dispose), (gst_scheduler_create_task),
31601         (gst_scheduler_factory_create):
31602         * gst/gstscheduler.h:
31603         * gst/gststructure.c: (gst_structure_get_type),
31604         (gst_structure_copy_conditional):
31605         * gst/gststructure.h:
31606         * gst/gsttaginterface.h:
31607         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31608         (gst_task_init), (gst_task_dispose), (gst_task_create),
31609         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31610         (gst_task_pause):
31611         * gst/gsttask.h:
31612         * gst/gstthread.c:
31613         * gst/gstthread.h:
31614         * gst/gsttypes.h:
31615         * gst/schedulers/Makefile.am:
31616         * gst/schedulers/cothreads_compat.h:
31617         * gst/schedulers/entryscheduler.c:
31618         * gst/schedulers/faircothreads.c:
31619         * gst/schedulers/faircothreads.h:
31620         * gst/schedulers/fairscheduler.c:
31621         * gst/schedulers/gstbasicscheduler.c:
31622         * gst/schedulers/gstoptimalscheduler.c:
31623         * gst/schedulers/gthread-cothreads.h:
31624         * gst/schedulers/threadscheduler.c:
31625         (gst_thread_scheduler_task_get_type),
31626         (gst_thread_scheduler_task_class_init),
31627         (gst_thread_scheduler_task_init),
31628         (gst_thread_scheduler_task_start),
31629         (gst_thread_scheduler_task_stop),
31630         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31631         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31632         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31633         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31634         (plugin_init):
31635         * libs/gst/Makefile.am:
31636         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31637         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31638         (gst_file_pad_parent_set):
31639         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31640         (gst_dp_event_from_packet):
31641         * tests/complexity.c: (main):
31642         * tests/mass_elements.c: (main):
31643         * testsuite/states/locked.c: (message_received), (main):
31644         * testsuite/states/parent.c: (main):
31645         * tools/gst-inspect.c: (print_element_flag_info),
31646         (print_implementation_info), (print_pad_info):
31647         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31648         (main):
31649         * tools/gst-md5sum.c: (event_loop), (main):
31650         * tools/gst-typefind.c: (main):
31651         * tools/gst-xmlinspect.c: (print_element_info):
31652         Next big merge.
31653         Added GstBus for mainloop integration.
31654         Added GstMessage for sending notifications on the bus.
31655         Added GstTask as an abstraction for pipeline entry points.
31656         Removed GstThread.
31657         Removed Schedulers.
31658         Simplified GstQueue for multithreaded core.
31659         Made _link threadsafe, removed old capsnego.
31660         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31661         Added pad blocking functions.
31662         Reworked scheduling functions in GstPad to prepare for
31663         scheduling updates soon.
31664         Moved events out of data stream.
31665         Simplified GstEvent types.
31666         Added return values to push/pull.
31667         Removed clocking from GstElement.
31668         Added prototypes for state change function for next merge.
31669         Removed iterate from bins and state change management.
31670         Fixed some elements, disabled others for now.
31671         Fixed -inspect and -launch.
31672         Added check for GstBus.
31673
31674 2005-03-10  Wim Taymans  <wim@fluendo.com>
31675
31676         * docs/design/part-MT-refcounting.txt:
31677         * docs/design/part-clocks.txt:
31678         * docs/design/part-gstelement.txt:
31679         * docs/design/part-gstobject.txt:
31680         * docs/design/part-standards.txt:
31681         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31682         (gst_bin_remove_func), (gst_bin_remove):
31683         * gst/gstbin.h:
31684         * gst/gstbuffer.c:
31685         * gst/gstcaps.h:
31686         * testsuite/clock/clock1.c: (main):
31687         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31688         (main):
31689         * testsuite/dlopen/loadgst.c: (do_test):
31690         * testsuite/refcounting/bin.c: (add_remove_test1),
31691         (add_remove_test2), (main):
31692         * testsuite/refcounting/element.c: (main):
31693         * testsuite/refcounting/element_pad.c: (main):
31694         * testsuite/refcounting/pad.c: (main):
31695         * tools/gst-launch.c: (sigint_handler_sighandler):
31696         * tools/gst-typefind.c: (main):
31697         Doc updates.
31698         Added doc about clock.
31699         removed gst_bin_iterate_recurse_up(), marked methods
31700         for removal.
31701         Fix more testsuites.
31702
31703 2005-03-09  Wim Taymans  <wim@fluendo.com>
31704
31705         * gst/gstpad.c: (gst_pad_get_direction),
31706         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31707         (gst_pad_collect_valist):
31708         * testsuite/bins/interface.c: (main):
31709         * testsuite/caps/audioscale.c: (test_caps):
31710         * testsuite/caps/caps.c: (test1), (test2), (test3):
31711         * testsuite/caps/deserialize.c: (main):
31712         * testsuite/caps/enumcaps.c: (main):
31713         * testsuite/caps/filtercaps.c: (main):
31714         * testsuite/caps/intersect2.c: (main):
31715         * testsuite/caps/random.c: (main):
31716         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31717         * testsuite/caps/sets.c: (check_caps):
31718         * testsuite/caps/simplify.c: (check_caps), (main):
31719         * testsuite/caps/subtract.c: (check_caps):
31720         Fix _pad_get_direction wrt ghostpads.
31721         Fix caps testsuite.
31722
31723 2005-03-09  Wim Taymans  <wim@fluendo.com>
31724
31725         * check/Makefile.am:
31726         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31727         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31728         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31729         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31730         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31731         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31732         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31733         (bin_element_is_sink), (gst_bin_iterate_sinks),
31734         (gst_bin_iterate_all_by_interface):
31735         * gst/gstbin.h:
31736         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31737         (gst_element_change_state), (gst_element_dispose),
31738         (gst_element_finalize), (gst_element_set_loop_function):
31739         * gst/gstelement.h:
31740         * gst/gstiterator.c: (find_custom_fold_func):
31741         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31742         (gst_pad_collectv), (gst_pad_collect_valist),
31743         (gst_pad_template_new):
31744         * gst/gstpipeline.c: (gst_pipeline_class_init),
31745         (gst_pipeline_dispose), (gst_pipeline_set_property),
31746         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31747         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31748         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31749         * gst/gstutils.h:
31750         * gst/schedulers/entryscheduler.c:
31751         * gst/schedulers/gstbasicscheduler.c:
31752         (gst_basic_scheduler_cothreaded_chain),
31753         (gst_basic_scheduler_chain_add_element):
31754         * testsuite/bins/interface.c: (main):
31755         Added GstBin test.
31756         Added GstSystemClock test.
31757         Implemented clock distribution code in GstBin.
31758         Implemented iterate sinks method for future use.
31759         Rearranged gstelement.h
31760         Fix GstIterator comparison bug.
31761         Moved some code to GstPipeline, mostly clocking related.
31762
31763 2005-03-09  Wim Taymans  <wim@fluendo.com>
31764
31765         * configure.ac:
31766         * gst/gst_private.h:
31767         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31768         (gst_bin_remove_func), (gst_bin_remove),
31769         (gst_bin_get_by_name_recurse_up):
31770         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31771         (gst_clock_id_compare_func), (gst_clock_id_wait),
31772         (gst_clock_id_wait_async), (gst_clock_init),
31773         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31774         * gst/gstelement.h:
31775         * gst/gstinfo.c: (_gst_debug_init):
31776         * gst/gstobject.h:
31777         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31778         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31779         * gst/gstpad.h:
31780         Bump version number, we're now 0.9.0
31781         Add future debugging category.
31782         Fix NULL _unref() in _get_by_name_recurse_up
31783         Rearrange gstpad.h.
31784         Update some docs.
31785
31786 2005-03-08  Wim Taymans  <wim@fluendo.com>
31787
31788         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31789         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31790         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31791         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31792         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31793         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31794         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31795         * gst/elements/gstidentity.c: (gst_identity_class_init):
31796         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31797         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31798         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31799         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31800         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31801         (gst_tee_link):
31802         * gst/gstelement.c: (gst_element_class_init),
31803         (gst_element_base_class_init), (gst_element_init),
31804         (gst_element_get_random_pad), (gst_element_wait_state_change),
31805         (gst_element_change_state), (gst_element_dispose),
31806         (gst_element_finalize), (gst_element_set_loop_function):
31807         * gst/gstelement.h:
31808         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31809         * gst/gstthread.c: (gst_thread_class_init),
31810         (gst_thread_release_children_locks), (gst_thread_change_state):
31811         * gst/schedulers/gstbasicscheduler.c:
31812         (gst_basic_scheduler_loopfunc_wrapper),
31813         (gst_basic_scheduler_chain_wrapper),
31814         (gst_basic_scheduler_src_wrapper),
31815         (gst_basic_scheduler_remove_element):
31816         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31817         Remove threadsafe properties. Fix elements because GObject
31818         complains when installing a property before declaring a
31819         set/get_property handler.
31820         Rearrange gstelement.h file, use STATE macros for state locks.
31821         Free mutexes in the finalize method instead of dispose.
31822
31823 2005-03-08  Wim Taymans  <wim@fluendo.com>
31824
31825         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31826         * gst/gstthread.c: (gst_thread_release_children_locks):
31827         Added parentage check.
31828         Fix build og GstThread again.
31829
31830 2005-03-08  Wim Taymans  <wim@fluendo.com>
31831
31832         * docs/design/part-MT-refcounting.txt:
31833         * docs/design/part-conventions.txt:
31834         * docs/design/part-gstobject.txt:
31835         * docs/design/part-relations.txt:
31836         * docs/design/part-standards.txt:
31837         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31838         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31839         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31840         (gst_bin_iterate_all_by_interface):
31841         * gst/gstbuffer.h:
31842         * gst/gstclock.h:
31843         * gst/gstelement.c: (gst_element_class_init),
31844         (gst_element_change_state), (gst_element_set_loop_function):
31845         * gst/gstelement.h:
31846         * gst/gstiterator.c:
31847         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31848         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31849         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31850         (gst_object_set_parent), (gst_object_unparent),
31851         (gst_object_check_uniqueness):
31852         * gst/gstobject.h:
31853         Docs updates, clean up some headers.
31854
31855 2005-03-07  Wim Taymans  <wim@fluendo.com>
31856
31857         * check/.cvsignore:
31858         * check/Makefile.am:
31859         * check/gst-libs/.cvsignore:
31860         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31861         * check/gst/.cvsignore:
31862         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31863         (START_TEST), (gstbus_suite), (main):
31864         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31865         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31866         (gst_data_suite), (main):
31867         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31868         (add_fold_func), (gstiterator_suite), (main):
31869         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31870         (thread_name_object), (thread_name_object_default),
31871         (gst_object_name_compare), (gst_object_suite), (main):
31872         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31873         (gst_pad_suite), (main):
31874         * check/gstcheck.c: (gst_check_log_message_func),
31875         (gst_check_log_critical_func), (gst_check_init):
31876         * check/gstcheck.h:
31877         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31878         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31879         Added checks.
31880
31881 2005-03-07  Wim Taymans  <wim@fluendo.com>
31882
31883         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31884         (gst_list_iterator_next), (gst_list_iterator_resync),
31885         (gst_list_iterator_free), (gst_iterator_new_list),
31886         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31887         (gst_iterator_free), (gst_iterator_push), (filter_next),
31888         (filter_resync), (filter_uninit), (filter_free),
31889         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31890         (gst_iterator_foreach), (find_custom_fold_func),
31891         (gst_iterator_find_custom):
31892         * gst/gstiterator.h:
31893         Added missing files.
31894
31895 2005-03-07  Wim Taymans  <wim@fluendo.com>
31896
31897         * Makefile.am:
31898         * configure.ac:
31899         * docs/design/part-MT-refcounting.txt:
31900         * docs/design/part-conventions.txt:
31901         * docs/design/part-gstobject.txt:
31902         * docs/design/part-relations.txt:
31903         * examples/mixer/mixer.c: (main):
31904         * examples/thread/thread.c: (eos), (main):
31905         * gst/Makefile.am:
31906         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31907         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31908         (gst_spider_plug_from_srcpad):
31909         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31910         (gst_spider_identity_change_state),
31911         (gst_spider_identity_sink_loop_type_finding):
31912         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31913         * gst/elements/gstidentity.c: (gst_identity_init):
31914         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31915         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31916         * gst/elements/gsttypefindelement.c: (free_entry):
31917         * gst/gst.c:
31918         * gst/gst.h:
31919         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31920         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31921         (gst_bin_set_index), (gst_bin_set_element_sched),
31922         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31923         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31924         (gst_bin_iterate_elements), (iterate_child_recurse),
31925         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31926         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31927         (compare_interface), (gst_bin_get_by_interface),
31928         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31929         * gst/gstbin.h:
31930         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31931         (gst_buffer_default_free), (gst_buffer_default_copy),
31932         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31933         (gst_buffer_create_sub):
31934         * gst/gstbuffer.h:
31935         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31936         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31937         (gst_caps_unref), (gst_static_caps_get),
31938         (gst_caps_remove_and_get_structure), (gst_caps_append),
31939         (gst_caps_append_structure), (gst_caps_remove_structure),
31940         (gst_caps_copy_nth), (gst_caps_set_simple),
31941         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31942         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31943         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31944         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31945         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31946         (gst_caps_structure_figure_out_union),
31947         (gst_caps_switch_structures), (gst_caps_do_simplify),
31948         (gst_caps_replace), (gst_caps_from_string),
31949         (gst_caps_copy_conditional):
31950         * gst/gstcaps.h:
31951         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31952         (_gst_clock_id_free), (gst_clock_id_unref),
31953         (gst_clock_id_compare_func), (gst_clock_id_wait),
31954         (gst_clock_id_wait_async), (gst_clock_class_init),
31955         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31956         (gst_clock_get_time), (gst_clock_set_time_adjust),
31957         (gst_clock_set_property), (gst_clock_get_property):
31958         * gst/gstclock.h:
31959         * gst/gstcompat.h:
31960         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31961         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31962         * gst/gstdata.h:
31963         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31964         (gst_element_requires_clock), (gst_element_provides_clock),
31965         (gst_element_set_clock), (gst_element_clock_wait),
31966         (gst_element_wait), (gst_element_set_time_delay),
31967         (gst_element_is_indexable), (gst_element_add_pad),
31968         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31969         (pad_compare_name), (gst_element_get_static_pad),
31970         (gst_element_request_pad), (gst_element_get_request_pad),
31971         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31972         (gst_element_class_get_pad_template_list),
31973         (gst_element_class_get_pad_template), (gst_element_error_func),
31974         (gst_element_get_random_pad), (gst_element_get_event_masks),
31975         (gst_element_send_event), (gst_element_seek),
31976         (gst_element_get_query_types), (gst_element_query),
31977         (gst_element_get_formats), (gst_element_convert),
31978         (gst_element_is_locked_state), (gst_element_set_locked_state),
31979         (gst_element_sync_state_with_parent), (gst_element_change_state),
31980         (gst_element_finalize), (gst_element_yield),
31981         (gst_element_interrupt), (gst_element_set_scheduler),
31982         (gst_element_get_scheduler), (gst_element_set_loop_function):
31983         * gst/gstelement.h:
31984         * gst/gstevent.h:
31985         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31986         (gst_format_get_by_nick), (gst_format_get_details),
31987         (gst_format_iterate_definitions):
31988         * gst/gstformat.h:
31989         * gst/gstindex.c: (gst_index_gtype_resolver):
31990         * gst/gstinfo.c:
31991         * gst/gstinfo.h:
31992         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31993         (gst_mem_chunk_free):
31994         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31995         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31996         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31997         (gst_object_dispatch_properties_changed),
31998         (gst_object_set_name_default), (gst_object_set_name),
31999         (gst_object_get_name), (gst_object_set_name_prefix),
32000         (gst_object_get_name_prefix), (gst_object_set_parent),
32001         (gst_object_get_parent), (gst_object_unparent),
32002         (gst_object_check_uniqueness), (gst_object_save_thyself),
32003         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32004         (gst_object_set_property), (gst_object_get_property),
32005         (gst_object_get_path_string):
32006         * gst/gstobject.h:
32007         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32008         (gst_real_pad_init), (gst_real_pad_get_property),
32009         (gst_pad_custom_new), (gst_pad_get_direction),
32010         (gst_pad_set_active), (gst_pad_is_active),
32011         (gst_pad_set_event_function), (gst_pad_is_linked),
32012         (gst_pad_link_free), (gst_pad_link_intersect),
32013         (gst_pad_link_fixate), (gst_pad_set_caps),
32014         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32015         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32016         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32017         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32018         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32019         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32020         (gst_pad_realize), (gst_pad_get_allowed_caps),
32021         (gst_real_pad_dispose), (gst_real_pad_finalize),
32022         (gst_pad_collectv), (gst_pad_collect_valist),
32023         (gst_pad_template_dispose), (gst_pad_template_new),
32024         (gst_pad_get_internal_links):
32025         * gst/gstpad.h:
32026         * gst/gstpipeline.c: (gst_pipeline_dispose),
32027         (gst_pipeline_change_state):
32028         * gst/gstpipeline.h:
32029         * gst/gstplugin.c:
32030         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32031         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32032         * gst/gstpluginfeature.h:
32033         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32034         * gst/gstquery.c: (_gst_query_type_initialize),
32035         (gst_query_type_register), (gst_query_type_get_by_nick),
32036         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32037         * gst/gstquery.h:
32038         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32039         * gst/gstscheduler.c: (gst_scheduler_add_element),
32040         (gst_scheduler_factory_create):
32041         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32042         (gst_structure_free), (gst_structure_set_name),
32043         (gst_structure_id_set_value), (gst_structure_set_value),
32044         (gst_structure_set_valist), (gst_structure_remove_field),
32045         (gst_structure_remove_fields),
32046         (gst_structure_remove_fields_valist),
32047         (gst_structure_remove_all_fields), (gst_structure_foreach),
32048         (gst_structure_map_in_place),
32049         (gst_caps_structure_fixate_field_nearest_int),
32050         (gst_caps_structure_fixate_field_nearest_double):
32051         * gst/gststructure.h:
32052         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32053         (gst_system_clock_init), (gst_system_clock_dispose),
32054         (gst_system_clock_async_thread),
32055         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32056         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32057         * gst/gstsystemclock.h:
32058         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32059         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32060         * gst/gsttaginterface.c:
32061         * gst/gstthread.c: (gst_thread_dispose),
32062         (gst_thread_release_children_locks), (gst_thread_change_state),
32063         (gst_thread_main_loop):
32064         * gst/gsttrashstack.h:
32065         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32066         * gst/gsttypes.h:
32067         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32068         (gst_element_request_pad), (gst_element_get_pad_from_template),
32069         (gst_element_request_compatible_pad),
32070         (gst_element_get_compatible_pad_filtered),
32071         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32072         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32073         (gst_element_link_many), (gst_element_link),
32074         (gst_element_link_pads), (gst_element_unlink_pads),
32075         (gst_element_unlink_many), (gst_element_unlink),
32076         (gst_pad_can_link_filtered), (gst_pad_can_link),
32077         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32078         (gst_object_default_error), (gst_bin_add_many),
32079         (gst_bin_remove_many), (gst_element_populate_std_props),
32080         (gst_element_class_install_std_props), (gst_buffer_merge),
32081         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32082         (link_fold_func), (gst_pad_proxy_setcaps):
32083         * gst/gstutils.h:
32084         * gst/gstvalue.c: (gst_value_deserialize_string):
32085         * gst/parse/grammar.y:
32086         * gst/schedulers/gstbasicscheduler.c:
32087         (gst_basic_scheduler_cothreaded_chain),
32088         (gst_basic_scheduler_chain_recursive_add),
32089         (gst_basic_scheduler_pad_link):
32090         * gst/schedulers/gstoptimalscheduler.c:
32091         (get_group_schedule_function),
32092         (gst_opt_scheduler_state_transition),
32093         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32094         * libs/gst/bytestream/bytestream.c:
32095         * libs/gst/dataprotocol/dataprotocol.c:
32096         (gst_dp_header_from_buffer):
32097         * po/nb.po:
32098         * po/ru.po:
32099         * tests/threadstate/threadstate2.c: (eos):
32100         * tools/gst-compprep.c: (main):
32101         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32102         (print_pad_info), (print_children_info):
32103         * tools/gst-launch.c: (idle_func), (main):
32104         * tools/gst-md5sum.c: (idle_func), (main):
32105         * tools/gst-xmlinspect.c: (print_element_info):
32106         First THREADED backport attempt, focusing on adding locks and
32107         making sure the API is threadsafe. Needs more work. More docs
32108         follow this week.
32109
32110 2005-02-24  Andy Wingo  <wingo@pobox.com>
32111
32112         * tests/bench-complexity.scm:
32113         * tests/complexity.gnuplot: New files, good for running complexity
32114         benchmarks.
32115
32116         * tests/Makefile.am:
32117         * tests/complexity.c: New test, sets up N elements, at each level
32118         teeing into M streams per element. Eeeenteresting.
32119
32120         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32121         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32122         running bench-mass_elements.scm.
32123
32124         * tests/bench-mass_elements.scm: New script, runs mass_elements
32125         for various numbers of identities, outputting the results to a
32126         file. Requires guile 1.6. Just for testing.
32127
32128 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32129
32130         * gst/schedulers/fairscheduler.c:
32131           compile with debug disabled
32132
32133 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32134
32135         * configure.ac:
32136           hunting season on 0.9 is now OPEN