gst/gstutils.c: Add FIXME for 0.11 to set the pad as message source and not the eleme...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * gst/gstutils.c: (gst_element_found_tags_for_pad):
4         Add FIXME for 0.11 to set the pad as message source and not
5         the element. Otherwise it's impossible to detect for which
6         pad the tags were found without adding an event probe
7         or something similar to the pad.
8
9 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
10
11         * docs/faq/general.xml:
12         Update the faq.
13
14 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
15
16         * docs/gst/gstreamer-sections.txt:
17         * gst/gsttagsetter.c:
18         * gst/gsttagsetter.h:
19           Rename api added in previous commit and add since tag to docs.
20           API: gst_tag_setter_reset_tags()
21
22 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
23
24         * docs/gst/gstreamer-sections.txt:
25         * gst/gsttagsetter.c:
26         * gst/gsttagsetter.h:
27           Add function to reset tagsetter for element reuse.
28
29 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
30
31         * gst/gsttaglist.c:
32           Avoid copy of empty taglist.
33
34 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
35
36         * gst/gsttaglist.c:
37         * tests/check/gst/gsttag.c:
38           More complete unit tests. Fix handling of empty taglists (they were
39           not merged before).
40
41 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
42
43         * gst/gsttaglist.h:
44         * gst/gsttagsetter.c:
45           Update GstTagSetter and GstTagMergeMode documentation. Mention
46           that tags can come from events and from application. Fix example.
47
48 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
49
50         * docs/design/part-TODO.txt:
51         Remove the seqnum entry that we implemented in 0.10 already.
52         Add entry about removing the format return value for queries.
53
54 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
55
56         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
57         (gst_base_sink_init), (gst_base_sink_set_property),
58         (gst_base_sink_get_property):
59         Expose the render-delay as a property so things like appsink can use it
60         to tweak the synchronisation.
61
62 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
63
64         * libs/gst/check/gstcheck.h: Allow check tests to use
65         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
66         CK_FORK=no to be used with multiple check test that use threads.
67
68 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
69
70         * gst/gstutils.c: (gst_element_get_compatible_pad):
71         Fix a caps memory leak introduced by the last change.
72
73 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
74
75         * gst/gstutils.c: (gst_element_get_compatible_pad):
76         Check if the caps of the pads are compatible before returning
77         a pad and claiming it is compatible. This, among other things,
78         fixes a bug with gst-launch where an incompatible pad is chosen
79         and linking fails. Fixes bug #544003.
80
81 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
82
83         * libs/gst/check/gstcheck.c: (gst_check_init):
84         Revert accidentially commited patch for bug #404631 which
85         tries to print a backtrace if a testcase is terminated by
86         a signal. This code was never activated as the corresponding
87         configure.ac change wasn't committed.
88
89 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
90
91         * tests/check/libs/controller.c: (GST_START_TEST):
92         This test should return TRUE now as syncing an uncontrolled
93         object will succeed now (there's nothing to sync).
94
95 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
96
97         * libs/gst/controller/gstcontroller.c:
98           Aggregate return value for gst_controller_sync_values(). More info in
99           logging. Always set values on first sync-call.
100
101         * libs/gst/controller/gstcontrolsource.c:
102           Microoptimizations.
103
104         * libs/gst/controller/gsthelper.c:
105           Fix return code and comment.
106
107 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
108
109         * tools/gst-launch.1.in:
110           Fix description of how to specify a type in caps. Fixes #553873.
111           Also ranges and list contain values and not property-assignments.
112
113 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
114
115         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
116         Check for changed pads-list before checking the last returned
117         GstFlowReturn because the pad could have been removed and we
118         need to ignore the value in that case.
119
120 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
121
122         * libs/gst/base/gstbasetransform.c:
123         (gst_base_transform_prepare_output_buffer),
124         (gst_base_transform_getrange), (gst_base_transform_chain):
125         * libs/gst/base/gstbasetransform.h:
126         Add vmethod that is called before we start the transform and which can
127         be used to configure the transform, such as dynamic properties.
128
129 2008-12-05  David Schleef  <ds@schleef.org>
130
131         * gst/gst.c:
132         Search for plugins on win32 based on the location of the
133         gstreamer DLL.  Fixes #548786
134
135 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
136
137         * configure.ac:
138         Apparently AC_CONFIG_MACRO_DIR breaks when using more
139         than one macro directory, reverting last change.
140
141 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
142
143         * configure.ac:
144         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
145         our M4 macros.
146
147 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
148
149         Patch by: Cygwin Ports maintainer
150                   <yselkowitz at users dot sourceforge dot net>
151
152         * autogen.sh:
153         * configure.ac:
154         Require gettext 0.17 because older versions don't mix with libtool
155         2.2. At build time an older gettext version will still work.
156         Fixes bug #556091.
157
158 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
159
160         Patch by: 이문형 <iwings at gmail dot com>
161
162         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
163         Adds support for FD_CONNECT event (win32). See #562258.
164
165 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
166
167         * libs/gst/base/gstbasesink.c:
168           Turn comment into gtk-doc comment.
169
170 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
171
172         * libs/gst/base/gstbasetransform.c:
173         (gst_base_transform_acceptcaps):
174         Revert quick accepcaps attempt, it's not fully equivalent to the old
175         behaviour and thus causes regressions.
176
177 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
178
179         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
180         Fix memory leak.
181
182 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
183
184         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
185
186         * gst/gstregistry.c: (gst_registry_scan_path_level):
187         Reduce the number of stat() calls for every file from three times
188         to one time. Fixes bug #560360.
189
190 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
191
192         * libs/gst/base/gstbasetransform.c:
193         (gst_base_transform_acceptcaps):
194         Rename a variable to make the code clearer.
195
196 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
197
198         * plugins/elements/gstidentity.c:
199         Don't warning on offset==-1. Taken from _check_imperfect_offset().
200
201 2008-11-21  Michael Smith <msmith@songbirdnest.com>
202
203         * plugins/elements/gstfilesrc.c:
204           Check for localhost in URI was backwards, fix it. Fixes unit test.
205
206 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
207
208         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
209         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
210         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
211         Add beginnings of a more optimized acceptcaps function than the default
212         core one.
213
214 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
215
216         * gst/gstpad.c: (gst_pad_accept_caps):
217         Avoid getting the acceptcaps function too early.
218
219 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
220
221         * tools/gst-launch.c: (event_loop):
222         Make gst-launch handle LATENCY messages and make it recalculate the
223         latency.
224
225 2008-11-20  Michael Smith <msmith@songbirdnest.com>
226
227         * plugins/elements/gstfilesrc.c:
228           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
229           out own slightly incorrect version. Fixes use of some paths on
230           win32.
231
232 2008-11-20  Michael Smith <msmith@songbirdnest.com>
233
234         * gst/gstregistrybinary.c:
235           In win32 codepath, if we fail to write the registry, create the
236           directory for it and try again, matching the behaviour in non-win32
237           codepaths.
238
239 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
240
241         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
242         Changing the render delay changes the latency and so we must post a
243         latency message.
244
245 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
246
247         * gst/gstquery.c:
248         * gst/gstquery.h:
249         Add GstQueryType for custom queries instead of having to use the
250         not-so-very-convenient registration infrastructure to register new
251         types.
252
253 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
254
255         Patch by: Andrew Feren <acferen at yahoo dot com>
256
257         * gst/gstobject.c: (gst_object_default_deep_notify):
258         Unref the GEnumClass after usage again. Fixes bug #561501.
259
260 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
261
262         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
263         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
264         (gst_bin_change_state_func):
265         * gst/gstbin.h:
266         Add do-latency signal with the old default fallback implementation. This
267         allows for custom latency calculations for when the default is not
268         sufficient.
269         API: GstBin::do-latency signal.
270
271 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
272
273         * win32/common/libgstreamer.def:
274         Add new symbols to .def file.
275
276 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
277
278         * docs/gst/gstreamer-sections.txt:
279         * gst/gstbin.c: (gst_bin_recalculate_latency),
280         (gst_bin_change_state_func):
281         * gst/gstbin.h:
282         Add method to recalculate and redistribute the latency on a bin.
283         API: gst_bin_recalculate_latency().
284
285 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
286
287         * gst/gstbuffer.h:
288         Document the free_func.
289
290 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
291
292         * libs/gst/controller/gstinterpolation.c:
293         * libs/gst/controller/gstlfocontrolsource.c:
294         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
295         as it is mapped to a cast on non-win32 platforms.
296
297 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
298
299         * libs/gst/controller/gstcontroller.c:
300         * libs/gst/controller/gstcontrollerprivate.h:
301           Keep last-value and only call set_property if value has changed. This
302           supresses all the g_object_notifies we would trigger otherwise. It
303           also allows the user to chage the value while there is no controller
304           change.
305
306 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
307
308         * gst/gstvalue.c:
309           Don't crash if either of the string GValues is empty.
310
311 2008-11-17  Andy Wingo  <wingo@pobox.com>
312
313         * tools/gst-inspect.c (print_all_uri_handlers): New function,
314         prints a summary of what URI schemes are supported by what
315         elements.
316         (main): Plumb in support for --uri-handlers or -u, and fix the
317         argc check for -a and -u.
318
319 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
320
321         * gst/gstutils.h:
322         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
323         conversion functions.
324
325 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
326
327         * gst/gstbuffer.c: (gst_buffer_finalize):
328         Avoid costly typechecking for trivially correct pointers.
329
330         * gst/gstpoll.c: (gst_poll_wait):
331         Add some G_LIKELY here and there.
332
333         * libs/gst/base/gstadapter.c: (gst_adapter_push):
334         Add some debug info.
335
336 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
337
338         * docs/random/wtay/poll-timeout:
339         Small tweaks.
340
341 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
342
343         * tests/old/testsuite/caps/intersection.c: (main):
344         * tests/old/testsuite/plugin/loading.c: (main):
345         Remove references to deprecated API g_mem_chunk*.
346         Fixes #560442.
347
348 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
349
350         * tools/gst-inspect.c: (main):
351         Add --plugin option. Fixes #560301.
352
353 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
354
355         * docs/random/wtay/poll-timeout:
356         Quick braindump for a possible (not totally verified) atomic case.
357
358 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
359
360         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
361         (gst_registry_binary_initialize_magic),
362         (gst_registry_binary_write_cache),
363         (gst_registry_binary_check_magic):
364         * gst/gstregistrybinary.h:
365         Don't write and check a CRC for the binary registry file. It's
366         guaranteed that the registry is completely written (it's first written
367         to a temporary file and then moved) and if the registry was corrupted
368         by some hardware failure we would have bigger problems.
369
370         Bump binary registry version to 0.10.21.1 for this as it's an
371         incompatible change and to ensure that the registry gets rebuild
372         after the update.
373
374         This saves some milliseconds for reading/writing the registry.
375         Fixes bug #560399.
376
377 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
378
379         * docs/random/wtay/poll-timeout:
380         Some pseudo code for how we could implement clock timeouts with GstPoll.
381
382 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
383
384         * plugins/elements/gstfilesink.c:
385           Update Author string to match others.
386
387 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
388
389         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
390         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
391         being fixed and inline the trivial check.
392
393 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
394
395         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
396         (gst_caps_merge_structure), (gst_caps_get_structure),
397         (gst_caps_copy_nth), (gst_caps_set_simple),
398         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
399         (gst_caps_is_equal_fixed), (gst_caps_intersect),
400         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
401         (gst_caps_to_string):
402         Callgrind micro optimisations.
403         Avoid array bounds checks and force inline of trivial function.
404
405         * gst/gstobject.c: (gst_object_set_name_default):
406         -1 is equivalent to letting glib to the strlen but then there is more
407         room for optimisations and it's not our fault.
408
409         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
410         no need to clear the array, we're cool.
411
412         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
413         The most common _is_fixed() check is done on fundamental glib base
414         types so we check this first instead of doing a huge amount of
415         useless GST_TYPE_ARRAY calls.
416
417 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
418
419         * gst/gstevent.h:
420         Add a SKIP seek flag for use with advanced trickmodes.
421         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
422
423 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
424
425         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
426         No need to memset, we can clear the value ourselves.
427
428         * gst/gstvalue.c: (gst_type_is_fixed),
429         (gst_value_get_compare_func):
430         Some optimisations from a few callgrind sessions:
431         When checking if a type is fixed, check for trivial fundamental types
432         first before checking types for which we need to get the type followed
433         by the heavy duty type checks, this reduces the amount of
434         g_type_fundamental() calls a lot.
435         When getting the compare function, first check for our registered types.
436         If that fails, do the heavy duty g_type_is_a() checks, reduces the
437         amount of g_type_is_a() considerably.
438
439 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
440
441         * docs/design/part-TODO.txt:
442         Mumble something about removing GstXML.
443
444 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
445
446         * gst/gstbin.c: (gst_bin_handle_message_func):
447         Get the seqnum before we dispose the message.
448
449 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
450
451         * docs/design/part-TODO.txt:
452         Refer to the framestepping document.
453
454 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
455
456         * gst/gstbin.c: (bin_handle_async_start),
457         (gst_bin_handle_message_func), (gst_bin_query):
458         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
459         (gst_base_sink_event), (gst_base_sink_change_state):
460         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
461         (gst_base_src_loop), (gst_base_src_change_state):
462         Copy seqnums from events to messages so that they can all be related
463         back to eachother.
464
465 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
466
467         * tools/gst-launch.c: (event_loop):
468         Print the message seqnums.
469
470 2008-11-04  Andy Wingo  <wingo@pobox.com>
471
472         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
473
474 2008-11-04  Andy Wingo  <wingo@pobox.com>
475
476         Add sequence numbers to events and messages. See #559250.
477
478         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
479         API: New functions.
480
481         * gst/gstevent.h:
482         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
483         events with a new sequence number, and copy it when copying.
484         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
485         an event's sequence number.
486
487         * gst/gstmessage.h:
488         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
489         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
490         so with messages.
491
492         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
493
494 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
495
496         * docs/manual/advanced-position.xml:
497         * docs/manual/basics-bins.xml:
498         * docs/manual/basics-bus.xml:
499         * docs/manual/basics-pads.xml:
500         * docs/manual/intro-gstreamer.xml:
501         * docs/manual/intro-preface.xml:
502         Some Application Development Manual fixes thanks to
503         Andrew Feren. Fixes #558459.
504
505 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
506
507         * gst/gstregistrybinary.c:
508           Don't bother with the GTimer if we don't output the results.
509
510 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
511
512         Patch by: David Schleef  <ds@schleef.org>
513
514         * libs/gst/net/Makefile.am:
515         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
516
517 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
518
519         * gst/gstregistrybinary.c:
520           Oh my, studip, stupid me. Remove double stat() call.
521
522 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
523
524         * gst/gstpreset.c:
525           Use g_unlink instead of unlink.
526
527         * gst/gststructure.c:
528           Use glib type.
529
530         * gst/gstutils.c:
531           Add a FIXME:.
532
533         * gst/gsttaglist.c:
534         * gst/gsttypefind.c:
535         * gst/gstvalue.c:
536           Formatting & whitespaces.
537
538 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
539
540         * plugins/elements/gstidentity.c:
541           Doc typo. Use return value of parent_class->event.
542   
543         * plugins/elements/gsttypefindelement.c:
544           Chain up at the end for consistency.
545   
546 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
547
548         * docs/Makefile.am:
549         * docs/gst/gstreamer-docs.sgml:
550         * docs/gst/gstreamer-sections.txt:
551         * docs/gst/running.xml:
552         * docs/libs/gstreamer-libs-docs.sgml:
553           Change to xinclude based build - its faster and easier to maintain.
554
555 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
556
557         * gst/gstregistrybinary.c:
558         * gst/gstregistryxml.c:
559           Use g_unlink() as none of these are directories.
560
561 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
562
563         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
564         Some more comments.
565
566 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
567
568         * libs/gst/base/gstbasetransform.c:
569         (gst_base_transform_find_transform), (gst_base_transform_getrange):
570         If we have a fixate function, call it even if we already have fixed caps
571         because the subclass might add some caps. Makes audioconvert add a
572         default channel layout.
573
574 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
575
576         * libs/gst/base/gstbasetransform.c:
577         (gst_base_transform_prepare_output_buffer),
578         (gst_base_transform_getrange):
579         Clear the output buffer variable.
580         Cleanups to the error path in the getrange function.
581         Fixes #557649.
582
583 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
584
585         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
586         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
587         Use gst_buffer_try_new_and_alloc() and handle errors instead of
588         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
589         be allocated.
590
591 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
592
593         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
594         Set the last_stop to a more meaningful position when configuring the
595         segment. ie. the start/stop of the segment or clipped against the
596         updated segment boundaries.
597
598         * tests/check/gst/gstsegment.c: (GST_START_TEST):
599         Add some unit tests for the last_stop.
600
601 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
602
603         * libs/gst/base/gstbytereader.c:
604         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
605         copies of them.
606
607 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
608
609         * docs/gst/gstreamer-sections.txt:
610         * gst/gstutils.h:
611         API: Move float endianness conversion macros from libgstfloatcast
612         to core as it's useful in general, even in core. Fixes bug #555196.
613         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
614         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
615         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
616
617         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
618         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
619         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
620         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
621
622 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
623
624         * docs/libs/gstreamer-libs-sections.txt:
625         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
626         (gst_byte_reader_peek_data):
627         * libs/gst/base/gstbytereader.h:
628         * win32/common/libgstbase.def:
629         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
630         to get a pointer to the data at the current position and have
631         a guaranteed size.
632
633 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
634
635         * configure.ac:
636         Fix a bug in the output of the configure script summary
637         when --gst-disable-registry is supplied
638
639 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
640
641         * libs/gst/base/gstbitreader.c:
642         * libs/gst/base/gstbytereader.c:
643         Fix the names of 2 functions in the docs strings.
644
645 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
646
647         * libs/gst/base/gstbasetransform.c:
648         (gst_base_transform_prepare_output_buffer),
649         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
650         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
651         refcount problems as seen in banshee and maybe also in farsight2.
652         Remove atomic int now that we need to take the lock anyways.
653
654 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
655
656         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
657         (gst_base_sink_default_prepare_seek_segment),
658         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
659         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
660         (gst_base_sink_query):
661         Implement more seeking in pull mode.
662         Use pad convert functions to convert position to the requested format.
663         Fix position/duration reporting in pull mode.
664         Implement position and duration reporting in other formats than time.
665
666         * libs/gst/base/gstbasesink.h:
667         Add member to keep track of when the segment is playing.
668
669 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
670
671         * gst/gstpad.c: (gst_pad_configure_src):
672         When we use gst_pad_alloc_buffer() without wanting to set the caps we
673         also don't need to check if the caps are compatible because the caller
674         presumably is going to perform its own custom checks. Fixes some cases
675         where basetransform elements would error out when it was not needed.
676
677 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
678
679         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
680         Update comment.
681
682         * libs/gst/base/gstbasetransform.c:
683         (gst_base_transform_handle_buffer),
684         (gst_base_transform_reconfigure):
685         Add some debug info.
686
687         * win32/common/libgstbase.def:
688         Add new method.
689
690 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
691
692         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
693           Remove duplicated assignment and log a message in failure case.
694
695 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
696
697         Patch by: Dig Ge <dig.ge.cn at gmail com>
698
699         * tests/examples/helloworld/helloworld.c: (main):
700           Fix copy'n'paste bug in hello world example (#556900).
701
702 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
703
704         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
705         (gst_base_sink_query):
706         Query the total number of bytes when activating the pad in pull mode.
707         Implement duration query in pull mode by using the installed pad convert
708         function to convert from bytes to the requested format.
709
710 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
711
712         * docs/libs/gstreamer-libs-sections.txt:
713         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
714         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
715         (gst_base_sink_event), (gst_base_sink_perform_seek),
716         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
717         (gst_base_sink_send_event), (gst_base_sink_change_state):
718         * libs/gst/base/gstbasesink.h:
719         Add method to commit the state in subclasses.
720         Refactor the flush_start and flush_stop code because we need it for
721         flushing while seeking too.
722         Implement the beginnings of seeking in pull mode.
723         Use the segment last_stop field for the pulling offset.
724         Fix the pause method in pull mode.
725         Configure the segment to BYTES for pull mode.
726         API: GstBaseSink::gst_base_sink_do_preroll()
727
728 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
729
730         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
731         Update some docs.
732
733 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
734
735         * gst/gstquark.c: (_priv_gst_quarks_initialize):
736           Fix printf format warning.
737
738 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
739
740         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
741         Fix flow aggregation of tee. Error out immediately for all flow returns
742         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
743         and return OK if at least one pad is linked.
744
745         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
746         and otherwise returned the flow return of the last pad, which is wrong.
747         
748         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
749         (GST_START_TEST), (tee_suite):
750         Add unit tests for the flow aggregation.
751
752 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
753
754         * docs/design/part-TODO.txt:
755         Remove item from the todo list because it was fixed with the latency
756         state change rewrites.
757
758         * docs/design/part-seeking.txt:
759         * docs/design/part-segments.txt:
760         Update some docs.
761
762         * gst/gstevent.c: (gst_event_new_new_segment_full),
763         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
764         (gst_event_parse_buffer_size), (gst_event_new_qos),
765         (gst_event_parse_qos), (gst_event_new_seek),
766         (gst_event_parse_seek), (gst_event_new_latency),
767         (gst_event_parse_latency):
768         Use quarks to construct and parse events.
769
770         * gst/gstquark.c: (_priv_gst_quarks_initialize):
771         * gst/gstquark.h:
772         Add some more quarks to the table.
773         Emit a warning when the quark tables are not in sync.
774
775         * tests/check/gst/gstbus.c: (GST_START_TEST):
776         Add an assert.
777
778 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
779
780         * plugins/elements/Makefile.am:
781         * plugins/indexers/Makefile.am:
782           Don't install static libs for plugins. Fixes #550851 for core.
783
784 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
785
786         * gst/gstbus.c: (gst_bus_source_finalize),
787         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
788         (gst_bus_enable_sync_message_emission),
789         (gst_bus_disable_sync_message_emission),
790         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
791         Fix deadlock, g_source_get_id() cannot be called in finalize.
792         Keep track of the watch source by keeping a pointer to the source object
793         instead.
794         Use the bus lock to protect access to the pointer to the current
795         watch source.
796
797 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
798
799         Base on Patch by: Olivier Crete <tester at tester dot ca>
800
801         * gst/gstbus.c: (gst_bus_source_finalize),
802         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
803         Only allow one bus watch to be set at a time. This is necessary
804         because the dispatcher pops the message from the bus and the second
805         watcher will then get NULL or the next message (and the first won't
806         get this next message then, etc). If more than one "watcher" is
807         required signal watches should be used. Fixes bug #526044.
808
809 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
810
811         * tools/gst-launch.c:
812         Change the printing of the 'buffering...' output to avoid putting
813         a \r in a translateable string (flagged by the TP).
814
815 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
816
817         * gst/gstxml.c:
818         Clarify that the save_thyself() and restore_thyself() virtual
819         functions of GstObject need to be overriden, not
820         gst_object_(save|restore)_thyself() which is impossible.
821         Fixes bug #555700.
822
823 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
824
825         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
826         Revert a patch from 21 months ago that broke caps negotiation in pull
827         mode. Basically, having a buffer pass over a pad will trigger the
828         setcaps function when caps change, just like in push mode.
829
830 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
831
832         * docs/design/part-negotiation.txt:
833         Update the docs some more.
834
835         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
836         If we pull a buffer with non-trivial caps, suggest those caps with the
837         max probability.
838
839 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
840
841         * docs/design/part-TODO.txt:
842         Add another limitation of pad-blocking with segment seeks not pushing
843         EOS events.
844
845 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
846
847         * win32/common/libgstbase.def:
848         * win32/common/libgstreamer.def:
849         Add new symbols to the win32 defs files
850
851 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
852
853         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
854         (gst_bin_handle_message_func):
855         The message src can be NULL, don't try to print the object names in that
856         case.
857
858         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
859         Add some more debug info.
860
861         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
862         (GST_START_TEST):
863         Add some debug.
864         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
865         scheduling modes.
866
867 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
868
869         * docs/design/part-negotiation.txt:
870         Small doc update.
871
872         * docs/libs/gstreamer-libs-sections.txt:
873         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
874         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
875         (gst_base_sink_init), (gst_base_sink_set_blocksize),
876         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
877         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
878         (gst_base_sink_loop), (gst_base_sink_pad_activate),
879         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
880         (gst_base_sink_change_state):
881         * libs/gst/base/gstbasesink.h:
882         Add blocksize property and methods to control the amount of data
883         to pull.
884         Negotiate first before activating upstream in pull mode so that they can
885         negotiate themselves.
886         When we operate in pull mode, we only accept the caps that we
887         negotiated.
888         Make the sink go ASYNC to PAUSED, like all other sinks.
889         API: GstBaseSink::gst_base_sink_set_blocksize()
890         API: GstBaseSink::gst_base_sink_get_blocksize()
891         API: GstBaseSink::blocksize
892
893         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
894         (gst_base_src_set_live), (gst_base_src_is_live),
895         (gst_base_src_set_format), (gst_base_src_query_latency),
896         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
897         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
898         (gst_base_src_set_property), (gst_base_src_get_property):
899         * libs/gst/base/gstbasesrc.h:
900         Add typechecking in public API functions.
901         Add methods to control the blocksize in subclasses.
902         API: GstBaseSrc::gst_base_src_set_blocksize()
903         API: GstBaseSrc::gst_base_src_get_blocksize()
904
905 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
906
907         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
908         (buffer_probe), (event_probe), (GST_START_TEST):
909         We now see 3 events go through our pad, since basesink now sends
910         upstream latency events.
911
912 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
913
914         * gst/gstpipeline.c: (gst_pipeline_change_state):
915         Release the object lock before trying to flush the bus.
916
917 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
918
919         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
920         Forward LATENCY events upstreams so that elements know about the total
921         pipeline latency. Fixes #555307.
922
923 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
924
925         * plugins/elements/gstqueue.c:
926         Allow through queries when we don't know how
927         to adjust them (not TIME or BYTES), as otherwise it's
928         not possible to query the current position in order
929         to seek in other formats at all.
930
931 2008-10-08  Andy Wingo  <wingo@pobox.com>
932
933         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
934
935 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
936
937         * gst/gstghostpad.c:
938         * gst/gstghostpad.h:
939         Unbreak -good build, private is a reserved c++ keyword.
940
941 2008-10-08  Andy Wingo  <wingo@pobox.com>
942
943         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
944         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
945         removal: re-add GST_GHOST_PAD_CAST to the header.
946
947         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
948         (GstGhostPadClass): Publically expose these structures so as to
949         allow easy subclassing from C. Hide the member data behind a
950         private opaque data pointer.
951
952         * gst/gstghostpad.c: Adapt to store instance data in the type
953         instance's private data region, not in the public struct.
954
955 2008-10-08  Andy Wingo  <wingo@pobox.com>
956
957         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
958         template via g_object_get(), be sure to unref it.
959
960         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
961
962 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
963
964         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
965         If we can't get a cache file don't try to save something to it.
966         Dereferencing NULL pointers usually isn't a good idea.
967
968 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
969
970         * tests/check/Makefile.am:
971         * tests/check/gst/gstabi.c:
972         * tests/check/gst/struct_sparc.h:
973         * tests/check/libs/libsabi.c:
974         * tests/check/libs/struct_sparc.h:
975         Add Sparc ABI checks
976
977         * tests/check/gst/gstvalue.c: (GST_START_TEST):
978         Cast signed integer to unsigned to avoid a compiler warning.
979
980 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
981
982         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
983         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
984         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
985         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
986         (gst_byte_reader_peek_int24_be):
987         Use new GST_READ_UINT24_(LE|BE) macros.
988
989 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
990
991         * docs/gst/gstreamer-sections.txt:
992         * gst/gstutils.h:
993         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
994         as it's too easy to break the ISO C strict aliasing rules with simple
995         casts to the corresponding type and this would introduce hard to debug
996         bugs. Fixes bug #545714.
997
998         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
999
1000 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1001
1002         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1003         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1004           Add 'Since' bits to gtk-doc chunks for new API.
1005
1006 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1007
1008         * docs/gst/gstreamer-sections.txt:
1009         Fix documentation
1010
1011 2008-10-06  Andy Wingo  <wingo@pobox.com>
1012
1013         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1014         that will be called on the malloc_data to free it. Basically a way
1015         to avoid subclassing when all you need is a different free
1016         function, i.e. free() instead of g_free().
1017
1018         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1019         calling the free function.
1020         (gst_buffer_init): Initialize the free function to g_free.
1021
1022 2008-10-06  Andy Wingo  <wingo@pobox.com>
1023
1024         * gst/gstghostpad.h:
1025         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1026         finishes the initialization of ghost pad. Useful for language
1027         bindings and subclassers of GstGhostPad. Fixes #539108.
1028         (gst_ghost_pad_new_full): Use the new constructor.
1029
1030 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1031
1032         Base on Patch by: Olivier Crete <tester at tester dot ca>
1033
1034         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1035         (gst_bin_remove_func), (update_degree),
1036         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1037         Keep track of pads that are being linked/unlinked and resync the state
1038         changes.
1039
1040         * gst/gstpad.c: (gst_pad_get_direction),
1041         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1042         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1043         (gst_pad_link_prepare), (gst_pad_link),
1044         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1045         (gst_pad_check_pull_range), (gst_pad_get_range),
1046         (gst_pad_pull_range):
1047         Some code cleanups, use macros to check pad direction.
1048         Don't need to take the lock on the pad direction.
1049         Post structure change when pads are linked/unlinked.
1050         Change some checks into _return_if_fail().
1051
1052         * tests/check/gst/gstbin.c:
1053         (test_link_structure_change_state_changed_sync_cb),
1054         (GST_START_TEST), (gst_bin_suite):
1055         Add testcase for pad link/unlinke resync during a state change.
1056         Fixes #510354.
1057
1058 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1059
1060         * docs/gst/gstreamer-sections.txt:
1061         * gst/gstmessage.c: (gst_message_new_structure_change),
1062         (gst_message_parse_structure_change):
1063         * gst/gstmessage.h:
1064         Implement STRUCTURE_CHANGED messages. These messages will be used to
1065         signal the parent bin of link/unlink operations that could require a
1066         resync when doing a state change. See ##510354.
1067         API: gst_message_new_structure_change()
1068         API: gst_message_parse_structure_change()
1069
1070 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1071
1072         * gst/gstquark.c:
1073         * gst/gstquark.h:
1074         Add some more quarks for new message. See #510354.
1075
1076 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1077
1078         * docs/libs/gstreamer-libs-docs.sgml:
1079         * docs/libs/gstreamer-libs-sections.txt:
1080         * libs/gst/base/Makefile.am:
1081         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1082         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1083         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1084         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1085         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1086         (gst_bit_reader_skip_to_byte):
1087         * libs/gst/base/gstbitreader.h:
1088         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1089         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1090         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1091         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1092         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1093         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1094         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1095         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1096         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1097         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1098         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1099         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1100         * libs/gst/base/gstbytereader.h:
1101         * tests/check/Makefile.am:
1102         * tests/check/libs/bitreader.c: (GST_START_TEST),
1103         (gst_bit_reader_suite):
1104         * tests/check/libs/bytereader.c: (GST_START_TEST),
1105         (gst_byte_reader_suite):
1106         API: Add bit reader and byte reader classes, including documentation
1107         and an extensive unit test suite. Fixes bug #553554.
1108
1109 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1110
1111         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1112         (gst_base_sink_query):
1113         Improve position reporting while flushing and other intermediate state
1114         changes. Fixes #553874.
1115
1116 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1117
1118         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1119
1120         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1121         Original patch by : Simon Descaries
1122         Fix small refount leak in caps compatibility check.
1123         Fixes #551676.
1124
1125 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1126
1127         * docs/pwg/advanced-request.xml:
1128           Fix 0.8 api usage in example. Fixes #554561
1129
1130         * docs/pwg/appendix-porting.xml:
1131           Change 0.9 to 0.10 here.
1132
1133 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1134
1135         * docs/manual/basics-data.xml:
1136           Change "event-event interaction" to "element-element interaction".
1137           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1138           updates.
1139
1140 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1141
1142         * configure.ac:
1143         Back to development -> 0.10.21.1
1144
1145 === release 0.10.21 ===
1146
1147 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1148
1149         * configure.ac:
1150           releasing 0.10.21, "Take These Things From Me"
1151
1152 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1153
1154         * configure.ac:
1155         0.10.20.4 pre-release
1156
1157 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1158
1159         * libs/gst/base/gstbasetransform.c:
1160         * plugins/elements/gstcapsfilter.c:
1161         * tests/check/Makefile.am:
1162         * tests/check/elements/.cvsignore:
1163         * tests/check/elements/capsfilter.c:
1164         Fix assertion in basetransform when the subclass chooses not to
1165         allocate a buffer in prepare_buffer(), and make capsfilter error out
1166         cleanly if requested to apply caps that don't completely specify the
1167         buffer. Fixes #551509
1168
1169 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1170
1171         * libs/gst/base/gstbasetransform.c:
1172         (gst_base_transform_prepare_output_buffer):
1173         Take new caps ref because our old one might have been gone when the
1174         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1175
1176 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * configure.ac:
1179           Do not probe availability of check unit test library when cross
1180           compiling, as test would not work anyway. Also cleanup verbose output
1181           of the check test. Fixes #551952.
1182
1183 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1184
1185         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1186
1187         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1188         Avoid leaking the parent ref when we fail changing the state of the
1189         element using gst_element_sync_state_with_parent(). Fixes #551978.
1190
1191 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1192
1193         * docs/manual/intro-motivation.xml::
1194           Remove some bits that no longer apply, update others (#551642).
1195
1196 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1197
1198         * configure.ac:
1199         0.10.20.2 pre-release
1200
1201         * po/LINGUAS:
1202         * po/id.po:
1203         * po/pt_BR.po:
1204
1205         New translations.
1206
1207 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1208
1209         * win32/common/config.h.in:
1210           Add GST_DATADIR, hard-code cpu to x86.
1211
1212         * win32/common/libgstreamer.def:
1213           Spaces to tabs.
1214
1215 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1216
1217         * gst/gsttaglist.h:
1218           Fix Since: markers for new geo tags.
1219
1220 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1221
1222         * gst/gsttaglist.h:
1223           Fix actual tag name define after renaming from altitude to elevation.
1224
1225 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1226
1227         * gst/gstpad.c: (add_unref_pad_to_list),
1228         (gst_pad_get_internal_links_default):
1229         Add fallback when calling the deprecated function on an element that
1230         implements the new internal_link handler.
1231
1232 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1233
1234         * docs/gst/gstreamer-sections.txt:
1235         * gst/gsttaglist.c:
1236         * gst/gsttaglist.h:
1237           Add new tags for geo location and clarify purpose of existing location
1238           tag. Fixes #481169
1239
1240 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1241
1242         Patch by: Olivier Crete <tester at tester dot ca>
1243
1244         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1245         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1246         Use thread-safe internal links iterator. Fixes #549504.
1247
1248 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1249
1250         Based on patch by: Olivier Crete <tester at tester dot ca>
1251
1252         * docs/gst/gstreamer-sections.txt:
1253         * win32/common/libgstreamer.def:
1254         * gst/gstpad.c: (gst_pad_init),
1255         (gst_pad_set_iterate_internal_links_function),
1256         (int_link_iter_data_free), (iterate_pad),
1257         (gst_pad_iterate_internal_links_default),
1258         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1259         * gst/gstpad.h:
1260         Add threadsafe replacement functions for getting internal links of an
1261         element. Deprecate the old internal links functions.
1262         API:GstPad::gst_pad_set_iterate_internal_links_function()
1263         API:GstPad::GstPadIterIntLinkFunction
1264         API:GstPad::gst_pad_iterate_internal_links()
1265         API:GstPad::gst_pad_iterate_internal_links_default()
1266
1267         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1268         (gst_proxy_pad_init):
1269         Implement threadsafe internal links.
1270
1271         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1272         Unit test for internal links on tee. See #549504.
1273
1274 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1275
1276         * tests/check/Makefile.am:
1277         libs/transform1 test requires libs/test_transform.c
1278
1279 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1280
1281         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1282         Die evil deadlock, die !
1283
1284 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1285
1286         * gst/gstutils.c: (gst_element_get_compatible_pad):
1287         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1288         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1289         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1290         not steal the refcount of the given caps as stated.
1291
1292         REVERT THIS COMMIT ONCE FIXED !
1293         REVERT THIS COMMIT ONCE FIXED !
1294         REVERT THIS COMMIT ONCE FIXED !
1295         REVERT THIS COMMIT ONCE FIXED !
1296         REVERT THIS COMMIT ONCE FIXED !
1297         REVERT THIS COMMIT ONCE FIXED !
1298
1299 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1300
1301         * gst/gstiterator.c:
1302         * gst/gstiterator.h:
1303         After 3 years it's about time to revise the documentation of the
1304         iterator objects.
1305
1306 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1307
1308         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1309         Make the internal links function less thread-unsafe and add some
1310         comments, dunno why.
1311
1312 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1313
1314         * gst/gst_private.h:
1315           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1316           build with --disable-gst-debug.
1317
1318 2008-08-28  David Schleef  <ds@schleef.org>
1319
1320         * gst/gstpadtemplate.c: Revert last change, since it breaks
1321           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1322           but shouldn't be enabled until we've released fixed versions
1323           of -good and -ffmpeg.
1324
1325 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1326
1327         * gst/gstobject.c:
1328           Put the gst_object_get_name() back in.
1329
1330 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1331
1332         * gst/gstpadtemplate.c:
1333           The old behaviour was that gst_pad_template_new() takes ownership of
1334           the caps. As we now call g_object_new() which calls g_object_set() and
1335           which copies the caps, we have to unref them to not leak them. Fixes
1336           make valgrid for me.
1337
1338 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1339
1340         * gst/gsturi.c:
1341           Don't segfault on input like "tel:+1-123-555-1234".
1342
1343 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1344
1345         * gst/gstobject.c:
1346           Due to popular request also include ObjectType in
1347           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1348
1349 2008-08-26  David Schleef  <ds@schleef.org>
1350
1351         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1352           src_val must be positive, because that's not a requirement.
1353           This causes problems with converting negative granulepos
1354           values for Dirac.
1355         * gst/gstquery.c: Same, gst_query_new_convert().
1356
1357 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1358
1359         * gst/gstclock.c: (gst_clock_add_observation):
1360         Add some more debugging to the clock slaving code.
1361
1362         * win32/common/libgstbase.def:
1363         Add new basetransform method.
1364
1365 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1366
1367         * gst/gstbin.c: (gst_bin_element_set_state):
1368         Take the (recursive) state lock between getting the locked state of an
1369         element and changing the element state. This allows the application to
1370         lock an element's state and then change its state without races.
1371
1372 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1373
1374         * gst/gstbin.c: (gst_bin_element_set_state):
1375         When an element is in the locked state we still want to update the
1376         base_time of the element.
1377
1378 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1379
1380         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1381         Use the result from gst_pad_set_caps() instead of assuming the element
1382         always accepted the caps computed by the default negotiate function.
1383
1384 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1385
1386         * docs/libs/gstreamer-libs-sections.txt:
1387         * libs/gst/base/gstbasetransform.c:
1388         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1389         (gst_base_transform_chain), (gst_base_transform_suggest),
1390         (gst_base_transform_reconfigure):
1391         * libs/gst/base/gstbasetransform.h:
1392         Implement method for reconfiguring basetransform.
1393         API: GstBaseTransform::gst_base_transform_reconfigure()
1394
1395 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1396
1397         patch by: Murray Cumming <murrayc@murrayc.com>
1398
1399         * gst/gstutils.c:
1400           Mention that this is just like gst_buffer_merge() but with extra
1401           unreffing for C coders. Advise language bindings not to wrap it.
1402           Fixes Bug #533856.
1403           
1404           Also fix file comment.
1405
1406 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1407
1408         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1409
1410         * plugins/elements/gstfakesink.c:
1411         * plugins/elements/gstfakesrc.c:
1412           Call super::event() when not handling it. Fixes #544855.
1413
1414 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1415
1416         Patch by: Alessandro Decina <alessandro@nnva.org>
1417         * plugins/elements/gstfilesrc.c:
1418           Use 64 bit variants of stat functions on win32, to enable support
1419           of large files there.
1420           Fixes #547277.
1421
1422 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1423
1424         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1425         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1426         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1427         (gst_base_sink_get_position), (gst_base_sink_change_state):
1428         Improve position reporting in the flushing state.
1429         Also report the position when we are not yet prerolled but we
1430         have a newsegment event. Fixes #543444.
1431         Improve the pull-based negotiation code.
1432
1433         * tests/check/elements/fakesink.c: (GST_START_TEST),
1434         (fakesink_suite):
1435         Add testcase for position reporting while flushing in PAUSED and
1436         PLAYING.
1437
1438         * tests/check/generic/sinks.c: (GST_START_TEST):
1439         Update unit-test, we can now query the position as soon as we receive a
1440         NEWSEGMENT event.
1441
1442 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1443
1444         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1445
1446         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1447         When the subclass event handler releases the PREROLL_LOCK, we could be
1448         in the flushing state and we have to ignore the event. Fixes #548394.
1449
1450 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1451
1452         * tools/gst-launch.1.in:
1453           Document GST_REGISTRY_UPDATE environment variable.
1454
1455 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1456
1457         * libs/gst/base/gstbasetransform.c:
1458         (gst_base_transform_prepare_output_buffer):
1459         If the element is configured in passthrough mode but the
1460         prepare_output_buffer gave us a new output buffer, discard that buffer
1461         and reuse the input buffer.
1462
1463 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1464
1465         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1466
1467         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1468         (gst_tee_request_new_pad), (gst_tee_release_pad),
1469         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1470         * plugins/elements/gsttee.h:
1471         Protect pad_alloc with a new lock so that we can be sure that nothing is
1472         performing a pad_alloc when removing the pad. Fixes #547835.
1473
1474         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1475         (buffer_alloc_harness_teardown), (app_thread_func),
1476         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1477         Added testcase for shutdown race.
1478
1479 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1480
1481         * gst/gstpad.h:
1482         Add doc
1483
1484 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1485
1486         * libs/gst/base/gstbasetransform.c:
1487         (gst_base_transform_prepare_output_buffer),
1488         (gst_base_transform_buffer_alloc):
1489         Go over the buffer_alloc function again and make sure we always end up
1490         allocating a buffer.
1491         Add some more docs.
1492         Avoid doing pad alloc when we have a pending suggestion because we
1493         cannot yet deal with changing caps in that case. Fixes #547728
1494
1495 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1496
1497         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1498
1499         * docs/manual/advanced-clocks.xml:
1500         * docs/manual/clocks.png:
1501         * docs/manual/diagrams-clocks.svg:
1502           Add one more image showing different times together with a describing
1503           paragraph. Fixes #547729.
1504
1505 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1506
1507         * win32/common/libgstbase.def:
1508         Add new method.
1509
1510 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1511
1512         * libs/gst/base/gstbasetransform.c:
1513         (gst_base_transform_transform_caps),
1514         (gst_base_transform_prepare_output_buffer),
1515         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1516         Don't overwrite the outsize when calculating the expected size of a new
1517         buffer because we still need it in case we cannot process the new
1518         buffer.
1519         When converting the size of the new buffer to an upstream size, actually
1520         use the expected size of the buffer, not some other random value.
1521         Use an atomic int to signal that a new upstream caps suggestion is
1522         available.
1523         When we can convert the current buffer to a new format, check if the
1524         buffer size is of the expected size and allocate a new buffer of the
1525         expected size when this is not the case. Fixes #546883.
1526
1527         * tests/check/libs/transform1.c: (GST_START_TEST):
1528         remove ifdeffed code from the unit test.
1529
1530 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1531
1532         * pkgconfig/gstreamer-uninstalled.pc.in:
1533         * pkgconfig/gstreamer.pc.in:
1534           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1535           called gstcontroller-0.10.
1536
1537 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * gst/gstchildproxy.h:
1540         * gst/gstpreset.h:
1541           Remove double interface from doc-string.        
1542
1543 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1544
1545         * libs/gst/base/gstbasesrc.c:
1546         * libs/gst/base/gstbasetransform.c:
1547           Fix headings in docs and gtk-doc warnings.
1548
1549 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1550
1551         * gst/gstregistrybinary.c:
1552           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1553           libc.
1554           Fixes #544776.
1555
1556 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1557
1558         * libs/gst/base/gstbasetransform.c:
1559         (gst_base_transform_buffer_alloc):
1560         Fix a "may be used unitialized" warning.
1561
1562 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1563
1564         * docs/gst/gstreamer-sections.txt:
1565         * gst/gstpreset.h:
1566           Document preset-iface vmethods.
1567
1568 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1569
1570         * docs/manual/advanced-interfaces.xml:
1571           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1572           only used to discover devices.
1573
1574 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1575
1576         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1577
1578         * gst/gst.c: (init_pre):
1579         Make sure gettext returns translations in UTF-8 encoding rather
1580         than in the current locale encoding (#546822).
1581
1582 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1583
1584         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1585         Fix subset test.
1586
1587         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1588         Improve unit test subset tests and add a testcase for the subset failure
1589         cases.
1590
1591         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1592         Improve subtraction unit test.
1593
1594 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * plugins/elements/gsttee.c:
1597           Unlock, instead of locking again.
1598
1599 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1600
1601         * gst/gstpad.h:
1602         Clarify the docs a bit more.
1603
1604 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1605
1606         * tests/examples/metadata/read-metadata.c:
1607           Don't leak old taglist.
1608
1609 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1610
1611         Patch by: Olivier Crete <tester at tester dot ca>
1612
1613         * gst/gststructure.c:
1614         (gst_structure_fixate_field_nearest_fraction):
1615         Avoid overflows in fixation code when dealing with MAXINT values, which
1616         v4l2src seems to do.
1617         Fixes #546328.
1618
1619         * tests/check/gst/gststructure.c: (GST_START_TEST):
1620         Make a unit test to check the fix. 
1621
1622 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1623
1624         * plugins/elements/gstcapsfilter.c: (copy_func),
1625         (gst_capsfilter_set_property):
1626         Use new caps suggestion feature of basetransform to request a caps
1627         negotiation upstream.
1628
1629 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1630
1631         * docs/libs/gstreamer-libs-sections.txt:
1632         Add new function:
1633         API: GstBaseTransform::gst_base_transform_suggest()
1634
1635         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1636         (gst_base_transform_init), (gst_base_transform_transform_caps),
1637         (gst_base_transform_transform_size),
1638         (gst_base_transform_configure_caps),
1639         (gst_base_transform_can_transform),
1640         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1641         (gst_base_transform_prepare_output_buffer),
1642         (gst_base_transform_buffer_alloc),
1643         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1644         (gst_base_transform_chain), (gst_base_transform_activate),
1645         (gst_base_transform_set_passthrough),
1646         (gst_base_transform_is_passthrough),
1647         (gst_base_transform_set_in_place),
1648         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1649         (gst_base_transform_set_qos_enabled),
1650         (gst_base_transform_is_qos_enabled),
1651         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1652         (gst_base_transform_reconfigure):
1653         * libs/gst/base/gstbasetransform.h:
1654         Rewrite of basetransform to perform negotiation outside of the
1655         buffer_alloc functions.  Fixes #545853.
1656
1657         * tests/check/libs/transform1.c: (GST_START_TEST),
1658         (buffer_alloc_ct2):
1659         Update unit test.
1660
1661 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1662
1663         * tests/check/gst/gstpreset.c:
1664           Only run preset tests when $HOME is writable. Preliminary fix for
1665           #545433.
1666
1667 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1668
1669         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1670         (gst_bin_change_state_func), (bin_handle_async_done),
1671         (gst_bin_handle_message_func):
1672         Fix race for bins that simulate ASYNC state changes by inserting
1673         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1674         pending ASYNC messages even when the bin does not have ASYNC children.
1675         We note detect this behaviour because we will receive an ASYNC message
1676         that is originating from the bin itself. 
1677         Fixes races with decodebin2 state changes.
1678
1679         * tests/check/gst/gstbin.c: (GST_START_TEST):
1680         Add some more debug.
1681
1682 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1683
1684         * gst/gsttaglist.c: (_gst_tag_initialize):
1685           Fix typo.
1686
1687 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1688
1689         * gst/gsttaglist.c:
1690           Argh. actually save the text before committing. Now adds
1691           gst_tag_merge_strings_with_comma() to gst_tag_register().
1692
1693 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1694
1695         * gst/gsttaglist.c:
1696         * gst/gsttaglist.h:
1697           Do as tim pointed out and actually register the new tag. Also improve
1698           te docs and use gst_tag_merge_strings_with_comma() method to allow
1699           retriving all keywords merged in one list.
1700
1701 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1702
1703         * configure.ac:
1704         * docs/gst/gstreamer.types:
1705           Revert 'accidential' change of the configure option removal. We still
1706           need to generate the types file in configure --disable-load-save.
1707
1708 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1709
1710         * docs/gst/gstreamer-sections.txt:
1711         * gst/gsttaglist.h:
1712           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1713
1714 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1715
1716         * gst/gstpadtemplate.c:
1717           (gst_pad_template_class_init), (gst_static_pad_template_get),
1718           (gst_pad_template_new), (gst_pad_template_pad_created),
1719           (gst_pad_template_set_property), (gst_pad_template_get_property):
1720           Add "name-template", "direction", "presence" and "caps" properties,
1721           so that gst_pad_template_new() is just a thin wrapper around
1722           g_object_new(), which is better for bindings. (Fixes: #539772)
1723
1724 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1725
1726         * gst/gsturi.c:
1727           Be more liberal in what URIs we accept.
1728           Do not unescape bits of the URI for no apparent reason before passing to
1729           the element. Fixes #545352.
1730
1731 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1732
1733         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1734
1735         * gst/gst.c:
1736         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1737
1738 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1739
1740         * configure.ac:
1741         * docs/gst/gstreamer-sections.txt:
1742         * docs/gst/gstreamer.types:
1743         * docs/gst/gstreamer.types.in:
1744         * gst/Makefile.am:
1745         * gst/gst.c:
1746         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1747         * gst/gstconfig.h.in:
1748         * gst/gstelement.c: (gst_element_get_index):
1749         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1750         (gst_registry_binary_load_feature),
1751         (gst_registry_binary_read_cache):
1752         * gst/gstregistryxml.c: (load_feature),
1753         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1754         * plugins/Makefile.am:
1755         * tools/gst-indent:
1756         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1757         (print_plugin_features), (print_element_features):
1758         * tools/gst-xmlinspect.c: (print_event_masks),
1759         (print_element_info):
1760         * win32/common/gstconfig.h:
1761         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1762
1763         Disabling the indexers and URI handler code will only reduce the
1764         required amount of memory by a very small amount but on the other hand
1765         requires much more maintaince work. Apart from that many places of
1766         code are broken when disabling them.
1767
1768         Disabling the enum types doesn't reduce the required amount of memory
1769         by more than a few bytes and makes it hard to fix bugs like #539772,
1770         i.e. use the enums as GObject properties.
1771
1772 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1773
1774         * docs/design/part-TODO.txt:
1775         Add some thoughts and problems with upstream renegotiation.
1776
1777 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1778
1779         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1780         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1781         Remove silly redundant debug.
1782         Add some more debug info.
1783         Clarify the docs regarding new caps received from pad_alloc.
1784
1785 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1786
1787         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1788         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1789         Make setting the caps more threadsafe.
1790
1791 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1792
1793         * docs/design/part-element-transform.txt:
1794         Update docs.
1795
1796 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1797
1798         * plugins/elements/gstqueue.c: (gst_queue_init),
1799         (gst_queue_acceptcaps):
1800         Add and use a custom acceptcaps function instead of falling back to the
1801         potentially less optimized default implementation.
1802
1803 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1804
1805         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1806           Only sanity-check the buffer size if requested_caps == buffer_caps
1807           (ie. don't take pad caps into account, they're not relevant here)
1808
1809 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1810
1811         * plugins/elements/gsttee.c:
1812         * plugins/elements/gsttee.h:
1813           Reverting as not everything is clear yet. Needs some general design
1814           work.
1815
1816 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1817
1818         * ChangeLog:
1819           ChangeLog surgery for tee commit.
1820
1821 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1822
1823         * docs/gst/gstreamer-sections.txt:
1824           Cleanup section-file.
1825
1826 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1827
1828         * plugins/elements/gsttee.c:
1829         * plugins/elements/gsttee.h:
1830           Relay tag events in tee. Fixes parts of #474016.
1831           Downgrades 3 reoccurring debugs to log.
1832
1833 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1834
1835         * configure.ac:
1836         * libs/gst/Makefile.am:
1837           Build the net library if we have winsock2.
1838
1839 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1840
1841         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1842
1843         * docs/manual/advanced-threads.xml:
1844         * docs/manual/diagrams-pipelines.svg:
1845         * docs/manual/hello-world.png:
1846         * docs/manual/linked-elements.png:
1847         * docs/manual/mime-world.png:
1848         * docs/manual/queue.png:
1849         * docs/manual/thread-buffering.png:
1850         * docs/manual/thread-synchronizing.png:
1851           Replace one diagram with two separate ones and updates others.
1852           Fixes #542401.
1853
1854 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1855
1856         * gst/gstelement.h:
1857         Fix link in documentation.
1858
1859 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1860
1861         * gst/gstmessage.c:
1862         Fix confusing documentation.
1863
1864 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1865
1866         * libs/gst/base/gstbasesrc.h:
1867         revert the changes to the header file for the ABI.
1868
1869 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1870
1871         * libs/gst/base/gstbasesrc.c:
1872         * libs/gst/base/gstbasesrc.h:
1873         Don't cache the seekable status.
1874         Fixes bug #544174
1875
1876 2008-07-24  Rene Stadler  <mail@renestadler.de>
1877
1878         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1879         code to close the pipeline graph.  This prevents the program from
1880         printing internal data flow errors.
1881
1882 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1883
1884         * docs/manual/basics-bus.xml:
1885         Correct typo. Fixes bug #544320.
1886
1887 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1888
1889         * configure.ac:
1890           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1891           Add check (taken from -base) for winsock, adds WIN32_LIBS
1892         * gst/Makefile.am:
1893           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1894           winsock.
1895           Define GST_EXPORTS when building libgstreamer (only used on win32)
1896         * gst/gst_private.h:
1897         * gst/gstinfo.h:
1898           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1899           for symbols that we need to export in both these files.
1900         * gst/gstpoll.c:
1901           Include gst_private.h higher up to avoid some compile problems on win32.
1902
1903 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1904
1905         * gst/gstvalue.c:
1906         Fix typos.
1907
1908 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1909
1910         * gst/gstcaps.c:
1911         Previous commit was wrong NULL caps does not exist
1912         and indicate an error, so also add a FIXME to
1913         gst_caps_is_equal where NULL caps are accepted.
1914
1915 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1916
1917         * gst/gstcaps.c:
1918         Allow passing of NULL to gst_caps_union
1919
1920 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1921
1922         * gst/gstghostpad.c:
1923         Add in doc that gst_ghost_pad_set_target can accept
1924         NULL to clear target
1925
1926 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1927
1928         * gst/gstplugin.c:
1929         * gst/gstregistry.c:
1930           GstRegistryPool doesn't exist; don't refer to it in docs.
1931           Don't refer to functions that don't exist in docs, it's
1932           unhelpful.
1933
1934 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1935
1936         * gst/gst.c:
1937         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1938
1939 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1940
1941         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1942
1943         * docs/pwg/building-testapp.xml:
1944         Don't use an undeclared variable in the example program.
1945         Fixes bug #542573.
1946
1947 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1948
1949         * gst/gstdebugutils.c:
1950           Squeeze ghost-pad links and remove <> from classname labels to save
1951           more horizontal space.
1952
1953 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1954
1955         * gst/gstdebugutils.c:
1956           Give request and sometimes pads a different shpe style. Condense the
1957           graphs a little more.
1958
1959 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1960
1961         * configure.ac:
1962           Don't require flex and bison if the parser is disabled.
1963
1964 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1965
1966         * libs/gst/controller/gstinterpolationcontrolsource.c:
1967         (_list_find_sorted_custom):
1968         Don't use declarations after statements.
1969
1970 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1971
1972         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1973         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1974         of the the child-added / -removed signals as GstChildProxy
1975         only supports GstObjects.
1976
1977 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1978
1979         * gst/gstdebugutils.c:
1980         Fix memleak
1981
1982 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1983
1984         Patch by: Alessandro Decina <alessandro at nnva dot org>
1985
1986         * gst/gstpoll.c:
1987         Fix "ignored return value" compiler warning with newer glibc.
1988
1989 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1990
1991         * gst/gstchildproxy.c:
1992         Fix copy&paste error in gst_child_proxy_removed() documentation.
1993
1994 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1995
1996         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1997           Print error debug message if plugin description fields that should
1998           be set are NULL.
1999
2000         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2001           Don't crash if the string to serialise is NULL (it really should
2002           not be, but apparently this used to work with the xml registry ...).
2003
2004 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2005
2006         * tools/gst-plot-timeline.py:
2007         Fix parsing of log messages
2008
2009 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2010
2011         * win32/common/libgstbase.def::
2012           Sort alphabetically so make check-exports doesn't barf.
2013
2014 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2015
2016         * gst/gstevent.c:
2017           Use gst_format_get_name() to improve debug output.
2018
2019         * gst/gstpreset.c:
2020           Remove #ifdef'ed code. Add TODO comment.
2021
2022         * gst/gstsegment.c:
2023           Add debug output to ease spotting format != segment.format assertions.
2024
2025 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2026
2027         * tests/check/libs/gdp.c: (gst_dp_suite):
2028         Also enable the GDP unit test again on PPC now that the bug
2029         is fixed.
2030
2031 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2032
2033         * libs/gst/dataprotocol/dataprotocol.c:
2034         Don't write to the same region of memory as a uint64 and uint16
2035         as this breaks strict aliasing rules and apparantly breaks on PPC
2036         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2037
2038 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2039
2040         * libs/gst/controller/gstinterpolationcontrolsource.c:
2041           Optimize list handling. Use own find function. Exploit that fact that
2042           the list is sorted. Also pass back the node before, so that we can
2043           insert quickly. Have a fast path for append.
2044
2045 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2046
2047         * docs/design/draft-framestep.txt:
2048         * docs/design/part-negotiation.txt:
2049           Fix two typos.
2050
2051 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2052
2053         * configure.ac:
2054           Show configuration sumary after configure run. Based on patch by
2055           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2056
2057 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2058
2059         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2060
2061         * docs/manual/advanced-autoplugging.xml:
2062         * docs/manual/advanced-threads.xml:
2063         * docs/manual/basics-bins.xml:
2064         * docs/manual/basics-elements.xml:
2065         * docs/manual/basics-helloworld.xml:
2066         * docs/manual/basics-pads.xml:
2067           Add scale factor for pdf output.
2068
2069         * docs/manual/intro-basics.xml:
2070           Switched sections "pads" and "bins" and added a pipeline diagram.
2071
2072         * docs/manual/intro-gstreamer.xml:
2073           Added more info on gstreamer.
2074
2075         * docs/manual/intro-motivation.xml:
2076           Commented out the whole section "current problem", which sounds
2077           historical and somehow osolete; it could be turned in a positive
2078           way and reused to improve the design principles.
2079
2080         * docs/manual/intro-preface.xml:
2081           - Update URLs to library.gnome.org. 
2082           - Do not mention GTK+ in preliminary reading (irrelevant). 
2083           - Mention Plugin Writer's Manual and further reading only in the
2084             previous section.
2085           - Added a list of most relevant GObject/glib topics.
2086
2087         * docs/manual/Makefile.am:
2088         * docs/manual/bin-element-ghost.fig:
2089         * docs/manual/bin-element-ghost.png:
2090         * docs/manual/bin-element-noghost.fig:
2091         * docs/manual/bin-element-noghost.png:
2092         * docs/manual/bin-element.fig:
2093         * docs/manual/bin-element.png:
2094         * docs/manual/filter-element-multi.fig:
2095         * docs/manual/filter-element-multi.png:
2096         * docs/manual/filter-element.fig:
2097         * docs/manual/filter-element.png:
2098         * docs/manual/gstreamer-overview.png:
2099         * docs/manual/hello-world.fig:
2100         * docs/manual/hello-world.png:
2101         * docs/manual/linked-elements.fig:
2102         * docs/manual/linked-elements.png:
2103         * docs/manual/mime-world.fig:
2104         * docs/manual/mime-world.png:
2105         * docs/manual/queue.fig:
2106         * docs/manual/queue.png:
2107         * docs/manual/simple-player.png:
2108         * docs/manual/sink-element.fig:
2109         * docs/manual/sink-element.png:
2110         * docs/manual/src-element.fig:
2111         * docs/manual/src-element.png:
2112         * docs/manual/diagrams-general.svg:
2113         * docs/manual/diagrams-pipelines.svg:
2114           Removed .fig, added .png counterpart.
2115           
2116           Fixes: #539137
2117
2118 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2119
2120         * plugins/elements/gstmultiqueue.c:
2121         * plugins/elements/gstmultiqueue.h:
2122         revert extra-size-buffers stuff, caused some race conditions
2123         and extra-size-buffers is not used anymore. Docs needs some updates
2124
2125 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2126
2127         * win32/common/config.h:
2128         * win32/common/gstenumtypes.c:
2129         * win32/common/gstenumtypes.h:
2130         * win32/common/gstversion.h:
2131           Update win32 files.
2132
2133 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2134
2135         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2136           (GST_DEBUG_BIN_TO_DOT_FILE):
2137           Add missing Since' markers to gtk-doc blurbs.
2138
2139 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2140
2141         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2142         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2143         (set_caps_1), (set_caps_ct1), (transform_ct1),
2144         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2145         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2146         (transform_size_ct2), (buffer_alloc_ct2):
2147         Add some more tests with switching caps in buffer_alloc.
2148
2149 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2150
2151         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2152         (gst_test_trans_class_init), (result_sink_chain),
2153         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2154         (gst_test_trans_push), (gst_test_trans_pop):
2155         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2156         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2157         (set_caps_1), (set_caps_ct1), (transform_ct1),
2158         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2159         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2160         (transform_size_ct2), (buffer_alloc_ct2),
2161         (gst_basetransform_suite):
2162         More tests, prepare for tests with switching caps in buffer_alloc.
2163
2164 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2165
2166         * plugins/elements/gstmultiqueue.c:
2167         * plugins/elements/gstmultiqueue.h:
2168         Fix dead-lock in underrun_cb
2169
2170 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2171
2172         * docs/design/part-states.txt:
2173         Fix device open/close docs.
2174
2175 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2176
2177         * ChangeLog:
2178           Mention bugnumber for last commit.
2179
2180 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2181
2182         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2183
2184         * docs/manual/manual.xml:
2185         - Reorganised the previous "introduction" bundle into Foreword,
2186         Introduction, and About GStreamer. The two first are <preface>
2187         docbook elements. The later is the first part of the book.
2188         - added intro-gstreamer.xml (content partially from
2189         intro-preface.xml)
2190         - moved appendix-win32.xml into appendix-integration.xml
2191
2192         * docs/manual/intro-preface.xml: gstreamer section moved...
2193         * docs/manual/intro-gstreamer.xml: ...here. new file.
2194
2195         * docs/manual/appendix-win32.xml: removed file. Content moved...
2196         * docs/manual/appendix-integration.xml: ...here.
2197         
2198         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2199         * docs/manual/appendix-checklist.xml: ...here.
2200         
2201         Fixes: 538764
2202
2203 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2204
2205         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2206
2207         * docs/manual/basics-helloworld.xml:
2208         * docs/manual/hello-world.fig:
2209           - Explicitely include glib.h.
2210           - Do not use global variables.
2211           - Use g_printerr() instead of g_print().
2212           - Minor formating/renaming to increase readibility.
2213           - Renamed new_pad() to on_pad_added()
2214           - Improved explenatory comments.
2215           - renamed ogg parser to ogg demuxer
2216           - Use "autoaudiosink" instead of "alsasink".
2217           Fixes: #538619
2218
2219 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2220
2221         * ChangeLog:
2222           Remove cvs conflict marker.
2223
2224 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2225
2226         * docs/README:
2227           Document that for plgin-docs we extraxt he short-desc from the element
2228           details.
2229
2230         * docs/design/part-states.txt:
2231           Tell that devices should be closed in PAUSED -> READY.
2232
2233         * docs/manual/README:
2234           Document how tests in the manual are handled.
2235
2236         * docs/manuals.mak:
2237           Typo in comment.
2238
2239 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2240
2241         * gst/gstbin.c: (bin_query_latency_fold):
2242         Only care about latency min and max when the sink is actually a live
2243         sink.
2244
2245 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2246
2247         * docs/design/part-block.txt:
2248         Fix typo.
2249
2250         * docs/design/part-element-transform.txt:
2251         Add notes about why transform needs to know input/output sizes.
2252         Add some issues that need to be solved.
2253         Add some more use cases.
2254
2255         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2256         (gst_test_trans_class_init), (result_sink_chain),
2257         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2258         (gst_test_trans_push), (gst_test_trans_pop):
2259         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2260         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2261         (set_caps_1), (set_caps_ct1), (transform_ct1),
2262         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2263         (gst_basetransform_suite):
2264         Add suport for different pad templates and buffer-alloc.
2265         Add more checks for caps and buffer-alloc.
2266         Add checks for proxy buffer alloc.
2267         Add unit test for copy transform.
2268
2269 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2270
2271         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2272
2273         * docs/manual/appendix-integration.xml:
2274         * docs/manual/appendix-licensing.xml:
2275         * docs/manual/basics-elements.xml:
2276         * docs/manual/basics-helloworld.xml:
2277         * docs/manual/basics-pads.xml:
2278         * docs/manual/highlevel-components.xml:
2279         * docs/manual/highlevel-xml.xml:
2280         * docs/manual/intro-basics.xml:
2281         * docs/manual/intro-preface.xml:
2282           Typo and formatting fixes (#538594).
2283
2284 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2285
2286         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2287         Fix some memory leaks and uses of object instances that we don't
2288         actually own.
2289
2290 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2291
2292         * plugins/elements/gstmultiqueue.c:
2293         Add functionality to extra-size-buffers property.
2294
2295 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2296
2297         * plugins/elements/gstmultiqueue.c:
2298         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2299         activate the pads if they are added in STATE_NULL.
2300
2301 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2302
2303         * docs/libs/gstreamer-libs-sections.txt:
2304         Add new API to doc
2305         * libs/gst/check/gstcheck.c:
2306         * libs/gst/check/gstcheck.h:
2307         API: gst_check_teardown_pad_by_name
2308
2309 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2310
2311         * libs/gst/check/gstcheck.c:
2312         * libs/gst/check/gstcheck.h:
2313         Also setup request pads and allow setup pads by name (#537812)
2314         API: gst_check_setup_src_pad_by_name
2315         API: gst_check_setup_sink_pad_by_name
2316
2317 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2318
2319         * tests/check/gst/gstbuffer.c:
2320         * tests/check/pipelines/parse-launch.c:
2321           Use HAVE_VALGRIND_H some more.
2322
2323 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2324
2325         * scripts/cvs-update.sh:
2326           Pass arguments to make.
2327           Run autoregen.sh if Makefile is not there.
2328
2329 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2330
2331         * configure.ac:
2332         * gst/gstinfo.c:
2333           Don't assume that <valgrind/valgrind.h> exists just because
2334           the binary is there.
2335
2336 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2337
2338         * tests/check/Makefile.am:
2339         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2340         (gst_test_trans_class_init), (gst_test_trans_init),
2341         (gst_test_trans_set_data), (result_sink_chain),
2342         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2343         (gst_test_trans_pop):
2344         * tests/check/libs/transform1.c: (GST_START_TEST),
2345         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2346         Add some test basetransform element and the beginnings of various
2347         unit tests for it.
2348
2349 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2350
2351         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2352         Increase code readability.
2353         Don't try to compare buffer offsets when ther are invalid.
2354
2355 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2356
2357         * docs/design/Makefile.am:
2358           Dist some more design docs.
2359
2360         * docs/random/moving-plugins:
2361           Small addition: good plugins mustn't have functional code
2362           within assertion macros.
2363
2364 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2365
2366         * docs/design/draft-framestep.txt:
2367         Some ideas about a framestep API
2368
2369         * docs/design/part-element-transform.txt:
2370         Start design and use cases for basetransform in order to get it
2371         fixed soon.
2372
2373 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2374
2375         * gst/gsttaglist.h:
2376           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2377           be in UTF-8 encoding.
2378
2379 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2380
2381         * gst/gstbus.c:
2382           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2383
2384 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2385
2386         * plugins/elements/gstcapsfilter.c:
2387         * plugins/elements/gstfakesink.c:
2388         * plugins/elements/gstfakesrc.c:
2389         * plugins/elements/gstfdsink.c:
2390         * plugins/elements/gstfdsrc.c:
2391         * plugins/elements/gstfilesink.c:
2392         * plugins/elements/gstfilesrc.c:
2393         * plugins/elements/gstidentity.c:
2394         * plugins/elements/gstmultiqueue.c:
2395         * plugins/elements/gstqueue.c:
2396         * plugins/elements/gsttee.c:
2397         * plugins/elements/gsttypefindelement.c:
2398           Remove short_description. Add basic docs for gsttypefindelement.
2399           Simplify markup for fakesrc/fdsrc.
2400
2401 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2402
2403         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2404         Added Since doc.
2405
2406 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2407
2408         Patch by: Joel Larsson <tilljoel at gmail dot com>
2409
2410         * docs/plugins/gstreamer-plugins.args:
2411         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2412         (gst_fd_src_init), (gst_fd_src_update_fd),
2413         (gst_fd_src_set_property), (gst_fd_src_get_property),
2414         (gst_fd_src_create):
2415         * plugins/elements/gstfdsrc.h:
2416         Add timeout property like udpsrc. Fixes #538628.
2417         Add some more docs and example pipelines.
2418
2419 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2420
2421         * docs/libs/gstreamer-libs-sections.txt:
2422         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2423         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2424         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2425         (gst_base_sink_do_sync):
2426         * libs/gst/base/gstbasesink.h:
2427         * win32/common/libgstbase.def:
2428         Add method to allow sinks to specify additional delay between the sync
2429         times and the actual rendering of the data.
2430         API: gst_base_sink_set_render_delay()
2431         API: gst_base_sink_get_render_delay()
2432
2433 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2434
2435         * configure.ac:
2436         Bump version number back to dev -> 0.10.20.1
2437
2438 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2439
2440         * docs/gst/gstreamer-sections.txt:
2441         * gst/gsttaglist.c: (_gst_tag_initialize):
2442         * gst/gsttaglist.h:
2443         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2444         Fixes bug #538568.
2445
2446 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2447
2448         * libs/gst/controller/gstcontroller.c:
2449           Revert one change, that make ret value possible uninitialized.
2450
2451 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2452
2453         * libs/gst/controller/gstcontroller.c:
2454           Use freeze/thaw notify to sync notify emission a bit (its also more
2455           efficient). Move debug output to LOG (is called a lot in a loop).
2456           Always unset g_values if the have been initialized.
2457
2458 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2459
2460         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2461         (gst_base_sink_wait_eos), (gst_base_sink_event):
2462         If we have not seen a buffer before EOS, use the segment values to
2463         report the current position instead of invalid positions.
2464
2465 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2466
2467         * docs/plugins/tmpl/.cvsignore:
2468         * tests/check/gst/.cvsignore:
2469           Ignore more.
2470
2471 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2472
2473         * libs/gst/controller/gstinterpolation.c:
2474         * libs/gst/controller/gstinterpolationcontrolsource.c:
2475         * tests/check/libs/controller.c:
2476           Rewrite handling of default values. Fix overflow with unsigned types
2477           in linear interpolation. Remove now obsolete _first_value() function.
2478           Add more tests. Fixes #538201.
2479
2480 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2481
2482         * libs/gst/base/gstbasetransform.c:
2483         (gst_base_transform_class_init), (gst_base_transform_init),
2484         (gst_base_transform_transform_caps),
2485         (gst_base_transform_prepare_output_buffer):
2486         Add debug info.
2487         When a buffer is writable, its metadata is also writable so we don't
2488         need to subbuffer (which then makes the buffer not-writable anymore).
2489
2490 === release 0.10.20 ===
2491
2492 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2493
2494         * configure.ac:
2495           releasing 0.10.20, "You Crazy Diamond"
2496
2497 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2498
2499         * configure.ac:
2500         0.10.19.3 pre-release
2501
2502 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2503
2504         * configure.ac:
2505         * gst/gstpreset.c:
2506         Rename DATADIR to GST_DATADIR to avoid build problems
2507         on win32. Patch By: David Schleef <ds@schleef.org>
2508         Fixes: #536857
2509
2510 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2511
2512         * configure.ac:
2513         Explicitely link with -ldl if dladdr() is found there. Before it was
2514         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2515         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2516
2517 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2518
2519         * gst/gsterror.c: (_gst_stream_errors_init):
2520           Fix typo (spotted by Fabricio Godoy, #536723).
2521
2522 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2523
2524         * configure.ac:
2525         0.10.19.2 pre-release
2526
2527 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2528
2529         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2530         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2531         Add some debug.
2532         Make sure we don't generate invalid QoS messages.
2533
2534 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2535
2536         * gst/gstevent.c: (gst_event_new_qos):
2537         Add some assert and docs for invalid input to the qos function.
2538
2539 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2540
2541         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2542         (gst_base_sink_get_position):
2543         The reported position must always be smaller than the last seen
2544         timestamps (or timestamp + duration for reverse).
2545
2546 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2547
2548         Patch by: Rob Bradford <rob at robster dot org dot uk>
2549
2550         * gst/gstregistry.c: (gst_registry_scan_path_level):
2551         Don't recurse into .debug directories as some distros install
2552         the debugging symbols next to the plugins in .debug directories
2553         and dlopen() crashes on them sometimes. Fixes bug #508070.
2554
2555         Add FIXME for 0.11 to not recurse into directories at all because
2556         it's very inconsistent to the behaviour of other PATH environment
2557         variables.
2558
2559 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2560
2561         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2562         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2563         Fix position query range checks in reverse playback.
2564
2565 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2566
2567         * gst/gstelement.c:
2568         * gst/gstelement.h:
2569         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2570         clear of the reference to the resulting pad must be released later
2571         or not, resulting in possible leaks. Fixes bug #533865.
2572
2573 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2574
2575         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2576
2577         * gst/gstelementfactory.c:
2578         Small doc fix. Fixes #535285.
2579
2580 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2581
2582         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2583
2584         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2585         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2586         (gst_base_src_loop), (gst_base_src_set_flushing),
2587         (gst_base_src_change_state):
2588         Make sending an EOS event to the basesrc non-blocking even if the
2589         implementation does blocking waits in the create function. This is done
2590         by unlocking the create function when EOS is sent.
2591         Fixes #535218.
2592
2593 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2594
2595         * tools/gst-inspect.c: (print_element_properties_info):
2596         If possible print the element type of GValueArray properties.
2597
2598 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2599
2600         * gst/gstiterator.c:
2601         Remove an unused field from the private GstListIterator struct.
2602
2603 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2604
2605         * libs/gst/controller/gstcontroller.c:
2606           Add parameter guards.
2607
2608 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2609
2610         * tests/check/gst/gstpipeline.c:
2611           Revert test change and add comment why it should not work.
2612
2613 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2614
2615         * tests/check/gst/gstpipeline.c:
2616           Extending the test a little to verify that we also get the NULL state-
2617           change message.
2618
2619 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2620
2621         * gst/gstpreset.c: (gst_preset_default_get_meta),
2622           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2623           (gst_preset_load_preset), (gst_preset_save_preset),
2624           (gst_preset_rename_preset), (gst_preset_delete_preset),
2625           (gst_preset_set_meta):
2626           Add Since: markers to docs blurbs.
2627
2628         * win32/common/libgstreamer.def:
2629           Add recently-added API.
2630
2631 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2632
2633         Patch by: Stefan Kost  <ensonic@users.sf.net>
2634
2635         * configure.ac:
2636         Add DATADIR for storing presets.
2637
2638         * docs/gst/gstreamer-docs.sgml:
2639         * docs/gst/gstreamer-sections.txt:
2640         * docs/gst/gstreamer.types.in:
2641         Add GstPreset to docs.
2642
2643         * gst/Makefile.am:
2644         * gst/gst.h:
2645         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2646         (preset_open_and_parse_header), (preset_parse_version),
2647         (preset_merge), (preset_get_keyfile),
2648         (gst_preset_default_get_preset_names),
2649         (gst_preset_default_get_property_names),
2650         (gst_preset_default_load_preset),
2651         (gst_preset_default_save_presets_file),
2652         (gst_preset_default_save_preset),
2653         (gst_preset_default_rename_preset),
2654         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2655         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2656         (gst_preset_default_reset), (gst_preset_get_preset_names),
2657         (gst_preset_get_property_names), (gst_preset_load_preset),
2658         (gst_preset_save_preset), (gst_preset_rename_preset),
2659         (gst_preset_delete_preset), (gst_preset_set_meta),
2660         (gst_preset_get_meta), (gst_preset_class_init),
2661         (gst_preset_base_init), (gst_preset_get_type):
2662         * gst/gstpreset.h:
2663         Add GstPreset to core. Fixes #396779
2664
2665         * tests/check/Makefile.am:
2666         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2667         (gst_preset_test_set_property), (gst_preset_test_class_init),
2668         (gst_preset_test_base_init), (gst_preset_test_get_type),
2669         (gst_preset_test_plugin_init), (GST_START_TEST),
2670         (remove_preset_file), (test_setup), (test_teardown),
2671         (gst_preset_suite):
2672         Add GstPreset unit tests.
2673
2674 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2675
2676         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2677         The default event function on a sinkpad should return TRUE when
2678         there are no internal links but should collect the return values from
2679         the internal links otherwise.
2680
2681 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2682
2683         * plugins/elements/gsttypefindelement.c:
2684         (gst_type_find_element_src_event),
2685         (gst_type_find_element_handle_event):
2686         Use faster and safer _pad_push_event().
2687
2688 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2689
2690         * docs/gst/gstreamer-sections.txt:
2691         * gst/gstutils.c: (element_find_unlinked_pad),
2692           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2693         * gst/gstutils.h:
2694           API: add gst_bin_find_unlinked_pad()
2695           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2696
2697 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2698
2699         * gst/gstclock.c:
2700         * gst/gstclock.h:
2701         * gst/gsttask.c:
2702         * gst/gsttask.h:
2703         Fixed a bunch of typos.
2704
2705 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2706
2707         * gst/gstpad.h:
2708         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2709           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2710           (gst_parse_bin_from_description_full):
2711         * gst/gstutils.h:
2712           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2713
2714 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2715
2716         * docs/pwg/advanced-tagging.xml:
2717           Small docs update, can't be bothered to rewrite the nonsensical
2718           examples right now.
2719
2720 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2721
2722         * gst/gstevent.h:
2723           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2724
2725 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2726
2727         * gst/parse/grammar.y:
2728           Remove unneeded casts.
2729
2730 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2731
2732         * gst/parse/grammar.y:
2733         * tests/check/pipelines/parse-launch.c:
2734           Get all missing elements from a parse launch string if possible
2735           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2736
2737 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2738
2739         * tests/check/Makefile.am:
2740         * tests/check/pipelines/parse-launch.c:
2741           Add some unit tests for the new gst_parse_launch*_full() API.
2742           (Exposes a previously-existing memory leak in the error code
2743           path, so adding to VALGRIND_TO_FIX for now).
2744
2745 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2746
2747         * docs/gst/gstreamer-sections.txt:
2748         * gst/gst.c: (init_post):
2749         * gst/gst_private.h: (_GstParseContext):
2750         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2751           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2752           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2753           (gst_parse_launch_full):
2754         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2755           (GstParseFlags), (GstParseContext):
2756         * gst/gstutils.c: (gst_parse_bin_from_description),
2757           (gst_parse_bin_from_description_full):
2758         * gst/gstutils.h:
2759         * gst/parse/grammar.y:
2760         * gst/parse/types.h:
2761         * win32/common/libgstreamer.def:
2762           Add new gst_parse_*_full API (#528178):
2763           API: gst_parse_launch_full()
2764           API: gst_parse_launchv_full()
2765           API: gst_parse_bin_from_description_full()
2766           API: gst_parse_context_new()
2767           API: gst_parse_context_free()
2768           API: gst_parse_context_get_missing_elements()
2769
2770 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2771
2772         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2773
2774         * docs/faq/gst-uninstalled:
2775           Also support ffmpeg in gst-uninstalled.
2776
2777 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2778
2779         * configure.ac:
2780         After discussion on IRC use the binary registry as default
2781         but allow to disable it with --disable-binary-registry.
2782
2783         * win32/common/libgstreamer.def:
2784         Add the two new symbols for the binary registry.
2785
2786 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2787
2788         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2789         * gst/gstutils.c: (gst_parse_bin_from_description):
2790         * gst/parse/grammar.y: (graph):
2791           More guards against bad input; typo fix; some minor clean-ups.
2792
2793 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2794
2795         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2796
2797         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2798         If nothing else can be used, use the last buffer's start time as
2799         the segment's last stop. Fixes bug #534258.
2800
2801 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2802
2803         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2804           Move size sanity check to the right place: downstream may return
2805           a buffer with a smaller size if the buffer caps are different than
2806           the requested ones, as may happen when doing reverse negotiation.
2807
2808 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2809
2810         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2811         (gst_file_sink_render):
2812         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2813         (gst_file_src_start):
2814         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2815         use it yet.
2816
2817 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2818
2819         * gst/gstpad.c: (gst_pad_load_and_link):
2820         * gst/gstutils.c: (gst_element_link_pads),
2821         (gst_element_unlink_pads):
2822         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2823         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2824         (gst_check_teardown_sink_pad),
2825         (gst_check_element_push_buffer_list):
2826         * tests/check/elements/fakesink.c: (GST_START_TEST):
2827         * tests/check/elements/filesink.c:
2828         * tests/check/elements/filesrc.c: (GST_START_TEST):
2829         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2830         (mq_sinkpad_to_srcpad):
2831         * tests/check/elements/tee.c: (GST_START_TEST):
2832         * tests/check/generic/sinks.c: (GST_START_TEST):
2833         * tests/check/gst/gstbin.c: (GST_START_TEST):
2834         * tests/check/gst/gstevent.c: (GST_START_TEST):
2835         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2836         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2837         * tests/check/gst/gstquery.c: (GST_START_TEST):
2838         * tests/check/gst/gstutils.c: (GST_START_TEST):
2839         * tests/check/libs/basesrc.c: (GST_START_TEST):
2840         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2841         (gst_parse_test_element_change_state):
2842         Don't use gst_element_get_pad().
2843
2844 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2845
2846         * docs/Makefile.am:
2847         Fix installing plugin documentation when gtk-doc is disabled.
2848
2849 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2850
2851         * docs/manual/advanced-autoplugging.xml:
2852         * docs/manual/basics-helloworld.xml:
2853         * docs/manual/basics-pads.xml:
2854         * docs/manual/highlevel-components.xml:
2855         Avoid using a bad function in the example code.
2856
2857 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2858
2859         * gst/gstclock.c: (gst_clock_set_calibration):
2860         Fix debug of the new clock rate.
2861
2862 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2863
2864         * win32/common/libgstbase.def:
2865         Add gst_base_sink_wait_clock() to the exported symbols.
2866
2867 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2868
2869         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2870
2871         * libs/gst/base/gstbasetransform.c:
2872         (gst_base_transform_sink_event):
2873         Unref events that the GstBaseTransform::event vfunc didn't want to
2874         have forwarded by the base class. Closes a leak in identity.
2875         Fixes bug #446763.
2876
2877 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2878
2879         * docs/libs/gstreamer-libs-sections.txt:
2880         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2881         * libs/gst/base/gstbasesink.h:
2882         Expose a method that was previously used internally to synchronize
2883         against the clock because it can be useful for subclasses too.
2884         API: GstBaseSink::gst_base_sink_wait_clock()
2885
2886 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2887
2888         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2889           Add sanity check to make sure we don't get smaller buffers
2890           than requested (and fallback to normal buffer alloc if we do).
2891
2892 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2893
2894         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2895         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2896         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2897         Refactor adjusting the running_time with latency and offset into a
2898         separate method.
2899         When doing clipping, we still want to use the subclass get_times method,
2900         just in case the DURATION or TIMESTAMP are not set.
2901
2902 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2903
2904         * docs/gst/gstreamer-sections.txt:
2905         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2906         * gst/gsttypefind.h:
2907         * win32/common/libgstreamer.def:
2908           API: add gst_type_find_suggest_simple(), #533740.
2909
2910 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2911
2912         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2913           Use right error code when typefinding fails, so we can use
2914           the default (translated) error messages.
2915
2916 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2917
2918         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2919         (gst_base_src_start):
2920         When the subclass did not set caps on outgoing buffers, configure the
2921         caps we negotiated on the source pad.
2922         When the typefind helper does not find caps, error out properly instead
2923         of doing things with NULL caps.
2924
2925 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2926
2927         * gst/gsttypefind.h:
2928           Tabs to spaces, oh yes!
2929
2930 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2931
2932         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2933           Add David's and Benjamin's tests for array intersection to the
2934           unit test suite (#147931).
2935
2936 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2937
2938         * gst/gstevent.c:
2939           Document that gst_event_new_tag() and gst_event_new_navigation()
2940           take ownership of the taglist/structure passed to them. (#533635).
2941
2942 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2943
2944         * docs/Makefile.am:
2945         Don't descend into the plugins dir if plugin docs building
2946         is disabled.
2947
2948         * docs/README:
2949         Add a note about the new type:GTypeName syntax for the plugin
2950         documentation .types file.
2951
2952 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2953
2954         * gst/gstmessage.c: (gst_message_new_error),
2955         (gst_message_new_warning), (gst_message_new_info):
2956         * gst/gstmessage.h:
2957         Mark the debug string parameters as const. Fixes bug #533490.
2958
2959 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2960
2961         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2962         Sort buffer cache list by end offsets. This makes sure that we don't
2963         stop to search for a cached buffer that contains the requested data
2964         too early.
2965         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2966         more efficient. Fixes bug #459862.
2967
2968 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2969
2970         * gst/gstinfo.c:
2971           Explain why we copy the list.
2972
2973         * gst/gstpipeline.c:
2974           Improve docs.
2975
2976         * gst/gstutils.c:
2977           Add one debug-log statement to help tracing probelms with linking pads.
2978
2979 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2980
2981         * tests/check/gst/gstinfo.c:
2982         Add a test for removing the default log handler. Seems to fail under
2983         windows.
2984
2985 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2986
2987         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2988         Release pad lock before calling out to avoid a possible deadlock.
2989
2990 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2991
2992         * gst/parse/grammar.y:
2993         Remove unneeded value unset.
2994
2995         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2996         Add unit test for de/serialization of caps.
2997
2998 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2999
3000         * plugins/elements/gstfakesink.c:
3001         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3002         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3003         (gst_fake_src_class_init):
3004         Use custom marshalers that take GstMiniObject as first parameter.
3005         Using OBJECT as parameter while a GstMiniObject is given will lead
3006         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3007
3008 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3009
3010         * plugins/elements/gsttypefindelement.c:
3011         (gst_type_find_element_handle_event),
3012         (gst_type_find_element_send_cached_events),
3013         (gst_type_find_element_change_state):
3014         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3015         immediately.
3016
3017 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3018
3019         * plugins/elements/gsttypefindelement.c:
3020         (gst_type_find_handle_src_query), (stop_typefinding),
3021         (gst_type_find_element_handle_event),
3022         (gst_type_find_element_send_cached_events),
3023         (gst_type_find_element_change_state):
3024         Forward FLUSH_START events immediately and clean up instead of
3025         caching them.
3026
3027 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3028
3029         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3030
3031         * libs/gst/base/gstbasetransform.c:
3032         (gst_base_transform_buffer_alloc):
3033         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3034         fall back to default negotiation in the chain function if the caps
3035         are different from what was requested. Fixes bug #526768.
3036
3037 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3038
3039         * gst/gstsegment.c:
3040         * tests/check/gst/gstsegment.c:
3041           No, let's not use g_slice_{dup|copy} here, since they only exist
3042           since GLib 2.14 and we still depend only on >= 2.12. Also add
3043           unit test for gst_segment_copy().
3044
3045 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3046
3047         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3048           Try to fix 'dereferencing type-punned pointer will break strict
3049           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3050           changed the default GType typedef from gulong to gsize at some point,
3051           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3052           g_once_* functions all take a gsize * though, so work around the type
3053           mismatch for C++ by doing everything in gsize and casting to GType
3054           later.
3055
3056 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3057
3058         * plugins/elements/gstmultiqueue.c:
3059         Add documentation for the signals to push our core plugin docs
3060         coverage back up to 100%.
3061
3062 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3063
3064         * gst/gstinfo.h (GST_FUNCTION):
3065           Reverted GST_FUNCTION to the old version as we don't want the
3066           full signature in C++ code. Also added support for MSVC.
3067
3068 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3069
3070         * gst/gstutils.h:
3071         Intern the type name string, similar to what G_DEFINE_TYPE does.
3072
3073 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3074
3075         * gst/gstutils.h:
3076         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3077
3078 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3079
3080         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3081
3082         * libs/gst/base/gstbasetransform.c:
3083         (gst_base_transform_buffer_alloc):
3084         Don't passthrough buffer allocation too easily if the caps change.
3085         This breaks when working in passthrough mode and upstream changes
3086         it's caps. Fixes bug #526768.
3087
3088 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3089
3090         * gst/gstinfo.c (gst_debug_log_valist):
3091           Improved the __FILE__ part of debug output for MSVC.
3092
3093 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3094
3095         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3096           Declaration after statement fix for compilers like MSVC.
3097
3098 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3099
3100         * win32/common/config.h.in:
3101           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3102           use the real thing than having "???" unconditionally.
3103
3104 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3105
3106         * gst/gstinfo.h (GST_FUNCTION):
3107           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3108
3109 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3110
3111         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3112         Small code cleanup.
3113
3114         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3115         (gst_base_sink_set_flushing):
3116         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3117         Fix some comments.
3118
3119 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3120
3121         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3122         (gst_fake_src_init), (gst_fake_src_set_property),
3123         (gst_fake_src_get_property), (gst_fake_src_start):
3124         * plugins/elements/gstfakesrc.h:
3125         Added format property to control the format of the newsegment events.
3126         API: GstFakeSrc:format
3127
3128 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3129
3130         * win32/common/libgstreamer.def:
3131         Add gst_pad_has_name() to the exported symbols.
3132
3133 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3134
3135         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3136         * libs/gst/base/gstbasetransform.c:
3137         (gst_base_transform_prepare_output_buffer):
3138         Don't allow negative sizes when allocating new buffers.
3139         Fixes bug #461253.
3140
3141 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3142
3143         Patch by: Sjoerd Simons <sjoerd at luon net>
3144
3145         * gst/gstbus.c: (gst_bus_source_dispatch):
3146           Don't print a warning if the queue is empty when we try to pop
3147           here. That could happen if another thread or callback set the
3148           bus to flushing between the source's check/prepare and the
3149           dispatch being called (#531538).
3150
3151 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3152
3153         * plugins/elements/gstmultiqueue.c:
3154           Small docs fix.
3155         
3156 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3157
3158         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3159         Add unit test for deserializing uint64s and check some really large
3160         numbers in the int64 test.
3161
3162 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3163
3164         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3165         (print_interfaces), (print_element_properties_info),
3166         (print_signal_info):
3167         Use "%s" as format string instead of printing strings directly.
3168
3169 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3170
3171         * gst/gstclock.c: (gst_clock_set_calibration):
3172         Make some checks actually useful.
3173
3174         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3175         Remove some unused code. Unsigned integers tend to be >= 0.
3176
3177 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3178
3179         * gst/gstminiobject.c: (gst_value_get_mini_object):
3180           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3181           function was not in the unscheduled 0.10.19 release.
3182
3183 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3184
3185         * gst/gstregistry.c: (gst_registry_scan_path_level):
3186           Only print one log message per non-plugin file.
3187
3188 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3189
3190         * gst/gstinfo.c: (gst_debug_log_default):
3191           Fix alignment of debug log columns on 64-bit.
3192
3193 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3194
3195         * docs/libs/Makefile.am:
3196         * docs/libs/gstreamer-libs-sections.txt:
3197           Ignore private controller headers for docs.
3198
3199 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3200
3201         * libs/gst/controller/gstcontrollerprivate.h:
3202         * libs/gst/controller/gsthelper.c:
3203         * libs/gst/controller/gstinterpolation.c:
3204         * libs/gst/controller/gstinterpolationcontrolsource.c:
3205         (gst_interpolation_control_source_set_interpolation_mode):
3206         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3207         * libs/gst/controller/lib.c:
3208         Move some private declarations into private headers.
3209
3210 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3211
3212         * gst/gstdebugutils.c: (debug_dump_element_pad):
3213         Remove some code that is unused after Stefan's refactoring and uses
3214         uninitialized variables now, resulting in a compiler warning.
3215
3216 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3217
3218         * gst/gstregistry.c: (gst_registry_scan_path_level):
3219           Run g_str_has_suffix() only on the file name, not the
3220           entire file path.
3221
3222 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3223
3224         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3225           Since we're not called only from the chain function any longer,
3226           we can't assume that there's always data in the queue, so move
3227           the is_full check to the beginning of the loop (otherwise we'd
3228           hit the assert when changing the limit properties while the
3229           queue is empty or not running yet).
3230           Also, only set a discont if items were actually removed from
3231           the queue.
3232
3233         * tests/check/elements/queue.c: (test_leaky_downstream):
3234           Test case for the above.
3235
3236 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3237
3238         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3239
3240         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3241         (gst_queue_chain), (queue_capacity_change),
3242         (gst_queue_set_property):
3243         When changing thr max capacity of a leaky queue, immediatly drop buffers
3244         instead of waiting for a push on the sinkpad. Fixes #530637.
3245
3246 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3247
3248         * gst/gstdebugutils.c:
3249           Refactor code and fix handling of ghostpads and their proxypads.
3250
3251 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3252
3253         * docs/gst/gstreamer-sections.txt:
3254         * gst/gstevent.c: (gst_event_has_name):
3255         * gst/gstevent.h:
3256         * tests/check/gst/gstevent.c: (GST_START_TEST):
3257         Add method to conveniently check the name of a custom event with
3258         gst_event_has_name().
3259         Reformat the event docs so that related methods are put together instead
3260         of the default alphabetical sort.
3261         Update unit test with new method.
3262         API: GstEvent::gst_event_has_name()
3263
3264 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3265
3266         * libs/gst/check/Makefile.am:
3267           Don't add an explicit link to libgstreamer-0.10.la; it's already
3268           included in GST_OBJ_LIBS.
3269
3270 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3271
3272         * gst/gst.c:
3273         Register GstClock type from a type-safe context. Fixes bug #530317.
3274
3275 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3276
3277         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3278         * tools/gst-run.c:
3279           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3280
3281 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3282
3283         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3284         (gst_bin_dispose):
3285         Use the GLib stuff to create a private structure.
3286         Add some locking around some dispose methods to make them a little
3287         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3288
3289 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3290
3291         * libs/gst/base/gstbasesink.h:
3292         * libs/gst/base/gstbasesrc.h:
3293         * libs/gst/base/gstbasetransform.h:
3294         * libs/gst/base/gstcollectpads.h:
3295           Fix doc typos and unify caps a bit.
3296
3297 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3298
3299         * tools/gst-launch.1.in:
3300           Forgot to also add the envvar docs here.
3301
3302 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * gst/gst.c: (init_post), (gst_deinit):
3305         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3306           (test_concurrent_create), (gst_pipeline_suite):
3307           Ref some more classes in gst_init() to work around thread-safety
3308           issues in pre-2.16 GLibs, and add basic unit test.
3309
3310 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3311
3312         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3313         (gst_base_sink_send_event):
3314         Rearrange the latency query code. We always want to do the upstream
3315         query, even if we are not live so that the upstream elements can get the
3316         latency results too. If we fail doing the query and we are live, we
3317         return TRUE afterwards.
3318
3319 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3320
3321         patch by: Jason Zhao <e3423c@motorola.com>
3322
3323         * docs/gst/running.xml:
3324         * gst/gst.c:
3325           Enable/disable scan_and_update_registry() based on commandline switch
3326           or environment variable. Fixes #520468.
3327           
3328         * ChangeLog:
3329           Fix typo in my previous commit.
3330
3331 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3332
3333         * gst/gstregistrybinary.c:
3334           Add a warning if we hit unhandled factories when saving.
3335           More debug logging detail, but move to LOG category.
3336
3337 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3338
3339         * gst/gstregistry.c:
3340           Tell the *truth* when improving the documentation.
3341
3342 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3343
3344         * gst/gstelementfactory.c: (gst_element_factory_make):
3345         Unref the factory after it was used the last time, not before.
3346
3347         * gst/gstindexfactory.c: (gst_index_factory_make):
3348         Improve debugging a bit and don't leak a ref to the index factory with
3349         each call.
3350
3351 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3352
3353         * gst/gstregistry.c:
3354           Improve the documentation.
3355
3356 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3357
3358         * gst/gstsegment.c:
3359           The glib macro seems to be borked. Use g_slice_copy directly and cast
3360           in the hope that this fixes the warning on 64bit.
3361
3362 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3363
3364         * gst/gstsegment.c:
3365           Document the new function. Use g_slice_dup() (no need for
3366           gst_segment_init()).    
3367
3368 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3369
3370         * docs/gst/gstreamer-sections.txt:
3371           Move GParamSepc macros to standart section.
3372   
3373         * gst/gstbin.c:
3374           Dn't document _get_type - its in private section in docs anyway and
3375           this doc-blob was incomplete.
3376
3377         * gst/gstclock.h:
3378           Fix wrong symbol names in docs.
3379
3380         * gst/gstmacros.h:
3381           Add once doc sentence.
3382
3383         * tests/check/gst/.cvsignore:
3384           Ignore more.
3385
3386 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3387
3388         * docs/gst/Makefile.am:
3389           And remove those libs here.
3390
3391 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3392
3393         * docs/libs/Makefile.am:
3394           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3395
3396 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3397
3398         Patch by: Olivier Crete <tester at tester dot ca>
3399
3400         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3401         Add the min-threshold to the min latency if possible. Fixes #529148.
3402
3403 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3404
3405         * docs/gst/gstreamer.types.in:
3406           Stupid editor, I removed that line as it should go in yet.
3407
3408 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3409
3410         * docs/gst/gstreamer.types.in:
3411         * docs/libs/gstreamer-libs.types:
3412           Remove library types fro core docs and have them in libs docs.
3413           Reformat and cleanup. Add comment for miniobject types.
3414
3415 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3416
3417         * gst/gsturi.c: (gst_uri_get_protocol):
3418           Fix leak: g_strdown operates on the string in place, while
3419           g_ascii_strdown() returns a newly-allocated string.
3420
3421 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3422
3423         * tools/gst-inspect.c: (print_uri_handler_info),
3424         (print_element_info):
3425         Print the URI protocols and the URI type supported by the element.
3426
3427 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3428
3429         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3430         Use g_value_take_string() instead of the deprecated
3431         g_value_set_string_take_ownership().
3432
3433 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3434
3435         * gst/gstregistrybinary.c: (_gst_crc32):
3436         Return the old CRC instead of 0 if we give a NULL buffer
3437         or a buffer with a length of 0.
3438
3439 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3440
3441         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3442         (gst_uri_get_protocol), (gst_uri_has_protocol),
3443         (gst_uri_construct), (gst_uri_handler_set_uri):
3444         A valid URI scheme can also include '+', '-' and '.' additional
3445         to alphanumeric characters as per RFC 3986 Section 3.1.
3446
3447         Handle URI schemes case insensitive in all places and convert
3448         to lower-case when constructing an URI or setting an URI with
3449         the GstURIHandler interface. Fixes bug #528868.
3450         All elements can still assume (as before) that they will
3451         get passed URIs with a lower-case URI scheme by the GstURIHandler
3452         interface.
3453
3454 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3455
3456         * gst/gstcaps.c: (gst_static_caps_get):
3457         * gst/gstclock.c: (gst_clock_entry_new):
3458           Don't use g_atomic_set_int where it's not needed.
3459
3460 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3461
3462         * gst/gstvalue.c: (gst_value_deserialize_caps):
3463         * gst/parse/grammar.y:
3464         Fix 2 caps leaks.
3465
3466 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3467
3468         * gst/gstutils.c: (gst_atomic_int_set):
3469         Use g_atomic_int_set() here too instead of assignment +
3470         g_atomic_int_get().
3471
3472 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3473         
3474         * gst/gstutils.c:
3475         * gst/gstutils.h:
3476         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3477         now that we depend on new enough GLib.
3478
3479         * gst/gstcaps.c: (gst_static_caps_get):
3480         * gst/gstclock.c: (gst_clock_entry_new):
3481         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3482         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3483         (gst_debug_category_set_threshold):
3484         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3485         (gst_base_sink_set_qos_enabled):
3486         * libs/gst/net/gstnettimeprovider.c:
3487         (gst_net_time_provider_set_property):
3488         Use g_atomic_int_set() instead of gst_atomic_int_set().
3489
3490 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3491
3492         * gst/gstquery.c:
3493           Also use G_GINT64_CONSTANT for the queries.
3494
3495 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3496
3497         * gst/gstmessage.c:
3498           Use G_GINT64_CONSTANT in varargs function.
3499
3500 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3501
3502         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3503         Initialize the registry magic with zeroes.
3504
3505 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3506
3507         * gst/gstregistrybinary.c: (_gst_crc32),
3508         (gst_registry_binary_write),
3509         (gst_registry_binary_initialize_magic),
3510         (gst_registry_binary_write_cache),
3511         (gst_registry_binary_check_magic),
3512         (gst_registry_binary_read_cache):
3513         * gst/gstregistrybinary.h:
3514         Add crc32 checksum to the binary registry file and check this before
3515         accepting a registry file.
3516
3517         Also free the data list when writing to the registry file fails.
3518
3519 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3520
3521         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3522         (gst_registry_binary_load_feature),
3523         (gst_registry_binary_load_plugin):
3524         If an element supports the Uri interface, returns a valid pointer
3525         to the supported URI protocols but this pointer contains nothing
3526         don't try to save that as it will corrupt the registry.
3527
3528         Don't unref the plugin if we added it to the registry already but
3529         fail to load a feature as gst_registry_add_plugin() takes ownership
3530         of the plugin.
3531
3532         Improve debugging a bit.
3533
3534 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3535
3536         * gst/gsttaglist.h:
3537           Clarify some tag item docs after discussion on irc.
3538
3539 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3540
3541         * docs/gst/gstreamer-docs.sgml:
3542           Remove commented out plugins (they have their own docs). Update
3543           comments.
3544
3545 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3546
3547         * docs/gst/gstreamer-docs.sgml:
3548         * docs/gst/gstreamer-sections.txt:
3549         * gst/gstparamspecs.c:
3550         * gst/gstparamspecs.h:
3551           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3552           docs to own section.
3553
3554         * gst/gstvalue.c:
3555           This now only documents GValue.
3556           
3557         * docs/libs/gstreamer-libs-sections.txt:
3558         * libs/gst/controller/gstcontroller.h:
3559           Remove GST_PARAM_CONTROLLABLE.
3560
3561 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3562
3563         * docs/README:
3564           Correct file path. Tell about how to use -overrides.txt.
3565         * docs/design/draft-tagreading.txt:
3566           Small design update.
3567
3568 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3569
3570         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3571         (gst_registry_binary_load_plugin):
3572         Fix a typo in a debug message and revert change from yesterday as
3573         gst_registry_add_plugin() will only fail if something is really wrong
3574         already and we can't survive it anyway.
3575
3576 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3577
3578         * gst/gst.c: (init_post), (gst_deinit):
3579           Pre-register GstGError GType from a thread-safe context
3580           (fixes #527967); unref enum type classes in deinit.
3581
3582 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3583
3584         Patch by: Rene Stadler <mail at renestadler de>
3585
3586         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3587           Merging an empty list with another list in KEEP_ALL mode should
3588           yield an empty list as result and not the second list (#512578).
3589
3590         * tests/check/gst/gsttagsetter.c:
3591           Add unit test for tag merge modes and the aforementioned bug.
3592
3593 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3594
3595         Patch by: Rene Stadler <mail at renestadler de>
3596
3597         * gst/gsttaglist.h:
3598           Fix description to match the order in the table (#512577).
3599   
3600 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3601
3602         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3603
3604         * libs/gst/net/gstnettimepacket.h:
3605         * docs/libs/gstreamer-libs-sections.txt:
3606           Define socklen_t as int if it's not defined yet. Fixes compilation
3607           with MSVC6 and other versions where socklen_t is not defined in
3608           the windows headers (#518022).
3609
3610 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3611
3612         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3613         If gst_registry_add_plugin() fails our reference to the plugin is
3614         invalid so don't try to use it anymore and instead error out.
3615
3616 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * tools/gst-xmlinspect.c: (print_element_info), (main):
3619           De-cruft a bit. If no argument is specified, print all elements in
3620           XML syntax rather than a freestyle list of elements like gst-inspect.
3621           Also, don't print XML header chunk unless we actually have something
3622           to print (ie. don't print it before an error message); print error
3623           message to stderr not stdout. Remove support for printing plugin
3624           info (it would just output something freestyle along the lines of
3625           gst-inspect so far), which fixes #514507. Also add license header.
3626
3627 2008-04-11  Julien Moutte  <julien@fluendo.com>
3628
3629         Mac OS X love...
3630         * configure.ac: Merge platform specific defines, introduce a new
3631         define on OS X to remember that forking when updating registry is
3632         unsafe.
3633         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3634         module.
3635         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3636         is defined.
3637         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3638         condition that leads to absolutely no plugins being registered on
3639         OS X.
3640
3641 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3642
3643         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3644
3645         * gst/gstutils.c: (gst_pad_add_data_probe),
3646           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3647           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3648           (gst_pad_add_buffer_probe_full):
3649         * gst/gstutils.h:
3650         * docs/gst/gstreamer-sections.txt:
3651         * win32/common/libgstreamer.def:
3652           Add gst_pad_add_*_probe_full() functions with a notify callback that
3653           lets the caller free the data it passes to the probe functions. This
3654           is useful for bindings such as gst-python or gstreamermm (#526814).
3655           API: gst_pad_add_data_probe_full
3656           API: gst_pad_add_buffer_probe_full
3657           API: gst_pad_add_event_probe_full
3658
3659         * tests/check/gst/gstutils.c:
3660           Add minimal unit test to make sure freeing the data actually works
3661           as expected.
3662
3663         * tests/benchmarks/.cvsignore:
3664           Random cvsignore addendum.
3665
3666 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3669           (GST_DEBUG_BIN_TO_DOT_FILE):
3670           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3671           to it in the docs (since these are macros the types of the arguments
3672           won't be shown in the docs otherwise).
3673
3674 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3675
3676         * gst/gstpad.c:
3677           Do not abort on out of memory for pad_alloc_buffer.
3678
3679 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3680
3681         * libs/gst/check/gstcheck.c:
3682           Remove blank line between symbol name ad parameters to fix gtkdoc
3683           warning.
3684
3685 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3688
3689         * docs/gst/gstreamer-sections.txt:
3690         * gst/gstsegment.c:
3691         * gst/gstsegment.h:
3692         * win32/common/libgstreamer.def:
3693           Expose gst_segment_copy() to make things easier for the c++ bindings.
3694           Fixes #518932.
3695           API: gst_segment_copy()
3696
3697 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3698
3699         * gst/gst.c: (gst_init_get_option_group), (init_post):
3700           Fix const position; ref GType classes for enum types to work
3701           around thread-safety issues in GLib versions < 2.16.
3702
3703 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3704
3705         * docs/design/part-buffering.txt:
3706         Fix some typos and set the estimated total for push mode to -1.
3707
3708         * gst/gstquery.c: (gst_query_new_buffering):
3709         Set buffering-left to 0 as we're not buffering by default.
3710
3711         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3712         Implement BUFFERING query.
3713
3714 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3715
3716         Based on patch by: Milosz Derezynski <internalerror gmail com>
3717
3718         * gst/gsterror.c: (_gst_stream_errors_init):
3719         * gst/gsterror.h:
3720           Add two new error codes for encrypted content. Fixes #524659.
3721           API: GST_STREAM_ERROR_DECRYPT
3722           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3723
3724 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3725
3726         * gst/gstquery.h:
3727           Fix typo.
3728
3729         * win32/common/libgstreamer.def:
3730           Add new functions.
3731
3732 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3733
3734         * plugins/elements/gstidentity.c: (gst_identity_event),
3735         (gst_identity_start):
3736         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3737         event after processing some data. Fixes bug #526042.
3738
3739 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3740
3741         * docs/gst/gstreamer-sections.txt:
3742         * gst/gstquery.c: (gst_query_parse_latency),
3743         (gst_query_set_buffering_percent),
3744         (gst_query_parse_buffering_percent),
3745         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3746         * gst/gstquery.h:
3747         Rename _avail -> _range
3748         API: gst_query_set_buffering_range
3749         API: gst_query_parse_buffering_range
3750
3751 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3752
3753         * docs/design/part-buffering.txt:
3754         * gst/gstquark.c:
3755         * gst/gstquark.h:
3756         * gst/gstquery.c: (gst_query_parse_latency),
3757         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3758         (gst_query_parse_buffering_percent):
3759         * gst/gstquery.h:
3760         Add busy field and quark for the buffering query so that the app can
3761         only use the query to see if buffering is in progress.
3762
3763 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3764
3765         * docs/gst/gstreamer-sections.txt:
3766         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3767         (gst_message_parse_buffering_stats):
3768         * gst/gstmessage.h:
3769         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3770         (gst_query_parse_latency), (gst_query_new_buffering),
3771         (gst_query_set_buffering_percent),
3772         (gst_query_parse_buffering_percent),
3773         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3774         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3775         * gst/gstquery.h:
3776         Reorder the message docs and headers for clarity.
3777         Add aditional buffering stats API for messages.
3778         Add buffering query.
3779         Convert some leftover queries to use GstQuark.
3780         API: gst_message_set_buffering_stats
3781         API: gst_message_parse_buffering_stats
3782         API: GST_QUERY_BUFFERING
3783         API: GstBufferingMode
3784         API: gst_query_new_buffering
3785         API: gst_query_set_buffering_percent
3786         API: gst_query_parse_buffering_percent
3787         API: gst_query_set_buffering_stats
3788         API: gst_query_parse_buffering_stats
3789
3790 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3791
3792         * gst/gstmessage.c: (gst_message_new_error),
3793         (gst_message_new_warning), (gst_message_new_info),
3794         (gst_message_new_buffering), (gst_message_new_state_changed),
3795         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3796         (gst_message_new_new_clock), (gst_message_new_segment_start),
3797         (gst_message_new_segment_done), (gst_message_new_duration),
3798         (gst_message_new_async_start), (gst_message_parse_buffering),
3799         (gst_message_parse_state_changed),
3800         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3801         (gst_message_parse_new_clock), (gst_message_parse_error),
3802         (gst_message_parse_warning), (gst_message_parse_info),
3803         (gst_message_parse_segment_start),
3804         (gst_message_parse_segment_done), (gst_message_parse_duration),
3805         (gst_message_parse_async_start):
3806         Use GstQuark for messages.
3807
3808 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3809
3810         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3811         * gst/gstquark.h:
3812         Add some more quarks needed for messages and queries.
3813
3814 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3815
3816         * docs/design/part-buffering.txt:
3817         Remove the "none" buffering mode, STREAM is a good default.
3818         Move estimated-time to the avail query, that's when it will be needed.
3819         Other small typo fixes and updates.
3820
3821 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3822
3823         * gst/gstindex.c: (gst_index_resolver_get_type):
3824           Don't put descriptions into the nick field of a GEnumValue: it's not
3825           meant for that and some language bindings rely on the nick field to
3826           construct constants and the like. Fixes #526705.
3827
3828 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3829
3830         * NEWS:
3831         * RELEASE:
3832         * gstreamer.doap:
3833           Merge other changes from 0.10.19 release branch.
3834
3835 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3836
3837         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3838
3839         * configure.ac:
3840         Actually build dlls when cross-compiling with mingw32.
3841         Fixes bug #526247.
3842
3843 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3844
3845         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3846
3847         * gst/gstpoll.c:
3848         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3849
3850 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3851
3852         * docs/design/draft-latency.txt:
3853         Fix typo.
3854
3855         * docs/design/part-buffering.txt:
3856         Update design docs with more buffering ideas.
3857
3858 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3859
3860         * configure.ac:
3861           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3862
3863 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3864
3865         * configure.ac:
3866           Revert part that belongs to the preset patch.
3867
3868 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3869
3870         * configure.ac:
3871           Add qoutes to the define. Fixes # 525961.
3872
3873 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3874
3875         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3876         (gst_file_index_load), (gst_file_index_add_id),
3877         (gst_file_index_get_assoc_entry):
3878         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3879         (gst_mem_index_free_id), (gst_mem_index_add_id),
3880         (gst_mem_index_index_format):
3881         Use GSlice when possible.
3882
3883 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3884
3885         * libs/gst/controller/gstinterpolationcontrolsource.c:
3886         (gst_control_point_free),
3887         (gst_interpolation_control_source_set_internal):
3888         Use GSlice for allocating the control points.
3889
3890 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3891
3892         * plugins/elements/gsttypefindelement.c:
3893         (gst_type_find_element_class_init),
3894         (gst_type_find_element_set_property),
3895         (gst_type_find_element_get_property),
3896         (gst_type_find_element_activate):
3897         * plugins/elements/gsttypefindelement.h:
3898         Cleanup properties.
3899         Fix pad leak when peer query fails.
3900         We can still typefind when the peer returns -1.
3901         Add property to force caps and bypass typefinding. This will be used in
3902         uridecodebin.
3903         API::force-caps
3904
3905 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3906
3907         * configure.ac:
3908         Require GLib 2.12.
3909
3910         * gst/glib-compat-private.h:
3911         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3912         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3913         Unconditionally use GSlice for allocation.
3914
3915         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3916         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3917         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3918         (gst_structure_free):
3919         Use GSlice for allocation.
3920
3921 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3922
3923         * gst/parse/Makefile.am:
3924         * gst/parse/grammar.tab.pre.c:
3925         * gst/parse/grammar.tab.pre.h:
3926         * gst/parse/lex._gst_parse_yy.pre.c:
3927         Require a new enough flex and bison and remove the parser hacks to use
3928         a pre-regenerated version.
3929
3930 2008-04-01  Julien Moutte  <julien@fluendo.com>
3931
3932         patch by: Jason Zhao <E3423C@motorola.com>
3933
3934         * configure.ac: Add a configure switch to disable option parsing
3935         in gst_init.
3936         Fixes #522882.
3937
3938 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3939
3940         * configure.ac:
3941         * gst/gstregistry.c:
3942           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3943           and handle this case.
3944
3945         * gst/gst.c:
3946           Add a comment here describing, why we stat each plugin and not try to
3947           be smart.
3948
3949 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3950
3951         * libs/gst/base/gstbasetransform.c:
3952         (gst_base_transform_prepare_output_buffer):
3953         Also unset the GAP flag on buffers if we're working inplace but
3954         the element is not GAP-aware.
3955
3956         Mark a comment as FIXME 0.11.
3957
3958 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3959
3960         * gst/gst.c:
3961           Fix type in log message and add one to ease seeing how long registry
3962           cache verification takes.
3963
3964         * gst/gstregistry.c:
3965           Only test plugin filenames against G_MODULE_SUFFIX.
3966
3967 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3968
3969         * gst/gstdebugutils.c:
3970           Improve handling ghost/proxy pads.
3971
3972 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3973
3974         * docs/gst/gstreamer-sections.txt:
3975         * gst/gstpad.c:
3976         * gst/gstpad.h:
3977           Expose macro to docs and fix link to it.
3978
3979 2008-03-27  Michael Smith <msmith@fluendo.com>
3980
3981         * libs/gst/dataprotocol/dataprotocol.c:
3982         (gst_dp_packet_from_event_1_0):
3983           When calculating GDP body CRC, use the correct pointer. 
3984           Fixes part of #522401.
3985
3986 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3987
3988         Patch by: Mark Nauwelaerts <manauw at skynet be>
3989
3990         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3991         (gst_identity_init), (gst_identity_prepare_output_buffer):
3992         Identity is not always a passthrough element, it can modify the buffer
3993         timestamps when it has a datarate and operates in single-segment mode.
3994         We therefore make it an in_place filter with a custom buffer prepare
3995         function that conditionally makes the input buffer metadata writable
3996         when needed.  Fixes #523985.
3997
3998 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3999
4000         Patch by: Mark Nauwelaerts <manauw at skynet be>
4001
4002         * gst/gstclock.h:
4003         * libs/gst/base/gstbasesrc.h:
4004         * libs/gst/base/gstbasetransform.c:
4005         * libs/gst/check/gstcheck.c:
4006         Small documentation fixes. Fixes #523978.
4007
4008 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4009
4010         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4011         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4012         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4013
4014 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4015
4016         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4017         (single_queue_underrun_cb):
4018         When trying to make room in the queue, bump the max allowed buffers
4019         bigger than the current amount of buffers in the queue. this fixes some
4020         nasty deadlocks in multiqueue when dynamically changing the limits of
4021         the queue.
4022
4023 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4024
4025         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4026
4027         * gst/gstcaps.c: (gst_caps_set_simple),
4028         (gst_caps_set_simple_valist), (gst_caps_intersect):
4029         * gst/gstcaps.h:
4030         Constify the field gchar * params in set_simple and friends.
4031         Fixes #522326.
4032
4033 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4034
4035         * gst/gstvalue.c: (gst_value_transform_object_string):
4036         Transform a GstObject to a more meaningfull string that includes the
4037         object type in addition to its name.
4038
4039 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4040
4041         * ChangeLog:
4042           ChangeLog surgery to add bugnumber to commit.
4043
4044 2008-03-23  Rene Stadler  <mail@renestadler.de>
4045
4046         * libs/gst/base/gstbasetransform.c:
4047         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4048
4049 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4050
4051         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4052         Rename constant everywhere and don't forget one occurence.
4053
4054 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4055
4056         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4057         Align memory to the pointer size even if the architecture allows
4058         unaligned memory access. Unaligned memory access usually comes with
4059         performance penality.
4060
4061 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4062
4063         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4064         (gst_registry_binary_check_magic),
4065         (gst_registry_binary_load_pad_template),
4066         (gst_registry_binary_load_feature),
4067         (gst_registry_binary_load_plugin):
4068         Align memory to the pointer size instead of always 32 bit. Fixes
4069         unaligned memory accesses on ia64 and friends.
4070
4071         * gst/gstregistrybinary.h:
4072         Bump binary registry format version for this as it changes the
4073         format on those architectures that don't have unaligned access
4074         and 64 bit pointers.
4075
4076 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4077
4078         * docs/pwg/advanced-dparams.xml:
4079         * docs/pwg/building-props.xml:
4080         * docs/pwg/other-source.xml:
4081         * gst/glib-compat.h:
4082         * gst/gstbin.c: (gst_bin_class_init):
4083         * gst/gstclock.c: (gst_clock_class_init):
4084         * gst/gstindex.c: (gst_index_class_init):
4085         * gst/gstobject.c: (gst_object_class_init):
4086         * gst/gstpad.c: (gst_pad_class_init):
4087         * gst/gstpipeline.c: (gst_pipeline_class_init):
4088         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4089         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4090         * libs/gst/base/gstbasetransform.c:
4091         (gst_base_transform_class_init):
4092         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4093         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4094         (_gst_check_fault_handler_sighandler),
4095         (_gst_check_fault_handler_setup), (gst_check_init):
4096         * libs/gst/controller/gstcontroller.c:
4097         (_gst_controller_class_init):
4098         * libs/gst/controller/gstlfocontrolsource.c:
4099         (gst_lfo_control_source_class_init):
4100         * libs/gst/net/gstnetclientclock.c:
4101         (gst_net_client_clock_class_init):
4102         * libs/gst/net/gstnettimeprovider.c:
4103         (gst_net_time_provider_class_init):
4104         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4105         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4106         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4107         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4108         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4109         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4110         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4111         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4112         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4113         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4114         * plugins/elements/gsttee.c: (gst_tee_class_init):
4115         * plugins/elements/gsttypefindelement.c:
4116         (gst_type_find_element_class_init):
4117         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4118         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4119         use it everywhere for GParamSpecs that use static strings (i.e. all).
4120         This gives us less memory usage, fewer allocations and thus less
4121         memory defragmentation. Fixes bug #523806.
4122
4123 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4124
4125         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4126         (gst_param_spec_mini_object):
4127         * gst/gstminiobject.h:
4128         * win32/common/libgstreamer.def:
4129         * docs/gst/gstreamer-sections.txt:
4130         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4131         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4132         GstParamSpecMiniObject into a public header for this.
4133
4134         This make GstMiniObject a bit more consistent with GObject and makes
4135         it possible to extend the param specs.
4136
4137         gst_value_dup_mini_object is mainly useful for set_property methods.
4138
4139         Fixes bug #523798.
4140
4141         * tools/gst-inspect.c: (print_element_properties_info):
4142         Print something useful for GstMiniObject properties and not just
4143         "unknown type".
4144
4145 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4146
4147         * docs/gst/gstreamer-sections.txt:
4148         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4149         (gst_registry_binary_check_magic):
4150         * gst/gstregistrybinary.h:
4151         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4152         and add it to the (private part) of the docs to fix the build.
4153
4154 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4155
4156         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4157         (gst_registry_binary_check_magic),
4158         (gst_registry_binary_read_cache):
4159         * gst/gstregistrybinary.h:
4160         Don't use GST_MAJORMINOR for the binary registry version. Instead
4161         hardcode a value that must be changed whenever the format changes
4162         in an incompatible way.
4163         Also don't GST_ERROR when there is a version mismatch, just
4164         regenerate the registry silently.
4165
4166 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4167
4168         * configure.ac:
4169         Back to development - 0.10.18.1
4170
4171 === release 0.10.18 ===
4172
4173 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4174
4175         * configure.ac:
4176           releasing 0.10.18, "So far away"
4177
4178 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4179
4180         * configure.ac:
4181         * win32/common/config.h:
4182         0.10.17.4 pre-release
4183
4184 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4185
4186         Patch by: Ole André Vadla Ravnås
4187             <ole dot andre dot ravnas at tandberg dot com>
4188
4189         * docs/gst/gstreamer-sections.txt:
4190         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4191         (gst_poll_update_winsock_event_mask),
4192         (gst_poll_prepare_winsock_active_sets),
4193         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4194         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4195         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4196         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4197         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4198         * gst/gstpoll.h:
4199         * win32/common/libgstreamer.def:
4200         Add new function gst_poll_fd_ignored() for improved Windows
4201         compatibility.
4202         Various minor fixes and cleanups. See #520808.
4203
4204 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4205
4206         * gst/gstindex.c: (gst_index_entry_free):
4207         * gst/gstindex.h:
4208           Don't free key strings which we don't own. Fixes crash in
4209           gst_index_entry_free() (#522741).
4210
4211         * tests/check/Makefile.am:
4212         * tests/check/gst/.cvsignore:
4213         * tests/check/gst/gstindex.c: (test_index_entries),
4214           (gst_index_suite), (gst_index):
4215           Add unit test for the above.
4216
4217 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4218
4219         * win32/common/libgstreamer.def:
4220         Remove symbols that were removed recently. Fixes bug #521740.
4221
4222 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4223
4224         * configure.ac:
4225         * win32/common/config.h:
4226         0.10.17.3 pre-release
4227
4228 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4229
4230         Patch by: Ole André Vadla Ravnås
4231             <ole dot andre dot ravnas at tandberg dot com>
4232
4233         * docs/gst/gstreamer-sections.txt:
4234         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4235         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4236         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4237         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4238         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4239         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4240         (gst_poll_fd_can_write), (gst_poll_wait),
4241         (gst_poll_set_controllable), (gst_poll_restart),
4242         (gst_poll_set_flushing):
4243         * gst/gstpoll.h:
4244         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4245         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4246         (gst_net_time_provider_new):
4247         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4248         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4249         * tests/benchmarks/gstpollstress.c: (main):
4250         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4251         Remove GstPollMode from the API, it does not make sense to let the
4252         application control this.
4253         Add support for Win32.
4254         Fix the testsuite. Fixes #520671.
4255
4256 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4257
4258         Patch by: Ole André Vadla Ravnås
4259             <ole dot andre dot ravnas at tandberg dot com>
4260
4261         * gst/gstregistrybinary.c:
4262         Include io.h for write() and close() when building with MSVC. Fixes
4263         bug #520877.
4264
4265 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4266
4267         * configure.ac:
4268         * gst/gst_private.h:
4269         * gst/gstconfig.h.in:
4270         * gst/gstregistry.h:
4271         * gst/gstregistrybinary.c:
4272         * win32/common/gstconfig.h:
4273           Move registry backend API to private headers where we can. Add
4274           fixme-0.11 comments for the others. Add stubs for the xml backend when
4275           using the binary to ensure they functions exists (they should not be
4276           used though). Fixes #520756.
4277
4278 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4279
4280         * configure.ac:
4281         * win32/common/config.h:
4282         0.10.17.2 prelease
4283
4284 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4285
4286         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4287         (gst_registry_binary_read_cache):
4288         * gst/gstregistryxml.c: (gst_registry_save):
4289         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4290         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4291         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4292         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4293         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4294         Fixes #520152
4295
4296 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4297
4298         * gst/gstminiobject.c:
4299         Import gst_private.h before any other header that might include other
4300         glib headers. This fixes the build on windows using native compilers.
4301
4302 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4303
4304         * win32/common/gstconfig.h:
4305           Add here too, just for completeness.
4306
4307 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4308
4309         * configure.ac:
4310         * gst/gstconfig.h.in:
4311         * gst/gstregistry.h:
4312           Fix broken use of config.h-defined preprocessor directive in a public
4313           header file. Add a corresponding define to gstconfig.h, since we can't
4314           really remove those function declarations from the header file now
4315           (or can we? and why are they there in the first place?).
4316
4317 2008-03-03  Andy Wingo  <wingo@pobox.com>
4318
4319         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4320         the new warning.
4321
4322         * gst/gststructure.c (gst_structure_from_string): Warn if
4323         structure_from_string didn't consume the whole string, but the
4324         caller did not provide an end pointer.
4325
4326 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4327
4328         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4329
4330         * gst/gstregistryxml.c: (read_string), (load_feature):
4331           Strings allocated by libxml2 should be freed with xmlFree(), not
4332           with g_free(). Fixes issues on windows in certain contexts (#519698).
4333
4334 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4335
4336         * gst/gstinterface.c: (gst_element_implements_interface):
4337           Don't crash if the element supports the interface queried, but does
4338           not implement GstImplementsInterface. Fixes #519584.
4339
4340         * tests/check/Makefile.am:
4341         * tests/check/gst/.cvsignore:
4342         * tests/check/gst/gstinterface.c:
4343           Add unit test for the above.
4344
4345 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4346
4347         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4348         Small doc update.
4349
4350 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4351
4352         * gst/gstsegment.c: (gst_segment_set_seek),
4353         (gst_segment_to_stream_time):
4354         Improve some comment.
4355         Update variables where it makes more sense.
4356
4357 2008-02-29  Rene Stadler  <mail@renestadler.de>
4358
4359         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4360         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4361         URIHandlers implemented using language bindings.
4362
4363 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4364
4365         * gst/gstelementfactory.h:
4366         * tests/check/elements/fakesink.c:
4367         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4368         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4369         * tests/check/elements/filesink.c: (setup_filesink):
4370         * tests/check/elements/filesrc.c: (setup_filesrc):
4371         * tests/check/elements/identity.c: (setup_identity):
4372         * tests/check/elements/tee.c:
4373         * tests/check/generic/sinks.c:
4374         * tests/check/generic/states.c: (setup), (teardown):
4375         * tests/check/gst/gst.c:
4376         * tests/check/gst/gstabi.c:
4377         * tests/check/gst/gstbin.c:
4378         * tests/check/gst/gstbus.c: (pull_messages):
4379         * tests/check/gst/gstcaps.c:
4380         * tests/check/gst/gstelement.c:
4381         * tests/check/gst/gstevent.c:
4382         * tests/check/gst/gstghostpad.c:
4383         * tests/check/gst/gstiterator.c:
4384         * tests/check/gst/gstmessage.c:
4385         * tests/check/gst/gstminiobject.c: (my_foo_init):
4386         * tests/check/gst/gstobject.c: (thread_name_object),
4387         (gst_object_suite):
4388         * tests/check/gst/gstpad.c:
4389         * tests/check/gst/gstplugin.c:
4390         * tests/check/gst/gstpoll.c:
4391         * tests/check/gst/gstquery.c:
4392         * tests/check/gst/gstsegment.c:
4393         * tests/check/gst/gststructure.c:
4394         * tests/check/gst/gstsystemclock.c:
4395         * tests/check/gst/gsttask.c:
4396         * tests/check/gst/gstutils.c:
4397         * tests/check/gst/gstvalue.c:
4398         * tests/check/gst/struct_hppa.h:
4399         * tests/check/gst/struct_i386.h:
4400         * tests/check/gst/struct_ppc32.h:
4401         * tests/check/gst/struct_ppc64.h:
4402         * tests/check/gst/struct_x86_64.h:
4403         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4404         * tests/check/libs/basesrc.c:
4405         * tests/check/libs/controller.c: (GST_START_TEST):
4406         * tests/check/libs/gdp.c:
4407         * tests/check/libs/gstnetclientclock.c:
4408         * tests/check/libs/gstnettimeprovider.c:
4409         * tests/check/libs/libsabi.c:
4410         * tests/check/libs/struct_hppa.h:
4411         * tests/check/libs/struct_i386.h:
4412         * tests/check/libs/struct_ppc32.h:
4413         * tests/check/libs/struct_ppc64.h:
4414         * tests/check/libs/struct_x86_64.h:
4415         * tests/check/pipelines/cleanup.c:
4416         * tests/check/pipelines/simple-launch-lines.c:
4417         * tests/check/pipelines/stress.c:
4418         And correct even more valid sparse warnings.
4419
4420         * win32/common/libgstreamer.def:
4421         Add gst_poll_fd_init to the list of symbols.
4422
4423 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4424
4425         * gst/gstconfig.h.in:
4426         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4427         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4428         (gst_check_log_critical_func), (gst_check_drop_buffers),
4429         (gst_check_element_push_buffer_list):
4430         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4431         (gst_controller_get_type):
4432         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4433         (gst_object_get_controller), (gst_object_get_control_source):
4434         * libs/gst/controller/gstinterpolationcontrolsource.c:
4435         (gst_interpolation_control_source_new):
4436         * libs/gst/controller/gstlfocontrolsource.c:
4437         (gst_lfo_control_source_new):
4438         * libs/gst/dataprotocol/dataprotocol.c:
4439         (gst_dp_event_from_packet_0_2):
4440         * plugins/elements/gstfdsrc.c:
4441         * plugins/elements/gstmultiqueue.c:
4442         * plugins/elements/gsttee.c:
4443         * plugins/elements/gsttypefindelement.c:
4444         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4445         (gst_file_index_add_association):
4446         * plugins/indexers/gstmemindex.c:
4447         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4448         * tests/check/elements/queue.c: (setup_queue):
4449         * tests/check/gst/gstpipeline.c:
4450         * tests/check/libs/collectpads.c: (setup), (teardown),
4451         (gst_collect_pads_suite):
4452         * tests/examples/adapter/adapter_test.c:
4453         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4454         * tests/examples/xml/createxml.c:
4455         * tests/examples/xml/runxml.c:
4456         * tools/gst-inspect.c:
4457         * tools/gst-run.c:
4458         Correct all relevant warnings found by the sparse semantic code
4459         analyzer. This include marking several symbols static, using
4460         NULL instead of 0 for pointers, not using variable sized arrays
4461         on the stack, moving variable declarations to the beginning of
4462         a block and using "foo (void)" instead of "foo ()" for declarations.
4463
4464 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4465
4466         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4467         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4468         Don't reset GstPollFDs, this is not necessary at all.
4469
4470         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4471         (delayed_restart), (delayed_control):
4472         Use GST_POLL_FD_INIT.
4473
4474 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4475
4476         * gst/gstpoll.c: (gst_poll_fd_init):
4477         * gst/gstpoll.h:
4478         Added Since tags.
4479
4480         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4481         Use some more init macros.
4482
4483 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4484
4485         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4486         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4487         Use init macros and functions.
4488
4489 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4490
4491         * docs/gst/gstreamer-sections.txt:
4492         * gst/gstpoll.c: (gst_poll_fd_init):
4493         * gst/gstpoll.h:
4494         Add INIT macro and _init method for initializing the GstPollFD.
4495
4496 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4497
4498         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4499         (gst_fd_sink_update_fd):
4500         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4501         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4502         (delayed_restart), (delayed_control):
4503         Initialize some uninitialized variables as spotted by valgrind.
4504
4505 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4506
4507         * tests/benchmarks/Makefile.am:
4508         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4509         (main):
4510         Add poll stress test.
4511
4512 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4513
4514         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4515
4516         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4517         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4518         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4519         * plugins/elements/gstfdsink.h:
4520         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4521         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4522         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4523         (gst_fd_src_uri_set_uri):
4524         * plugins/elements/gstfdsrc.h:
4525         Port to GstPoll. See #505417.
4526
4527 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4528
4529         * win32/common/libgstreamer.def:
4530         Add new gst_poll_ symbols to win32 defs.
4531
4532 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4533
4534         * docs/libs/gstreamer-libs-sections.txt:
4535         * libs/gst/net/gstnetclientclock.c:
4536         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4537         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4538         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4539         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4540         * libs/gst/net/gstnetclientclock.h:
4541         * libs/gst/net/gstnettimeprovider.c:
4542         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4543         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4544         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4545         (gst_net_time_provider_new):
4546         * libs/gst/net/gstnettimeprovider.h:
4547         Use a private stuct to not break ABI.
4548
4549 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4550
4551         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4552
4553         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4554         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4555         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4556         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4557         * libs/gst/net/gstnetclientclock.h:
4558         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4559         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4560         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4561         (gst_net_time_provider_new):
4562         * libs/gst/net/gstnettimeprovider.h:
4563         Massive code removal and cleanups because of GstPoll.
4564         Fixes #505417.
4565
4566 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4567
4568         * configure.ac:
4569         Add checks for poll, ppoll and pselect.
4570
4571         * docs/gst/gstreamer-docs.sgml:
4572         * docs/gst/gstreamer-sections.txt:
4573         Add docs for GstPoll.
4574
4575         * gst/Makefile.am:
4576         * gst/gst.h:
4577         * gst/gstpoll.c: (find_index), (selectable_fds),
4578         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4579         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4580         (gst_poll_set_mode), (gst_poll_get_mode),
4581         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4582         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4583         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4584         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4585         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4586         (gst_poll_fd_can_write), (gst_poll_wait),
4587         (gst_poll_set_controllable), (gst_poll_restart),
4588         (gst_poll_set_flushing):
4589         * gst/gstpoll.h:
4590         Add generic poll abstraction. We ideally don't want to have this in core
4591         here but in glib intead...
4592         This code will be used in various network elements and ultimately for
4593         the nanosecond precision monotonic clock (that's why it's here in core).
4594         It'll allow us to implement cancelable socket operations for windows too.
4595
4596         * tests/check/Makefile.am:
4597         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4598         (delayed_stop), (delayed_restart), (delayed_flush),
4599         (delayed_control), (gst_poll_suite):
4600         Add GstPoll unit test.
4601
4602 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4603
4604         * gst/gstfilter.c:
4605           Improve documentation of gst_filter_run(). Fixes #518627.
4606
4607 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4608
4609         * docs/README:
4610           Add a few lines about the new 'check-inspected-versions' target.
4611
4612 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4613
4614         * tests/check/gst/gstevent.c:
4615           Add qos to the event test. Rename tcase/tsuite; is not only about
4616           custom events.
4617
4618 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4619
4620         * plugins/elements/gstqueue.c:
4621           Ensure that buffer metadata is writeable, before modifying. Spotted by
4622           Mike.
4623
4624 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4625
4626         * plugins/elements/gstqueue.c:
4627         * plugins/elements/gstqueue.h:
4628           When dropping buffers in leaky modes, mark next buffers we sent as
4629           DISCONT.
4630
4631 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4632
4633         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4634           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4635
4636 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4637
4638         * plugins/elements/Makefile.am:
4639         * plugins/elements/gstbufferstore.c:
4640         * plugins/elements/gstbufferstore.h:
4641         * plugins/elements/gsttypefindelement.h:
4642           Remove GstBufferStore, no idea why we were still building it.
4643           It's not used anywhere and superseded by GstAdapter.
4644
4645         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4646           (gst_file_src_create_mmap):
4647         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4648           Printf format fixes for 64-bit integers.
4649
4650 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4651
4652         * configure.ac:
4653         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4654         We're not in 0.8 times anymore.
4655
4656 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4657
4658         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4659         (gst_check_element_push_buffer_list):
4660         * libs/gst/check/gstcheck.h:
4661         Make the declaration in the header for
4662         gst_check_element_push_buffer_list match the implementation.
4663
4664         Fix up spelling, grammar and wording of the documentation in a few
4665         places, and add the Since keyword to new API functions.
4666         Use g_list_delete_link instead of g_list_remove in
4667         gst_check_drop_buffers, since it's immeasurably more efficient.
4668
4669         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4670         Use new gst_check_drop_buffers function where appropriate.
4671
4672         * win32/common/libgstbase.def:
4673         * win32/common/libgstreamer.def:
4674         Add new symbols gst_collect_pads_take_buffer, 
4675         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4676         exports
4677
4678         Changelog surgery to add API keyword to new gst_check API.
4679
4680 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4681
4682         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4683         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4684         Update pre-generated flex files with flex 2.3.34.
4685
4686 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4687
4688         * gst/gstminiobject.c:
4689           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4690           friendly to subclasses and not require them to know all internals
4691           of their parent class.
4692
4693 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4694
4695         * docs/libs/gstreamer-libs-sections.txt:
4696         * libs/gst/base/gstcollectpads.c:
4697         * libs/gst/base/gstcollectpads.h:
4698           Add sub-buffer functions to collectpads. Fixes #516187.
4699           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4700
4701 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4702
4703         * gst/gstbuffer.c:
4704           Copy selected buffer-flags when creating subbuffers.
4705           Fixes #516395.
4706
4707 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4708
4709         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4710         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4711         * gst/gstmessage.c: (gst_message_class_init),
4712         (gst_message_finalize):
4713         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4714         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4715         (gst_mmap_buffer_finalize):
4716         Properly chain up finalize functions to the parent class.
4717
4718 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4719
4720         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4721
4722         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4723         (gst_index_set_resolver_full):
4724         * gst/gstindex.h:
4725         Add new function with option to dispose of user_data in resolver.
4726         Actually call the dispose function when finalizing the object and not
4727         just when changing the resolver/filter.
4728         API: GstIndex::gst_index_set_resolver_full()
4729
4730         * docs/gst/gstreamer-sections.txt:
4731         Add new function to docs. Fixes #515469.
4732
4733 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4734
4735         * gst/gstindex.c: (gst_index_finalize):
4736         Chain up finalize to the parent class. Fixes leaking the GstObject
4737         name and other things.
4738
4739 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4740
4741         * configure.ac:
4742         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4743         pre-releases or releases.
4744
4745         * docs/faq/gst-uninstalled:
4746         Add gst-plugins-gl
4747
4748         * docs/random/release:
4749         Change one of the steps - we only upload core & base to Gnome FTP
4750
4751 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4752
4753         * gst/gstconfig.h.in:
4754           Add 'id' for example.
4755
4756         * gst/gstpad.c:
4757         * gst/gstutils.c:
4758         * plugins/elements/gstfdsink.c:
4759           Link to signals. Doc and comment fixes.
4760
4761 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4762
4763         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4764         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4765           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4766           unused and unimplemented; finally, it is plugin features, not
4767           plugins, that have ranks.
4768           
4769 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4770
4771         * gst/gstpluginfeature.h:
4772           Clarify GstRank range docs.
4773
4774 2008-02-05  David Schleef  <ds@schleef.org>
4775
4776         * gst/gst.c: Add a separate gst_deinitialized that prevents
4777           gst_init() from being called after gst_deinit().  Fixes #509559
4778
4779 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4780
4781         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4782         (gst_bin_class_init):
4783         * gst/gstelement.c: (gst_element_base_class_init),
4784         (gst_element_class_add_pad_template):
4785         * gst/gstpadtemplate.c: (gst_pad_template_init):
4786         * gst/gstpipeline.c: (gst_pipeline_get_type),
4787         (gst_pipeline_base_init), (gst_pipeline_class_init):
4788         * libs/gst/base/gstbasesink.c:
4789         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4790         (gst_base_src_base_init), (gst_base_src_class_init):
4791         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4792         (gst_capsfilter_class_init):
4793         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4794         (gst_fake_sink_class_init):
4795         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4796         (gst_fake_src_class_init):
4797         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4798         (gst_fd_sink_class_init):
4799         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4800         (gst_fd_src_class_init):
4801         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4802         (gst_file_sink_class_init):
4803         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4804         (gst_file_src_class_init):
4805         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4806         (gst_identity_class_init):
4807         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4808         (gst_multi_queue_class_init):
4809         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4810         (gst_queue_class_init):
4811         * plugins/elements/gsttee.c: (gst_tee_base_init),
4812         (gst_tee_class_init):
4813         * plugins/elements/gsttypefindelement.c:
4814         (gst_type_find_element_base_init),
4815         (gst_type_find_element_class_init):
4816         * tests/check/gst/gstelement.c: (gst_element_suite):
4817         Revert previous changes to the behaviour of GstPadTemplates, etc
4818         and the possiblity to call them in class_init as it breaks too
4819         many elements. Reopens bug #491501.
4820
4821         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4822         several places.
4823
4824 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4825
4826         * tools/gst-launch.c:
4827         Dump one graph per pipeline state-change and state change name
4828         (if GST_DEBUG_DUMP_DOT_DIR is set).
4829
4830 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4831
4832         * gst/gstpad.c:
4833         * tests/check/gst/gstpad.c:
4834         Be sure that we have a new copy of the caps and not
4835         reffed caps from a template
4836
4837 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4838
4839         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4840         * gst/gstpipeline.c: (gst_pipeline_get_type),
4841         (gst_pipeline_class_init):
4842         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4843         (gst_base_sink_class_init):
4844         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4845         (gst_base_src_class_init):
4846         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4847         (gst_base_transform_class_init):
4848         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4849         (gst_collect_pads_class_init):
4850         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4851         * libs/gst/net/gstnettimeprovider.c:
4852         (gst_net_time_provider_base_init),
4853         (gst_net_time_provider_class_init):
4854         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4855         (gst_capsfilter_class_init):
4856         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4857         (gst_fake_sink_class_init):
4858         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4859         (gst_fake_src_class_init):
4860         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4861         (gst_fd_sink_class_init):
4862         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4863         (gst_fd_src_class_init):
4864         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4865         (gst_file_sink_class_init):
4866         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4867         (gst_file_src_class_init):
4868         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4869         (gst_identity_class_init):
4870         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4871         (gst_multi_queue_class_init):
4872         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4873         (gst_queue_class_init):
4874         * plugins/elements/gsttee.c: (gst_tee_base_init),
4875         (gst_tee_class_init):
4876         * plugins/elements/gsttypefindelement.c:
4877         (gst_type_find_element_base_init),
4878         (gst_type_find_element_class_init):
4879         Don't use base_init where not absolutely necessary. For example it's
4880         not necessary anymore for adding pad templates or setting element
4881         details.
4882
4883         Leave empty base_init functions in several places as GST_BOILERPLATE
4884         still defines and uses them.
4885
4886 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4887
4888         * gst/gstelement.c: (gst_element_base_class_init),
4889         (gst_element_class_add_pad_template):
4890         * gst/gstpadtemplate.c:
4891         Make it possible (and recommended) to set element details and add
4892         pad templates in the class_init functions by copying the details/pad
4893         templates in GstElement's base_init.
4894
4895         Also make it possible to replace existing pad templates by adding
4896         a new one with the same name. This was done in a hackish fashion
4897         in same elements before already.
4898
4899         Don't reference pad templates that are added a second time. A
4900         new pad template has a refcount of one and is not floating anymore
4901         and to be owned by the element's class. Make this more explicit by
4902         mentioning it in the docs of gst_element_class_add_pad_template().
4903
4904         These changes are backwards compatible. Fixes bug #491501.
4905
4906         * tests/check/gst/gstelement.c:
4907         Add unit test for setting element details, adding pad templates and
4908         replacing them in a subclass.
4909
4910 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4911
4912         * tools/gst-inspect.c: (print_interfaces),
4913         (print_element_properties_info), (print_pad_info),
4914         (print_signal_info), (print_element_info):
4915         Fix a few memory leaks.
4916
4917 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4918
4919         * docs/libs/gstreamer-libs-sections.txt:
4920         * libs/gst/check/gstcheck.c:
4921         * libs/gst/check/gstcheck.h:
4922         Add more functions for unit testing: gst_check_drop_buffers,
4923         gst_check_caps_equal, gst_check_element_push_buffer_list,
4924         gst_check_element_push_buffer
4925         API: gst_check_drop_buffers
4926         API: gst_check_caps_equal
4927         API: gst_check_element_push_buffer_list
4928         API: gst_check_element_push_buffer
4929
4930 2008-02-01  Julien Moutte  <julien@fluendo.com>
4931
4932         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4933         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4934         (gst_index_finalize), (gst_index_entry_free),
4935         (gst_index_add_association): Fix memory leaks.
4936         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4937         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4938         (gst_mem_index_free_format), (gst_mem_index_free_id),
4939         (gst_mem_index_finalize): Fix memory leaks.
4940         * win32/common/config.h: Updated to CVS HEAD.
4941
4942 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4943
4944         * docs/README:
4945           Some more details about how the plugin docs works.
4946
4947         * docs/plugins/gstreamer-plugins-sections.txt:
4948           Whitespace cleanup.
4949
4950 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4951
4952         * gst/parse/grammar.tab.pre.c:
4953         * gst/parse/grammar.tab.pre.h:
4954         * gst/parse/grammar.y:
4955         * gst/parse/lex._gst_parse_yy.pre.c:
4956           Add delayed set-property. This allows to set properties on dynamicaly
4957           created objects (pads in videomxer). Fixes #509391.
4958
4959 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4960
4961         * gst/gstutils.c:
4962         Check if caps are not NULL (fix bug #510194)
4963
4964 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4965
4966         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4967         (gst_base_sink_get_position_paused):
4968         Add fixme regarding EOS in pull mode.
4969         Fix position reporting in PAUSED for negative rates.
4970
4971 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4972
4973         * gst/gstminiobject.c: (gst_mini_object_replace):
4974         When replacing a miniobject, do a quick equality check first so that we
4975         can avoid a ref/unref pair.
4976
4977 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4978
4979         * docs/design/part-synchronisation.txt:
4980         Update some docs.
4981
4982         * docs/plugins/Makefile.am:
4983         * docs/plugins/gstreamer-plugins-docs.sgml:
4984         * docs/plugins/gstreamer-plugins-sections.txt:
4985         * plugins/elements/gstmultiqueue.c:
4986         Add multiqueue to the docs.
4987
4988 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4989
4990         * configure.ac:
4991           Back to CVS
4992
4993 === release 0.10.17 ===
4994
4995 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4996
4997         * configure.ac:
4998           releasing 0.10.17, "Due Negligence"
4999
5000 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5001
5002         * gst/gstutils.c:
5003         Revert caps != NULL check temporarily for 0.10.17 release.
5004
5005 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5006
5007         * gst/gstutils.c:
5008         Check if caps are not NULL (fix bug #510194)
5009
5010 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5011
5012         * gst/gstutils.c:
5013         Fix compilation on systems that have posix timers but no
5014         monotonic clock.
5015         Fixes: #512715
5016         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5017         dot net>
5018
5019 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5020
5021         * tools/gst-inspect.c:
5022         Revert previous commit in preparation for an impromptu 0.10.17 release
5023
5024 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5025
5026         * tools/gst-inspect.c: (print_interfaces),
5027         (print_element_properties_info), (print_pad_info),
5028         (print_signal_info), (print_element_info):
5029         Fix a few memory leaks.
5030
5031 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5032
5033         * configure.ac:
5034         Back to CVS
5035
5036 === release 0.10.16 ===
5037
5038 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5039
5040         * configure.ac:
5041           releasing 0.10.16, "Special Dispensation"
5042
5043 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * configure.ac:
5046           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5047           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5048           not fail when trying to crosscompile on OpenEmbedded (#511750).
5049
5050 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5051
5052         * docs/manuals.mak:
5053         Use $(MAKE) instead of make to fix the build if GNU make is
5054         called different. Fixes bug #510747.
5055
5056 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5057
5058         * gst/gstplugin.c: (_gst_plugin_initialize):
5059           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5060           again, which I broke two commits ago when changing the API
5061           of gst_plugin_register_static(): the g_list_foreach() in
5062           _gst_plugin_register_static still assumed the old function
5063           signature and would therefore fail (re-fixes #510187).
5064
5065         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5066           (_gst_plugin_register_static), (gst_plugin_register_static):
5067           Revert the (technically correct) change to call g_thread_init() from
5068           the pre-main() constructor. This will break programs which call
5069           g_thread_init() without an if (!g_thread_supported()) guard in their
5070           main function. We could just blame it on GLib or the application, but
5071           it's probably best to just avoid this altogether and simply not use
5072           any GLib functions here and use plain old malloc() with a simple
5073           array to store the plugins to register later when gst_init() is
5074           finally called (re-fixes #510187).
5075
5076         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5077           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5078           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5079           (GST_START_TEST), (gst_plugin_suite):
5080           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5081           works.
5082
5083 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5084
5085         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5086           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5087           This makes gtk-doc complain, but results in slightly better
5088           compiler errors. The old _gst_plugin_register_static() is
5089           still guarded, so there'll be a compiler warning about that
5090           instead. Fixes #510187 too.
5091
5092 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5093
5094         * gst/gst.c: (init_post):
5095         * gst/gstplugin.c: (_gst_plugin_register_static),
5096           (gst_plugin_register_static), (_gst_plugin_initialize):
5097         * gst/gstplugin.h: (GstPluginFilter):
5098           Change API of gst_plugin_register_static() to not take
5099           a GstPluginDesc, but rather just take all the arguments
5100           in a GstPluginDesc directly. This is more intuitive and
5101           avoids certain mistakes when porting code from
5102           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5103           Fixes #510187.
5104
5105         * tests/check/gst/gstplugin.c:
5106           Fix up for changed API.
5107
5108 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5109
5110         * docs/faq/legal.xml:
5111           Update FAQ, Totem actually has an exception these days.
5112
5113 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5114
5115         * win32/common/libgstreamer.def:
5116         Add new API declarations
5117
5118 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5119
5120         * gst/gstminiobject.c:
5121           Spelling fixes for the API docs.
5122
5123 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5124
5125         * libs/gst/base/gstbasetransform.c:
5126           Fix long property description for QoS.
5127
5128 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5129
5130         * gst/gst.c:
5131         _gst_trace_on is already provided by gsttrace.h, no need to declare
5132         it ourselves.
5133
5134         * docs/libs/gstreamer-libs-sections.txt:
5135         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5136         and remove strange tcase_add_test which is outputting a warning.
5137
5138         * libs/gst/check/gstcheck.c:
5139         * libs/gst/check/gstcheck.h:
5140         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5141         and define them in gstcheck.c instead of having every .c file whcih
5142         includes gstcheck.h be defining its own copy and relying on symbol
5143         interposing to marry them all, which doesn't work on Solaris.
5144
5145         * tests/check/elements/identity.c: (GST_START_TEST):
5146         Don't define 'buffers' locally, it comes from libgstcheck.
5147
5148         * tests/check/generic/sinks.c: (send_buffer):
5149         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5150
5151         * tests/check/gst/gststructure.c: (GST_START_TEST):
5152         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5153         * tests/check/gst/gstutils.c: (GST_START_TEST):
5154         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5155         Add a bunch of casts to make various constants fit the types
5156         they're being assigned to.
5157
5158 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5159
5160         * gst/gstchildproxy.c:
5161           Improve docs and add some ideas for making this more general-purpose.
5162
5163 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5164
5165         * gst/gst_private.h: (GST_CAT_TYPES):
5166           Add GST_CAT_TYPES, for consistency, and so that the other
5167           debug categories don't make fun of it. Spotted by Saur on IRC.
5168
5169 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5170
5171         * gst/parse/Makefile.am:
5172           Move types.h from EXTRA_DIST to noinst_HEADERS.
5173
5174 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5175
5176         * autogen.sh:
5177           Add -Wno-portability to the automake parameters to stop warnings
5178           about GNU make extensions being used. We require GNU make in almost
5179           every Makefile anyway.
5180
5181         * configure.ac:
5182           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5183           at the same time is required for per target flags.
5184
5185 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5186
5187         * gst/gstmacros.h:
5188           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5189           __GNUC__ is defined before using it.
5190
5191 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5192
5193         * docs/gst/gstreamer-sections.txt:
5194         * gst/gst.c: (init_post):
5195         * gst/gstplugin.c: (_gst_plugin_register_static),
5196           (gst_plugin_register_static), (_gst_plugin_initialize),
5197           (gst_plugin_register_func):
5198         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5199           API: add gst_plugin_register_static() and deprecate
5200           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5201           (#498924).
5202           Also, in _gst_plugin_register_static(), make sure to call
5203           g_thread_init() before calling GLib functions such as
5204           g_list_append() if we're not initialised yet, since that
5205           may lead to random crashes with older GSlice/GLib versions.
5206
5207         * tests/check/gst/gstplugin.c:
5208           Adapt unit test to above changes.
5209
5210 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5211
5212         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5213         * gst/gstcaps.c: (gst_caps_to_string):
5214         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5215           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5216           Yet another gratuitous GString micro-optimisation: add a (private)
5217           function that serialises a structure appending to an existing
5218           GString, so that when we serialise caps we don't need to alloc+free
5219           a throwaway GString for each structure (each of which also entailing
5220           multiple reallocs on the way); also use g_string_sized_new() in
5221           various places with an approximate string length to avoid reallocs
5222           within GString. See #500143.
5223
5224 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5225
5226         * gst/gststructure.c: (gst_structure_id_set_value):
5227           Always check UTF-8 conformance of structure strings and not only
5228           if the debugging system is enabled; reasoning: the behaviour of
5229           the actual code shouldn't really change depending on whether the
5230           debugging system is enabled or not (#508291).
5231
5232 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5233
5234         * Makefile.am:
5235           Remove old coverage target in favour of "make lcov".
5236
5237 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5238
5239         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5240         (gst_base_src_loop):
5241         The start segment for reverse playback goes from start to last_stop.
5242
5243 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5244
5245         Patch by: Peter Kjellerstedt <pkj axis com>
5246
5247         * gst/gstclock.h:
5248         Cast the results from the timeval/spec_to_time macros to what the
5249         docs say it casts to, a GstClockTime. fixes #508175.
5250
5251 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5252
5253         * gst/gstbuffer.c:
5254         Update some comments.
5255
5256         * tools/gst-inspect.c: (print_element_properties_info):
5257         Improve printing of flags.
5258
5259 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * libs/gst/base/gstbasetransform.c:
5262           (gst_base_transform_transform_size):
5263           Print element name with g_warning() if there's a problem
5264           with the unit size.
5265
5266 2008-01-07  David Schleef  <ds@schleef.org>
5267
5268         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5269
5270         * libs/gst/controller/gstcontroller.h:
5271         * libs/gst/controller/gstcontrolsource.h:
5272         * libs/gst/controller/gstinterpolationcontrolsource.h:
5273         * libs/gst/controller/gstlfocontrolsource.h:
5274         * libs/gst/dataprotocol/dataprotocol.h:
5275           Fix empty prototypes.  Fixes bug #507957.
5276
5277 2008-01-07  David Schleef  <ds@schleef.org>
5278
5279         * docs/faq/dependencies.xml: Fix typo.
5280
5281 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5282
5283         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5284         (gst_base_src_loop):
5285         Don't update the last_stop position in do_seek, that's the position we
5286         did a seek to.
5287         Read backwards when we have a negative rate.
5288
5289         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5290         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5291         (filesrc_suite):
5292         Add check for reverse reading.
5293
5294 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         Patch by: Alexis Ballier <aballier at gentoo org>
5297
5298         * tests/check/gst/gstabi.c:
5299         * tests/check/gst/struct_ppc64.h:
5300         * tests/check/libs/libsabi.c:
5301         * tests/check/libs/struct_ppc64.h:
5302           Decide which header to include based on the userland ABI target
5303           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5304           for 64-bit userland (#503590).  Might need something similar for
5305           x86 too.
5306
5307 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5308
5309         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5310           Log the reason why fopen fails in addition to the fact that it failed.
5311           
5312 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5313
5314         * gst/parse/parse.l:
5315         Use "%option never-interactive" to prevent useless calls to isatty()
5316         on every input when parsing. Also use "%option noinput" to not define
5317         the static input/yyinput functions which we don't use anyway. This
5318         removes a compiler warning with gcc 4.3 and saves some bytes in the
5319         library.
5320         
5321         * gst/parse/lex._gst_parse_yy.pre.c:
5322         Regenerated for the above change.
5323
5324 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5325
5326         * gst/gstpad.c: (fixate_value):
5327         Don't crash when trying to fixate and empty list.
5328         Fixes #506643.
5329
5330 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5331
5332         * docs/faq/gst-uninstalled:
5333         Clarify the comments to make the usage of this script and what it
5334         does easier to understand.
5335
5336 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5337
5338         * tools/gst-plot-timeline.py:
5339         Add more options to gst-plot-timeline
5340
5341 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5342
5343         * docs/design/part-synchronisation.txt:
5344         Some more info on how the stream_time in GstBaseSink is done.
5345
5346 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5347
5348         * tests/check/generic/sinks.c: (gst_sinks_suite):
5349           Put back the tcase_set_timeout(), apparently it's needed after
5350           all; fix it up in a way that makes things work with valgrind too.
5351
5352 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5353
5354         * gst/gstdebugutils.c:
5355           Add warning when failed to open file for writing.
5356
5357 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5358
5359         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5360
5361         * gst/gstvalue.c: (gst_value_is_fixed):
5362           Optimisation: bail out of the loop as early as possible (#500143).
5363
5364 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5365
5366         * gst/gstcaps.c: (gst_caps_to_string):
5367         * gst/gstinfo.c: (gst_debug_construct_term_color):
5368         * gst/gstparse.c: (gst_parse_launchv):
5369         * gst/gstutils.c: (gst_util_dump_mem):
5370         * gst/gstvalue.c: (gst_value_serialize_any_list),
5371           (gst_value_transform_any_list_string):
5372           Bunch of gratuitous nano-optimisations.
5373
5374 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5375
5376         * tests/check/generic/sinks.c: (async_done_func),
5377           (async_done_eos_func):
5378           Fix leak in unit test (bus sync handler must unref the message
5379           if it returns GST_BUS_DROP). Don't fiddle with the default test
5380           timeout, this is smaller than the current preconfigured value
5381           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5382           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5383
5384 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5385
5386         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5387
5388         * configure.ac:
5389         Check for stdio_ext.h for the filesink changes.
5390
5391         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5392         (gst_file_sink_class_init), (gst_file_sink_init),
5393         (gst_file_sink_dispose), (gst_file_sink_set_property),
5394         (gst_file_sink_get_property), (gst_file_sink_open_file),
5395         (gst_file_sink_close_file):
5396         * plugins/elements/gstfilesink.h:
5397         Add two properties to control the buffering mode and size.
5398         API: GstFileSink::buffer-mode
5399         API: GstFileSink::buffer-size
5400         Fixes #500150.
5401
5402 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5403
5404         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5405         Add some more docs to explain why a FIXME was wrongly added. 
5406
5407 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5408
5409         * gst/gstobject.c:
5410           Fix typo in the gst_object_{ref,unref} documentation.
5411
5412 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5413
5414         * tests/check/libs/controller.c:
5415         * tests/check/libs/typefindhelper.c:
5416         * tests/check/pipelines/parse-launch.c:
5417           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5418           going to be deprecated (see #498924).
5419
5420 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5421
5422         * gst/gsttypefind.c: (gst_type_find_register):
5423           Make gst_type_find_register work for static typefind functions,
5424           ie. allow passing plugin == NULL (prerequisite for #498924).
5425
5426         * gst/gstelementfactory.c: (gst_element_register):
5427           Small docs addition.
5428
5429 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5430
5431         * gst/gstpad.c: (gst_pad_dispose):
5432         Really unlink the peer pad instead of setting the peer pointer to NULL
5433         when we dispose the pad.
5434         This correctly calls the unlink functions and makes sure that the peer
5435         does not have a handle to invalid memory. See #504671.
5436
5437         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5438         Add testsuite for above case.
5439
5440 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5441
5442         Patch by: Peter Kjellerstedt <pkj axis com>
5443
5444         * libs/gst/check/gstcheck.h:
5445           Fix detection of the check version we're compiling against (would
5446           otherwise break if check goes v0.10.0); correctly report the
5447           name of the failed test again in case of failure, instead of
5448           just 'tf' (fixes #504499).
5449
5450 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5451
5452         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5453         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5454         (gst_base_src_loop), (gst_base_src_set_flushing),
5455         (gst_base_src_change_state):
5456         Allow sending EOS to the source to make it send out an EOS event from
5457         the streaming thread.
5458         Update docs and deprecate the old NULL/READY shutdown method.
5459
5460         * tests/check/libs/basesrc.c: (GST_START_TEST),
5461         (gst_basesrc_suite):
5462         Add unit test for controlled shutdown.
5463
5464 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5465
5466         * docs/design/part-synchronisation.txt:
5467         Small updates.
5468
5469         * gst/gstsegment.c: (gst_segment_set_seek),
5470         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5471         (gst_segment_to_running_time):
5472         The seek format can be different from the segment format when the start
5473         and stop values are not to be updated, when we only do a rate change for
5474         example.
5475
5476         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5477         (gst_segment_suite):
5478         Add a testcase for the rate-only seeks, checking that the format is
5479         correctly ignored when start and stop are not updated.
5480
5481 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5482
5483         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5484
5485         * win32/vs8/grammar.vcproj:
5486         * win32/vs8/libgstcontroller.vcproj:
5487         * win32/vs8/libgstreamer.vcproj:
5488         Fix compilation with VS8 and include some missing files.
5489
5490 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5491
5492         * gst/gsttaglist.c:
5493           Small docs addition: mention that the strings returned by
5494           gst_tag_list_get_string*() are in UTF-8 encoding.
5495
5496 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5497
5498         * Makefile.am:
5499           The check-exports stuff moved to common/win32.mak, so include that.
5500
5501 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5502
5503         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5504         (gst_base_src_perform_seek), (gst_base_src_get_range),
5505         (gst_base_src_set_playing), (gst_base_src_change_state):
5506         Make _wait_playing() not check any variables so that we can call this
5507         function from subclasses. Move the checks elsewhere similar to
5508         _wait_preroll() in basesink.
5509         Add some debugging.
5510         Only signal the LIVE cond when we are going back to PLAYING.
5511
5512 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5513
5514         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5515           Use g_remove() and g_rename(). Check result of g_rename(), and
5516           don't leak the open file descriptor if we error out when writing.
5517
5518         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5519           Must check the return value of close() after writing out the new
5520           registry file.  Sometimes write problems such as out-of-diskspace
5521           are only reported when the file is closed and not already during
5522           the write.  This may have caused partial/broken registry files in
5523           some rare circumstances. Should fix #503675.
5524
5525 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5526
5527         * docs/gst/.cvsignore:
5528         * docs/libs/.cvsignore:
5529         * docs/plugins/.cvsignore:
5530         Ignore files generated by new common/* modifications
5531
5532 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5533
5534         * win32/common/libgstbase.def:
5535           Yes, you can also have a <TAB> if you want.
5536
5537 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5538
5539         * win32/common/libgstbase.def:
5540           Add new basetransform API to win export file.
5541
5542 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * tests/check/gst/gstbin.c:
5545           Adjust the test to the refcount change two days ago.
5546
5547 2007-12-14  David Schleef  <ds@schleef.org>
5548
5549         * docs/faq/getting.xml: Fix typo.
5550
5551 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5552
5553         * docs/libs/gstreamer-libs-sections.txt:
5554         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5555           (gst_base_transform_prepare_output_buffer),
5556           (gst_base_transform_set_gap_aware):
5557         * libs/gst/base/gstbasetransform.h:
5558           API: Add gst_base_transform_set_gap_aware() to control whether
5559           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5560           get buffers with this flag at all. Fixes #503231.
5561
5562 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5563
5564         * libs/gst/base/gstbasesink.c:
5565         * libs/gst/base/gstbasesrc.c:
5566         * libs/gst/base/gstbasetransform.c:
5567           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5568           thread. Correct log message in gstbasesrc.c.
5569
5570 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5571
5572         * gst/gstutils.c: (element_find_unconnected_pad):
5573           Fix possible compiler warning (#503417).
5574
5575 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5576
5577         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5578           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5579
5580 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5581
5582         * tools/gst-inspect.c: (print_element_properties_info):
5583           Add support for GstFraction properties.
5584
5585 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5586
5587         * Makefile.am:
5588           Add check-exports target and run it as part of 'make check'
5589           (see #499140 and #493983).
5590
5591         * gst/gst_private.h:
5592         * gst/gstelementfactory.h:
5593         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5594         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5595           (_priv_gst_in_valgrind):
5596         * gst/gstinfo.h: (GstLogFunction):
5597         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5598           (gst_type_find_register):
5599         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5600           (gst_type_find_factory_get_type):
5601         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5602           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5603           (gst_controller_new_valist), (gst_controller_new_list),
5604           (_gst_controller_dispose), (_gst_controller_class_init):
5605         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5606         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5607           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5608           (gst_object_get_controller), (gst_object_set_controller),
5609           (gst_object_suggest_next_sync), (gst_object_sync_values),
5610           (gst_object_set_control_source), (gst_object_get_control_source),
5611           (gst_object_get_value_arrays), (gst_object_get_value_array),
5612           (gst_object_get_control_rate), (gst_object_set_control_rate):
5613         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5614         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5615           Make some functions that should be static static; rename some
5616           private symbols so that they don't get exported; add some FIXME
5617           comments so we can move accidentally exported functions into
5618           our private section in 0.11.
5619
5620         * win32/common/libgstreamer.def:
5621           Add gst_utils_get_timestamp().
5622
5623 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5624
5625         * gst/gstvalue.c:
5626         * gst/gstvalue.h:
5627           Add more missing "Since:" tags to docs.
5628
5629 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5630
5631         * gst/gstutils.c:
5632           Add mising "Since:" to docs.
5633
5634 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5635
5636         * gst/gstplugin.c:
5637           Include "glib-compat-private.h" to fix the build on system with
5638           glib < 2.10. Fixes #503131.
5639
5640 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5641
5642         * gst/gstutils.c:
5643         * gst/gstutils.h:
5644           Actually its not PURE as it gets the time from elsewhere.
5645
5646 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5647
5648         * docs/gst/gstreamer-sections.txt:
5649         * gst/gstclock.h:
5650         * gst/gstdebugutils.c:
5651         * gst/gstinfo.c:
5652         * gst/gstutils.c:
5653         * gst/gstutils.h:
5654         * libs/gst/base/gstbasesink.c:
5655         * tools/gst-launch.c:
5656           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5657           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5658           Thanks Tim for spotting.
5659           API: gst_util_get_timestamp
5660
5661 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5662
5663         * configure.ac:
5664           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5665
5666 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5667
5668         * gst/gststructure.c: (gst_structure_validate_name),
5669           (gst_structure_new_valist), (gst_structure_parse_value),
5670           (gst_structure_from_string):
5671           Don't crash in _from_string() if the structure name is not valid
5672           (fixes #501560).  Allow structure names to start with a number
5673           again (this apparently broke the ubuntu codec installer).
5674
5675         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5676           (GST_START_TEST):
5677           Add unit test for the crash; update unit tests for new behaviour.
5678
5679 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5680
5681         * gst/gstutils.c:
5682         Clarify gst_element_get_compatible_pad() documentation.
5683         Fixes #500919.
5684
5685 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5686
5687         * tests/check/Makefile.am:
5688           Don't forget to dist {gst,libs}/struct_hppa.h.
5689
5690 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5691
5692         * libs/gst/base/gstbasesink.c:
5693           Use new API to get elapsed time.
5694
5695 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5696
5697         * gst/gstdebugutils.c:
5698         * gst/gstinfo.c:
5699           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5700
5701         * tools/gst-launch.c:
5702           Use new API to get elapsed time.
5703
5704 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * docs/gst/gstreamer-sections.txt:
5707         * gst/gstclock.h:
5708         * gst/gstdebugutils.c:
5709         * gst/gstinfo.c:
5710           Rename new API + ChangeLog surgery to remove old name from last entry..
5711
5712 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5713
5714         * docs/gst/gstreamer-sections.txt:
5715         * gst/gstclock.h:
5716         * gst/gstdebugutils.c:
5717         * gst/gstinfo.c:
5718           Now hide the different clock stuff behind a macro.
5719
5720 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5721
5722         * configure.ac:
5723         * gst/gstdebugutils.c:
5724         * gst/gstinfo.c:
5725           Apply the posix-timer check from #361155. Conditionally use the posix
5726           timer for logging. This gives better timestamp precission, less
5727           overhead and no ntp jitter.
5728
5729 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5730
5731         * gst/gstminiobject.c: (gst_mini_object_get_type),
5732         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5733         (gst_mini_object_finalize), (gst_mini_object_copy),
5734         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5735         (gst_mini_object_replace), (param_mini_object_validate),
5736         (gst_param_spec_mini_object_get_type):
5737         Some cleanup and checking against invalid function parameters.
5738
5739 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5740
5741         * docs/gst/gstreamer-sections.txt:
5742         * gst/gstclock.h:
5743         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5744         (gst_systemclock_suite):
5745         Start merging in the easy bits of #361155, the monotonic clock patch.
5746         This one adds a few handy macros with docs and a testsuite.
5747
5748 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5749
5750         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5751         Be a bit smarter when seeking, like, don't try to do a seek when it's
5752         not needed. This avoids errors when the file is not seekable.
5753         Fixes #499771.
5754
5755 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5756
5757         * docs/gst/gstreamer-docs.sgml:
5758         * docs/gst/gstreamer-sections.txt:
5759         * docs/gst/gstreamer.types.in:
5760         * gst/Makefile.am:
5761         * gst/gst.h:
5762         * gst/gstpreset.c:
5763         * gst/gstpreset.h:
5764         * plugins/elements/gstqueue.c:
5765           Due to popular request remove preset interface again. :-(.
5766
5767 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5768
5769         * tools/gst-inspect.c:
5770           Print 'default value' for enums and flags too.
5771
5772 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5773
5774         * docs/random/ensonic/profiling.txt:
5775           More ideas.
5776
5777         * gst/gstbin.c:
5778           Fix typo and give better log output.
5779
5780         * gst/gstdebugutils.c:
5781         * gst/gstdebugutils.h:
5782           More ideas, make graphs a bit smaller and fix param name in macro.
5783
5784 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5785
5786         * gst/gstpreset.c:
5787           Try harder to use the return value from fgets().
5788
5789 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5790
5791         * gst/gstpreset.c:
5792           For theses two fgets we handle the error below.
5793
5794 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5795
5796         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5797         Only send upstream events upstream. Fixes #498746.
5798
5799 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5800
5801         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5802
5803         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5804         (gst_identity_init), (gst_identity_transform_ip),
5805         (gst_identity_set_property), (gst_identity_get_property):
5806         * plugins/elements/gstidentity.h:
5807         Add property to disable handoff signal emission. Fixes #498694.
5808         API: GstIdentity::signal-handoffs
5809
5810 2007-11-21  Julien Moutte  <julien@fluendo.com>
5811
5812         * docs/faq/gst-uninstalled: Yet another missing library for the
5813         uninstalled script (fft)
5814
5815 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5816
5817         * docs/faq/developing.xml:
5818         Add a question about how to submit new translations.
5819
5820         * docs/random/release:
5821         Update the contact email address for the Translation Project
5822
5823         * plugins/elements/gstfdsrc.c:
5824         The parent_class for fdsrc is pushsrc, not GstElement.
5825
5826 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5827
5828         * gst/gstpreset.c:
5829           Plug a leak and fix saving.
5830
5831 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5832
5833         * docs/gst/gstreamer-sections.txt:
5834         Add new gst_preset__get_property_names() function to the docs
5835         to fix the build.
5836
5837 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5838
5839         * gst/gstpreset.c:
5840         * gst/gstpreset.h:
5841           Change _get_preset_names API to return a strv with copies. Add
5842           _get_property_names to allow implementations to filter and provide
5843           good default implementation.
5844
5845 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5846
5847         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5848         script (sdp).
5849
5850 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5851
5852         * gst/gstpreset.c:
5853           More cleanups, docs, and TODOs from comments that now slowly come in.
5854
5855 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5856
5857         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5858         search path.
5859
5860 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5861
5862         * gst/gstpreset.c:
5863           Fix bogus warning and make the property type specific code more
5864           similar.
5865
5866 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5867
5868         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5869         it build on OS X.
5870
5871 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5872
5873         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5874         (gst_bin_add_func), (gst_bin_remove_func),
5875         (gst_bin_change_state_func), (gst_bin_continue_func):
5876         Change email, cleanups add some more debug and comments.
5877         Also set bus and clock on new elements when the pipeline was in error.
5878
5879 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5880
5881         * gst/gstbin.c:
5882         * gst/gstdebugutils.c:
5883           Fix build with --disable-gst-debug. Fixes #497859.
5884           Spotted by Sameer Naik.
5885
5886 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5887
5888         * gst/gstevent.c:
5889           Little documentation improvment.
5890
5891         * gst/gstpreset.c:
5892           More TODO cleanups. Remove c++ comments.
5893
5894         * libs/gst/controller/gstcontroller.c:
5895           Add TODO and use quark from static string.
5896
5897         * tests/check/gst/gstmessage.c:
5898         * tests/check/gst/gststructure.c:
5899           Use quark from static string.
5900
5901 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5902
5903         * gst/gstpreset.c:
5904           Add some comments and TODOs.
5905
5906         * gst/gstpreset.h:
5907           Add padding for future changes.
5908
5909         * plugins/elements/gstqueue.c:
5910           Implement the iface.    
5911
5912 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5913
5914         * docs/gst/gstreamer-docs.sgml:
5915         * docs/gst/gstreamer-sections.txt:
5916         * docs/gst/gstreamer.types.in:
5917         * gst/Makefile.am:
5918         * gst/gst.h:
5919         * gst/gstpreset.c:
5920         * gst/gstpreset.h:
5921           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5922
5923 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5924
5925         * configure.ac:
5926
5927         Back to CVS
5928
5929 === release 0.10.15 ===
5930
5931 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5932
5933         * configure.ac:
5934           releasing 0.10.15, "October"
5935
5936 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5937
5938         * win32/vs6/libgstreamer.dsp:
5939         Convert line endings back to DOS.
5940
5941 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5942
5943         * docs/design/draft-tagreading.txt:
5944         * docs/random/ensonic/profiling.txt:
5945         Update fast tagreading draft and performance profiling ideas.
5946
5947 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5948
5949         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5950         Don't hold the object lock when unreffing a buffer because it could
5951         cause a deadlock when the finalize function wants to grab the object
5952         lock too. Fixes #495133.
5953
5954 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5955
5956         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5957         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5958         Also accumulate time correctly when doing reverse playback. Fixes
5959         #488201,
5960         When converting to running and stream time, use default values for
5961         start/stop/time/accum when comparing different formats. Fixes #494245.
5962
5963         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5964         Do running/stream time in TIME format.
5965
5966         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5967         (gst_segment_suite):
5968         2 new unit tests for segment accumulation.
5969
5970 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5971
5972         * gst/gst.c: (init_pre):
5973         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5974           (_gst_debug_bin_to_dot_file):
5975           Move getenv() back into gst_init, so everyone can live happily
5976           ever after. Make sure the symbol isn't exported though.
5977
5978 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5979
5980         Patch by: Sebastien Moutte  <sebastien moutte net>
5981
5982         * win32/common/gstenumtypes.c:
5983         * win32/common/gstenumtypes.h:
5984           Update enum types.
5985
5986         * win32/vs6/libgstreamer.dsp:
5987           Update vs6 project files (#494343).
5988
5989 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5990
5991         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5992         (gst_base_src_perform_seek), (gst_base_src_default_event),
5993         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5994         (gst_base_src_activate_pull):
5995         Unify flushing code, remove some old unlock code that is no longer used.
5996         Take the streaming lock when seeking to avoid races. Fixes #492729.
5997         Added some more comments.
5998
5999 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6000
6001         * gst/gst.c: (_gst_disable_segtrap):
6002           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6003           we can use gst_segtrap_is_enabled() there now that we have that API.
6004           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6005           to do the getenv here (and export the variable).
6006
6007         * gst/gstdebugutils.c: (debug_dump_element),
6008           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6009           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6010
6011         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6012           (gst_debug_log_default):
6013           Rename _gst_info_start_time to priv_gst_info_start_time so it
6014           doesn't get exported (was never in any header).
6015
6016         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6017           (gst_plugin_loading_mutex):
6018           Make static mutex gst_plugin_loading_mutex really static (was never
6019           in any header), and use gst_segtrap_is_enabled() instead of
6020           _gst_disable_segtrap.
6021
6022         * gst/gsttrace.c: (_gst_trace_default):
6023           Make local _gst_trace_default static (was never in any header).
6024
6025 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6026
6027         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6028
6029         * win32/common/libgstbase.def:
6030         * win32/common/libgstcontroller.def:
6031         * win32/common/libgstdataprotocol.def:
6032         * win32/common/libgstnet.def:
6033         * win32/common/libgstreamer.def:
6034           Add more missing symbols, remove some duplicates, and sort
6035           as the 'sort' command sorts it (partially fixes #493983).
6036
6037 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6038
6039         * gst/gstelement.c: (gst_element_set_state_func):
6040         Only change the state cookie if a different state was set on the
6041         element. See #492729.
6042
6043 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6044
6045         * gst/gstvalue.c:
6046           Remove unused and uninitialised type variables that were still
6047           exported for some reason (they were never in any header files
6048           though).
6049
6050 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6051
6052         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6053         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6054         (gst_base_sink_event), (gst_base_sink_get_position_last),
6055         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6056         (gst_base_sink_change_state):
6057         Don't try to report a 0 position when we don't know, return -1 and FALSE
6058         instead. This mostly happens when we are prerolling.
6059         Make sure we can report the right position before we post the ASYNC_DONE
6060         message so that a message handler can query position without races.
6061
6062         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6063         (async_done_handoff), (async_done_func), (send_buffer),
6064         (async_done_eos_func), (gst_sinks_suite):
6065         Add two tests for the above.
6066
6067 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6068
6069         * MAINTAINERS:
6070         Update with new email address.
6071
6072         * docs/design/part-TODO.txt:
6073         Add some more info about future pad-block and negotiation changes.
6074
6075         * docs/design/part-buffering.txt:
6076         Add some ideas about buffering reporting.
6077
6078 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6079
6080         * tests/check/gst/gstobject.c:
6081         Disable silly racy test that always fails on this combination of CPU
6082         and kernel.
6083
6084 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6085
6086         Patch by: Murray Cumming  <murrayc@murrayc.com>
6087
6088         * gst/gstobject.c:
6089           Corrected the registration of the parent-set and parent-unset
6090           signals: The parameter is a GstObject, not a GObject (#493134).
6091
6092 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * gst/gst_private.h:
6095         * gst/gstbuffer.h:
6096         * gst/gstevent.h:
6097         * gst/gstformat.h:
6098         * gst/gstmessage.h:
6099         * gst/gstplugin.h:
6100         * gst/gstquery.h:
6101         * gst/gsttaglist.h:
6102         * gst/gstvalue.h:
6103           Move declaration of private _gst_foo_initialize() functions into
6104           our private header file where they should have been all along.
6105
6106 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6107
6108         * docs/plugins/gstreamer-plugins-sections.txt:
6109         * gst/gstdebugutils.h:
6110         * gst/gstxml.h:
6111         * plugins/elements/gstqueue.c:
6112           gtk-doc fixes; trailing-comma-in-enum fix.
6113
6114 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6115
6116         * gst/gst.c: (gst_deinit):
6117           Clean up on deinit (not the external ones though, doesn't seem to be
6118           needed for some reason).
6119
6120 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6121
6122         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6123           Remove __declspec(dllimport) for MSVC that was copied over into core
6124           from a plugin, obviously without ever having been tested (note the
6125           single underscore in _declspec in the initial commit), and that doesn't
6126           really make sense.  See #492077.
6127
6128 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6129
6130         * gst/gst.c: (init_post):
6131         * gst/gstevent.c: (_gst_event_initialize):
6132         * gst/gstquery.c: (_gst_query_initialize):
6133         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6134           g_type_class_ref() other types as well, see #349410 and #64764.
6135
6136         * gst/gstbuffer.c: (_gst_buffer_initialize):
6137         * gst/gstmessage.c: (_gst_message_initialize):
6138           Simplify existing g_type_class_ref().
6139
6140 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6141
6142         * gst/gstformat.c: (_gst_format_initialize):
6143           g_type_class_ref() our GstFormat type to make sure we avoid the
6144           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6145           bug #64764. Should fix intermittent tee unit test failures (#474823).
6146
6147 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6148
6149         * tests/check/elements/tee.c: (test_num_buffers):
6150           Simplify, simplify, simplify - or not.  Rewrite unit test
6151           not to use gst_parse_launch(); allow N sub-streams. Increasing
6152           the number of sub-streams seems to reproduce #474823 more easily.
6153
6154 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6155
6156         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6157
6158         * gst/gsttrace.c:
6159         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6160         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6161         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6162           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6163           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6164           so use _pipe() directly (#492077).
6165
6166         * win32/common/dirent.c: (_treaddir):
6167           Add a couple of casts to make it build without warnings with MSVC.
6168
6169         * win32/common/libgstreamer.def:
6170           Add some more symbols that need to be exported.
6171
6172 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6173
6174         * tests/examples/metadata/read-metadata.c: (message_loop):
6175           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6176           arriving in a second or third tag message are added to
6177           the tag list as well.
6178
6179 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6180
6181         * libs/gst/base/gstbasesrc.c:
6182           Its "Since:" and not "@Since:". And remove an superflous cast.
6183
6184 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6185
6186         * docs/libs/gstreamer-libs-sections.txt:
6187         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6188         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6189         (gst_base_sink_get_property), (gst_base_sink_render_object),
6190         (gst_base_sink_preroll_object),
6191         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6192         (gst_base_sink_change_state):
6193         * libs/gst/base/gstbasesink.h:
6194         Add a new last-buffer property that contains the last buffer used in
6195         basesink for preroll or rendering. useful for making snapshots.
6196         API: gst_base_sink_get_last_buffer()
6197         API: GstBaseSink::last-buffer
6198
6199 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6200
6201         * docs/gst/running.xml:
6202         * gst/gst.c:
6203         * gst/gstdebugutils.c:
6204         * gst/gstdebugutils.h:
6205         * tools/gst-launch.c:
6206           Improve bin graph dumping, by using the envvar to specify a path.
6207           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6208
6209 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6210
6211         * plugins/elements/gsttypefindelement.c:
6212           (gst_type_find_element_handle_event),
6213           (gst_type_find_element_activate):
6214           Post special error message if we can't determine the type of a stream
6215           because it's empty.
6216
6217 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6218
6219         * docs/gst/running.xml:
6220         * gst/gstdebugutils.c:
6221           Document new env-var. Add one log-line after dumpng a graph.
6222
6223 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6224
6225         * configure.ac:
6226           Ugly hack to put the (recently removed and non-portable, apparently)
6227           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6228           GNU ld, because without that 'make check' fails miserably on my debian
6229           stable box.  Someone with more knowledge of linker intricacies and
6230           portability issues than me fix this properly please.
6231
6232 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6233
6234         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6235         Reset last seen position after flushing so that we don't report the old
6236         position anymore.
6237
6238 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6239
6240         * gst/gstelementfactory.c: (gst_element_register):
6241         * gst/gsturi.h:
6242         Patch from Alessandro Decina adding get_type_full and
6243         get_protocols_full private vfuncs to the URIHandler interface
6244         to allow bindings to support creating URI handlers. 
6245         Partially fixes: #339279
6246         API: GstURIHandlerInterface::get_type_full
6247         API: GstURIHandlerInterface::get_protocols_full
6248
6249 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6250
6251         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6252         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6253         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6254         Make it so that pads are considered linked until a buffer is pushed
6255         and discovered otherwise. This avoids problems with decodebin2 hanging
6256         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6257         case.
6258
6259         Make sure we lock the multiqueue when updating the max-size properties.
6260         
6261         Fix a crash on Solaris in a debug statement in get_request_pad that
6262         passes a NULL string to GST_DEBUG. 
6263
6264         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6265         (run_output_order_test):
6266         Fix the test to allow the first buffer on not-linked pads to come out
6267         of sequence while multiqueue discovers that they are not-linked.
6268
6269 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6270
6271         * configure.ac:
6272         * libs/gst/check/Makefile.am:
6273         Use a custom export symbol regex for libgstcheck, as it needs
6274         to export symbols that don't match the standard GStreamer gst_*
6275         pattern, and  --export-dynamic is not portable (only works on 
6276         GNU ld)
6277
6278         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6279         (gst_check_setup_sink_pad):
6280         Make sure to pass a message parameter to the fail_* macros.
6281
6282         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6283         Fix some compiler warnings.
6284
6285 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6286
6287         * tests/check/gst/gststructure.c: (test_to_string):
6288           Disable test that checks that white spaces are not allowed
6289           in structure names or field names, since we need to
6290           support that for now for backwards compatibility reasons.
6291
6292 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6293
6294         * docs/gst/gstreamer-sections.txt:
6295         * gst/gsttaglist.c:
6296         * gst/gsttaglist.h:
6297           API: add GST_TAG_ARTIST_SORTNAME
6298           API: add GST_TAG_ALBUM_SORTNAME
6299           API: add GST_TAG_TITLE_SORTNAME
6300           Add tag variants for sorting (#414539).
6301
6302 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6303
6304         * gst/gststructure.c:
6305           Also allow white space for names so we don't break
6306           backwards compatibility.
6307
6308 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6309
6310         * docs/design/part-TODO.txt:
6311         * docs/design/part-segments.txt:
6312         * docs/design/part-streams.txt:
6313         Small updates.
6314
6315 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6316
6317         * docs/gst/gstreamer-sections.txt:
6318          Fixed documentation from my previous commit (added new API add
6319          gst_value_set_structure(), add gst_value_get_structure() and
6320          GST_VALUE_HOLDS_STRUCTURE).
6321
6322 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6323
6324         * gst/gstdebugutils.c:
6325           Reflow code to fix uninitialized variable warning.
6326
6327 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6328
6329         * gst/gstcaps.c: (gst_caps_to_string),
6330         (gst_caps_from_string_inplace):
6331         * gst/gststructure.c: (gst_structure_get_abbrs),
6332         (gst_structure_to_string), (gst_structure_from_string):
6333         * gst/gstvalue.c: (gst_value_set_structure),
6334         (gst_value_get_structure), (gst_value_serialize_structure),
6335         (gst_value_deserialize_structure), (_gst_value_initialize):
6336         * gst/gstvalue.h:
6337         * tests/check/gst/gststructure.c: (GST_START_TEST),
6338         (gst_structure_suite):
6339         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6340          Added GstStructure to gst_value_table and its related functions.
6341          Changed gst_structure_to_string to print ';' in the end.
6342          Changed gst_caps_to_string to not print ';' beteween its
6343          fields (structures) anymore and remove the lastes ';' from latest
6344          structure. Now it is possible to have nested structures.
6345          In addition, backward compatibilty is assured by accepting '\0' as
6346          end delimiter. Fixes: #487969.
6347          API: add gst_value_set_structure()
6348          API: add gst_value_get_structure()
6349          API: add GST_VALUE_HOLDS_STRUCTURE
6350
6351 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6352
6353         * gst/gstbus.c:
6354           When no GSource callback has been set up, tell developer
6355           to use a function that actually exists.
6356
6357 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6358
6359         * docs/gst/gstreamer-sections.txt:
6360         * gst/Makefile.am:
6361         * gst/gst.c:
6362         * gst/gst.h:
6363         * gst/gstdebugutils.c:
6364         * gst/gstdebugutils.h:
6365         * gst/gstinfo.c:
6366         * gst/gstinfo.h:
6367         * tools/gst-launch.c:
6368           Allow dumping pipelines as dot graphs. Fixes #456573.
6369
6370 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6371
6372         * gst/gststructure.c:
6373           Allow '+' as well, it can be part of media or mime types
6374           such as image/svg+xml.
6375
6376 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6377
6378         * docs/gst/gstreamer-sections.txt:
6379         * gst/gstbus.c:
6380         * gst/gstbus.h:
6381           API: add gst_bus_pop_filtered
6382           API: add gst_bus_timed_pop_filtered
6383           Two new functions for waiting for specific message types on the
6384           bus for a specified amount of time without iterating any main
6385           loops or main contexts.
6386
6387         * tests/check/gst/gstbus.c:
6388           Some tests for the new functions.
6389
6390 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * docs/libs/gstreamer-libs-sections.txt:
6393           Make gtk-doc ignore stuff it should ignore.
6394
6395 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6396
6397         * libs/gst/check/gstcheck.c:
6398         * libs/gst/check/gstcheck.h:
6399           Allow runtime selection of unit tests to run via the GST_CHECKS
6400           environment variable (test case function names, comma-separated).
6401
6402 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6403
6404         * gst/gststructure.c:
6405         * tests/check/gst/gststructure.c:
6406           Revert serialisation change and constrain structure-names after
6407           consensus on irc. Update api documentation to reflect the change.
6408
6409 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6410
6411         * gst/gststructure.c:
6412           Improve serialization and fix tests.
6413
6414         * tests/check/gst/gststructure.c:
6415           Add another test that covers why I actually did the previous structure
6416           change.
6417
6418 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6419
6420         * tools/gst-inspect.c: (print_element_info):
6421         Don't crash when inspecting an element.
6422
6423 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6424
6425         * tests/check/gst/gststructure.c:
6426           Add unit test for escaping of structure name when serialising
6427           and deserialising to/from strings.
6428
6429 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6430
6431         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6432         (gst_single_queue_new):
6433         * plugins/elements/gstqueue.c: (gst_queue_init),
6434         (gst_queue_push_one):
6435         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6436         upstream is tricked into thinking it can suggest a format downstream
6437         while downstream does not support that format. The real problem is that
6438         core calls acceptcaps when pushing a buffer with new caps, for which we
6439         do a little workaround by setting the caps on the srcpad ourselves
6440         before pushing the buffer (until this is figured out). Fixes #486758.
6441
6442 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6443
6444         * gst/gststructure.c:
6445         * gst/gstvalue.c:
6446           Add some more comments and debug output. Quote structure name to fix
6447           deserialisation of some strings.
6448
6449 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6450
6451         * gst/gstbuffer.h:
6452           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6453           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6454
6455 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6456
6457         * tools/gst-inspect.c:
6458           Save approx. 400 1 byte allocs when printing. Use API to acces element
6459           details.
6460
6461         * tools/gst-run.c:
6462           Avoid a strdup.
6463
6464         * tools/gst-xmlinspect.c:
6465           Use API to acces element details.
6466
6467 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6468
6469         * gst/gstinfo.c:
6470           Fix some spelling errors.
6471
6472 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6473
6474         * gst/gstbin.c: (bin_handle_async_done):
6475         Correctly set the next state if all of our async children commited their
6476         state. This makes sure we can actually cancel the state change in
6477         progress. Fixes a regression in Rhythmbox when seeking.
6478
6479 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6480
6481         * gst/gstbin.c:
6482           Don't shadow local variable.
6483
6484         * gst/gstinfo.c:
6485           Don't shadow global function name.
6486
6487 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * gst/gstelementfactory.c:
6490         * gst/gstpluginfeature.c:
6491         * gst/gstpluginfeature.h:
6492         * gst/gstregistrybinary.c:
6493         * gst/gstregistryxml.c:
6494         * gst/gsttypefind.c:
6495           Use already-interned string for the private GstPluginFeature
6496           plugin_name field.
6497
6498 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6499
6500         * docs/libs/gstreamer-libs-sections.txt:
6501           Add new API to docs; fixes the build.
6502
6503 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6504         
6505         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6506
6507         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6508         (gst_base_sink_event):
6509         * libs/gst/base/gstbasesink.h:
6510         Add function to wait for EOS, subclasses can use this to correctly wait
6511         for devices to drain before performing the EOS logic. Fixes #485343.
6512         API: gst_base_sink_wait_eos()
6513
6514 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6515
6516         * gst/gstplugin.h:
6517           Cast description string constants in GST_PLUGIN_DEFINE macros
6518           to a (gchar*) to make C++ code using these macros compile
6519           without warning with g++-4.2 (see #462737).  Even if slightly
6520           ugly, this seems preferable to putting the description strings
6521           into the GLib quark table or making the structure member a
6522           const gchar * and doing casts in core code that allocs and
6523           frees these strings, or requiring a cast in the C++ code.
6524
6525 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6526
6527         * gst/gstinfo.h:
6528           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6529           to print the entire class/function signature into the log
6530           file for C++ code.  This only affects C++ code, for C code
6531           everything remains the same.
6532
6533 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6534
6535         * gst/gstbin.c: (remove_from_queue):
6536         Work around a problem with pipelines containing (semi)loops until a
6537         proper, more complicated solution is ready. See #475455.
6538
6539 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6540
6541         * gst/gstplugin.c:
6542         * gst/gstplugin.h:
6543         * gst/gstregistrybinary.c:
6544         * gst/gstregistryxml.c:
6545           Put more strings into the GLib quark table. No need to keep
6546           a hundred-something copies of identical version strings,
6547           license strings, package name strings and package origin
6548           strings around. 
6549
6550 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6551
6552         * docs/manual/advanced-dataaccess.xml:
6553           Don't imply that it's okay to unconditionally change
6554           buffer data or buffer metadata in a pad probe callback,
6555           and a bunch of other comments. Fixes #430031.
6556
6557 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6558
6559         * win32/common/gstenumtypes.c:
6560         * win32/common/gstenumtypes.h:
6561         * win32/common/gstversion.h:
6562           Update generated files.
6563
6564 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6565
6566         * docs/manual/advanced-autoplugging.xml:
6567           Prefix section with broken code with a warning (see #342432).
6568
6569 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6570
6571         * docs/manual/appendix-integration.xml:
6572         * docs/manual/basics-init.xml:
6573           Call g_thread_init() before g_option_context_new() to
6574           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6575
6576 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6577
6578         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6579         (gst_base_sink_queue_object_unlocked),
6580         (gst_base_sink_queue_object), (gst_base_sink_event),
6581         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6582         When we received EOS and are waiting for when to post the EOS message,
6583         our state is prerolled and we should not return ASYNC.
6584         Reorganize some code paths to implement this behavior.
6585
6586         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6587         (gst_sinks_suite):
6588         Add unit test to verify above EOS fix.
6589
6590 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6591
6592         * plugins/elements/gsttypefindelement.c:
6593         (gst_type_find_element_have_type), (gst_type_find_element_init),
6594         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6595         Move detecting the input caps of the sinkpad to the setcaps function.
6596         This allows us to update the output caps when we receive new input caps
6597         instead of always using the first detected caps.
6598
6599 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6600
6601         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6602         (gst_base_sink_get_position):
6603         Don't try to preroll non-async elements after a flush.
6604         Subtract latency form clock times when reporting position.
6605
6606 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6607
6608         * gst/gstpad.c: (gst_pad_pause_task):
6609         * gst/gstutils.c:
6610         Small comment and documentation update.
6611
6612 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6613
6614         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6615         (gst_base_src_set_live), (gst_base_src_is_live),
6616         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6617         (gst_base_src_default_event), (gst_base_src_wait),
6618         (gst_base_src_do_sync), (gst_base_src_get_range),
6619         (gst_base_src_pad_get_range), (gst_base_src_loop),
6620         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6621         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6622         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6623         (gst_base_src_change_state):
6624         Rework the locking of basesrc in a similar fashion to basesink. We
6625         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6626         us to handle live sources and semi live ones much better.
6627         Simplify flushing.
6628         Fix unlocking when seeking, shutting down and pausing in live sources.
6629
6630 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6631
6632         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6633         Fix compilation again.
6634
6635 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6636
6637         * gst/gstelement.c:
6638           Use meaningful categories for the logs to clean the default one.
6639
6640 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6641
6642         * tests/check/pipelines/cleanup.c:
6643           Print message name and not just number.
6644
6645 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6646
6647         * docs/design/draft-tagreading.txt:
6648           Add some more thoughts.
6649
6650 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6651
6652         * tests/check/pipelines/simple-launch-lines.c:
6653           Print message name and not just number.
6654
6655 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6656
6657         * libs/gst/base/gsttypefindhelper.c:
6658           Speedup typefinding. This is work in progress (see #459862).
6659
6660 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6661
6662         * gst/gstplugin.c:
6663           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6664           Spotted by Josep Torra Valles <josep@fluendo.com>.
6665
6666 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6667
6668         * gst/gstclock.h:
6669           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6670           field has moved to GstObject.
6671
6672 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6673
6674         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6675         (gst_base_src_get_range), (gst_base_src_change_state):
6676         Call unlock for live sources so that they can't get stuck in _create and
6677         produce a buffer before they are set back to PLAYING.
6678
6679 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6680
6681         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6682         (gst_queue_locked_dequeue):
6683         Comment the segment-related code... in the PROPER function.
6684         See #482147 and my commit from yesterday.
6685
6686 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6687
6688         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6689         Also initialize the counter that calculates the first timestamp on a
6690         buffer correctly for non-live sources.
6691
6692 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6693
6694         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6695         Disable code that's breaking the current-time-level reporting.
6696         See #482147
6697
6698 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6699
6700         * docs/gst/gstreamer-sections.txt:
6701         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6702         as they shouldn't show up. Fixes the docs build.
6703
6704 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6705         
6706         * gst/gstinfo.h:
6707         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6708         Define M_PI which is used in files which are including gstinfo.h. 
6709         VS6 includes doesn't define it.
6710         * win32/common/libgstbase.def:
6711         * win32/common/libgstcontroller.def:
6712         * win32/common/libgstreamer.def:
6713         Add new exported functions and variables.
6714         * win32/vs6/libgstcontroller.dsp:
6715         * win32/vs6/libgstreamer.dsp:
6716         Update the list of files to build.
6717         
6718 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6719
6720         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6721
6722         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6723         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6724         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6725         Improve debugging. Fixes #480858.
6726
6727 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6728
6729         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6730
6731         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6732         First patch of code cleanups, use the macros and right arguments in the
6733         macros to signal and lock the queue. See #480858.
6734
6735 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6736
6737         * gst/gstbus.c: (poll_func):
6738         Improve debugging when dealing with _poll().
6739
6740 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6741
6742         * gst/gstregistryxml.c:
6743           Fix memory leak I introduced a few days ago.
6744
6745 2007-09-26  Michael Smith <msmith@fluendo.com>
6746
6747         * gst/gstbuffer.c: (gst_buffer_finalize):
6748           Make it once again possible to free GstBuffers in the default
6749           build.
6750           The poisoning scribbles on parts of the miniobject we need in
6751           order to free it.
6752           Fixes #480341
6753
6754 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * docs/gst/gstreamer-sections.txt:
6757         * gst/gsttaglist.c:
6758         * gst/gsttaglist.h:
6759         API: add GST_TAG_COMPOSER, fixes #459809.
6760
6761 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6762
6763         * gst/gstplugin.c:
6764         * gst/gstplugin.h:
6765         Add the 3-clause BSD license and the MIT/X11 license to the license
6766         list. Fixes #479784.
6767
6768 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6769
6770         * docs/faq/getting.xml:
6771           Add Q+A about different GStreamer versions (#364056).
6772
6773 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6774
6775         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6776         (gst_base_sink_event), (gst_base_sink_change_state):
6777         Return correct gboolean from query function.
6778
6779 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6780
6781         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6782         (gst_base_sink_event), (gst_base_sink_query),
6783         (gst_base_sink_change_state):
6784         Simplify latency query.
6785         When not synchronizing, we can report latency without querying the peer
6786         element.
6787
6788 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6789
6790         * gst/gstobject.h:
6791         * gst/gstvalue.c:
6792         Fix small typos in the docs.
6793
6794 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6795
6796         * docs/design/draft-latency.txt:
6797         * docs/design/draft-push-pull.txt:
6798         * docs/design/draft-tagreading.txt:
6799         * docs/design/part-MT-refcounting.txt:
6800         * docs/design/part-activation.txt:
6801         * docs/design/part-block.txt:
6802         * docs/design/part-element-source.txt:
6803         * docs/design/part-events.txt:
6804         * docs/design/part-gstbin.txt:
6805         * docs/design/part-gstelement.txt:
6806         * docs/design/part-gstobject.txt:
6807         * docs/design/part-gstpipeline.txt:
6808         * docs/design/part-messages.txt:
6809         * docs/design/part-preroll.txt:
6810         * docs/design/part-push-pull.txt:
6811         * docs/design/part-qos.txt:
6812         * docs/design/part-query.txt:
6813         * docs/design/part-scheduling.txt:
6814         * docs/design/part-seeking.txt:
6815         * docs/design/part-segments.txt:
6816         * docs/design/part-states.txt:
6817         Documentation updates and typo fixes.
6818
6819 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6820
6821         * plugins/elements/gstfakesink.c:
6822           Add some debug text to error message to indicate that
6823           we errored out on request.
6824
6825         * tools/gst-launch.c:
6826           When the state change to PLAYING fails, check for an
6827           error message on the bus and print it.
6828
6829 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6830
6831         translated by: Jorge González González <aloriel@gmail.com>
6832
6833         * po/LINGUAS:
6834         * po/es.po:
6835           Added Spanish translation.
6836
6837 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6838
6839         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6840         Fix printf arguments.
6841
6842 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6843
6844         * tests/check/generic/states.c:
6845           Improved state change unit test.
6846
6847 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6848
6849         * gst/gstbin.h:
6850           Move priv to the right place.
6851
6852         * gst/gstsystemclock.c:
6853           Add FIXME: and improve log.
6854
6855         * tests/check/Makefile.am:
6856         * tests/examples/manual/Makefile.am:
6857           Work with all types of registries.
6858
6859 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6860
6861         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6862         Don't unref the event after pushing it. Fixes #478401.
6863
6864 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6865
6866         * .cvsignore:
6867         * tests/examples/manual/.cvsignore:
6868           Ignore registries in any format.
6869
6870 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6871
6872         * gst/glib-compat-private.h:
6873           Add compatibility macro for g_intern_string() for
6874           GLib-2.8 (any reason we can't just bump the
6875           requirement to at least 2.10?)
6876
6877         * gst/gstpadtemplate.h:
6878         * gst/gstelementfactory.c:
6879         * gst/gstregistryxml.c:
6880         * gst/gstregistrybinary.c:
6881           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6882           up the internal code accordingly.  This shouldn't be a problem, since
6883           there is no reason external code could ever assume the string in such
6884           a structure is dynamically allocated unless it did that itself;  the
6885           use of g_strdup() is private to element factories.  The new code also
6886           saves some memory by putting pad template name strings into the GLib
6887           quark table instead of allocating them dynamically.
6888           Declaring this field constant fixes warnings with g++-4.2 when using
6889           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6890
6891 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6892
6893         * gst/gstelementfactory.c:
6894           Release static caps. Fixes #475723.
6895
6896 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6897
6898         * gst/gstinfo.c:
6899         * gst/gstinfo.h:
6900           Make some internal API take const gchar * instead of just
6901           gchar * to avoid compiler warnings with g++-4.2.2 when
6902           passing string constants (partially fixes #478092).
6903
6904 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6905
6906         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6907         A latency query fails when one of the sinks fail.
6908
6909         * gst/gstelement.c: (gst_element_set_base_time):
6910         Improve debugging.
6911
6912 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6913
6914         * gst/gstbin.c: (gst_bin_continue_func):
6915         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6916         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6917         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6918
6919         Fix minor compilation warnings shown with Forte.
6920
6921 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6922
6923         * plugins/elements/gstqueue.c: (apply_buffer),
6924         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6925         Measure queue level based on the diff between head and tail timestamps
6926         even when pushing the first buffer.
6927
6928 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6929
6930         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6931         (gst_base_sink_event), (gst_base_sink_change_state):
6932         Sinks that don't preroll can always be queried for the latency.
6933         Don't post ASYNC start when we are not async.
6934
6935 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6936
6937         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6938         (gst_queue_handle_sink_event), (gst_queue_chain),
6939         (gst_queue_push_one), (gst_queue_handle_src_query),
6940         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6941         * plugins/elements/gstqueue.h:
6942         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6943         push more buffers but allow pushing of EOS and NEWSEGMENT.
6944         Add some more debug info here and there. Fixes #476514.
6945
6946 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6947
6948         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6949         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6950         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6951         (gst_base_sink_set_flushing), (gst_base_sink_query),
6952         (gst_base_sink_change_state):
6953         Latency query is allowed after we are prerolled. Introduce a new flag
6954         for this and stop abusing other variables.
6955
6956 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6957
6958         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6959         Push OOB events downstream when we get them in send_event. This allows
6960         the application to insert events in the pipeline.
6961         Add some more comments.
6962
6963 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6964
6965         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6966         (do_bin_latency), (gst_bin_change_state_func):
6967         * gst/gstpipeline.c: (gst_pipeline_change_state):
6968         Move latency query from GstPipeline to GstBin so that we can also
6969         use it when async-handling is enabled on bins.
6970
6971 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6972
6973         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6974         (gst_base_src_do_sync), (gst_base_src_change_state):
6975         Update docs.
6976         Clean up the timestamping and syncing code for pseudo live sources.
6977
6978 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6979
6980         Patch by: Steve Fink  <sphink gmail com>
6981
6982         * docs/manual/appendix-checklist.xml:
6983           Mention less -R switch in the section about debug output (#474055).
6984
6985 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6986
6987         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6988         Queue can latency to the pipeline up to the configured max size in time.
6989         Report this fact in the latency query.
6990
6991 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6992
6993         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6994
6995         * libs/gst/controller/gstinterpolation.c:
6996         * libs/gst/controller/gstlfocontrolsource.c:
6997         Use gst_guint64_to_gdouble() when converting from a uint64 or
6998         GstClockTime to double to fix the build on win32. Fixes #474371.
6999
7000 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7001
7002         * gst/gstbuffer.c: (gst_buffer_finalize):
7003         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7004         When finalizing a buffer the complete struct is filled with 0xff,
7005         thus making a use of the buffer after the final unref impossible.
7006
7007 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7008
7009         * tests/check/libs/controller.c: (GST_START_TEST):
7010         Use fail_unless_equals_int(a, b) instead of
7011         fail_unless_equals (a == b) to get better output on failures.
7012
7013 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7014
7015         * tests/check/gst/gsturi.c:
7016           Also check for the other file URI variant on win32.
7017
7018 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7019
7020         * gst/gsturi.c: (gst_uri_get_location):
7021           If there's no hostname, we want to return 'c:/foo/bar.txt'
7022           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7023
7024         * tests/check/gst/gsturi.c:
7025           Unit test for the above and a few more things.
7026
7027 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7028
7029         * docs/design/part-live-source.txt:
7030         Add docs on how live sources should timestamp.
7031
7032         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7033         Add some more debug info.
7034         For subclasses that are live and like to sync, add aditional startup
7035         latency to sync time and timestamps so that we timstamp according to the
7036         design doc.
7037
7038 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7039
7040         * gst/gstbuffer.c:
7041           Also do a g_type_class_ref() for the subbuffer type in
7042           the init function.
7043
7044 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7045
7046         * docs/gst/gstreamer-sections.txt:
7047         * gst/gstpad.c: (gst_pad_peer_query):
7048         * gst/gstpad.h:
7049         Add function to perform a query on the peer of a pad.
7050         API: gst_pad_peer_query()
7051
7052 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7053
7054         * tests/check/gst/gstsystemclock.c:
7055           Cleanup the test a little (use gst-logging and not g_message). Improve
7056           test to check if a wait reached the target.
7057
7058 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7059
7060         * docs/libs/gstreamer-libs-sections.txt:
7061           Add new API to docs and fix the build.
7062
7063 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7064
7065         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7066         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7067         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7068         (gst_base_src_get_property), (gst_base_src_do_sync):
7069         * libs/gst/base/gstbasesrc.h:
7070         Add property to make the basesrc timestamp buffers based on the current
7071         running time.
7072         API: GstBaseSrc::do-timestamp
7073         API: gst_base_src_set_do_timestamp()
7074         API: gst_base_src_get_do_timestamp()
7075
7076 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7077
7078         * docs/random/release:
7079           Really make sure translations are up-to-date before
7080           a release (#465010).
7081
7082 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7083
7084         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7085         Always destroy the timer, also in error cases.
7086
7087 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7088
7089         * docs/manual/highlevel-xml.xml:
7090         Fix XML example code. Fixes #472714.
7091
7092 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7093
7094         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7095         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7096         (gst_base_sink_query):
7097         Protect eos and have_preroll with the OBJECT lock so we don't need to
7098         take the PREROLL lock when querying the latency. Fixes #473846.
7099
7100 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * gst/gstelement.c:
7103           Give some log-messages a category.
7104
7105 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7106
7107         * gst/gststructure.c:
7108         (gst_structure_fixate_field_nearest_fraction):
7109         Fix fraction list fixation code. Take the fraction with the smallest
7110         difference with the target instead of the first one in the list.
7111
7112         * tests/check/gst/gststructure.c: (GST_START_TEST),
7113         (gst_structure_suite):
7114         Added test to verify correct fraction list fixation behaviour.
7115
7116 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7117
7118         * win32/common/libgstreamer.def:
7119           Export gst_bus_add_signal_watch too.
7120
7121 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7122
7123         * docs/libs/gstreamer-libs-sections.txt:
7124         Add new methods to docs.
7125
7126         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7127         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7128         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7129         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7130         * libs/gst/base/gstbasesink.h:
7131         Add ts-offset property to fine-tune the synchronisation.
7132         API: GstBaseSink::ts-offset property
7133         API: gst_base_sink_set_ts_offset()
7134         API: gst_base_sink_get_ts_offset()
7135
7136 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7137
7138         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7139         (gst_base_sink_init), (gst_base_sink_set_sync),
7140         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7141         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7142         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7143         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7144         (gst_base_sink_get_property), (gst_base_sink_change_state):
7145         * libs/gst/base/gstbasesink.h:
7146         Add async property to instruct the sink never to inform the parent about
7147         ASYNC state changes, update docs.
7148         Check argument with g_return_* for the public functions.
7149         API: GstBaseSink::async property
7150         API: gst_base_sink_set_async_enabled()
7151         API: gst_base_sink_is_async_enabled()
7152
7153 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7154
7155         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7156         Improve debugging.
7157
7158         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7159         (gst_base_src_default_query), (gst_base_src_wait),
7160         (gst_base_src_do_sync), (gst_base_src_change_state):
7161         Rearrange some code so that we can add support for measuring the 
7162         startup latency.
7163
7164 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7165
7166         * docs/random/ensonic/dynlink.txt:
7167           More thoughs on this.
7168
7169         * plugins/elements/gstcapsfilter.c:
7170           Add bugzilla ticket number to FIXME comment.
7171
7172 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7173
7174         * docs/design/part-TODO.txt:
7175         * docs/design/part-block.txt:
7176         Update some docs.
7177
7178 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7179
7180         * gst/Makefile.am:
7181           Revert patch which uses $(gst_headers) instead of $^ because it
7182           breaks make dist.
7183
7184 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7185
7186         * tests/check/gst/gstbin.c: (GST_START_TEST):
7187           Fix leaks in the new unit test.
7188
7189 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7190
7191         * gst/gst.c:
7192           Don't use GST_INFO before the debug system is actually initialised
7193           (shouldn't do any harm, but won't print anything either, so we can
7194           just as well remove it).
7195
7196         * gst/gstinfo.h:
7197           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7198           compilers that don't support variadic macros (such as MSVC), should
7199           check for debug_level <= __gst_debug_min as well, since that's the
7200           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7201           inline helper functions. Should improve performance a bit, but also
7202           makes sure uses of GST_INFO et.al are ignored if the debugging
7203           system isn't initialised yet (instead of printing an assertion
7204           failure).
7205
7206 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7207
7208         patch by: David Nečas <yeti@physics.muni.cz>
7209
7210         * gst/Makefile.am:
7211           Replace some non portable makefile constructs.
7212
7213 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7214
7215         * common/gtk-doc-plugins.mak:
7216           Grrrrr. Don't remove the types file on make clean.
7217
7218 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7219
7220         * tools/gst-launch.1.in:
7221         Add colorspace to example pipeline. Fixes #458274.
7222
7223 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7224
7225         * docs/random/release:
7226           The release manager should run 'make download-po' before making a
7227           release to make sure translations are up-to-date.
7228
7229         * po/LINGUAS:
7230         * po/be.po:
7231         * po/pl.po:
7232         * po/rw.po:
7233           Add some new translations.
7234
7235 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7236
7237         * tools/gst-launch.c: (event_loop), (main):
7238         Don´t try to do any state management when a live pipeline posts
7239         buffering messages.
7240         Also make the buffering string translatable.
7241
7242 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7243
7244         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7245         (bin_handle_async_start), (gst_bin_handle_message_func):
7246         Improve debugging.
7247         When adding elements, insert messages into the bus of the newly added
7248         element and make sure the element is the source of the message. This
7249         allows the parent bin to intercept the message and do the
7250         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7251         messages to the app (which is not allowed).
7252         Update some docs.
7253
7254         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7255         Fix testsuite so that is does not work around messages that should not
7256         have been posted in the first place.
7257
7258 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7259
7260         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7261         (update_degree), (gst_bin_sort_iterator_next):
7262         Fix annoying bug in the sorted iterator where a sink that is not really
7263         a sink (when it has downstream links) screwed up the iterator.
7264
7265         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7266         Unit test to verify the fix.
7267
7268 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7269
7270         * gst/gstmessage.h:
7271         Add some more docs for the messages.
7272
7273         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7274         (gst_base_sink_query):
7275         Add some more debugging.
7276
7277         * tools/gst-launch.c: (event_loop):
7278         When interrupting, don't try to set pipeline to PAUSED twice.
7279
7280 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7281
7282         
7283         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7284         (bin_handle_async_start), (gst_bin_handle_message_func):
7285         Move ASYNC_START message posting to where it belongs, similar to
7286         async_done. 
7287         Don't post ASYNC_START when we are in error. 
7288         Post ASYNC_START when we added an async element to a bin.
7289
7290 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7291
7292         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7293         generation from vargs. Fixes #466595.
7294
7295 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7296
7297         * gst/gstbin.c: (gst_bin_element_set_state):
7298         Always change the state of a NO_PREROLL element even if it has ASYNC
7299         elements inside (in case of a bin).
7300
7301         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7302         Unit test for this case.
7303
7304 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7305
7306         * libs/gst/check/gstbufferstraw.c:
7307         * libs/gst/check/gstcheck.h:
7308         * libs/gst/controller/gstcontroller.c:
7309         * libs/gst/controller/gstcontrolsource.h:
7310         * libs/gst/controller/gstlfocontrolsource.h:
7311         * plugins/elements/gstcapsfilter.h:
7312         * plugins/elements/gstfdsink.h:
7313         * plugins/elements/gstfdsrc.h:
7314           Add more missing docs.
7315
7316 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7317
7318         * gst/gststructure.c:
7319         Add Since tag to docs.
7320
7321 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7322
7323         * docs/gst/gstreamer-sections.txt:
7324         * gst/gststructure.c: (gst_structure_get_uint):
7325         * gst/gststructure.h:
7326         Add function to get uint from a structure.
7327         API: gst_structure_get_uint()
7328
7329 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7330
7331         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7332         (gst_caps_intersect):
7333         Fix proper check for simple caps.
7334
7335 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * docs/gst/Makefile.am:
7338         * docs/libs/Makefile.am:
7339           Remove cruft and do some cleanups.
7340
7341         * docs/gst/gstreamer-docs.sgml:
7342         * docs/libs/gstreamer-libs-docs.sgml:
7343           Prepare for comming gtkdoc features (rebase against online docs).
7344
7345 2007-08-10  Michael Smith <msmith@fluendo.com>
7346
7347         * docs/gst/gstreamer-sections.txt:
7348           Add gst_registry_add_path to docs.
7349
7350 2007-08-10  Michael Smith <msmith@fluendo.com>
7351
7352         * gst/gstregistry.h:
7353           Add gst_registry_add_path, which was missing from this header.
7354
7355 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7356
7357         * libs/gst/controller/gstlfocontrolsource.c:
7358           Printf format fix.
7359
7360 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7361
7362         * libs/gst/base/gstbasesink.c:
7363           Don't send an async_start message during downwards state change if 
7364           target state is less than READY
7365
7366 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7369
7370         * po/LINGUAS:
7371         * po/hu.po:
7372           Added Hungarian translation.
7373
7374 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * po/fi.po:
7377         * po/it.po:
7378         * po/nl.po:
7379         * po/sv.po:
7380         * po/uk.po:
7381           Updated translations.
7382
7383 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7384
7385         * libs/gst/controller/Makefile.am:
7386         Dist gstlfocontrolsourceprivate.h
7387
7388 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7389
7390         * docs/libs/gstreamer-libs.types:
7391         Don't register the enum type gst_lfo_waveform_get_type() in the
7392         .types file - only GObject derived types belong.
7393
7394 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7395
7396         Patch by: <arenevier at fdn dot fr>
7397
7398         * gst/gstbuffer.h:
7399         Remove comma from last element in enum to avoid compile errors when
7400         using -pendantic. Fixes #464366.
7401
7402 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7403
7404         * docs/design/part-TODO.txt:
7405         Add some more TODO items
7406
7407         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7408         Improve debugging.
7409
7410         * gst/gstcaps.c: (gst_caps_intersect):
7411         Optimize trivial intersection case between identical caps pointers.
7412
7413         * gst/gstelement.c: (gst_element_continue_state),
7414         (gst_element_set_state_func):
7415         * gst/gstpad.c:
7416         Fix spelling and grammar mistakes.
7417
7418 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7419
7420         * po/POTFILES.in:
7421         * po/POTFILES.skip:
7422           Update POTFILES. Fixes #461599.
7423
7424 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7425
7426         * gst/gst.c:
7427         Fix confusing typo in debug output.
7428
7429 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7430
7431         reviewed by: Stefan Kost <ensonic@users.sf.net>
7432
7433         * libs/gst/controller/Makefile.am:
7434         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7435         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7436         (gst_lfo_control_source_new),
7437         (gst_lfo_control_source_set_waveform),
7438         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7439         (gst_lfo_control_source_finalize),
7440         (gst_lfo_control_source_dispose),
7441         (gst_lfo_control_source_set_property),
7442         (gst_lfo_control_source_get_property),
7443         (gst_lfo_control_source_class_init):
7444         * libs/gst/controller/gstlfocontrolsource.h:
7445         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7446         API: Add GstLFOControlSource, a control source that gives values
7447         for specific timestamps based on several periodic waveforms.
7448         Fixes #459717.
7449
7450         * tests/check/libs/controller.c: (GST_START_TEST),
7451         (gst_controller_suite):
7452         * docs/libs/gstreamer-libs-docs.sgml:
7453         * docs/libs/gstreamer-libs-sections.txt:
7454         * docs/libs/gstreamer-libs.types:
7455         Add documentation and unit tests for GstLFOControlSource.
7456
7457 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7458
7459         * configure.ac:
7460         Back to CVS
7461
7462 === release 0.10.14 ===
7463
7464 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7465
7466         * configure.ac:
7467           releasing 0.10.14, "Breathing Vacuum"
7468
7469 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7470
7471         * gst/gstelement.c: (gst_element_class_set_details_simple):
7472         * gst/gstelement.h:
7473           Make strings passed to gst_element_class_set_details_simple()
7474           constant, as they should be (#462752).
7475
7476 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7477
7478         * gst/gstbin.c: (gst_bin_change_state_func),
7479         (bin_handle_async_done), (gst_bin_handle_message_func):
7480         Don't forget about the fact that some element went ASYNC even after a
7481         resync. This makes us post the ASYNC_DONE message correctly.
7482         Fixes #462558.
7483
7484 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7485
7486         * gst/gstregistry.c: (gst_registry_add_feature):
7487         When replacing an existing feature in the registry, make sure to
7488         continue holding a reference until we've replaced the name string
7489         within our feature hash table. Make sure to use g_hash_table_replace
7490         instead of g_hash_table_insert to ensure the new name string is used
7491         as a key instead of the old one that we're about to free.
7492         Fixes: #462085
7493
7494 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7495
7496         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7497         (gst_plugin_feature_set_name):
7498         Revert patch from #459466 until after the release and we can work
7499         out exactly what the problem is (if any).
7500
7501 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7502
7503         * docs/gst/gstreamer-sections.txt:
7504         * gst/gsttaglist.c:
7505         * gst/gsttaglist.h:
7506           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7507
7508 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7509
7510         * docs/libs/Makefile.am:
7511         Include our build-prefix libs and includes before the generic ones to
7512         avoid linking against the installed libs when we want the build-tree
7513         ones.
7514
7515 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7516
7517         Patch by: Steve Fink  <sphink gmail com>
7518
7519         * docs/pwg/building-testapp.xml:
7520           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7521           if people try to build or install the example from the plugin
7522           template against a GStreamer from package using the configure
7523           defaults.
7524
7525 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7526
7527         Patch by: Steve Fink  <sphink gmail com>
7528
7529         * tools/gst-inspect.1.in:
7530           Document --print-all and --print-plugin-auto-install-info command
7531           line options in man page.
7532
7533 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7534
7535         * docs/gst/gstreamer-sections.txt:
7536         Add docs for new api function.
7537
7538 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7539
7540         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7541         * gst/gstelementfactory.h:
7542         API: gst_element_factory_has_interface()
7543         Added method to check if an element factory implements a named
7544         interface.
7545
7546 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7547
7548         * configure.ac:
7549         * docs/gst/gstreamer.types.in:
7550           Another conditional doc check.
7551
7552         * gst/gstmessage.c:
7553         * gst/gstparamspecs.h:
7554         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7555         * gst/gstvalue.c:
7556         * gst/gstxml.h:
7557           API-doc fixes.
7558
7559 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7560
7561         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7562         (gst_registry_binary_load_feature),
7563         (gst_registry_binary_load_plugin),
7564         (gst_registry_binary_read_cache):
7565           Print error just once and with additional info.
7566
7567 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7568
7569         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7570         (helper_find_suggest), (helper_find_get_length),
7571         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7572         (gst_type_find_helper_for_buffer):
7573           Cleanup the typefindhelper code and add private doc comments.
7574
7575 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7576
7577         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7578         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7579         Fix capsfilter for cases where the caps set on capsfilter will provide
7580         additional information.
7581         Fixes #449197
7582
7583 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7584
7585         * gst/gsttypefindfactory.c:
7586           Fix docs that recommened wrong function to use.
7587
7588 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7589
7590         * tools/gst-inspect.c: (print_plugin_features):
7591           Also give media-type for typefinders in element output.
7592
7593 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7594
7595         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7596         (gst_registry_remove_features_for_plugin_unlocked),
7597         (gst_registry_add_feature), (gst_registry_remove_feature),
7598         (gst_registry_lookup_feature_locked):
7599         * gst/gstregistry.h:
7600           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7601           Fixes #459501.
7602
7603 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7604
7605         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7606         (gst_plugin_feature_set_name):
7607           Avoid double memory usage for pluginfeature names. Fixes #459466.
7608
7609 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7610
7611         * gst/gstpad.h:
7612           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7613           driving the pipeline may need to explicitly check for NOT_LINKED as
7614           well, since IS_FATAL doesn't cover that.
7615
7616 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7617
7618         * docs/pwg/advanced-types.xml:
7619           Fix typo and duplicate entry in video formats list.
7620
7621 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7622
7623         * libs/gst/controller/gstinterpolation.c:
7624         Also round to the nearest int when using cubic interpolation.
7625
7626 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7627
7628         * libs/gst/controller/gstinterpolation.c:
7629         When linearly interpolating integer types, round to the nearest int
7630         by adding 0.5. Don't do it for float/double types.
7631         Fixes the failing controller test on my machine, which is somehow
7632         rounding differently than on the buildbots.
7633
7634 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7635
7636         * tools/gst-plot-timeline.py:
7637           Better log parsing (categories can have -). Adjust text vs. lines, so
7638           that they span the same y-range.        
7639
7640 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7641
7642         * docs/random/ensonic/audiobaseclasses.txt:
7643         * docs/random/ensonic/dynlink.txt:
7644         * docs/random/ensonic/profiling.txt:
7645           Save my thoughts.
7646
7647         * docs/random/moving-plugins:
7648           Add note to use g_assert type macros.
7649
7650 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7651
7652         * configure.ac:
7653         * libs/gst/check/Makefile.am:
7654           Add libm check as we use in for plugins.
7655
7656 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7657
7658         * gst/gstbin.c: (gst_bin_continue_func):
7659         Check that the state_cookie hasn't changed since the continue_func
7660         was scheduled. Avoids problems where the state changes back to
7661         something it shouldn't be because it was changed in the meantime.
7662
7663 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7664
7665         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7666         (gst_registry_binary_save_string),
7667         (gst_registry_binary_save_pad_template),
7668         (gst_registry_binary_save_feature),
7669         (gst_registry_binary_save_plugin),
7670         (gst_registry_binary_load_feature),
7671         (gst_registry_binary_load_plugin),
7672         (gst_registry_binary_read_cache):
7673           Fix memory leak. Be less verbose in the log.
7674
7675 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7676
7677         * tests/check/elements/.cvsignore:
7678         Add file to cvsignore as commanded.
7679
7680 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7681
7682         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7683         (mq_dummypad_event), (run_output_order_test):
7684         Use a GStaticMutex to protect all cases where libcheck
7685         fail_if/fail_unless macros might be called from multiple threads
7686         simultaneously to avoid errors like:
7687           "check_pack.c:107: :-1081725400:Bad message type arg"
7688
7689 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7690
7691         * tests/check/pipelines/stress.c: (GST_START_TEST):
7692         Make sure we set the pipeline back to the NULL state before
7693         dropping our final reference.
7694
7695 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7696
7697         * tests/check/elements/tee.c: (GST_START_TEST):
7698         Make the tee stress-test a little less stressful so it doesn't just
7699         time out on slow-machines, and remove a small race when it's starting 
7700         up by adding a get_state() call.
7701
7702 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7703
7704         * gst/gst.c:
7705           Avoid reading registry twice on startup. Fixes #457322.
7706
7707 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7708
7709         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7710         * pkgconfig/gstreamer-check.pc.in:
7711         Substitute the CFLAGS for libcheck into our .pc file too so that
7712         dependent modules will pick it up properly if libcheck is installed
7713         into some other prefix.
7714
7715 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7716
7717         * configure.ac:
7718         Revert the pkg-config check for libcheck, since it pulls in the
7719         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7720         a proper solution, either from the check project, or something else.
7721
7722 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7723
7724         * configure.ac:
7725           Use pkg-config to locate check.
7726
7727 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7728
7729         * gst/gsttaglist.c:
7730           Fix doc syntax.
7731
7732         * gst/gstutils.c:
7733         * gst/gstutils.h:
7734           Add deprecation guards.
7735
7736         * libs/gst/base/gstcollectpads.h:
7737           Don't document object (this is implicitly private).
7738
7739 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7740
7741         * gst/gststructure.c: (gst_structure_parse_value):
7742           When deserialising foo=bar without a type cast, check if it's a
7743           boolean before falling back to a string type, otherwise things like
7744           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7745           because the filtercaps end up having a signed=(string)true field,
7746           which causes problems later when intersection caps.
7747
7748         * tests/check/gst/gststructure.c: (GST_START_TEST):
7749           Add a unit test for this.
7750
7751 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7752
7753         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7754
7755         * libs/gst/controller/Makefile.am:
7756         * libs/gst/controller/gstcontroller.c:
7757         (gst_controlled_property_add_interpolation_control_source),
7758         (gst_controlled_property_new), (gst_controlled_property_free),
7759         (gst_controller_find_controlled_property),
7760         (gst_controller_new_valist), (gst_controller_new_list),
7761         (gst_controller_new), (gst_controller_remove_properties_valist),
7762         (gst_controller_remove_properties_list),
7763         (gst_controller_remove_properties),
7764         (gst_controller_set_property_disabled),
7765         (gst_controller_set_disabled), (gst_controller_set_control_source),
7766         (gst_controller_get_control_source), (gst_controller_get),
7767         (gst_controller_sync_values), (gst_controller_get_value_array),
7768         (_gst_controller_dispose), (gst_controller_get_type),
7769         (gst_controlled_property_set_interpolation_mode),
7770         (gst_controller_set), (gst_controller_set_from_list),
7771         (gst_controller_unset), (gst_controller_unset_all),
7772         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7773         * libs/gst/controller/gstcontroller.h:
7774         * libs/gst/controller/gstcontrollerprivate.h:
7775         * libs/gst/controller/gstcontrolsource.c:
7776         (gst_control_source_class_init), (gst_control_source_init),
7777         (gst_control_source_get_value),
7778         (gst_control_source_get_value_array), (gst_control_source_bind):
7779         * libs/gst/controller/gstcontrolsource.h:
7780         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7781         (gst_object_get_control_source):
7782         * libs/gst/controller/gstinterpolation.c:
7783         (gst_interpolation_control_source_find_control_point_node),
7784         (gst_interpolation_control_source_get_first_value),
7785         (_interpolate_none_get), (interpolate_none_get),
7786         (interpolate_none_get_boolean_value_array),
7787         (interpolate_none_get_enum_value_array),
7788         (interpolate_none_get_string_value_array),
7789         (_interpolate_trigger_get), (interpolate_trigger_get),
7790         (interpolate_trigger_get_boolean_value_array),
7791         (interpolate_trigger_get_enum_value_array),
7792         (interpolate_trigger_get_string_value_array):
7793         * libs/gst/controller/gstinterpolationcontrolsource.c:
7794         (gst_control_point_free), (gst_interpolation_control_source_reset),
7795         (gst_interpolation_control_source_new),
7796         (gst_interpolation_control_source_set_interpolation_mode),
7797         (gst_interpolation_control_source_bind),
7798         (gst_control_point_compare), (gst_control_point_find),
7799         (gst_interpolation_control_source_set_internal),
7800         (gst_interpolation_control_source_set),
7801         (gst_interpolation_control_source_set_from_list),
7802         (gst_interpolation_control_source_unset),
7803         (gst_interpolation_control_source_unset_all),
7804         (gst_interpolation_control_source_get_all),
7805         (gst_interpolation_control_source_get_count),
7806         (gst_interpolation_control_source_init),
7807         (gst_interpolation_control_source_finalize),
7808         (gst_interpolation_control_source_dispose),
7809         (gst_interpolation_control_source_class_init):
7810         * libs/gst/controller/gstinterpolationcontrolsource.h:
7811         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7812         API: Refactor GstController into the core controller which can take
7813         a GstControlSource for providing actual values for timestamps.
7814         Implement a interpolation control source and use this for backward
7815         compatibility, deprecate a bunch of functions that are now handled
7816         by GstControlSource or GstInterpolationControlSource.
7817         Make it possible to disable the controller completely or only for
7818         specific properties. Fixes #450711.
7819         * docs/libs/gstreamer-libs-docs.sgml:
7820         * docs/libs/gstreamer-libs-sections.txt:
7821         * docs/libs/gstreamer-libs.types:
7822         Add new functions and classes to the docs.
7823         * tests/check/libs/controller.c: (GST_START_TEST),
7824         (gst_controller_suite):
7825         * tests/examples/controller/audio-example.c: (main):
7826         Port unit test and example to the new API and add some new
7827         unit tests.
7828
7829 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7830
7831         Patch by: Mark Nauwelaerts <manauw at skynet be>
7832
7833         * plugins/elements/gstmultiqueue.c:
7834         (gst_multi_queue_get_internal_links), (apply_buffer),
7835         (single_queue_overrun_cb), (gst_single_queue_new):
7836         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7837         the pipeline layout can be tracked correctly. Fixes #453732.
7838
7839 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7840
7841         * docs/gst/Makefile.am:
7842         * docs/libs/Makefile.am:
7843         * docs/plugins/Makefile.am:
7844           Simplify --extra-dir as gtkdoc scans recursively.
7845
7846 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7847
7848         * tools/gst-launch.c: (main):
7849         When we got an error, there is no point in waiting for preroll when
7850         shutting down.
7851
7852 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7853
7854         * plugins/elements/gsttee.c: (gst_tee_base_init),
7855         (gst_tee_request_new_pad), (gst_tee_release_pad),
7856         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7857         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7858         (gst_tee_chain):
7859         Be a lot smarter when deciding what srcpad to use for proxying
7860         the buffer_alloc. Also handle pad added/removed when doing so.
7861         Fixes #357959.
7862         Keep track of what pads we already pushed on in case we have pads
7863         added/removed while pushing. Fixes #374639 
7864
7865         * tests/check/Makefile.am:
7866         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7867         (tee_suite):
7868         Added unit test for pad resync.
7869
7870 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * po/nl.po:
7873         * po/sv.po:
7874           Updated translations.
7875
7876 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7877
7878         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7879
7880         * po/LINGUAS:
7881         * po/fi.po:
7882           Added new Finnish translation.
7883
7884 2007-06-28  Wim Taymans  <wim@fluendo.com>
7885
7886         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7887         (single_queue_overrun_cb):
7888         When figuring out when a queue is filled, use our internal time estimate
7889         based on segments, just like check_full does.
7890
7891 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7892
7893         * gst/gstminiobject.c: (gst_mini_object_get_type):
7894           Remove 3 do-nothing methods.
7895
7896 2007-06-27  Wim Taymans  <wim@fluendo.com>
7897
7898         Patch by: Tim Angus <tim at ngus dot net>
7899
7900         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7901         (gst_capsfilter_set_property):
7902         Take a reference instead of a copy when setting "caps".
7903         Fix documentation to clarify this behaviour. Fixes #449414.
7904
7905 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7906
7907         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7908         * gst/gstplugin.c: (gst_plugin_init):
7909         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7910         * gst/gstquery.c: (gst_query_get_type):
7911         * gst/gstregistry.c: (gst_registry_init):
7912         * gst/gsturi.c: (gst_uri_handler_base_init):
7913           Remove empty instance_init() functions to save relocs and lessen the
7914           noise. Remove some of the function prototypes that are doubled by
7915           G_DEFINE_TYPE.
7916           
7917 2007-06-27  Wim Taymans  <wim@fluendo.com>
7918
7919         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7920
7921         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7922         Add peer and direction in the XML serialisation of ghostpads.
7923         Fixes #449226.
7924
7925 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7926
7927         * configure.ac:
7928           Preserve useful information, thanks Tim.
7929
7930 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7931
7932         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7933         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7934         (gst_single_queue_push_one), (gst_multi_queue_loop),
7935         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7936         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7937         (compute_high_id), (gst_single_queue_new):
7938         * plugins/elements/gstmultiqueue.h:
7939         Take the multiqueue lock when updating the fill level so we don't get
7940         confused. 
7941
7942         After applying a buffer or event on the src pad segment, make sure to
7943         call gst_data_queue_limits_changed() to get the data queue to unblock
7944         and check the filled state again.
7945         
7946         Rework the not-linked pad handling so the logic is that not-linked 
7947         pads can push as fast as they like, but only so they never get 
7948         ahead of any linked pads.
7949
7950         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7951         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7952         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7953
7954         Add a test to check that not-linked pads always stay behind
7955         linked pads.
7956
7957         Fixes: #430682
7958
7959 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7960
7961         * docs/random/release:
7962           Some updates to the release procedure.
7963
7964 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7965
7966         * gst/gstelementfactory.c: (__gst_element_details_clear):
7967           Microoptimization that saves stunning 80 bytes.
7968
7969 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7970
7971         * docs/plugins/gstreamer-plugins.args:
7972         * docs/plugins/inspect/plugin-coreelements.xml:
7973         * docs/plugins/inspect/plugin-coreindexers.xml:
7974           Update docs with caps info.
7975
7976 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7977
7978         * po/it.po:
7979           Updated Italian translation.
7980
7981 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7982
7983         * ChangeLog:
7984         * po/vi.po:
7985           Update Vietnamese translations.
7986
7987 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7988
7989         * libs/gst/base/gstbasesink.c:
7990           Remove unused signal enum.
7991
7992 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7993
7994         * docs/gst/gstreamer-sections.txt:
7995         * gst/gstelement.c:
7996         * gst/gstutils.c: (gst_type_register_static_full):
7997         Beef up and include the docs for gst_type_register_static_full and
7998         gst_element_class_set_details_simple and add the API keyword
7999         in the ChangeLog.
8000
8001 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8002
8003         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8004         (update_time_level), (gst_single_queue_push_one),
8005         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8006         (single_queue_overrun_cb), (single_queue_underrun_cb),
8007         (single_queue_check_full):
8008         Fix setting max-* properties after adding queues.
8009         Use IS_FILLED for checking visible items.
8010         Signal overrun if multiple queues overrun.
8011         Add extra debug output.
8012         Patch by: Wim Taymans <wim@fluendo.com>
8013
8014 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8015
8016         * gst/gstelement.c: (gst_element_class_set_details_simple):
8017         * gst/gstelement.h:
8018         * gst/gstutils.c: (gst_type_register_static_full):
8019         * gst/gstutils.h:
8020         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8021         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8022         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8023         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8024         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8025         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8026         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8027         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8028         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8029         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8030         (apply_buffer), (gst_queue_chain):
8031         * plugins/elements/gsttee.c: (gst_tee_base_init):
8032         * plugins/elements/gsttypefindelement.c:
8033         (gst_type_find_element_base_init),
8034         (gst_type_find_element_class_init):
8035           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8036           API: add gst_type_register_static_full
8037           API: add gst_element_class_set_details_simple
8038
8039 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8040
8041         * docs/pwg/advanced-types.xml:
8042           Fix typo in iana.org URI.
8043
8044 2007-06-19  Andy Wingo  <wingo@pobox.com>
8045
8046         * tests/check/pipelines/simple-launch-lines.c
8047         (test_state_change_returns): Enable pull-mode tests now that
8048         basesink has been fixed.
8049
8050         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8051         Changed from gst_base_sink_is_prerolled, reversing the sense of
8052         the return value. Returns FALSE also if the sink is in pull mode,
8053         in which case it needs no preroll.
8054         (gst_base_sink_query, gst_base_sink_change_state): Update for
8055         needs_preroll change.
8056         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8057         chaining up, in which we return SUCCESS directly if we activated
8058         in pull mode instead of ASYNC. Involves countering an async_start
8059         message sent before chaining up; not sure if this is correct, in
8060         an ideal world we only send async-start when activating in push
8061         mode.
8062
8063         * tests/check/pipelines/simple-launch-lines.c
8064         (test_state_change_returns): New test, partially disabled until
8065         basesink is fixed.
8066
8067 2007-06-19  Wim Taymans  <wim@fluendo.com>
8068
8069         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8070         (gst_multi_queue_sink_event):
8071         Fix event leak.
8072
8073 2007-06-19  Wim Taymans  <wim@fluendo.com>
8074
8075         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8076         (gst_bin_change_state_func), (bin_push_state_continue),
8077         (bin_handle_async_start), (bin_handle_async_done),
8078         (gst_bin_handle_message_func):
8079         Move the common code for posting state-change messages into
8080         one function.
8081         Broadcast the state signal after we posted the messages.
8082         Mark the bin as busy when it's doing a state-change.
8083         Make sure async-start/done messages don't interfere with the bin's
8084         state when it's busy.
8085         After the state change, let the bin check which elements completed the
8086         state change while it was busy so that it can update its state.
8087
8088 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8089
8090         * docs/random/release:
8091         Add a note about updating the doap file to the release checklist
8092
8093 2007-06-18  Wim Taymans  <wim@fluendo.com>
8094
8095         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8096         (gst_single_queue_push_one), (gst_multi_queue_chain),
8097         (gst_multi_queue_sink_event):
8098         Make sure we don't reference the buffer/event after we have given away
8099         ownership in the queue.
8100
8101 2007-06-18  Wim Taymans  <wim@fluendo.com>
8102
8103         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8104         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8105         Update queue state _after_ adding the item in the queue because else we
8106         could end up being full without the element added yet.
8107
8108 2007-06-18  Wim Taymans  <wim@fluendo.com>
8109
8110         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8111         (gst_bin_remove_func), (gst_bin_get_state_func),
8112         (gst_bin_element_set_state), (gst_bin_continue_func),
8113         (bin_push_state_continue), (bin_handle_async_start),
8114         (bin_handle_async_done), (gst_bin_handle_message_func):
8115         * gst/gstbin.h:
8116         Immediatly commit the toplevel bin state when receiving an async-done
8117         message. This enables us to avoid spawning a thread to commit the state
8118         in some common cases and it also avoids some races.
8119         Avoid spawning a state thread when adding/removing async elements to a
8120         toplevel bin. Instead we immediatly update the bin state.
8121         Get rid of iterating all the children when getting the state in the bin
8122         because it is now always up-to-date.
8123         Fix bug where locked elements would always return _SUCCESS even it they
8124         returned NO_PREROLL before being locked.
8125         Fix the order of the state_change, async-start/done messages that was
8126         sometimes incorrect.
8127         Mark the state_dirty field as deprecated, we don't need it anymore as we
8128         are always up-to-date.
8129
8130         * gst/gstelement.c: (gst_element_get_state_func),
8131         (gst_element_continue_state):
8132         Small debug inprovements.
8133         Return the previous element state return when nothing is pending instead
8134         of blindly returning SUCCESS.
8135
8136         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8137         (gst_sinks_suite):
8138         Add a whole bunch of new testcases.
8139
8140 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8141
8142         * po/uk.po:
8143         * po/vi.po:
8144           Update translations.
8145
8146 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8147
8148         * gst/gstpad.c:
8149         Fix typo in the docs.
8150
8151 2007-06-15  Wim Taymans  <wim@fluendo.com>
8152
8153         * docs/libs/gstreamer-libs-sections.txt:
8154         Add docs for new methods.
8155
8156 2007-06-15  Wim Taymans  <wim@fluendo.com>
8157
8158         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8159         (gst_multi_queue_item_new):
8160         Don't use GSlice because we don't depend on >= 2.10 yet.
8161
8162 2007-06-15  Wim Taymans  <wim@fluendo.com>
8163
8164         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8165         (update_time_level), (apply_segment), (apply_buffer),
8166         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8167         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8168         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8169         (single_queue_underrun_cb), (single_queue_check_full):
8170         Remove debug printf.
8171
8172 2007-06-15  Wim Taymans  <wim@fluendo.com>
8173
8174         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8175         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8176         (gst_data_queue_set_flushing), (gst_data_queue_push),
8177         (gst_data_queue_pop), (gst_data_queue_drop_head),
8178         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8179         * libs/gst/base/gstdataqueue.h:
8180         Various cleanups.
8181         Added methods to get the current levels and to inform the queue that the
8182         'full' limits changed.
8183
8184         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8185         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8186         (gst_single_queue_flush), (update_time_level), (apply_segment),
8187         (apply_buffer), (gst_single_queue_push_one),
8188         (gst_multi_queue_item_steal_object),
8189         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8190         (gst_multi_queue_loop), (gst_multi_queue_chain),
8191         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8192         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8193         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8194         (single_queue_underrun_cb), (single_queue_check_full),
8195         (gst_single_queue_new):
8196         Keep track of time in the queue by measuring the difference between
8197         running_time on input and output. This gives more accurate results and
8198         can compensate for segments correctly.
8199         Make a queue by default only 5 buffers deep. We will now increase the
8200         buffer size depending on the filledness of the other queues.
8201         Factor out commong flush code.
8202         Make sure we don't add additional refcounts to buffers when we can avoid
8203         it.
8204         Propagate GstFlowReturn differently.
8205         Use GSlice for intermediate GstMultiQueueItems.
8206         Keep track of EOS.
8207         Resize queues on over and underruns based on filled level of other
8208         queues.
8209         When checking if the queue is filled, prefer to measure in time if we
8210         can and fall back to bytes when no time is known.
8211
8212         * plugins/elements/gstqueue.c:
8213         Fix return value.
8214
8215 2007-06-15  Wim Taymans  <wim@fluendo.com>
8216
8217         * libs/gst/base/gstbasetransform.c:
8218         (gst_base_transform_sink_event):
8219         Work around the brokenness of the event vmethod in basetransform. Prefer
8220         to return TRUE when the subclass returned FALSE (meaning don't forward
8221         the event). 
8222
8223         * libs/gst/base/gstbasetransform.h:
8224         Clarify the docs.
8225
8226 2007-06-15  Wim Taymans  <wim@fluendo.com>
8227
8228         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8229         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8230         (gst_base_src_default_query), (gst_base_src_get_range),
8231         (gst_base_src_start):
8232         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8233         Improve debugging.
8234
8235 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8236
8237         * docs/pwg/advanced-types.xml:
8238           Added more formats to caps table.
8239
8240 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8241
8242         * tools/gst-launch.c: (main):
8243           Remove crufy code. GOption does not need this workaround.
8244
8245 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8246
8247         * libs/gst/controller/gstcontroller.c:
8248         (gst_controlled_property_set_interpolation_mode):
8249           Fix wrong getter for enums in controller.
8250
8251 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8252
8253         * libs/gst/check/gstcheck.c: (gst_check_init):
8254           Intercept criticals and warnings in the Gst-Phonon log domain, so
8255           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8256           well.
8257         
8258 2007-06-14  Edward Hervey  <edward@fluendo.com>
8259
8260         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8261         Since this file doesn't include "gst.h" it will not go through the
8262         macros that disable GST_LOG if debugging was disabled.
8263
8264 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8265
8266         * libs/gst/check/Makefile.am:
8267         * libs/gst/check/gstcheck.h:
8268         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8269         * pkgconfig/gstreamer-check.pc.in:
8270           Ugly 'fix' for the controller unit test on the p5 bot: in
8271           fail_unless_equals_float() check whether the values are 'almost
8272           equal' by allowing a small absolute error, which should be good
8273           enough for our use cases (normal numbers and values close to 0).
8274           Proper fixage left to floating point arithmetic aficionados.
8275
8276 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8277
8278         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8279         (gst_base_sink_render_object), (gst_base_sink_get_position):
8280           Add two breaks thats where missing.
8281
8282 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * docs/libs/gstreamer-libs-sections.txt:
8285         * libs/gst/check/gstcheck.h:
8286           API: add fail_unless_equals_float() and assert_equals_float().
8287           Add documentation for some of the macros.
8288
8289         * tests/check/libs/controller.c: (GST_START_TEST):
8290           Use newly-added asserts.
8291
8292 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8293
8294         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8295           Show the caps change in the log to help spotting the case of not
8296           exactly matching caps.
8297
8298 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8299
8300         * docs/pwg/building-boiler.xml:
8301           Fix typos, spotted by Thijs Vermeir (#447190).
8302
8303 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8304
8305         * docs/plugins/tmpl/.cvsignore:
8306         Ignore file to keep the buildbots happy
8307
8308 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8309
8310         * docs/plugins/Makefile.am:
8311         * docs/plugins/gstreamer-plugins-docs.sgml:
8312         * docs/plugins/gstreamer-plugins-sections.txt:
8313         Pull fdsink into the docs too.
8314
8315 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8316
8317         * libs/gst/controller/gstinterpolation.c:
8318         Actually use the new functions with min/max checks for the trigger and
8319         none interpolation modes for get() and get_value_array() instead of
8320         just the latter.
8321
8322 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8323
8324         * libs/gst/controller/gstcontroller.c:
8325         (gst_controlled_property_free):
8326         Unset the minimum and maximum GValues when freeing the corresponding
8327         GstControllerProperty struct.
8328
8329 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8330
8331         * libs/gst/controller/gstcontroller.c:
8332         (gst_controlled_property_new):
8333         * libs/gst/controller/gstcontrollerprivate.h:
8334         * libs/gst/controller/gstinterpolation.c:
8335         (gst_controlled_property_find_control_point_node),
8336         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8337         (interpolate_none_get_string_value_array),
8338         (interpolate_trigger_get),
8339         (interpolate_trigger_get_enum_value_array),
8340         (interpolate_trigger_get_string_value_array):
8341         Protect against values larger or smaller than the minimum or maximum
8342         allowed value for the property when using values that can be compared.
8343
8344         Optimize trigger interpolator a bit by taking the last requested value
8345         into account instead of always looping through the complete list.
8346
8347         Fix coding style a bit, everywhere else we use "return foo" instead
8348         of "return (foo)".
8349         
8350         * tests/check/libs/controller.c: (GST_START_TEST),
8351         (gst_controller_suite):
8352         Add unit test for the protection against too large or too small
8353         values.
8354
8355 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8356
8357         * docs/random/slomo/controller.txt:
8358         Add some thoughts about the future of the controller.
8359
8360 2007-06-08  Wim Taymans  <wim@fluendo.com>
8361
8362         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8363         Don't overflow in retimestamping code.
8364
8365 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8366
8367         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8368         Use gst_util_guint64_to_gdouble for conversions.
8369         * win32/common/libgstreamer.def:
8370         Add new exported functions.
8371
8372 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8373
8374         * gst/gstutils.c:
8375           Small docs addition.
8376
8377 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8378
8379         * README:
8380           Remove that test line again.
8381
8382 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8383
8384         * README:
8385           Test commit mail sending.
8386
8387 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8388
8389         * configure.ac:
8390           Fix typo and test commit mail sending.
8391
8392 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8393
8394         * tests/examples/controller/audio-example.c:
8395           Improve comment and test commit mail sending.
8396
8397 2007-06-07  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8400         (gst_bin_remove_func), (gst_bin_element_set_state),
8401         (bin_handle_async_start), (bin_handle_async_done),
8402         (gst_bin_handle_message_func):
8403         Add helper function to find messages.
8404         Generate the async-done messages together with the state change
8405         messages.
8406         Small cleanups in handling toplevel bins.
8407
8408 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8409
8410         * libs/gst/base/gstdataqueue.c:
8411         * libs/gst/base/gstdataqueue.h:
8412         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8413         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8414         (gst_multi_queue_sink_event):
8415         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8416           Fix multiqueue leaking buffers and events when downstream or the
8417           queue are flushing. Make refcounting assumptions explicit and
8418           document them (shouldn't break existing code that uses it other than
8419           maybe leak miniobjects, but that already happens anyway). Add unit
8420           test for the most common flushing case. Fixes #423700.
8421           
8422 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8423
8424         * libs/gst/controller/gstcontroller.c:
8425         Clarify docs: The get_all, get_value_array(s) functions
8426         don't modify the GObject properties.
8427
8428 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8429
8430         * libs/gst/controller/gstcontroller.c:
8431         (gst_controlled_property_set_interpolation_mode),
8432         (gst_controlled_property_prepend_default),
8433         (gst_controlled_property_new), (gst_controller_set_unlocked),
8434         (gst_controller_set), (gst_controller_set_from_list),
8435         (gst_controller_unset), (gst_controller_unset_all):
8436         * libs/gst/controller/gstcontrollerprivate.h:
8437         * libs/gst/controller/gstinterpolation.c:
8438         Factor out the 'set' logic into gst_controller_set_unlocked for the
8439         gst_controller_set and gst_controller_set_from_list functions.
8440
8441         To make life of the interpolators easier always add a control point
8442         at timestamp zero with the default value.
8443
8444         In the linear interpolator make things more obvious by better variable
8445         naming (slope).
8446
8447         Implement cubic interpolation mode (by using a natural cubic spline)
8448         and map the quadratic interpolation mode to this too (as quadratic
8449         doesn't make much sense, see discussion on the list).
8450
8451         * tests/check/libs/controller.c: (GST_START_TEST),
8452         (gst_controller_suite):
8453         Add unit test for the cubic interpolation mode and check everywhere
8454         if the interpolation mode could be set as expected.
8455
8456 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8457
8458         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8459           Don't use GLib-2.10 functions, we still depend on
8460           GLib-how-old-is-it-again-2.8.
8461
8462 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8463
8464         * docs/gst/gstreamer-sections.txt:
8465         * gst/Makefile.am:
8466         * gst/gst.c:
8467         * gst/gst.h:
8468         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8469         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8470         (_gst_param_fraction_values_cmp),
8471         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8472         * gst/gstparamspecs.h:
8473         * gst/gstvalue.c:
8474         * tests/check/Makefile.am:
8475         * tests/check/gst/.cvsignore:
8476         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8477         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8478         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8479         (GST_START_TEST), (gst_param_spec_suite):
8480           API: add GstParamSpecFraction, so elements can have fraction
8481           properties without lots of painful string parsing (#444648).
8482
8483 2007-06-05  Wim Taymans  <wim@fluendo.com>
8484
8485         * gst/gstobject.c: (gst_object_class_init):
8486         Fix signal signature.
8487
8488         * gst/gstsegment.c:
8489         Add small clarification in the api docs.
8490
8491         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8492         States are protected with object lock.
8493
8494 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8495
8496         * AUTHORS:
8497         I should probably be listed as an author by now.
8498
8499         * docs/random/release:
8500         Update the release doc
8501
8502 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8503
8504         * gst/gstvalue.c:
8505           Make docs for gst_value_compare() mention return enums that
8506           actually exist.
8507
8508 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8509
8510         * configure.ac:
8511           Back to CVS
8512
8513 === release 0.10.13 ===
8514
8515 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8516
8517         * configure.ac:
8518           releasing 0.10.13, "With or without you"
8519
8520 2007-05-25  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/gstbin.c: (bin_handle_async_done):
8523         Make sure that the child bin stops after completing the async state
8524         change so that the parent can continue the state change to PLAYING.
8525         Fixes #441159.
8526
8527 2007-05-25  Wim Taymans  <wim@fluendo.com>
8528
8529         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8530         (unref_data), (gst_collect_pads_remove_pad),
8531         (gst_collect_pads_check_pads):
8532         Use additional refcounting to avoid crashes when dynamically adding and
8533         removing pads. Fixes #420206.
8534
8535 2007-05-24  Wim Taymans  <wim@fluendo.com>
8536
8537         * tools/gst-launch.c: (event_loop):
8538         When buffering goes from a two digit to a single digit number, make sure
8539         to remove the old second digit by writing a blank over it.
8540
8541 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8542
8543         * libs/gst/base/gstdataqueue.c:
8544           Eliminate tabs and trailing comma in enum list; fix some typos.
8545
8546 2007-05-24  Wim Taymans  <wim@fluendo.com>
8547
8548         * tests/check/gst/gstbin.c: (GST_START_TEST):
8549         Allow refcount of 3 and 4 because some state thread might still be busy
8550         with it.
8551
8552 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8553
8554         * plugins/elements/Makefile.am:
8555         * plugins/elements/gstmultiqueue.h:
8556         * plugins/elements/gstqueue.h:
8557           These are not installed headers, no need for padding.
8558
8559 2007-05-24  Wim Taymans  <wim@fluendo.com>
8560
8561         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8562         (gst_bin_continue_func):
8563         Enable latency for next release.
8564         Restore STATE_LOCK around recalc_state that was left out during the
8565         rewrite and could result in racy behaviour when _get_state and
8566         recalc_state are run concurrently. See #440463.
8567
8568 2007-05-23  Wim Taymans  <wim@fluendo.com>
8569
8570         * tests/check/gst/gstsystemclock.c: (store_callback),
8571         (GST_START_TEST):
8572         Improve test_async_order to also work when both timers are already
8573         expired when we get scheduled to check it.
8574
8575 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8576
8577         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8578         (gst_bin_set_property), (gst_bin_get_property),
8579         (gst_bin_remove_func), (gst_bin_handle_message_func):
8580         * gst/gstbin.h:
8581           'private' is a c++ keyword, let's not use that in header files,
8582           otherwise c++ compilers will throw a tantrum.
8583
8584 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8585
8586         * plugins/elements/gstelements.c:
8587         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8588         (gst_file_sink_get_current_offset):
8589         * plugins/indexers/gstindexers.c: (plugin_init):
8590           Use #ifdef for HAVE_XYZ for consistency.
8591
8592         * tests/check/Makefile.am:
8593         * tests/check/elements/.cvsignore:
8594         * tests/check/elements/filesink.c: (setup_filesink),
8595         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8596           Add some unit tests for filesink.
8597
8598 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8599
8600         Patch by: Mark Nauwelaerts <manauw at skynet be>
8601
8602         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8603         (gst_file_sink_query), (gst_file_sink_do_seek),
8604         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8605         * plugins/elements/gstfilesink.h:
8606           Fix position reporting; rename data_written member to current_pos to
8607           reflect its real meaning (fixes #412648).
8608
8609 2007-05-22  Edward Hervey  <edward@fluendo.com>
8610
8611         * docs/gst/gstreamer-sections.txt:
8612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8613         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8614         (gst_bin_remove_func), (gst_bin_handle_message_func):
8615         * gst/gstbin.h:
8616         Add a property for bins that handle the state change of their childs.
8617         Fixes #435880
8618
8619 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8620
8621         * libs/gst/controller/gstinterpolation.c:
8622         Use an array of the correct type when using _get_value_array with
8623         linear interpolation.
8624
8625 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8626
8627         * gst/gstelement.c (gst_element_requires_clock,
8628           gst_element_provides_clock, gst_element_request_pad,
8629           gst_element_class_set_details, gst_element_class_set_details_simple,
8630           gst_element_default_send_event, gst_element_abort_state,
8631           gst_element_continue_state, gst_element_set_state,
8632           gst_element_set_state_func, iterator_activate_fold_with_resync):
8633         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8634           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8635           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8636           gst_pad_get_range, gst_pad_pull_range):
8637         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8638           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8639           GstPadActivateModeFunction, GstPadChainFunction,
8640           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8641           GstPadFixateCapsFunction, GstPadTemplate):
8642         * gst/gstpipeline.c (gst_pipeline_change_state,
8643           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8644           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8645           gst_pipeline_get_delay):
8646           Whitespace and docs fixes.
8647
8648 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8649
8650         * libs/gst/controller/gstinterpolation.c:
8651         (interpolate_trigger_get_enum_value_array),
8652         (interpolate_trigger_get_string_value_array):
8653         Add support for retrieving value arrays when using the trigger
8654         interpolation mode. 
8655
8656 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8657
8658         * libs/gst/controller/gstcontroller.c:
8659         (gst_controller_get_value_array):
8660         * libs/gst/controller/gstcontroller.h:
8661         Clarify the docs of gst_controller_get_value_array(): The array where
8662         the values should be written to must be allocated as there seems to be
8663         no way to get the size of a random GType. This doesn't change any
8664         behaviour. Also fix some typos all over the place and remove an unused,
8665         commented function that is not necessary as g_object_set() could be
8666         used instead.
8667         * tests/check/libs/controller.c: (GST_START_TEST),
8668         (gst_controller_suite):
8669         Add unit test for gst_controller_get_value_array().
8670
8671 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8672
8673         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8674
8675         Disable part of the gst_buffer_try_new_and_alloc test, because
8676         it can happily succeed on 64-bit systems where there's more address
8677         space available.
8678
8679 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8680
8681         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8682         Add unit test for the improved caps checking from bug #421543.
8683
8684 2007-05-21  Wim Taymans  <wim@fluendo.com>
8685
8686         * docs/design/part-synchronisation.txt:
8687         Small addition.
8688
8689         * gst/gstbin.c: (gst_bin_query):
8690         * plugins/elements/gstqueue.c: (apply_segment):
8691         Improve debugging.
8692
8693         * gst/gstmessage.h:
8694         Improve docs.
8695
8696 2007-05-21  Wim Taymans  <wim@fluendo.com>
8697
8698         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8699         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8700         (gst_pad_configure_src):
8701         Added simple version of improved caps checking. It was previously
8702         assumed that a setcaps function would check the validity of the caps but
8703         people prefer us to check caps against the template automatically. 
8704         Fixes #421543.
8705
8706 2007-05-21  Wim Taymans  <wim@fluendo.com>
8707
8708         * libs/gst/base/gstbasetransform.h:
8709         Fix macro for locking/unlocking the transform lock.
8710
8711 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8712
8713         * docs/plugins/tmpl/.cvsignore:
8714           Ignore more.
8715
8716 2007-05-18  Edward Hervey  <edward@fluendo.com>
8717
8718         * plugins/elements/gstqueue.c: (gst_queue_loop):
8719         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8720         for the subtle art of warning a potentially blocking thread that it
8721         should check the source pad return value, and relay the information
8722         upstream.
8723
8724 2007-05-18  Edward Hervey  <edward@fluendo.com>
8725
8726         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8727         Release the queue lock !
8728
8729 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8730
8731         * docs/libs/gstreamer-libs-sections.txt:
8732         Add the two new controller functions to the appropiate places.
8733
8734 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8735
8736         reviewed by: Stefan Kost <ensonic@users.sf.net>
8737
8738         * libs/gst/controller/gstcontroller.c:
8739         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8740         (_gst_controller_get_property), (_gst_controller_set_property),
8741         (_gst_controller_init), (_gst_controller_class_init):
8742         * libs/gst/controller/gstcontroller.h:
8743         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8744         (gst_object_get_control_rate), (gst_object_set_control_rate):
8745         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8746         Add API that provides sync suggestion timestamps for elements that
8747         call gst_object_sync_values() from which those elements can subdivide
8748         their processing loop to get the best results for the controlled
8749         properties. For now it just suggests last_sync + control_rate as
8750         new timestamp but this will be improved in the future.
8751
8752         While doing that change the control-rate property to a GstClockTime
8753         from guint and change it's meaning from samples to nanoseconds as
8754         the GstController doesn't know anything about sampling rate. Strictly
8755         speaking this breaks ABI but as the control-rate property didn't do
8756         anything in the past and as such couldn't be used this should be no
8757         problem.        
8758
8759 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8760
8761         reviewed by: Stefan Kost <ensonic@users.sf.net>
8762
8763         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8764         (gst_controller_unset_all):
8765         * libs/gst/controller/gstcontrollerprivate.h:
8766         * libs/gst/controller/gstinterpolation.c:
8767         (gst_controlled_property_find_control_point_node):
8768         Save last synced value from the list to continue searching from there
8769         in future syncs. This speeds everything up a bit.
8770         
8771 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8772
8773         reviewed by: Stefan Kost <ensonic@users.sf.net>
8774
8775         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8776         (gst_control_point_find), (gst_controlled_property_new),
8777         (gst_control_point_free), (gst_controlled_property_free),
8778         (gst_controller_set), (gst_controller_set_from_list),
8779         (gst_controller_unset), (gst_controller_unset_all),
8780         (gst_controller_sync_values):
8781         * libs/gst/controller/gstcontroller.h:
8782         * libs/gst/controller/gstcontrollerprivate.h:
8783         * libs/gst/controller/gstinterpolation.c:
8784         (gst_controlled_property_find_control_point_node),
8785         (interpolate_none_get), (interpolate_trigger_get):
8786         Add a new private GstControlPoint struct which "inherits" from
8787         GstTimedValue to allow different interpolators to store internal
8788         values next to each control point. From the outside everything is
8789         still a GstControlPoint so we don't loose binary compatibility.
8790         Also fixup all the GValue handling to not leak GValues or list nodes.
8791         * tests/check/libs/controller.c: (GST_START_TEST):
8792         Free the list nodes and GValues in the controller_misc test.
8793
8794 2007-05-17  Edward Hervey  <edward@fluendo.com>
8795
8796         * gst/gstsegment.c:
8797         Small doc fix.
8798
8799 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8800
8801         * gst/gstplugin.c: (gst_plugin_load_file):
8802           If we fail to load a plugin because of unresolved symbols or missing
8803           libraries and spew a warning to stderr, we may just as well mention
8804           which plugin it was that failed to load.
8805
8806 2007-05-13  David Schleef  <ds@schleef.org>
8807
8808         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8809           handles the case when ENABLE_GTK_DOC is false, and installs
8810           the prebuilt documentation.  So gtk-doc subdirs are 
8811           unconditionally enabled.  Fixes: #349099.
8812
8813 2007-05-13  David Schleef  <ds@schleef.org>
8814
8815         * gst/gstutils.h: Reword some documentation.
8816
8817 2007-05-12  David Schleef  <ds@schleef.org>
8818
8819         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8820           do anything with the passed "module" parameter, so remove it.
8821           Allows removal of additional vestigal code.
8822
8823 2007-05-12  David Schleef  <ds@schleef.org>
8824
8825         * gst/gstplugin.c:
8826           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8827           Switch to using g_stat() because it's more portable.
8828
8829 2007-05-12  David Schleef  <ds@schleef.org>
8830
8831         * gst/gst.c:
8832           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8833           parsing for embedded systems.
8834         * gst/gstelementfactory.c:
8835           Allow gst_element_register() to be called with plugin==NULL.
8836           Did nobody notice that static elements were broken?
8837
8838 2007-05-12  Wim Taymans  <wim@fluendo.com>
8839
8840         * tools/gst-launch.c: (event_loop):
8841         Give more interesting info when buffering starts and stops.
8842         Fix case where buffering starts but we fail to update the buffering flag
8843         because the target state is not PLAYING.
8844
8845 2007-05-12  Wim Taymans  <wim@fluendo.com>
8846
8847         * plugins/elements/gstqueue.c: (gst_queue_init),
8848         (gst_queue_finalize), (update_time_level), (apply_segment),
8849         (apply_buffer), (gst_queue_locked_flush),
8850         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8851         (gst_queue_handle_sink_event), (gst_queue_chain),
8852         (gst_queue_push_one), (gst_queue_loop):
8853         * plugins/elements/gstqueue.h:
8854         Refactor an cleanup queue a bit.
8855         Do better time level calculations that also work when the srcpad is not
8856         yet running.
8857         Remove some unneeded debug lines.
8858
8859         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8860         Added testcase for time level measurement.
8861         Try to make some stuff more racefree.
8862
8863 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8864
8865         * gst/gsturi.c: (gst_element_make_from_uri):
8866           Don't leak plugin feature.
8867
8868         * tests/check/Makefile.am:
8869         * tests/check/gst/.cvsignore:
8870         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8871           Add brain-dead unit test.
8872
8873 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8874
8875         Patch by: Jeroen Wouters <woutersj at gmail com>
8876
8877         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8878           Treat protocol strings in a case-insensitive way (#437563).
8879
8880 2007-05-11  Michael Smith <msmith@fluendo.com>
8881
8882         * gst/gstplugin.c: (gst_plugin_load_file):
8883         * gst/gstregistry.c: (gst_registry_scan_path_level):
8884           Don't print a g_warning for any failure to load a shared object.
8885           Instead, push this down into gstplugin.c, and warn _only_ if we
8886           failed to open the module (i.e. failure to link).
8887           Avoids warnings on normal, working, non-plugin .so files.
8888
8889 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8890
8891         * gst/gstplugin.c (gst_plugin_load_file):
8892         * gst/gstregistry.c (GST_CAT_DEFAULT,
8893           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8894           Print a g_warning if there was an error when loading a plugins during
8895           registry scan. The shuld help beginners starting with gst-plugin
8896           template.
8897
8898 2007-05-10  Wim Taymans  <wim@fluendo.com>
8899
8900         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8901         (update_time_level), (gst_queue_locked_flush),
8902         (gst_queue_handle_sink_event), (gst_queue_chain),
8903         (gst_queue_push_one), (gst_queue_loop):
8904         * plugins/elements/gstqueue.h:
8905         Be smarter when calculating the current amount of data in the queue by
8906         measuring the difference between start and end timestamps (in running
8907         time) inside the queue. Fixes #432876.
8908         API: GstQueue::pushing to notify elements that we are pushing data again
8909         since the running signal is rather broken for this purpose.
8910
8911 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8912
8913         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8914           gst_queue_base_init, gst_queue_init):
8915           use GST_BOILERPLATE
8916
8917 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8918
8919         * win32/common/libgstreamer.def:
8920         Add new exported functions.
8921         * win32/vs6/grammar.dsp:
8922         Use grammar pre-generated files.
8923
8924 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8925
8926         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8927
8928         * gst/Makefile.am:
8929         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8930         * gst/gstparse.h:
8931         * gst/gstutils.c: (gst_parse_bin_from_description):
8932         * gst/gstutils.h:
8933           Maintain API and ABI when --disable-parse is used. Now that
8934           we have an appropriate error code, we can just return NULL and the
8935           appropriate error when gst_parse_launch() is used despite it having
8936           been disabled (#342564).
8937
8938         * tests/check/Makefile.am:
8939         * tests/check/pipelines/.cvsignore:
8940         * tests/check/pipelines/parse-disabled.c:
8941           Make sure these functions exist and return NULL plus a GError when
8942           --disable-parse is used.
8943
8944 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8945
8946         * tests/benchmarks/complexity.c: (main):
8947         * tests/benchmarks/mass-elements.c: (main):
8948           Set a good example and don't leak messages.
8949
8950 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8951
8952         * docs/gst/Makefile.am:
8953         * docs/libs/Makefile.am:
8954           Correct fixxrefs options.
8955
8956         * docs/plugins/Makefile.am:
8957         * docs/plugins/gstreamer-plugins-docs.sgml:
8958         * docs/plugins/gstreamer-plugins-sections.txt:
8959         * plugins/elements/Makefile.am:
8960         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8961         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8962           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8963           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8964           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8965           _GstCapsFilterClass, trans_class):
8966         * plugins/elements/gstelements.c (name, rank, type, _elements):
8967         * plugins/elements/gstidentity.c
8968           (gst_identity_check_imperfect_timestamp,
8969           gst_identity_check_imperfect_offset):
8970           Document capsfilter and add doc-blurb to identity.
8971
8972 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8973
8974         * libs/gst/controller/gstcontroller.c:
8975         (gst_controlled_property_set_interpolation_mode):
8976         * libs/gst/controller/gstinterpolation.c:
8977           Don't crash if someone tries to set an interpolation mode that
8978           is invalid or that isn't supported yet. Fixes #422295.
8979
8980         * tests/check/libs/controller.c: (GST_START_TEST),
8981         (gst_controller_suite):
8982           Add a test case for the above.
8983
8984 2007-05-03  Edward Hervey  <edward@fluendo.com>
8985
8986         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8987         Properly set the last_stop position on GstSegment. This will only happen
8988         if there is a buffer to push out.
8989
8990 2007-05-03  Wim Taymans  <wim@fluendo.com>
8991
8992         * libs/gst/base/gstbasetransform.c:
8993         (gst_base_transform_buffer_alloc):
8994         always_in_place does not mean that the sink and source caps are the
8995         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8996
8997 2007-05-03  Wim Taymans  <wim@fluendo.com>
8998
8999         * docs/libs/gstreamer-libs-sections.txt:
9000         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9001         (gst_base_src_default_query), (gst_base_src_get_range):
9002         * libs/gst/base/gstbasesrc.h:
9003         API: gst_base_src_query_latency(). Added method so that subclasses can
9004         easily get the latency values of the base source class.
9005
9006 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9007
9008         * tools/gst-inspect.c (print_implementation_info):
9009         Remove 0.8 cruft.
9010
9011 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9012
9013         * tools/Makefile.am:
9014         * tools/gst-launch.1.in:
9015           Don't create a customised man page based on the host architecture,
9016           describe the default registry path generically. That way the man
9017           page is the same for all architectures and packagers have one
9018           multilib issue less to deal with. Fixes #434926.
9019
9020 2007-05-02  Wim Taymans  <wim@fluendo.com>
9021
9022         * gst/gstpad.c:
9023         Fix documentation as spotted by rg on IRC. 
9024
9025 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9026
9027         * gst/gstutils.c:
9028           Improve docs for gst_element_{link,unlink}.
9029
9030 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9031
9032         * docs/design/part-events.txt:
9033         * docs/design/part-overview.txt:
9034         * gst/gstevent.c:
9035         * gst/gsturi.c:
9036         * gst/gsturi.h:
9037         * libs/gst/base/gstbasesink.c:
9038           Typo fixes; minor docs addition.
9039
9040 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9041
9042         * docs/gst/gstreamer-sections.txt:
9043         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9044         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9045         * gst/gsturi.h:
9046         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9047         or src that supports a given URI protocol exists.
9048
9049 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9050
9051         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9052         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9053         Set the location to NULL if "file://" is set as URI. Otherwise
9054         some random previous URI would still be set if "file://" is
9055         set on an already used filesink/filesrc.
9056
9057 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9058
9059         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9060         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9061         Special case the "file://" URI as as this is used by some
9062         applications to test with gst_element_make_from_uri if there's
9063         an element that supports the URI protocol.
9064         Also move the g_path_is_absolute() check for the location part
9065         of the URI to also check this for "file://localhost/bla" URIs.
9066
9067 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * docs/gst/gstreamer-sections.txt:
9070         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9071         * gst/gstbuffer.h:
9072         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9073         (gst_buffer_suite):
9074           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9075
9076 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9077
9078         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9079         (gst_registry_binary_load_pad_template),
9080         (gst_registry_binary_load_plugin),
9081         (gst_registry_binary_read_cache):
9082         * gst/gstregistrybinary.h:
9083           Implement no-mmap alternative for registry reading. Do code cleanups.
9084           Add more comments about avoiding strdups for all text data. Comments
9085           welcome.
9086
9087 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9088
9089         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9090           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9091           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9092           Comment structs and reformat to fix the build (that stuff should go
9093           into a priv. header).
9094
9095 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9096
9097         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9098         (gst_registry_binary_load_feature):
9099         * gst/gstregistrybinary.h:
9100           Refactor so that we can implement multiple features. Add support for
9101           TypeFindFactory features.
9102
9103 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9104
9105         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9106
9107         * configure.ac:
9108           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9109
9110 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9111
9112         * gst/gstbin.c: (gst_bin_element_set_state),
9113         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9114         (bin_handle_async_done), (gst_bin_handle_message_func):
9115           Fix build with --gst-disable-gst-debug
9116
9117 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9118
9119         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9120           Make sure streaming has finished before calling the ::stop() vfunc,
9121           since that vfunc might clear state which is being used in the
9122           streaming thread. This fixes a race that caused crashes in
9123           audioresample when shutting down a pipeline (#420106).
9124
9125 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9126
9127         * docs/gst/gstreamer-sections.txt:
9128           That was one byte missing.
9129
9130 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9131
9132         * configure.ac:
9133         * docs/gst/gstreamer-sections.txt:
9134         * gst/Makefile.am:
9135         * gst/gstconfig.h.in:
9136         * gst/gstobject.c: (gst_object_class_init),
9137         (gst_signal_object_class_init):
9138         * gst/gstobject.h:
9139           2nd attempt to have a xml-less build as a joined effort of #413123
9140           and #421480.
9141
9142 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9143
9144         * docs/design/draft-tagreading.txt:
9145           Added open issues/thoughts to draft.
9146
9147 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9148
9149         * gst/parse/grammar.tab.pre.c:
9150         * gst/parse/grammar.tab.pre.h:
9151         * gst/parse/lex._gst_parse_yy.pre.c:
9152         Update the prebuild parser sources.
9153
9154 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9155
9156         * gst/parse/Makefile.am:
9157         And now fix the building of the flex sources. Now everything should
9158         work as expected.
9159
9160 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9161
9162         * gst/parse/Makefile.am:
9163         Now hopefully fix the build failures by setting proper rule
9164         dependencies and moving instead of copying.
9165
9166 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9167
9168         * tests/benchmarks/complexity.gnuplot:
9169         * tests/benchmarks/complexity.scm:
9170         * tests/benchmarks/mass-elements.gnuplot:
9171         * tests/benchmarks/mass-elements.scm:
9172           Total licensification.
9173
9174 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9175
9176         * gst/parse/Makefile.am:
9177           Fix the build by correcting the rule that gave wrong files to flex.
9178
9179 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9180
9181         * tests/benchmarks/complexity.c:
9182         * tests/benchmarks/mass-elements.c:
9183           Change licence to LGPL as granted by Benjamin and Andy.
9184
9185 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9186
9187         * gst/parse/Makefile.am:
9188         Add correct grammar.tab.h dependency if compiling without new enough
9189         flex. Fixes #431150.
9190
9191 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9192
9193         * gst/parse/Makefile.am:
9194         Fix typo and use outdated sources if the flex/bison sources are newer
9195         than the pregenerated ones but flex is too old. Print a warning in
9196         that case. This should fix the build on the build bot.
9197
9198 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9199
9200         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9201         * gst/parse/Makefile.am:
9202         * gst/parse/grammar.y:
9203         * gst/parse/parse.l:
9204         Make the parser reentrant and recursively callable. This requires flex
9205         >= 2.5.31, for older versions pregenerated sources are used as we
9206         can't bump the build dependency. Finally fixes #349180.
9207
9208         * gst/gstparse.c: (gst_parse_launch):
9209         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9210         now anyway.
9211
9212         * docs/gst/Makefile.am:
9213         * docs/gst/Makefile.am:
9214         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9215         (__gst_parse_strfree), (__gst_parse_link_new),
9216         (__gst_parse_link_free), (__gst_parse_chain_new),
9217         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9218         (gst_parse_element_set), (gst_parse_free_link),
9219         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9220         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9221         (_gst_parse_launch):
9222         * gst/parse/grammar.tab.pre.h:
9223         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9224         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9225         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9226         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9227         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9228         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9229         (_gst_parse_yypop_buffer_state),
9230         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9231         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9232         (yy_fatal_error), (_gst_parse_yyget_extra),
9233         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9234         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9235         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9236         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9237         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9238         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9239         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9240         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9241         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9242         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9243         (_gst_parse_yyfree):
9244         If the installed flex version is too old use pre-generated parser
9245         sources. These pre-generated parser sources are always updated when
9246         the actual flex/bison sources change but require everybody who wants
9247         to change something in the parser to have flex >= 2.5.31 installed.
9248
9249 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9250
9251         * common/m4/gst-gettext.m4:
9252         * gst/gst-i18n-lib.h:
9253           Make --disable-nls to work
9254
9255 2007-04-17  Wim Taymans  <wim@fluendo.com>
9256
9257         * gst/gstconfig.h.in:
9258         Revert previous change that broke the build.
9259
9260 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9261
9262         * configure.ac:
9263         * gst/Makefile.am:
9264         * gst/gstconfig.h.in:
9265           Drop libxml2 dependency when building with 
9266           --enable-binary-registry --disable-loadsave
9267
9268 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9271         (gst_registry_binary_read_cache):
9272         * gst/gstregistrybinary.h:
9273           Remove unnecessary <sys/mman.h> include which broke the win32 build
9274           with MingW; move includes from header file to .c file, even if the
9275           header file isn't installed; use g_strerror() where UTF-8 strings
9276           are expected, such as in GST_DEBUG messages.
9277
9278 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9279
9280         * docs/libs/gstreamer-libs-sections.txt:
9281         Remove bogus addition for API I didn't end up keeping.
9282
9283         * libs/gst/base/gstbasesrc.h:
9284         Mention Since: 0.10.13 in the documentation.
9285
9286         Add the API keyword to the previous ChangeLog entry.
9287
9288 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9289
9290         * docs/libs/gstreamer-libs-sections.txt:
9291         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9292         (gst_base_src_default_prepare_seek_segment),
9293         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9294         * libs/gst/base/gstbasesrc.h:
9295         Allow basesrc derived classes to execute seeks in other formats
9296         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9297         to prepare the GstSegment in any format that their perform_seek method
9298         will be able to understand. The default implementation provides the
9299         old behaviour of attempting to convert the seek offsets to the 
9300         configured native format.
9301
9302         API: basesrc::prepare_seek_segment vmethod.
9303
9304 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9305
9306         * gst/gstelement.c: (gst_element_get_state_func):
9307         Don't output the same debug statement twice.
9308
9309         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9310         (gst_adapter_peek), (gst_adapter_take_buffer):
9311         Optimise the case where we have buffers at the head of the queue that
9312         can be joined quickly (because they're contiguous sub-buffers) by
9313         merging them together rather than copying data out into new memory.
9314
9315         * gst/parse/grammar.y:
9316         * tests/check/pipelines/parse-launch.c:
9317         Fix a leak in an error path for parse_launch, and add a check 
9318         for it to the testsuite.
9319
9320 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9321
9322         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9323           Don't deadlock when releasing a pad - gst_pad_set_active may try
9324           and take the multiqueue lock too.
9325
9326 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         * gst/gsterror.c: (_gst_core_errors_init):
9329         * gst/gsterror.h:
9330           API: add GST_CORE_ERROR_DISABLED (#392804).
9331
9332 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * docs/faq/gst-uninstalled:
9335           don't get empty paths on the PATH variables
9336         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9337           Don't format for the uncommon terminal width of 84 characters.
9338
9339 2007-04-06  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/gstpipeline.c: (reset_stream_time),
9342         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9343         Only try to select a different pipeline clock when we went back to
9344         PAUSED and not when we merely got flushed.
9345
9346 2007-04-05  Michael Smith  <msmith@fluendo.com>
9347
9348         * tools/gst-launch.1.in:
9349           fractions are better supported in gstreamer than ractions, so
9350           suggest using those.
9351
9352 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9353
9354         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9355
9356         * po/LINGUAS:
9357         * po/da.po:
9358           Added Danish translation.
9359
9360 2007-04-05  Wim Taymans  <wim@fluendo.com>
9361
9362         * libs/gst/base/gstbasesink.c:
9363         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9364         Fix leak caused when refusing newsegment after EOS.
9365
9366         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9367         (gst_fake_sink_init), (gst_fake_sink_set_property),
9368         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9369         (gst_fake_sink_render), (gst_fake_sink_change_state):
9370         * plugins/elements/gstfakesink.h:
9371         Add num-buffers property to make the element generate EOS after a
9372         configurable amount of buffers.
9373         API: fakesink::num-buffers property.
9374
9375         * tests/check/elements/fakesink.c: (GST_START_TEST),
9376         (fakesink_suite):
9377         Fix GstBus leak in test.
9378         Test for fakesink num-buffers.
9379
9380 2007-04-05  Wim Taymans  <wim@fluendo.com>
9381
9382         * libs/gst/base/gstbasesink.c:
9383         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9384         (gst_base_sink_change_state):
9385         Don't accept anything after an EOS, return UNEXPECTED instead.
9386
9387         * tests/check/elements/fakesink.c: (GST_START_TEST),
9388         (fakesink_suite):
9389         Unit test for new EOS behaviour.
9390
9391 2007-04-05  Wim Taymans  <wim@fluendo.com>
9392
9393         * gst/gstelement.c: (gst_element_get_request_pad):
9394         Make padtemplates also work when they don't contain %s or %d.
9395
9396 2007-04-05  Wim Taymans  <wim@fluendo.com>
9397
9398         * docs/gst/gstreamer-sections.txt:
9399         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9400         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9401         * gst/gstclock.h:
9402         Improve _adjust_unlocked() so that it overflows less.
9403         Add gst_clock_unadjust_unlocked to convert from external time to
9404         internal time based on calibration.
9405         Add some more debug.
9406         API: GstClock::gst_clock_unadjust_unlocked()
9407
9408 2007-04-03  Wim Taymans  <wim@fluendo.com>
9409
9410         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9411
9412         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9413         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9414         when releasing sink pad. Fixes #425400.
9415
9416 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9417
9418         * docs/random/ensonic/dynlink.txt:
9419           More work on proposal for new core api.
9420
9421         * docs/libs/gstreamer-libs-sections.txt:
9422         * libs/gst/base/gstbasetransform.h:
9423           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9424           
9425         * libs/gst/controller/gstcontroller.c:
9426         (on_object_controlled_property_changed),
9427         (gst_controller_sync_values),
9428         (gst_controller_set_interpolation_mode):
9429         * libs/gst/controller/gstcontroller.h:
9430           Less verbose logging add docs for unimplemented parts and correctly
9431           return when using unavailable parts.
9432
9433 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9434
9435         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9436         Move all the debug to the CLOCK category, and associate it with
9437         the clock object.
9438
9439 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9440
9441         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9442         Make take_buffer a bit quicker by removing redundant checks
9443         caused by calling gst_adapter_take.
9444
9445 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9446
9447         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9448           Don't leak GCond.
9449
9450         * tests/check/Makefile.am:
9451         * tests/check/elements/.cvsignore:
9452         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9453         (GST_START_TEST), (multiqueue_suite):
9454           Add some dead simple unit tests for the 'multiqueue' element
9455           (some bits don't work yet and are disabled for now).
9456
9457 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9458
9459         * gst/gstelement.c: (gst_element_get_request_pad),
9460         (gst_element_class_get_request_pad_template):
9461           Make gst_element_get_request_pad() create request pads only for
9462           request pad templates and not for, say, sometimes pad templates.
9463
9464 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9465
9466         * docs/design/draft-klass.txt:
9467           Add example that needs more thinking.
9468         
9469         * docs/design/draft-missing-plugins.txt:
9470           More thoughts about wrapper plugins.
9471         
9472         * docs/random/ensonic/embedded.txt:
9473         * docs/random/ensonic/profiling.txt:
9474           More design work.
9475
9476 2007-03-25  Wim Taymans  <wim@fluendo.com>
9477
9478         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9479         (gst_base_src_loop):
9480         Only push the segment events in the PLAYING state for live sources.
9481
9482 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9483
9484         * gst/gstpipeline.c: (gst_pipeline_change_state):
9485         Modify the clock distribution path in PAUSED->PLAYING so that we 
9486         never attempt to choose a new clock unless we're actually leaving
9487         the PAUSED state for the first time. This prevents choosing a
9488         different clock when the state_change gets called for a 2nd time due
9489         to some element doing an async state change.
9490
9491 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9492
9493         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9494         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9495         (gst_pad_chain_unchecked), (gst_pad_push):
9496         Revert last commit. This needs some more thoughts.
9497
9498 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9499
9500         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9501         (gst_pad_chain_unchecked), (gst_pad_push):
9502         Check in set_caps if the caps are compatible with the pad and remove
9503         two functions that are redundant now. Fixes #421543.
9504
9505 2007-03-22  Wim Taymans  <wim@fluendo.com>
9506
9507         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9508         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9509         Unref some more to make valgrind happy.
9510
9511 2007-03-22  Wim Taymans  <wim@fluendo.com>
9512
9513         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9514         (gst_system_clock_id_wait_jitter),
9515         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9516         Fix anoying regression that survived a few releases. When adding an
9517         async entry while blocking on a sync entry, the sync entry will unblock
9518         but still be busy, so it should continue to wait instead of returning
9519         _BUSY to the app.
9520         Add some comments here and there.
9521
9522         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9523         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9524         Add testcase for this.
9525
9526 2007-03-22  Wim Taymans  <wim@fluendo.com>
9527
9528         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9529         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9530         WRONG_STATE and can silently pause the task. All other cases should
9531         error out.
9532
9533 2007-03-22  Wim Taymans  <wim@fluendo.com>
9534
9535         Patch by: Ville Syrjala <syrjala at sci dot fi>
9536
9537         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9538         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9539         Improve debugging.
9540
9541 2007-03-21  Michael Smith  <msmith@fluendo.com>
9542
9543         * docs/pwg/advanced-types.xml:
9544           Fix some errors in the typefinding docs pointed out on irc.
9545
9546 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9547
9548         * libs/gst/base/gstbasesrc.c:
9549         Clarify FIXME comment in the face of having added unlock_stop()
9550
9551 2007-03-21  Wim Taymans  <wim@fluendo.com>
9552
9553         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9554         Prepare for release where we warn against possible app breakage in the
9555         case of live pipelines along with an env var to enable/disable live
9556         preroll mode (GST_COMPAT=[no-]live-preroll).
9557
9558 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9559
9560         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9561         So we should use correct constants for checking for None offset.
9562
9563 2007-03-20  Wim Taymans  <wim@fluendo.com>
9564
9565         * docs/design/part-block.txt:
9566         Mention the fact that the newly switched element should be set to at
9567         least PAUSED.
9568
9569 2007-03-20  Wim Taymans  <wim@fluendo.com>
9570
9571         * gst/gst.c:
9572         Fix compilation with registry disabled as spotted by Saur.
9573
9574 2007-03-20  Wim Taymans  <wim@fluendo.com>
9575
9576         Patch by: Olivier Crete <tester at tester dot ca>
9577
9578         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9579         Look at the pending state too when syncing the element state to the
9580         parent. Fixes #420133.
9581
9582 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9583
9584         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9585         (gst_base_sink_change_state):
9586         * libs/gst/base/gstbasesink.h:
9587         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9588         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9589         (gst_base_src_deactivate):
9590         * libs/gst/base/gstbasesrc.h:
9591         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9592         for sub-classes to correctly clear any state they set trying to
9593         unlock, such as clearing out unlock commands from a command fd.
9594         API: basesrc::unlock_stop
9595         API: basesink::unlock_stop
9596
9597         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9598         (gst_fd_sink_render), (gst_fd_sink_unlock),
9599         (gst_fd_sink_unlock_stop):
9600         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9601         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9602         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9603
9604         Implement unlock_stop in fdsrc and fdsink.
9605         Implement seeking in fdsrc when a seekable fd is passed, as in
9606         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9607
9608 2007-03-19  Wim Taymans  <wim@fluendo.com>
9609
9610         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9611
9612         * gst/gstelement.c: (gst_element_class_init):
9613         Fix pad-added and pad-removed signal signatures so that the pad type is
9614         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9615
9616 2007-03-19  Wim Taymans  <wim@fluendo.com>
9617
9618         * docs/gst/gstreamer-sections.txt:
9619         Add new element field and method.
9620
9621         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9622         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9623         (gst_bin_recalc_state), (gst_bin_get_state_func),
9624         (gst_bin_element_set_state), (gst_bin_change_state_func),
9625         (gst_bin_continue_func), (bin_bus_handler),
9626         (bin_push_state_continue), (bin_handle_async_start),
9627         (bin_handle_async_done), (gst_bin_handle_message_func):
9628         Make async state changes a bit smarter by using new ASYNC_START and
9629         ASYNC_DONE messages. This reduces the number of times we run the state
9630         recalculation thread.
9631         Don't change state of element with a pending ASYNC_START message.
9632         Deprecate STATE_DIRTY messages.
9633         
9634         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9635         (gst_element_get_state_func), (gst_element_continue_state),
9636         (gst_element_lost_state), (gst_element_set_state_func),
9637         (gst_element_change_state):
9638         * gst/gstelement.h:
9639         Keep the state that was last set by the app in a new element field.
9640         Don't allow state changes when handling an element event.
9641         Post ASYNC_START and ASYNC_DONE messages.
9642         Change lost_state so that we go to PAUSED and wait for the parent to set
9643         us to PLAYING again (so latency calculation can be performed)
9644         Export gst_element_change_state() method so that subclasses can use it.
9645         API: gst_element_change_state()
9646         API: GST_STATE_TARGET
9647
9648         * gst/gstpipeline.c: (gst_pipeline_class_init),
9649         (reset_stream_time), (gst_pipeline_change_state),
9650         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9651         Using the new ASYNC_START message we can reset the base_time when
9652         needed. This can then be used to implement base_time redistribution in
9653         flushing seeks so that we can remove the explicit seek handling.
9654         Perform latency query and configuration when going to PLAYING.
9655
9656         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9657         (gst_base_sink_query), (gst_base_sink_change_state):
9658         Post new ASYNC_START/ASYNC_DONE messages.
9659
9660         * tests/check/generic/sinks.c: (GST_START_TEST):
9661         Fix test because the bin will not set the async element to PLAYING right
9662         away.
9663
9664         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9665         Make the message check a little stronger.
9666         Handle ASYNC messages.
9667
9668         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9669         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9670         Expect ASYNC_DONE messages.
9671
9672 2007-03-19  Wim Taymans  <wim@fluendo.com>
9673
9674         * docs/gst/gstreamer-sections.txt:
9675         * gst/gstmessage.c: (gst_message_new_async_start),
9676         (gst_message_new_async_done), (gst_message_parse_info),
9677         (gst_message_parse_async_start):
9678         * gst/gstmessage.h:
9679         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9680         support.
9681
9682 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9683
9684         * tools/gst-inspect.c:
9685         (print_plugin_automatic_install_info_codecs):
9686           Now that we don't check for the 'Codec' keyword any longer in the
9687           klass, we shouldn't spew a warning if the klass isn't a decoder or
9688           encoder (since it might be a Source/Network, for example).
9689
9690 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9691
9692         * tools/gst-inspect.c:
9693         (print_plugin_automatic_install_info_codecs):
9694           Don't require decoder/demuxer/depayloader elements or
9695           encoder/muxer/paylader elements to have 'Codec' as part of their
9696           factory class string when introspecting a plugin's capabilities.
9697           draft-klass.txt mentions that it might be removed in future, and
9698           flump3dec doesn't have it as part of its class string, so chances
9699           are others might also not have it.
9700
9701 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * po/af.po:
9704         * po/az.po:
9705         * po/bg.po:
9706         * po/ca.po:
9707         * po/cs.po:
9708         * po/de.po:
9709         * po/en_GB.po:
9710         * po/fr.po:
9711         * po/it.po:
9712         * po/nb.po:
9713         * po/nl.po:
9714         * po/ru.po:
9715         * po/sq.po:
9716         * po/sr.po:
9717         * po/sv.po:
9718         * po/tr.po:
9719         * po/uk.po:
9720         * po/vi.po:
9721         * po/zh_CN.po:
9722         * po/zh_TW.po:
9723           Update translations from translation project
9724
9725 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9726
9727         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9728         (gst_child_proxy_set_property):
9729           Invert precondition check to be alike the ones in the mimiced gobject
9730           api.
9731
9732 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9733
9734         * docs/design/draft-tagreading.txt:
9735         * docs/random/ensonic/audiobaseclasses.txt:
9736           Do some Architect work.
9737
9738         * gst/gstobject.c: (gst_object_set_name):
9739           Add a WARNING.
9740
9741         * gst/gstpad.c:
9742           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9743
9744 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9745
9746         * gst/gstsystemclock.c: (gst_system_clock_init),
9747         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9748         Defer starting the async system clock thread until the first async
9749         wait is scheduled. Fixes #414986.
9750
9751 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9752
9753         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9754         (gst_single_queue_free):
9755           Fix small leak (free GstSingleQueue structure too, not only contents).
9756
9757 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9758
9759         * gst/gstbin.c:(gst_bin_add):
9760         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9761         * win32/common/libgstbase.def:
9762         * win32/common/libgstreamer.def:
9763         Add new exported functions.
9764
9765 2007-03-09  Wim Taymans  <wim@fluendo.com>
9766
9767         * docs/plugins/gstreamer-plugins-sections.txt:
9768         Fix GstTee docs.
9769
9770 2007-03-09  Wim Taymans  <wim@fluendo.com>
9771
9772         * docs/gst/gstreamer-sections.txt:
9773         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9774         * gst/gstbuffer.h:
9775         Add metadata copy functions. Fixes #393099.
9776         API: gst_buffer_copy_metadata()
9777
9778         * gst/gstutils.c: (gst_buffer_stamp):
9779         * libs/gst/base/gstbasetransform.c:
9780         (gst_base_transform_prepare_output_buffer):
9781         Use new metadata copy functions.
9782
9783 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9786         (gst_identity_init), (gst_identity_check_perfect),
9787         (gst_identity_check_imperfect_timestamp),
9788         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9789         (gst_identity_set_property), (gst_identity_get_property):
9790         * plugins/elements/gstidentity.h:
9791         Separate out check-imperfect-timestamp and check-imperfect-offset.
9792         Put back check-perfect as it was to keep compatibility.
9793
9794 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9795
9796         * gst/gstelement.c: (gst_element_dispose):
9797         There's no need to warn if VOID_PENDING is not NONE here, as
9798         long as the state is NULL it's ok, and that's checked immediately
9799         above.
9800
9801 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9802
9803         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9804         Fix check for perfect stream to ignore buffers with -1 
9805         offsets/offset ends when checking data contiguity.
9806
9807 2007-03-08  Wim Taymans  <wim@fluendo.com>
9808
9809         * tools/gst-launch.c: (event_loop):
9810         Print INFO messages.
9811
9812 2007-03-08  Wim Taymans  <wim@fluendo.com>
9813
9814         * libs/gst/base/gstbasetransform.c:
9815         (gst_base_transform_sink_eventfunc),
9816         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9817         (gst_base_transform_activate):
9818         * libs/gst/base/gstbasetransform.h:
9819         Add support for dropping buffers with custom GstFlowReturn.
9820         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9821         buffers or dropped buffers.
9822
9823         * docs/libs/gstreamer-libs-sections.txt:
9824         docs for new custom return code.
9825
9826         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9827         Use drop support in base class to implement drop-probability.
9828
9829 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9830
9831         * gst/gst.c: (load_plugin_func):
9832         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9833         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9834         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9835           Remove newlines at end of debug log strings.
9836
9837 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9838
9839         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9840         Only post bus message at max, once per buffer received.
9841
9842 2007-03-07  Wim Taymans  <wim@fluendo.com>
9843
9844         * docs/design/Makefile.am:
9845         * docs/design/part-synchronisation.txt:
9846         Add doc about synchronisation
9847
9848         * docs/design/draft-latency.txt:
9849         * docs/design/part-TODO.txt:
9850         * docs/design/part-clocks.txt:
9851         * docs/design/part-events.txt:
9852         * docs/design/part-gstbus.txt:
9853         * docs/design/part-gstpipeline.txt:
9854         * docs/design/part-live-source.txt:
9855         * docs/design/part-messages.txt:
9856         * docs/design/part-overview.txt:
9857         * docs/design/part-streams.txt:
9858         * docs/design/part-trickmodes.txt:
9859         Documentation updates.
9860
9861 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9862
9863         * gstreamer.doap:
9864         Update the doap file.
9865
9866 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9867
9868         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9869         Rename non-perfect to imperfect for Mike and for the sanctity of the
9870         language.
9871         Also make sure bus message gets emitted for data-incontiguities.
9872
9873 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9874
9875         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9876         (gst_identity_start):
9877         * plugins/elements/gstidentity.h:
9878         Emit bus message if check-perfect is true and we encounter a
9879         non-perfect stream between 2 consecutive buffers.
9880         Fixes #415394.
9881
9882 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9883
9884         * configure.ac:
9885         Back to CVS
9886
9887 === release 0.10.12 ===
9888
9889 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9890
9891         * configure.ac:
9892           releasing 0.10.12, "Inevitable Demise"
9893
9894 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9895
9896         * configure.ac:
9897          Version 0.10.11.2 (0.10.12 pre-release)
9898          Bump libtool versioning.
9899
9900 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9901
9902         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9903           Log flow-names and not numbers.
9904
9905 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9906
9907         * configure.ac:
9908           Convert to new AG_GST style.
9909
9910 2007-02-28  Wim Taymans  <wim@fluendo.com>
9911
9912         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9913         Don't unref query twice.
9914
9915 2007-02-28  Wim Taymans  <wim@fluendo.com>
9916
9917         * gst/gstvalue.c: (gst_value_transform_object_string),
9918         (_gst_value_initialize):
9919         Implement GstObject -> string transform so we print object names
9920         when serializing GValues containing GstObjects.
9921
9922 2007-02-28  Wim Taymans  <wim@fluendo.com>
9923
9924         * docs/gst/gstreamer-sections.txt:
9925         Add new stuff to docs.
9926
9927 2007-02-28  Wim Taymans  <wim@fluendo.com>
9928
9929         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9930         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9931         (gst_base_sink_change_state):
9932         Improve latency query code.
9933         Don't leak latency events.
9934
9935         * tests/check/gst/gstbin.c: (GST_START_TEST):
9936         Improve debugging.
9937
9938 2007-02-28  Wim Taymans  <wim@fluendo.com>
9939
9940         * gst/gstelement.c: (gst_element_message_full),
9941         (gst_element_get_state_func):
9942         * gst/gstelement.h:
9943         Improve docs a little. Added Since: for new macro.
9944
9945         * gst/gstobject.c: (gst_object_sink):
9946         * gst/gstpipeline.c: (gst_pipeline_change_state),
9947         (gst_pipeline_set_new_stream_time):
9948         * gst/gstpipeline.h:
9949         Improve debugging and docs.
9950
9951         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9952         Improve debugging.
9953
9954 2007-02-28  Wim Taymans  <wim@fluendo.com>
9955
9956         * gst/gstelement.c: (gst_element_message_full),
9957         (gst_element_set_locked_state), (gst_element_get_state_func),
9958         (gst_element_change_state):
9959         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9960         Documentation updates.
9961         Small code cleanups.
9962
9963         * gst/gstmessage.c: (gst_message_new_info),
9964         (gst_message_parse_info):
9965         * gst/gstmessage.h:
9966         API: gst_message_new_info()
9967         API: gst_message_parse_info()
9968         Add INFO message create and parse code.
9969
9970 2007-02-28  Wim Taymans  <wim@fluendo.com>
9971
9972         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9973         (bin_query_latency_done):
9974         Also report the live parameter of a latency query.
9975
9976 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9977
9978         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9979           Copy the current generic/states example from -base and adapt so
9980           we can use the exact same code everywhere.
9981           Check a STATES_IGNORE_ELEMENTS env var which can be used
9982           to ignore certain element factories for this test, which is
9983           what is being done in -base
9984         * tests/check/Makefile.am:
9985           Mention this environment variable.
9986
9987 2007-02-27  Wim Taymans  <wim@fluendo.com>
9988
9989         * docs/gst/gstreamer-sections.txt:
9990         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9991         (gst_bus_timed_pop), (gst_bus_pop):
9992         * gst/gstbus.h:
9993         API: gst_bus_timed_pop()
9994         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9995         message to arrive on the bus.
9996
9997         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9998         (gst_bus_suite):
9999         Two unit tests for new _timed_pop() function.
10000
10001 2007-02-23  Wim Taymans  <wim@fluendo.com>
10002
10003         * gst/gstpipeline.c: (gst_pipeline_change_state),
10004         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10005         Don't ref a NULL clock in _provide_clock_func().
10006         Don't allow an INVALID delay.
10007         Don't try to calculate base_time with an invalid start_time.
10008         Also distribute and notify a NULL clock when it was selected.
10009
10010         * tools/gst-launch.c: (event_loop):
10011         Don't crash when a NULL clock was selected in the pipeline.
10012
10013 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10014
10015         * docs/design/Makefile.am:
10016         * docs/design/draft-missing-plugins.txt:
10017         * docs/random/draft-missing-plugins.txt:
10018           Some small updates: update plugin system identifier prefix
10019           ('gstreamer.net' to 'gstreamer'), mention our new install
10020           API in libgstbaseutils rather than libgimme-codec, add
10021           reference to the online docs.
10022
10023 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10024
10025         * win32/common/config.h:
10026           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10027           use moap cl ci to only check in what is mentioned in the ChangeLog.
10028
10029 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * docs/gst/gstreamer-sections.txt:
10032         * gst/gstelement.h:
10033           Fix up documentation to link to the correct GstGError section.
10034           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10035
10036 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10037
10038         * tools/gst-launch.c: (event_loop):
10039           Make sure that we actually show the important message part of a
10040           warning message.
10041           No need to check if the gerror is not NULL to free; first of all
10042           g_free accepts NULL; and second the default error handler would
10043           segfault if gerror was NULL.
10044
10045 2007-02-21  Wim Taymans  <wim@fluendo.com>
10046
10047         * docs/gst/gstreamer-sections.txt:
10048         Removed docs as well.
10049
10050 2007-02-21  Wim Taymans  <wim@fluendo.com>
10051
10052         * gst/gstmessage.c: (gst_message_parse_duration):
10053         * gst/gstmessage.h:
10054         Remove new messages for release.
10055
10056 2007-02-20  Wim Taymans  <wim@fluendo.com>
10057
10058         * docs/design/part-gstghostpad.txt:
10059         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10060         (gst_ghost_pad_new_full):
10061         Make the ghostpad a parent of the internal pad again for better backward
10062         compatibility. Don't write code that relies on this however.
10063
10064         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10065         (gst_pad_link_check_hierarchy):
10066         Require that parents should be GstElements in the hierarchy check.
10067
10068 2007-02-20  Wim Taymans  <wim@fluendo.com>
10069
10070         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10071         (gst_bin_change_state_func), (bin_query_min_max_init),
10072         (bin_query_latency_fold), (bin_query_latency_done),
10073         (gst_bin_query):
10074         Improve debug info.
10075         Implement latency query.
10076
10077 2007-02-20  Wim Taymans  <wim@fluendo.com>
10078
10079         * docs/design/part-gstghostpad.txt:
10080         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10081         (gst_ghost_pad_internal_do_activate_push),
10082         (gst_ghost_pad_internal_do_activate_pull),
10083         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10084         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10085         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10086         Do not set the internal pad as a parent anymore so we can avoid
10087         hierarchy linking errors when the ghostpad has no parent yet. This also
10088         fixes failed activation because of unlinked internal pads, which in
10089         turn fixes the impossible case where you have to activate a pad before
10090         you can add it to a running element.
10091         Also fix the docs.
10092
10093         * gst/gstpad.c: (pre_activate), (post_activate),
10094         (gst_pad_set_active), (gst_pad_activate_pull),
10095         (gst_pad_activate_push), (gst_pad_check_pull_range):
10096         Add some more debug info.
10097         Mark activation mode in pre_activate so that we don't try to activate in
10098         endless loops. Fixes #385084.
10099
10100 2007-02-19  Wim Taymans  <wim@fluendo.com>
10101
10102         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10103         (gst_base_transform_check_get_range):
10104         Implement a checkgetrange function instead of relying on the default
10105         core behaviour that assumes we can operate in pull mode if we have a
10106         getrange function. First step at fixing #385084.
10107
10108 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10109
10110         * gst/gstchildproxy.h:
10111         * libs/gst/base/gstbasesink.h:
10112         * libs/gst/base/gstbasesrc.h:
10113         * libs/gst/base/gstbasetransform.h:
10114         More docs coverage and some ChangeLog surgery (add missing names)
10115
10116 2007-02-15  Wim Taymans  <wim@fluendo.com>
10117
10118         * docs/design/part-TODO.txt:
10119         * docs/design/part-activation.txt:
10120         * docs/design/part-block.txt:
10121         * docs/design/part-buffering.txt:
10122         * docs/design/part-clocks.txt:
10123         * docs/design/part-element-source.txt:
10124         * docs/design/part-events.txt:
10125         * docs/design/part-gstbin.txt:
10126         * docs/design/part-gstbus.txt:
10127         * docs/design/part-gstpipeline.txt:
10128         * docs/design/part-live-source.txt:
10129         * docs/design/part-messages.txt:
10130         * docs/design/part-overview.txt:
10131         * docs/design/part-qos.txt:
10132         * docs/design/part-query.txt:
10133         * docs/design/part-states.txt:
10134         * docs/design/part-trickmodes.txt:
10135         Some doc updates. Start renaming from stream_time to running_time where
10136         it was used wrongly.
10137
10138 2007-02-15  Wim Taymans  <wim@fluendo.com>
10139
10140         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10141         Answer LATENCY query.
10142
10143 2007-02-15  Wim Taymans  <wim@fluendo.com>
10144
10145         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10146         (GST_START_TEST):
10147         Improve debugging.
10148
10149 2007-02-15  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10152         (gst_pad_dispatcher):
10153         Improve debugging of default pad dispatcher and query functions.
10154
10155 2007-02-15  Wim Taymans  <wim@fluendo.com>
10156
10157         * docs/gst/gstreamer-sections.txt:
10158         Remove old unused method.
10159
10160 2007-02-13  Wim Taymans  <wim@fluendo.com>
10161
10162         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10163         Fix check
10164
10165 2007-02-13  Wim Taymans  <wim@fluendo.com>
10166
10167         * docs/design/part-seeking.txt:
10168         Some small update.
10169
10170         * gst/gstsegment.c: (gst_segment_set_seek):
10171         Revert old bogus change that should make seeking work again.
10172
10173 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10174
10175         * docs/random/ensonic/dynlink.txt:
10176         * docs/random/ensonic/interfaces.txt:
10177         * docs/random/ensonic/receipies.txt:
10178           Possible dynamic reconnection api, plus some type fixes the other two
10179           docs.
10180
10181 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10182
10183         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10184         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10185         Also check for an absolute path following file:// in the filesrc
10186         element. Remove redundant check and call g_path_is_absolute() on the
10187         unescaped location.
10188
10189 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10190
10191         * docs/design/draft-klass.txt:
10192           Add existing category analysis.
10193           
10194         * gst/gstcaps.c:
10195           Fix doc example, framerate is a fraction.
10196
10197 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10198
10199         * configure.ac:
10200         * docs/gst/Makefile.am:
10201         * docs/gst/gstreamer-sections.txt:
10202         * docs/libs/Makefile.am:
10203           Erm, forgot a bunch of --extra-dir.
10204
10205 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10206
10207         * configure.ac:
10208         * docs/gst/Makefile.am:
10209         * docs/libs/Makefile.am:
10210         * docs/plugins/Makefile.am:
10211           Add crossreferences to glib/gobject docs.
10212
10213 2007-02-12  Wim Taymans  <wim@fluendo.com>
10214
10215         * docs/design/draft-latency.txt:
10216         Small update.
10217
10218         * docs/libs/gstreamer-libs-sections.txt:
10219         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10220         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10221         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10222         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10223         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10224         (gst_base_sink_get_position), (gst_base_sink_query),
10225         (gst_base_sink_change_state):
10226         * libs/gst/base/gstbasesink.h:
10227         API: gst_base_sink_query_latency() to let subclasses query the upstream
10228         latency.
10229         API: gst_base_sink_get_latency() to let subclasses query the configured
10230         latency in the sink.
10231         Implement query and set latency.
10232         Update some docs.
10233         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10234         don't continue preroll when we are flushing. Fixes #405284.
10235
10236         * tests/check/pipelines/stress.c: (change_state_timeout),
10237         (quit_timeout), (GST_START_TEST), (stress_suite):
10238         Test for #405284.
10239
10240 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10241
10242         Patch by: René Stadler <mail at renestadler de>
10243
10244         * docs/gst/gstreamer-sections.txt:
10245         * gst/gsttaglist.c: (_gst_tag_initialize):
10246         * gst/gsttaglist.h:
10247           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10248
10249 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10250
10251         * docs/libs/Makefile.am:
10252           Fix path to core docs.
10253
10254         * gst/gstbin.c: (gst_bin_get_by_interface),
10255         (gst_bin_iterate_all_by_interface):
10256           Refix docs by also renaming 'interface' to 'iface' in implementation.
10257
10258         * docs/gst/gstreamer-sections.txt:
10259         * gst/gstcaps.c:
10260         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10261         * gst/gstchildproxy.h:
10262         * gst/gstelementfactory.c:
10263         * gst/gstpadtemplate.h:
10264         * libs/gst/controller/gstcontroller.c:
10265         (gst_controlled_property_new):
10266           Document more.
10267
10268 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10269
10270         * gst/gstbin.h:(gst_bin_get_by_interface),
10271         (gst_bin_iterate_all_by_interface):
10272         Replace interface parameter name by iface as interface is 
10273         a reserved keyword in Visual Studio for C++ projects so it removes
10274         a build error for application developpers using VS.
10275         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10276         Fix a bug on Windows in uri format check. Now the prefix checked
10277         is file:// and next we check if the path after file:// is absolute.
10278         * win32/common/libgstbase.def:
10279         * win32/common/libgstdataprotocol.def:
10280         * win32/common/libgstgstreamer.def:
10281         Add new exported functions.
10282
10283 2007-02-09  Andy Wingo  <wingo@pobox.com>
10284
10285         * tests/check/pipelines/simple-launch-lines.c
10286         (simple_launch_lines_suite, test_tee): Disable tee test until I
10287         have time to fix it :-(
10288
10289         * tests/check/Makefile.am (noinst_HEADERS): 
10290         * tests/check/libs/libsabi.c: 
10291         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10292         * tests/check/gst/gstabi.c: 
10293         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10294
10295         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10296         tests for push and pull tee behavior.
10297
10298         * plugins/elements/gsttee.h: 
10299         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10300         mark as deprecated as well as unimplemented. It was a crack idea.
10301         Add support for tee operating in pull mode, off by default.
10302
10303         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10304         normal-case logs down to LOG, raise errors to WARNING.
10305         (gst_registry_xml_read_cache): Don't log before calling a function
10306         that logs.
10307
10308         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10309         exit (registry finalize).
10310         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10311         DEBUG log when we emit signals that people don't even have the
10312         chance to connect to.
10313         (gst_registry_scan_path_level): Less logging in the normal case.
10314
10315 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10316
10317         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10318
10319         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10320         Correctly generate EOS for non-seekable files. We don't have a total
10321         length for them and would get an unexpected end of file if we only
10322         special-cased for regular files. (Fixes: #404569)
10323
10324 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10325
10326         * tests/check/elements/filesrc.c: (GST_START_TEST),
10327         (filesrc_suite):
10328         Add unit test for the GstURIHandler interface in filesrc. This also
10329         tests the newly added file://localhost/foo/bar support.
10330
10331 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10332
10333         * gst/gstelementfactory.h:
10334           The klass string is not a hierarchy. Add reference to the design doc
10335           for more information and common types.
10336
10337 2007-02-02  Wim Taymans  <wim@fluendo.com>
10338
10339         * gst/gstquery.c: (gst_query_new_latency):
10340         Remove old structure field.
10341
10342 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10343
10344         * tools/gst-launch.1.in:
10345           Give example for network streaming (#351998)
10346
10347 2007-02-02  Wim Taymans  <wim@fluendo.com>
10348
10349         * docs/gst/gstreamer-sections.txt:
10350         Add docs for new methods.
10351
10352         * gst/gstevent.c: (gst_event_new_latency),
10353         (gst_event_parse_latency):
10354         * gst/gstevent.h:
10355         Add new LATENCY event to configure latency in a pipeline.
10356         API: gst_event_new_latency
10357         API: gst_event_parse_latency
10358
10359         * gst/gstmessage.c: (gst_message_new_buffering),
10360         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10361         (gst_message_new_latency), (gst_message_parse_buffering),
10362         (gst_message_parse_lost_preroll):
10363         * gst/gstmessage.h:
10364         Added messages used in draft-latency.
10365         API: gst_message_new_lost_preroll
10366         API: gst_message_parse_lost_preroll
10367         API: gst_message_new_prerolled
10368         API: gst_message_new_latency
10369
10370         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10371         (gst_query_parse_latency):
10372         * gst/gstquery.h:
10373         Implemented new latency query as in design doc.
10374         API: gst_query_new_latency
10375         API: gst_query_set_latency
10376         API: gst_query_parse_latency
10377
10378 2007-02-02  Wim Taymans  <wim@fluendo.com>
10379
10380         * docs/design/draft-latency.txt:
10381         Slight redesign to allow for dynamic latency adjustments.
10382
10383         * docs/design/part-negotiation.txt:
10384         Fix some typos.
10385
10386 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10387
10388         reviewed by: Wim Taymans <wim@fluendo.com>
10389
10390         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10391         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10392         Allow file://localhost/foo/bar URLs and correctly fail for every other
10393         hostname that one sets. This was gnomevfssrc is linked for those if
10394         installed as it can handle it (#403172)
10395
10396 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10397
10398         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10399
10400         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10401         (unref_data), (gst_collect_pads_add_pad_full):
10402         * libs/gst/base/gstcollectpads.h:
10403         Don't put the previously added destroy notify in the GstCollectData
10404         struct as all it's padding is already used and we don't want to break
10405         ABI. Instead put in the pad's GObject data for now. This should be
10406         cleaned up for 0.11 (#402393).
10407
10408 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10409
10410         reviewed by: Wim Taymans <wim@fluendo.com>
10411
10412         * docs/libs/gstreamer-libs-sections.txt:
10413         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10414         (unref_data), (gst_collect_pads_add_pad),
10415         (gst_collect_pads_add_pad_full):
10416         * libs/gst/base/gstcollectpads.h:
10417         API: Add function to specify a destroy notification for custom
10418         GstCollectData when adding new pads in GstCollectPads (#402393).
10419
10420 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10421
10422         * po/sv.po:
10423           Update Swedish translation (#378255).
10424
10425 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10426
10427         * docs/design/draft-klass.txt:
10428           Fix the previous change, this is a list of categories and not a hierarchy.
10429
10430 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10431
10432         * docs/design/draft-klass.txt:
10433           Add info about how to get a list of used classes.
10434
10435 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10436
10437         * plugins/elements/gsttypefindelement.c:
10438         (gst_type_find_element_chain_do_typefinding),
10439         (gst_type_find_element_change_state):
10440           Don't leak found caps in chain function (no idea why that never
10441           showed up as a leak anywhere).
10442
10443 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10444
10445         * gst/gstplugin.h:
10446           Fix and expand GstPluginDesc API docs.
10447
10448 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10449
10450         * gst/gstcaps.c:
10451         * gst/gstelementfactory.c:
10452         * gst/gstpadtemplate.h:
10453           api doc fixes
10454
10455         * libs/gst/controller/gstcontroller.c:
10456         (gst_controlled_property_new):
10457         * tests/examples/controller/audio-example.c:
10458           comment fixes
10459
10460 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10461
10462         * configure.ac:
10463           comment about refining the xml deps
10464
10465         * docs/manuals.mak:
10466           comments about moving away from jade for docs
10467         
10468         * gst/gst.c:
10469           recommit the ifdefs to use the binary registry
10470         
10471         * gst/gstbin.c: (gst_bin_change_state_func):
10472           this break is obsolete
10473
10474         * gst/gstelementfactory.h:
10475           better GST_ELEMENT_DETAILS docs, add comment about translation
10476
10477         * gst/gstinfo.h:
10478           remove eol slash
10479
10480         * gst/gstobject.c: (gst_signal_object_get_type):
10481           add G_UNLIKELY as usual
10482
10483         * gst/gstpad.c: (gst_pad_event_default):
10484           add fall trhu comment
10485
10486         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10487         (gst_registry_binary_initialize_magic),
10488         (gst_registry_binary_save_string),
10489         (gst_registry_binary_save_pad_template),
10490         (gst_registry_binary_save_feature),
10491         (gst_registry_binary_save_plugin),
10492         (gst_registry_binary_write_cache),
10493         (gst_registry_binary_check_magic),
10494         (gst_registry_binary_load_pad_template),
10495         (gst_registry_binary_load_feature),
10496         (gst_registry_binary_load_plugin),
10497         (gst_registry_binary_read_cache):
10498           comment typo and formatting
10499
10500         * gst/gstutils.c: (gst_element_state_get_name),
10501         (gst_element_state_change_return_get_name):
10502           remove obsolete breaks
10503
10504         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10505           add FIXME 0.11 and remove cpp comment
10506
10507 2007-01-29  Edward Hervey  <edward@fluendo.com>
10508
10509         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10510         Fix print statement in an even more portable way.
10511
10512 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10513
10514         * docs/gst/gstreamer-sections.txt:
10515         * gst/gstutils.h:
10516           API: add GST_ROUND_DOWN_* macros (#401781).
10517
10518 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10519
10520         * docs/gst/gstreamer.types.in:
10521         * gst/gstregistry.c: (gst_registry_class_init):
10522           Document registry signals and make gtk-doc pick them up (#401381).
10523
10524 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10525
10526         * docs/pwg/building-testapp.xml:
10527           Add some audioconverts and audioresample to the pipeline, and some
10528           more comments and error handling.
10529
10530 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10531
10532         * docs/manual/manual.xml:
10533         * docs/pwg/pwg.xml:
10534           Fix typo (#400987).
10535
10536 2007-01-26  Wim Taymans  <wim@fluendo.com>
10537
10538         * gst/gstcaps.c: (gst_static_caps_get):
10539         Init caps flags too.
10540
10541 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10542
10543         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10544
10545         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10546         If not using mmap'ed files try to seek to the end instead of the
10547         start to determine whether we can seek at all. This fixes the case
10548         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10549         seeks for everything afterwards fail. Fixes #400656
10550
10551 2007-01-25  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10554         Add some refcount debugging.
10555         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10556         in multiple streaming threads.
10557
10558 2007-01-25  Wim Taymans  <wim@fluendo.com>
10559
10560         Patch by: David Schleef <ds at schleef dot org>
10561
10562         * docs/libs/gstreamer-libs-sections.txt:
10563         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10564         * libs/gst/base/gstadapter.h:
10565         API: gst_adapter_copy() that can reduce the amount of memcpy when
10566         getting data from the adapter. Fixes #388201.
10567
10568 2007-01-25  Edward Hervey  <edward@fluendo.com>
10569
10570         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10571         In print statements, "%x" is for guint. Fixes build on macosx.
10572
10573 2007-01-24  Edward Hervey  <edward@fluendo.com>
10574
10575         * plugins/elements/gstmultiqueue.c:
10576         (gst_multi_queue_loop):
10577         Small fix.
10578         (single_queue_overrun_cb), (single_queue_underrun_cb),
10579         (single_queue_check_full), (gst_single_queue_new):
10580         Implement single queue growth system.
10581         This uses the extra-size properties, and will grow single queues by
10582         that much if one goes full whereas there are others empty. This is
10583         called extra-mode in the code.
10584         When a single queue's levels go back below the initial max-size
10585         limits, it is no longer in extra-mode. This is to ensure we don't
10586         consume too much memory.
10587         Fixes #399875
10588
10589 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10590
10591         * gst/gst.c: (gst_init_get_option_group):
10592           Make warning about late g_thread_init() calls a bit more explicit,
10593           so that it's more obvious to application developers what they need
10594           to do if a user files a bug against their application.
10595
10596 2007-01-22  Edward Hervey  <edward@fluendo.com>
10597
10598         * plugins/elements/gstmultiqueue.c:
10599         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10600         Remove previous hack of unsetting the flushing flag for the source pad
10601         instead of activating it. Instead, fix the source pad activate function
10602         so that it no longer depends on having a parent set or not.
10603
10604 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10605
10606         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10607
10608         * docs/manual/basics-bus.xml:
10609           Fix example code, gst_element_unref() doesn't exist any longer.
10610
10611 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10612
10613         Patch by: Mark Nauwelaerts <manauw at skynet be>
10614
10615         * gst/gstpad.c:
10616           Fix two docs typoes (#399094).
10617
10618 2007-01-19  Edward Hervey  <edward@fluendo.com>
10619
10620         * docs/faq/gst-uninstalled:
10621         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10622         depending on libgstbaseutils can work in uninstalled environment.
10623
10624 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10625
10626         * gst/gsttaglist.h:
10627         * gst/gsttagsetter.c:
10628         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10629         statement for new tag.
10630
10631 2007-01-17  Edward Hervey  <edward@fluendo.com>
10632
10633         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10634         When dynamically creating single queues, activate sinkpad before adding
10635         it.
10636         We should be doing the same thing for the source pad, but we can't
10637         since it would call a method which needs the parent to be set in order
10638         to work propertly. Instead of activating the source pad, we just unset
10639         the flushing flag, which is the minimal requirement for adding a pad
10640         to an element in a state greater than READY.
10641
10642 2007-01-17  Edward Hervey  <edward@fluendo.com>
10643
10644         * docs/faq/gst-uninstalled:
10645         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10646         Mac OS X.
10647
10648 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10649
10650         * tests/check/gst/gstabi.c:
10651         * tests/check/gst/struct_hppa.h:
10652         * tests/check/libs/libsabi.c:
10653         * tests/check/libs/struct_hppa.h:
10654           Add ABI structs for HPPA (see #393796).
10655
10656 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10657
10658         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10659           Actually write ABI structs to the file specified in the GST_ABI
10660           environment variable, as the message we print claims we would.
10661
10662 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10663
10664         * tests/check/gst/gsttask.c:
10665           Fix header comment.
10666
10667 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10668
10669         * gst/gsttaglist.c: (_gst_tag_initialize):
10670           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10671           previous two entries.
10672
10673 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10674
10675         * docs/gst/gstreamer-sections.txt:
10676         * gst/gsttaglist.c: (_gst_tag_initialize):
10677         * gst/gsttaglist.h:
10678           Add tag support for beat-per-minute.
10679
10680 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10681
10682         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10683         (gst_registry_binary_initialize_magic),
10684         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10685         (gst_registry_binary_save_pad_template),
10686         (gst_registry_binary_save_feature),
10687         (gst_registry_binary_save_plugin),
10688         (gst_registry_binary_write_cache),
10689         (gst_registry_binary_check_magic),
10690         (gst_registry_binary_load_pad_template),
10691         (gst_registry_binary_load_feature),
10692         (gst_registry_binary_load_plugin),
10693         (gst_registry_binary_read_cache):
10694         * gst/gstregistrybinary.h:
10695           Use glib types, cleanup comments, impement interfaces and uri-types.
10696
10697 2007-01-13  Andy Wingo  <wingo@pobox.com>
10698
10699         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10700         getrange() to return buffers with other caps, while we fix
10701         demuxers and typefind, or otherwise change part-negotiation.txt.
10702
10703 2007-01-12  Andy Wingo  <wingo@pobox.com>
10704
10705         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10706         Factor start/stop into this private function instead of partially
10707         in activate functions and partially in the change_state function.
10708         Fixes setup before the element has changed from READY->PAUSED, as
10709         is the case in pull-mode pipelines.
10710         (gst_base_transform_sink_activate_push)
10711         (gst_base_transform_src_activate_pull): Refactor to use
10712         gst_base_transform_activate().
10713         (gst_base_transform_change_state): Removed, not needed any more.
10714
10715         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10716         Truncate before fixating.
10717         
10718         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10719         Don't set_caps() if the result of fixating is ANY, as it's not
10720         supported, and not necessary in the case of a link with no
10721         template caps on either side. Fixes tests/check/libs/basesrc in
10722         some pull-mode tests.
10723
10724         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10725         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10726         (gst_base_transform_src_activate_pull): 
10727         Track the activation mode.
10728         (gst_base_transform_setcaps): In pull mode, when activating the
10729         src pad, after activating the sink pad, activate the sink pad's
10730         peer, as discussed in part-negotiation.txt.
10731
10732         * libs/gst/base/gstbasesrc.h: 
10733         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10734         vmethod, as in basesink.
10735
10736         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10737
10738         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10739         mode, first proxy the setcaps to the peer pad.
10740         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10741         new fixate vmethod.
10742         (gst_base_sink_default_activate_pull): Rename from
10743         gst_base_sink_activate_pull.
10744         (gst_base_sink_negotiate_pull): New function, performs negotiation
10745         in pull mode before calling ::activate_pull().
10746         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10747         vmethod instead of the default implementation. I have no idea how
10748         this worked before. Negotiate before calling activate_pull.
10749
10750         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10751         sink pads in pull mode. In addition to being correct, fixes
10752         filesrc ! decodebin ! identity ! fakesink.
10753         (gst_pad_get_range, gst_pad_pull_range): Don't call
10754         gst_pad_set_caps() if the caps changes; instead error out with
10755         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10756
10757 2007-01-12  Andy Wingo  <wingo@pobox.com>
10758
10759         * docs/design/part-negotiation.txt: Update with more policy.
10760
10761 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * libs/gst/check/gstbufferstraw.h:
10764         * libs/gst/check/gstcheck.h:
10765           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10766           belongs.
10767
10768 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10769
10770         * tests/check/Makefile.am:
10771         * tests/check/gst/.cvsignore:
10772         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10773         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10774         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10775         (GST_START_TEST), (gst_tag_setter_suite):
10776           Add minimal unit test for beforementioned GstTagSetter bug.
10777
10778 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10779
10780         Patch by: René Stadler <mail at renestadler dot de>
10781
10782         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10783           gst_tag_list_merge() returns a new list, so it's not the best idea
10784           to ingore its return value. Effectively meant that tags could only
10785           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10786           Also add function guard to require a non-NULL taglist as input (has
10787           always been so due to gst_tag_list_copy(), just making it explicit).
10788
10789 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10790
10791         * docs/random/draft-missing-plugins.txt:
10792           Some additions: mention new API that is supposed to be used at the
10793           various stages; short blob about new gst-inspect introspection
10794           option; mention potential future problem with plugins that have
10795           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10796
10797 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10798
10799         * tools/gst-inspect.c:
10800         (print_plugin_automatic_install_info_codecs),
10801         (print_plugin_automatic_install_info_protocols),
10802         (print_plugin_automatic_install_info), (main):
10803         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10804         introspect plugin files and get machine-parsable output that corresponds
10805         to the last bit of the missing-plugin installer string (small gotcha:
10806         doesn't take into account ranks).
10807
10808 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10809
10810         * configure.ac:
10811         * docs/gst/gstreamer-sections.txt:
10812         * gst/Makefile.am:
10813         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10814         (gst_registry_lookup_locked):
10815         * gst/gstregistry.h:
10816         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10817         (gst_registry_binary_initialize_magic),
10818         (gst_registry_binary_save_string),
10819         (gst_registry_binary_save_pad_template),
10820         (gst_registry_binary_save_feature),
10821         (gst_registry_binary_save_plugin),
10822         (gst_registry_binary_write_cache),
10823         (gst_registry_binary_check_magic),
10824         (gst_registry_binary_load_pad_template),
10825         (gst_registry_binary_load_feature),
10826         (gst_registry_binary_load_plugin),
10827         (gst_registry_binary_read_cache):
10828         * gst/gstregistrybinary.h:
10829         * gst/gstregistryxml.c: (load_feature),
10830         (gst_registry_xml_read_cache):
10831           commit binary registry (disabled by default, see #359653)
10832
10833 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10834
10835         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10836           Fix 'make check' too.
10837
10838 2007-01-10  Andy Wingo  <wingo@pobox.com>
10839
10840         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10841         notes.
10842         
10843         * docs/design/part-negotiation.txt: Update with, um, one way that
10844         pull-mode negotiation might work?
10845
10846         * gst/gstpad.h: 
10847         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10848         that the pad must be a src pad; makes sense to call it the other
10849         way in pull mode, and the logic is symmetric anyway.
10850
10851 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10852
10853         * plugins/elements/gstfilesink.c:
10854           Include <stdio.h> for fseeko().
10855
10856 2007-01-10  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/gstevent.c:
10859         * gst/gstevent.h:
10860         Reserve LATENCY event.
10861
10862 2007-01-09  Wim Taymans  <wim@fluendo.com>
10863
10864         * docs/design/draft-latency.txt:
10865         Updates.
10866
10867 2007-01-09  Wim Taymans  <wim@fluendo.com>
10868
10869         * docs/design/draft-latency.txt:
10870         Updates.
10871
10872         * gst/gstelement.h:
10873         * gst/gststructure.c:
10874         * gst/gsttrace.c:
10875         Small typo fixes.
10876
10877 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10878
10879         * tests/check/.cvsignore:
10880           Ignore test-registry.xml as well.
10881
10882 2007-01-09  Wim Taymans  <wim@fluendo.com>
10883
10884         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10885         unref data at the end when we are done with the pad.
10886
10887 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10888
10889         * docs/gst/gstreamer-sections.txt:
10890         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10891         (init_post), (gst_deinit), (gst_update_registry):
10892         * gst/gst.h:
10893           API: add gst_update_registry() (#391296).
10894
10895         * tests/check/Makefile.am:
10896         * tests/check/gst/gstregistry.c:
10897         * tests/check/gst/.cvsignore:
10898           Simple unit test for the above.
10899
10900 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10901
10902         * gst/gstregistry.c: (gst_registry_scan_path_level):
10903           Plugin extension on HP-UX is .sl, add that to the list of approved
10904           plugin extensions (see #393796).
10905
10906         * tests/check/gst/gstpad.c: (GST_START_TEST):
10907           ulong => gulong. Fixes compilation with HP-UX compiler.
10908
10909         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10910           Fix compilation if valgrind headers are not available.
10911
10912 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10913
10914         * win32/common/libgstreamer.def: 
10915           Add new exported function.
10916         * win32/vs6/libgstbase.dsp: 
10917           Add gstdataqueue.c to the build.
10918         * win32/vs6/libgstcoreelements.dsp:
10919           Add gstmultiqueue.c to the build.
10920         
10921 2007-01-06  Andy Wingo  <wingo@pobox.com>
10922
10923         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10924         activate_pull(), providing for a way to specialize the process of
10925         spawning a thread to pull on the sink pad. There is a default
10926         implementation.
10927
10928         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10929         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10930         (gst_base_sink_init): Renamed pad activation functions (inserting
10931         "_pad" in their names). Refactor to use the new activate_pull
10932         vmethod, as appropriate.
10933         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10934         default activate_pull function to start a task pulling from the
10935         sink pad, as before.
10936
10937         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10938         on the pads if necessary, as in push()/chain(). Update docs.
10939         Shouldn't affect existing pull() usage as it is currently only
10940         being used on buffers without caps.
10941
10942 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10943
10944         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10945         (init_pre):
10946           Call g_thread_init() first thing in gst_init() / gst_check_init().
10947           When initialisation is done via gst_init_get_option_group() and
10948           GOption parsing, issue a warning if the GLib thread system has not
10949           been initialised yet by the time gst_init_get_option_group() is
10950           called, as it's quite likely other GLib functions such as
10951           g_option_context_new() have been called already then, and
10952           g_thread_init() must be called before any other GLib function. The
10953           application in question must be fixed in that case, since memory
10954           corruption might happen otherwise.
10955           We issue the warning because even if the GLib folks decide to work
10956           around the problem on their end in future, this is still an issue
10957           with all GLib versions >= 2.10.0, so we should warn until we depend
10958           on a GLib version we know to be safe.
10959           Update documentation as well.
10960           Closes bug #391278.
10961
10962 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10963
10964         * tools/gst-inspect.c: (main):
10965         * tools/gst-launch.c: (main):
10966         * tools/gst-typefind.c: (main):
10967         * tools/gst-xmlinspect.c: (main):
10968           Call g_thread_init() really really early, before any other GLib
10969           function (see #342564 and recent discussion on gtk-devel-list).
10970
10971 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10972
10973         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10974
10975         * gst/gst_private.h:
10976         * gst/gstconfig.h.in:
10977         * gst/gstinfo.h:
10978           On win32, all the __declspec stuff for symbol exporting is
10979           apparently only needed with MSVC, but doesn't work with MingW.
10980           Fixes compilation with MingW and #391909.
10981
10982 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10983
10984         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10985           Change some GST_ERROR_OBJECT that aren't really errors to
10986           GST_WARNING_OBJECT in order to reduce terminal spam.
10987
10988 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10989
10990         * tests/check/Makefile.am:
10991           disable test again, as there seem to be still race problems
10992
10993 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10994
10995         * tests/check/Makefile.am:
10996         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10997         (GST_START_TEST), (queue_suite):
10998           enable queue test again, add tests for the leaky behaviour
10999
11000 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11001
11002         * configure.ac:
11003         * tests/examples/Makefile.am:
11004           Compile adapter test/example only if the required headers are
11005           available (fixes #391915).
11006
11007 2007-01-01  David Schleef  <ds@schleef.org>
11008
11009         * gst/gstplugin.c:
11010           Restore the previous signal handler for SIGSEGV instead of
11011           setting to default, since we may have stolen it away from
11012           someone.  (i.e., Mono)
11013
11014 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11015
11016         * docs/random/draft-missing-plugins.txt:
11017           Some small additions and clarifications.
11018
11019 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11020
11021         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11022           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11023           since that can lead to random memory corruptions and crashes
11024           (may or may not be related to #383244, #386711, and #386711).
11025
11026 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11027
11028         * tests/check/.cvsignore:
11029         * tests/check/Makefile.am:
11030           sync .cvsignome and CLEANFILES
11031
11032 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11033
11034         * tests/check/Makefile.am:
11035           fix distcheck
11036
11037 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11038
11039         * docs/design/part-states.txt:
11040           two tiny additional comments
11041         
11042         * gst/gststructure.c:
11043           doc fixing
11044
11045         * tests/check/Makefile.am:
11046         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11047         (GST_START_TEST):
11048           disable test for now, unless it gets fixed
11049
11050 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11051
11052         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11053         (GST_START_TEST):
11054           fix race in underrun test
11055
11056 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11057
11058         * tests/check/elements/.cvsignore:
11059           ignore more
11060
11061         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11062         (GST_START_TEST):
11063           try to narrow test failure
11064
11065 2006-12-21  David Schleef  <ds@schleef.org>
11066
11067         * plugins/elements/gstfakesrc.c:
11068           Use g_random_int_range(), since it produces better random
11069           numbers in a range than almost-correct floating point code.
11070
11071 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11072
11073         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11074         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11075         (gst_check_teardown_sink_pad):
11076           do not automatically (de)activate pads
11077
11078         * tests/check/Makefile.am:
11079         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11080         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11081           add new, yet simple tests for queue
11082
11083         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11084         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11085         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11086         (GST_START_TEST):
11087         * tests/check/elements/identity.c: (cleanup_identity):
11088           consistent pad (de)activation
11089
11090 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11091
11092         Patch by: Sebastian Dröge  <slomo ubuntu com>
11093
11094         * libs/gst/base/gstcollectpads.c:
11095           Fix two doc typos (#387866).
11096
11097 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11098
11099         * docs/manual/advanced-dparams.xml:
11100           Fix typo (g_object_control_properties() doesn't exist).
11101
11102 2006-12-19  Edward Hervey  <edward@fluendo.com>
11103
11104         * gst/gstsegment.c: (gst_segment_set_seek):
11105         Fine tune the cases where the segment start/stop values are really
11106         updated.
11107         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11108         Add tests for the return values of gst_segment_set_seek().
11109
11110 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11111
11112         * gst/gst.c:
11113           Docs typo fix.
11114
11115         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11116         (gst_queue_init):
11117           Fix incorrect documentation and flesh it out a bit more.
11118           Set default values for the max properties on the GParamSpec as well,
11119           so it shows up correctly in gst-inspect.
11120
11121 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11122
11123         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11124           Correct docs of queue, add more detail and crosslink it more.
11125
11126 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11127
11128         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11129           Print additional debug info when the stream isn't perfectly
11130           timestamped; don't try to use invalid durations.
11131
11132 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11133
11134         * docs/design/Makefile.am:
11135           Dist new design docs.
11136
11137 2006-12-16  Wim Taymans  <wim@fluendo.com>
11138
11139         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11140
11141         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11142         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11143         (gst_collect_pads_stop), (gst_collect_pads_event),
11144         (gst_collect_pads_chain):
11145         * libs/gst/base/gstcollectpads.h:
11146         Add refcounting to the collectpads data so we can track when it's safe
11147         to free the data. Fixes #383382.
11148
11149 2006-12-15  Wim Taymans  <wim@fluendo.com>
11150
11151         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11152         (gst_collect_pads_remove_pad):
11153         Automatically activate/deactivate pads when they are added to a
11154         started/stoped collectpads.
11155
11156 2006-12-15  Wim Taymans  <wim@fluendo.com>
11157
11158         * gst/gstelement.c: (gst_element_add_pad):
11159         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11160         * gst/gstpad.c: (gst_pad_init):
11161         Set pads to FLUSHING when they are created. Check, warn and fix when a
11162         demuxer adds an inactive pad to itself when running. Fixes #339326.
11163
11164 2006-12-15  Wim Taymans  <wim@fluendo.com>
11165
11166         * gst/gstelement.c: (gst_element_class_init),
11167         (gst_element_default_send_event), (gst_element_send_event),
11168         (gst_element_default_query), (gst_element_query):
11169         Expose default element send_event and query handling as vmethods that
11170         subclasses can chain up to.
11171
11172 2006-12-15  Wim Taymans  <wim@fluendo.com>
11173
11174         * gst/gstelement.c: (gst_element_set_state_func):
11175         Small documentation fixes.
11176
11177 2006-12-15  Wim Taymans  <wim@fluendo.com>
11178
11179         * docs/design/draft-latency.txt:
11180         Checked in draft for handling latency in pipelines.
11181
11182 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11183
11184         * Makefile.am:
11185         * gstreamer.doap:
11186         * gstreamer.spec.in:
11187           adding .doap file
11188
11189 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11190
11191         * gst/gst.c: (init_pre), (init_post):
11192           init_pre() and init_post() might be called via our GOptionGroup or
11193           from gst_init(), and we should skip both of them if we've already
11194           been initialised, otherwise we will init some things twice or add
11195           two default log functions.
11196
11197 2006-12-13  Edward Hervey  <edward@fluendo.com>
11198
11199         * docs/manual/basics-bus.xml:
11200         No, gst_main_loop does not exist. Its g_main_loop.
11201         Discovered by somebody who abused the copy-paste technique of coding :)
11202
11203 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11204
11205         * gst/gstghostpad.c:
11206           Log ghostpad debug stuff to the GST_PADS category as well rather
11207           than just to the default category.
11208
11209 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * configure.ac:
11212         * gst/gst.c: (init_pre):
11213           Add some basic system details such as OS and architecture
11214           to the debug output if possible, courtesy of uname().
11215
11216 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11217
11218         * docs/gst/running.xml:
11219           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11220           environment variables.
11221
11222 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11223
11224         * tests/check/gst/gstbin.c: (GST_START_TEST):
11225         It is acceptable to have a refcount of 2 or 3 at this point in the
11226         test, because the pipeline might be just posting its state_change
11227         message. The next line then waits for that message to appear using
11228         bus_poll, so that should be fine too.
11229
11230 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11231
11232         * gst/gst.c: (ensure_current_registry_forking):
11233         Ignore EINTR when reading from the child registry pipe.
11234         Explicitly ignore the return value from close, since it makes no
11235         difference.
11236
11237         * gst/gstminiobject.c: (gst_mini_object_ref),
11238         (gst_mini_object_unref):
11239         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11240
11241         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11242         When removing cached plugins, remove their features too, so they're
11243         not visible after they've disappeared.
11244
11245         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11246         In the unlikely case that we are linking pads with no parents, don't
11247         crash trying to get the non-existent parent bin.
11248
11249         * gst/parse/grammar.y:
11250         Output debug in the PIPELINE category
11251
11252 2005-03-08  Wim Taymans  <wim@fluendo.com>
11253
11254         Patch by: René Stadler <mail at renestadler dot de>
11255
11256         * gst/gstclock.c: (gst_clock_new_periodic_id):
11257         Reject invalid clock times for interval of periodic ids.
11258         Fixes ##383506.
11259
11260 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11261
11262         * gst/gstelementfactory.c: (gst_element_factory_create):
11263         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11264         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11265         * tools/gst-inspect.c: (print_element_info):
11266         Fix refcounting of gst_plugin_feature_load to match the docs. 
11267         Fixes: #380129
11268
11269 2006-12-07  Wim Taymans  <wim@fluendo.com>
11270
11271         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11272         (gst_base_sink_get_position):
11273         Improve debugging of events.
11274
11275 2006-12-07  Wim Taymans  <wim@fluendo.com>
11276
11277         Patch by: René Stadler <mail at renestadler dot de>
11278
11279         * gst/gstclock.c: (gst_clock_id_wait):
11280         Make period ids add the interval to the origial requested time instead
11281         of the possibly updated time which can be wrong when there are multiple
11282         waiters for the same id. Fixes #382592.
11283
11284         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11285         (gst_system_clock_id_wait_jitter_unlocked),
11286         (gst_system_clock_id_wait_jitter):
11287         Fix restart in the async notify thread when an async entry is added to
11288         the front of the list. Fixes #381492. 
11289
11290         * tests/check/gst/gstsystemclock.c: (store_callback),
11291         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11292         Added test for multiple async waits.
11293         Added test for async wait order.
11294
11295 2006-12-07  Wim Taymans  <wim@fluendo.com>
11296
11297         * gst/gstbin.c: (gst_bin_query):
11298         Add some more docs about the POSITION query.
11299
11300 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11301
11302         * configure.ac:
11303         Bump version nano - back to CVS.
11304
11305 === release 0.10.11 ===
11306
11307 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11308
11309         * configure.ac:
11310           releasing 0.10.11, "Love never runs on time"
11311
11312 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11313
11314         * win32/common/libgstbase.def:
11315         * win32/common/libgstreamer.def:
11316         * win32/vs8/libgstbase.vcproj:
11317         * win32/vs8/libgstcoreelements.vcproj:
11318         * win32/vs8/libgstreamer.vcproj:
11319         Fix compilation on win32 under VS8
11320         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11321         Partially fixes #381175
11322
11323 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11324
11325         * gst/gstvalue.c: (gst_value_compare_fraction):
11326         If someone is foolish enough to compare 2 fractions with denominator =
11327         0, return UNORDERED rather than aborting.
11328
11329 2006-11-28  Edward Hervey  <edward@fluendo.com>
11330
11331         * libs/gst/base/Makefile.am:
11332         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11333         (gst_data_queue_base_init), (gst_data_queue_class_init),
11334         (gst_data_queue_init), (gst_data_queue_new),
11335         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11336         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11337         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11338         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11339         (gst_data_queue_set_flushing), (gst_data_queue_push),
11340         (gst_data_queue_pop), (gst_data_queue_drop_head),
11341         (gst_data_queue_set_property), (gst_data_queue_get_property):
11342         * libs/gst/base/gstdataqueue.h:
11343         New GstDataQueue object for threadsafe queueing. Most useful for
11344         elements that need some queueing functionnality.
11345         * docs/libs/gstreamer-libs-docs.sgml:
11346         * docs/libs/gstreamer-libs-sections.txt:
11347         Insert documentation for GstDataQueue
11348         * plugins/elements/Makefile.am:
11349         * plugins/elements/gstelements.c:
11350         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11351         (gst_multi_queue_class_init), (gst_multi_queue_init),
11352         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11353         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11354         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11355         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11356         (gst_multi_queue_loop), (gst_multi_queue_chain),
11357         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11358         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11359         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11360         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11361         (wake_up_next_non_linked), (compute_next_non_linked),
11362         (single_queue_overrun_cb), (single_queue_underrun_cb),
11363         (single_queue_check_full), (gst_single_queue_new):
11364         * plugins/elements/gstmultiqueue.h:
11365         New multiqueue element, using GstDataQueue. Used for queuing multiple
11366         streams.
11367         Closes #344639 and #347785
11368
11369 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11370
11371         * docs/pwg/advanced-types.xml:
11372           add more missing type details
11373
11374         * tools/gst-run.c: (main):
11375           remove unused variable
11376
11377 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11378
11379         * docs/libs/Makefile.am:
11380         * docs/libs/gstreamer-libs.types:
11381           add types of base classes to enable gobject specific stuff in the docs
11382
11383         * docs/random/ensonic/embedded.txt:
11384           more ideas about isolating platform specific things
11385
11386 2006-11-20  Wim Taymans  <wim@fluendo.com>
11387
11388         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11389
11390         * libs/gst/check/gstcheck.h:
11391         Fix compilation and running against 0.9.4. Fixes #377332.
11392
11393 2006-11-20  Wim Taymans  <wim@fluendo.com>
11394
11395         * gst/gstsegment.c: (gst_segment_set_seek),
11396         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11397         (gst_segment_to_running_time):
11398         Fix boundary checking in to_running_time() and to_stream_time().
11399         Fixes #377183.
11400
11401         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11402         stream and running time can now be calculated for the complete
11403         clipped segment.
11404
11405 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11406
11407         * gst/gstpad.c: (gst_pad_push_event):
11408           Can't access event structure after giving away ownership of
11409           the event.
11410
11411 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11412
11413         * docs/random/ensonic/embedded.txt:
11414         * docs/random/ensonic/profiling.txt:
11415         * docs/random/ensonic/receipies.txt:
11416           more thinking
11417
11418 2006-11-13  Wim Taymans  <wim@fluendo.com>
11419
11420         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11421
11422         * gst/gstpad.c:
11423         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11424
11425 2006-11-13  Wim Taymans  <wim@fluendo.com>
11426
11427         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11428
11429         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11430         Store new length in segment duration so we don't keep on calling the
11431         potentially expensize get_size() call. Fixes #370865.
11432
11433 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11434
11435         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11436
11437         * win32/common/libgstreamer.def:
11438           Add two missing symbols (#366492).
11439
11440 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11441
11442         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11443         (gst_adapter_take_buffer):
11444         Fix format string to use all its arguments.
11445         Remove useless >= check on a guint
11446
11447 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11448
11449         * tests/examples/adapter/.cvsignore:
11450         Ignore build file as commanded by the build-bot
11451
11452 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11453
11454         * tests/examples/adapter/Makefile.am:
11455         * tests/examples/adapter/adapter_test.c: (run_test_take),
11456         (run_test_take_buffer), (run_tests), (main):
11457
11458         Add new files from the previous commit
11459
11460 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11461
11462         * Makefile.am:
11463         * configure.ac:
11464         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11465         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11466         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11467         * libs/gst/base/gstadapter.h:
11468         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11469         (GST_START_TEST), (gst_adapter_suite):
11470         * tests/examples/Makefile.am:
11471         Do some optimisation work in GstAdapter to avoid copies in more cases.
11472         It could still do slightly better by merging buffers when
11473         gst_buffer_is_span_fast is true, but is already faster. 
11474
11475         Also, avoid traversing a single-linked list to append each incoming 
11476         buffer inside the adapter.
11477
11478         Add simple test app that times the adapter behaviour in different
11479         situations, and extend the unit test to check that bytes enter and
11480         exit the adapter in their original order.
11481
11482 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11483
11484         * docs/random/draft-missing-plugins.txt:
11485           Update: use element message instead of adding a new message
11486           type to the core; don't provide GStreamer API to initiate the
11487           plugin download, just provide API to compose the strings needed
11488           and let an external libgimmestuff handle the rest.
11489
11490 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11491
11492         * tools/gst-inspect.c: (print_element_properties_info):
11493         Print a string instead of 'unknown type' for GValueArray properties
11494
11495 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11496
11497         * docs/random/draft-missing-plugins.txt:
11498         More small fixes.
11499
11500 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11501
11502         * tests/examples/typefind/typefind.c: (type_found), (main):
11503           Make typefind element example work again (#371894); add a
11504           license header.
11505
11506 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11507
11508         * docs/random/draft-missing-plugins.txt:
11509           Commit initial draft about how to deal with missing plugins,
11510           needs work (API too).
11511
11512 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11513
11514         * docs/pwg/advanced-types.xml:
11515           documents the new caps elements (see #363118)
11516
11517 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11518
11519         * gst/gstplugin.c: (gst_plugin_load_file):
11520         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11521         (gst_file_src_map_region), (gst_file_src_start):
11522         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11523         (gst_file_index_commit):
11524           Use g_strerror() instead of strerror() - we want UTF-8.
11525
11526 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11527
11528         Patch by: Peter Kjellerstedt <pkj at axis com>
11529
11530         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11531           Another printf fix (#371493).
11532
11533 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11534
11535         * tests/check/gst/gsttag.c:
11536           relicence (okay with author=company)
11537
11538 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11539
11540         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11541         (gst_pad_push_event):
11542           Enhance debug and improve docs
11543         
11544         * gst/gsturi.c:
11545           Fix docs
11546
11547 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11548
11549         * docs/random/ensonic/distributed.txt:
11550         * docs/random/ensonic/profiling.txt:
11551           more ideas
11552
11553 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11554
11555         * docs/gst/gstreamer-sections.txt:
11556           add new API and fix the build
11557           
11558         * gst/gstbin.c: (gst_bin_recalc_state):
11559         * gst/gstelement.c: (gst_element_message_full),
11560         (gst_element_get_state_func), (gst_element_set_state_func):
11561           use new API and improve logging
11562         
11563         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11564         * gst/gstutils.h:
11565           API: add function to get StateChangereturn names to improve logs 
11566
11567 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11568
11569         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11570           I'm considering shooting the next person to put strerror stuff
11571           in the translateable part of the message.
11572
11573 2006-11-03  Wim Taymans  <wim@fluendo.com>
11574
11575         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11576         Get the type and printf conversion specifiers right.
11577
11578 2006-11-03  Wim Taymans  <wim@fluendo.com>
11579
11580         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11581
11582         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11583         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11584         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11585         Some small cleanups. Improve debugging.
11586         * gst/gstpad.h:
11587         Signal all waiting threads with a broadcast instead of just one.
11588         Fixes #369942.
11589
11590 2006-11-03  Wim Taymans  <wim@fluendo.com>
11591
11592         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11593         (gst_fd_src_create):
11594         Add some debugging. 
11595         Only update fd when it's different from the old.
11596
11597 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11598
11599         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11600           Printf fixes for PPC/OSX, take two (#369366).
11601
11602 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11603
11604         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11605
11606         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11607         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11608         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11609           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11610           don't cast to long long for portability reasons, but use
11611           GLib's types instead.
11612
11613 2006-10-30  Michael Smith  <msmith@fluendo.com>
11614
11615         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11616           Get the arguments to lseek() the right way around.
11617           Fixes 367677.
11618
11619 2006-10-30  Wim Taymans  <wim@fluendo.com>
11620
11621         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11622
11623         * gst/gstinfo.h:
11624         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11625
11626 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11627
11628         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11629
11630         * docs/design/part-MT-refcounting.txt:
11631         * docs/random/wtay/capsnego2-docs:
11632         * gst/gstclock.c:
11633         * gst/gstxml.c:
11634           Typo fixes (#366212).
11635
11636 2006-10-28  Wim Taymans  <wim@fluendo.com>
11637
11638         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11639
11640         * gst/gst.c:
11641         * win32/common/libgstbase.def:
11642         * win32/common/libgstreamer.def:
11643         * win32/vs8/libgstbase.vcproj:
11644         * win32/vs8/libgstcontroller.vcproj:
11645         Add needed entries in .def files.
11646         Use HAVE_UNISTD_H.
11647         Rearrange def files in vs8 solutions. Fixes #366286.
11648
11649 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11650
11651         * win32/common/gstconfig.h:
11652           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11653           hand-made win32 gstconfig.h. Fixes #366321.
11654
11655 2006-10-27  Wim Taymans  <wim@fluendo.com>
11656
11657         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11658         (gst_ghost_pad_new_full):
11659         Make acceptcaps return TRUE when we don't have a target, just like
11660         setcaps does.
11661
11662 2006-10-27  Wim Taymans  <wim@fluendo.com>
11663
11664         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11665         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11666
11667 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11668
11669         * gst/gststructure.c: (gst_structure_id_set_value):
11670           If someone tries to set a non-UTF8 string field on a structure,
11671           don't just print a warning, but also ignore the request and do
11672           not change/add that field to the structure.
11673
11674         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11675           Test for the above.
11676
11677 2006-10-25  David Schleef  <ds@schleef.org>
11678
11679         * gst/gstinfo.c:
11680           g_hash_table_insert() needs a cast to a non-const pointer duh.
11681
11682 2006-10-25  David Schleef  <ds@schleef.org>
11683
11684         * gst/gstinfo.c:
11685         * gst/gstinfo.h:
11686           Change name parameter of _gst_debug_register_funcptr to const
11687           to reflect the constness of its use in the function as well
11688           as to quiet a gcc warning.
11689
11690 2006-10-25  Edward Hervey  <edward@fluendo.com>
11691
11692         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11693         Don't push the buffer if it's empty.
11694         Closes #363095
11695
11696 2006-10-24  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gstevent.h:
11699         Add small comment.
11700
11701         * libs/gst/base/gstbasetransform.c:
11702         (gst_base_transform_sink_eventfunc):
11703         Debug segment values *after* updating them as this is more
11704         interesting.
11705
11706 2006-10-23  Wim Taymans  <wim@fluendo.com>
11707
11708         * docs/design/part-events.txt:
11709         Update some docs.
11710
11711         * docs/design/part-block.txt:
11712         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11713         (gst_pad_push_event):
11714         Revert BLOCKING patch, it tries to be smart without really having a
11715         clear idea what or how. So, now we discard all FLUSHING events again on
11716         a blocking pad. Should fix gnonlin again.
11717
11718 2006-10-23  Wim Taymans  <wim@fluendo.com>
11719
11720         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11721
11722         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11723         (gst_base_src_start), (gst_base_src_activate_push):
11724         Make sure size is always initialized. Fixes #364388.
11725
11726 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11727
11728         * docs/random/ensonic/distributed.txt:
11729           add some ideas about doing distributed processing
11730
11731         * docs/random/ensonic/profiling.txt:
11732           get_rusage look promising
11733
11734 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11735
11736         * docs/manual/basics-helloworld.xml:
11737           Add a cast in example to fix compile warning
11738
11739 2006-10-18  Wim Taymans  <wim@fluendo.com>
11740
11741         * gst/gstsegment.c: (gst_segment_set_last_stop),
11742         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11743         Relax arg checking again, -1 is allowed.
11744
11745 2006-10-18  Wim Taymans  <wim@fluendo.com>
11746
11747         * gst/gstsegment.c: (gst_segment_set_last_stop),
11748         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11749         _set_last_stop() must be with a value != -1
11750         A _TYPE_SET to -1 means seek to 0.
11751         Calc last_stop correctly for negative rates.
11752         Make sure we work with positive durations when updating a segment.
11753
11754 2006-10-18  Wim Taymans  <wim@fluendo.com>
11755
11756         * docs/design/part-live-source.txt:
11757         * gst/gstclock.h:
11758         Small docs fixes.
11759
11760 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11761
11762         * gst/gstbuffer.h:
11763           Add an explicit cast to GstBuffer** to keep old code that added an
11764           explicit cast to GstMiniObject** for gst_mini_object_replace()
11765           compiling without warning.
11766
11767 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11768
11769         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11770           check for validity of dates
11771
11772 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11773
11774         * docs/gst/gstreamer-sections.txt:
11775           Forgot this one, makes gtk-doc shut up.
11776
11777 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11778
11779         Patch by: Peter Kjellerstedt <pkj at axis com>
11780
11781         * gst/gstobject.h:
11782           Don't define xmlNodePtr to gpointer if the core was built with
11783           --disable-loadsave and --disable-registry, this will break
11784           applications that want to use libxml2 but are buildling against a
11785           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11786           instead so we don't have to mess with the libxml2 namespace
11787           (#361675).
11788
11789 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11790
11791         * gst/gstbuffer.h:
11792           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11793           type-punned pointer warnings.
11794
11795 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11796
11797         * gst/gstelement.h:
11798           Add casts to the correct return type to state <=> state transition
11799           macros.
11800
11801 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11802
11803         * docs/design/part-live-source.txt:
11804           describe howto handle latency
11805         
11806         * docs/random/ensonic/profiling.txt:
11807           more ideas
11808
11809         * tools/gst-plot-timeline.py:
11810           fix log parsing for solaris, remove unused function
11811
11812 2006-10-16  Wim Taymans  <wim@fluendo.com>
11813
11814         * docs/design/part-trickmodes.txt:
11815         * gst/gstevent.c:
11816         Update some docs regarding reverse playback.
11817
11818 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11819
11820         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11821
11822         * win32/vs8/grammar.vcproj:
11823           Error out with a warning if glib-genmarshal.exe is not in path,
11824           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11825
11826 2006-10-13  Wim Taymans  <wim@fluendo.com>
11827
11828         * gst/gstsegment.c: (gst_segment_set_seek):
11829         When seeking to stop -1, set last_stop (current position) to the
11830         duration of the segment.
11831
11832 2006-10-13  Wim Taymans  <wim@fluendo.com>
11833
11834         * gst/gstelement.h:
11835         Clarify _NO_PREROLL a bit more.
11836
11837         * gst/gstevent.c:
11838         Fix docs.
11839
11840         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11841         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11842         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11843         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11844         due to wrong locking order. Fixes #361769.
11845         Remove some redundant/misplaced checks in pad_block.
11846
11847         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11848         For negative rates, count backwards from the duration.
11849
11850 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11851
11852         * gst/gsterror.c: (_gst_library_errors_init):
11853           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11854           up with something better).
11855
11856 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11857
11858         * win32/vs6/libgstreamer.dsp:
11859         * win32/vs7/libgstreamer.vcproj:
11860         * win32/vs8/libgstreamer.vcproj:
11861           Don't reference glib-compat.c which is currently not used and not
11862           disted; add gstquark.c which was recently added. Fixes #361730.
11863
11864 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11865
11866         * win32/common/libgstbase.def:
11867         * win32/common/libgstcontroller.def:
11868         * win32/common/libgstreamer.def:
11869           Add gst_caps_merge() and a bunch of other recently-added functions.
11870           Fixes #361732.
11871
11872 2006-10-11  Wim Taymans  <wim@fluendo.com>
11873
11874         * docs/plugins/gstreamer-plugins.args:
11875         * docs/plugins/inspect/plugin-coreelements.xml:
11876         * docs/plugins/inspect/plugin-coreindexers.xml:
11877         Update element args.
11878
11879         * gst/gstsystemclock.c:
11880         Small comment update.
11881
11882         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11883         (gst_tee_request_new_pad), (gst_tee_release_pad),
11884         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11885         (gst_tee_sink_activate_pull):
11886         * plugins/elements/gsttee.h:
11887         Some tee loving:
11888         Add default property defines.
11889         Implement release pad function.
11890         Give properties better blubs etc.
11891         Activate pads before adding them to a running tee.
11892         Do simple buffer_alloc on the first requested pad.
11893         Post error when activation fails.
11894
11895 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11896
11897         * gst/gst.c: (ensure_current_registry_forking):
11898           Check return value of write() to make compiler happy.
11899
11900 2006-10-11  Wim Taymans  <wim@fluendo.com>
11901
11902         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11903
11904         * plugins/elements/gstqueue.c: (gst_queue_chain):
11905         Recheck queue filledness after signalling the overrun when we're about
11906         to leak downstream because we released the lock when emitting the signal
11907         and the queue could be empty again. Fixes #352345.
11908
11909 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11910
11911         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11912           Fix refcounting here too, just like we did for _new_valist() a few
11913           days ago (#357180) (thanks to René Stadler). Also remove all those
11914           'Since: 0.9' from the gtk-doc blobs.
11915
11916         * tests/check/libs/controller.c: (controller_refcount_new_list),
11917         (gst_controller_suite):
11918           Unit test for the above.
11919
11920 2006-10-10  Wim Taymans  <wim@fluendo.com>
11921
11922         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11923
11924         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11925         (gst_pad_save_thyself):
11926         Update some docs.
11927         Write pad direction in XML output. Fixes #345496.
11928
11929 2006-10-10  Wim Taymans  <wim@fluendo.com>
11930
11931         Patch by: René Stadler <mail at renestadler dot de>
11932
11933         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11934         (gst_controller_new_list), (_gst_controller_dispose),
11935         (_gst_controller_finalize), (_gst_controller_class_init):
11936         Take ref to controlled object so that it cannot disappear. 
11937         Fixes #357432.
11938
11939 2006-10-10  Wim Taymans  <wim@fluendo.com>
11940
11941         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11942         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11943         (gst_check_teardown_sink_pad):
11944         Activate/deactivate pads in setup/teardown respectively.
11945
11946 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11947
11948         Patch by: Josep Torra Valles <josep@fluendo.com>
11949
11950         * gst/Makefile.am:
11951         Cast values when making gstenumtypes.h.  This pacifies Forte
11952         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11953         in the enumeration.
11954
11955 2006-10-09  Wim Taymans  <wim@fluendo.com>
11956
11957         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11958         Rename some more @cur to @start to fix docs. 
11959
11960         * gst/gstsegment.c: (gst_segment_set_seek):
11961         Fix typo.
11962         time and start must always stay in sync as defined in design doc.
11963
11964         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11965         Rename param to fix docs.
11966
11967         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11968         Check that start and time are in sync.
11969
11970         * tests/check/pipelines/parse-launch.c:
11971         (gst_parse_test_element_change_state):
11972         Activate pad before adding to the element.
11973
11974 2006-10-09  Wim Taymans  <wim@fluendo.com>
11975
11976         * docs/design/part-qos.txt:
11977         Fix typo.
11978
11979         * gst/gstevent.c:
11980         * gst/gstevent.h:
11981         Update seek event docs regarding negative rates.
11982         Rename @cur to @start. 
11983
11984         * gst/gstsegment.c: (gst_segment_set_seek):
11985         * gst/gstsegment.h:
11986         Update set_seek docs regarding negative rates.
11987         Correctly update last_stop to @stop when dealing with negative
11988         rates.
11989         Rename @cur to @start. 
11990
11991         * tests/check/gst/gstpad.c: (GST_START_TEST):
11992         Activate pads before trying to use them.
11993
11994         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11995         (gst_segment_suite):
11996         Add simple check for segments and negative rates.
11997
11998 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11999
12000         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12001         * gst/gsttaglist.h:
12002         * docs/gst/gstreamer-sections.txt:
12003           API: add gst_tag_list_is_empty() (#360467).
12004
12005         * tests/check/gst/gsttag.c: (GST_START_TEST):
12006           And a test case.
12007
12008 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12009
12010         * gst/gstmessage.h:
12011         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12012         a value that doesn't fit on enumeration.
12013
12014 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12015
12016         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12017         Remove local debugging system and use Gstreamer's instead.
12018
12019 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12020
12021         Patch by: Josep Torra Valles <josep@fluendo.com>
12022
12023         * common/m4/gst-error.m4:
12024         Disable warning of statement not reached on Forte.
12025         * gst/gstmessage.h:
12026         Fix warning on Forte (value doesn't fit on enumeration).
12027         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12028         Fix warning on Forte (value doesn't fit on enumeration).
12029         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12030         DEBUG macro says it takes minimum of 2 args and so Forte
12031         complains about the use with just 1 arg.
12032         * plugins/elements/gstfdsink.c:
12033         * plugins/elements/gstfdsrc.c:
12034         * plugins/elements/gstfilesink.c:
12035         * plugins/elements/gstfilesrc.c:
12036         Use correct return type for the uri handler implementations.
12037
12038         All these fix warnings in Forte.  Fixes bug #360860.
12039
12040 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12041
12042         * gst/gstelement.h:
12043           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12044           format string, so don't use G_GNUC_PRINTF for those versions.
12045
12046 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12047
12048         * gst/gsttaglist.c: (gst_is_tag_list):
12049         * gst/gsttaglist.h:
12050           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12051
12052         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12053           Small test for the above.
12054
12055 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12056
12057         * gst/gsttaglist.h:
12058           Less tabs, more spaces.
12059
12060 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * gst/gstinfo.h:
12063           Those two function declarations do actually belong there, revert
12064           commit from yesterday that turned them intro macros.
12065
12066 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12067
12068         Patch by: Josep Torra Valles <josep@fluendo.com>
12069
12070         * gst/gst.c: (gst_init_get_option_group):
12071         Fix empty declaration and type mismatch.
12072         * gst/gstbin.c: (gst_bin_change_state_func):
12073         Fix type mismatch.
12074         * gst/gstelement.c: (gst_element_continue_state),
12075         (gst_element_set_state_func), (gst_element_change_state),
12076         (gst_element_change_state_func):
12077         Fix type mismatches.
12078         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12079         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12080         Cast as appropriate.
12081         * gst/gstobject.c: (gst_class_signal_connect):
12082         Cast as appropriate.  The function pointer parameter really
12083         has the wrong type but would break API if we change it.
12084         * gst/gstquery.c:
12085         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12086         order of including string.h.
12087         * gst/gstutils.c: (gst_element_state_get_name):
12088         Remove unreachable line.
12089         * gst/gstxml.c: (gst_xml_parse_doc):
12090         Fix type mismatch.
12091         All these caught by Forte.
12092
12093 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12094
12095         Patch by: Josep Torra Valles <josep@fluendo.com>
12096
12097         * common/m4/gst-error.m4:
12098         Fixed bug #360151.
12099         We need to disable warnings on Forte for empty declarations
12100         due to gst-indent adding ;s to lines that just use macros
12101         where the macro actually doesn't need a ; at end to end
12102         statement.
12103
12104 2006-10-06  Wim Taymans  <wim@fluendo.com>
12105
12106         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12107         (gst_file_sink_close_file), (gst_file_sink_event),
12108         (gst_file_sink_render):
12109         Add some FIXME for the NEWSEGMENT handling.
12110
12111 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12112
12113         * gst/parse/grammar.y:
12114         Remove static function gst_parse_element_lock as all it does
12115         is return.  Looks like cruft from 0.8.
12116
12117 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12118
12119         Patch by: Josep Torra Valles <josep@fluendo.com>
12120
12121         * common/m4/gst-error.m4:
12122         * configure.ac:
12123         * libs/gst/net/Makefile.am:
12124         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12125         libresolv.
12126
12127 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12128
12129         * gst/gstpad.c: (pre_activate):
12130         * gst/gstregistry.c: (gst_registry_scan_path_level):
12131         * gst/gstregistryxml.c: (load_plugin):
12132         * libs/gst/controller/gstcontroller.c:
12133         (gst_controlled_property_set_interpolation_mode):
12134         * libs/gst/dataprotocol/dataprotocol.c:
12135         (gst_dp_packet_from_event_1_0):
12136         * libs/gst/net/gstnetclientclock.c:
12137         (gst_net_client_clock_observe_times):
12138         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12139           Printf fixes.
12140
12141 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12142
12143         * configure.ac:
12144         * docs/gst/gstreamer-sections.txt:
12145         * gst/gstconfig.h.in:
12146         * gst/gstelement.h:
12147         * gst/gstinfo.h:
12148           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12149           whether we can use G_GNUC_PRINTF in other header files and at
12150           least check the printf format/arguments of debug messages and
12151           GST_ELEMENT_ERROR messages when the printf extension is not
12152           being used.
12153           Replace more tabs with spaces in gstinfo.h and remove two spurious
12154           function declarations in GST_DISABLE_DEBUG part with macros.
12155
12156 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12157
12158         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12159           More docs for the sync-message signal (mention that it is not
12160           emitted by default); log message structures of messages posted on
12161           the bus as well.
12162
12163 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12164
12165         * gst/gst.c: (ensure_current_registry_forking):
12166         Use a pipe pair to receive status results from the forked child, and
12167         ignore the result from waitpid. Fixes #355499
12168
12169 2006-10-02  Wim Taymans  <wim@fluendo.com>
12170
12171         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12172         (gst_ghost_pad_suite):
12173         Fix leak in check.
12174
12175 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12176
12177         * gst/gstpad.c:
12178           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12179
12180 2006-10-02  Edward Hervey  <edward@fluendo.com>
12181
12182         * docs/design/part-block.txt:
12183         Further explain the use of flushing on blocked pads.
12184         * docs/gst/gstreamer-sections.txt:
12185         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12186         (gst_pad_push_event):
12187         * gst/gstpad.h:
12188         Added new GstPadFlag : GST_PAD_BLOCKING.
12189         Adds the notion of pads really blocking, which enables to properly
12190         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12191         Fixes #358999
12192         API: gst_pad_is_blocking()
12193         API: GST_PAD_IS_BLOCKING() macro
12194         API: GST_PAD_BLOCKING GstPadFlag
12195         
12196 2006-10-02  Wim Taymans  <wim@fluendo.com>
12197
12198         Patch by: mrcgran <mrc.gran at gmail dot com>
12199
12200         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12201         Filter the proxied caps against the padtemplate if we have one.
12202
12203         * gst/gstquery.c: (gst_query_new_segment):
12204         Add include for gstinfo.h so that compilation with
12205         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12206
12207 2006-10-02  Wim Taymans  <wim@fluendo.com>
12208
12209         Patch by: Alessandro Decina  <alessandro at nnva org>
12210
12211         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12212         (gst_file_sink_set_location), (gst_file_sink_open_file),
12213         (gst_file_sink_close_file), (gst_file_sink_event),
12214         (gst_file_sink_render):
12215         Set file to NULL when closing filesink so that we can set a new filename
12216         in READY. Fixes #358613.
12217
12218 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12219
12220         Patch by: Alessandro Decina  <alessandro at nnva org>
12221
12222         * gst/gstevent.c: (_gst_event_copy):
12223           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12224           with event structures by setting the parent refcount address of the
12225           copied structure to the address of the refcount member of the newly
12226           copied event rather than the address of the refcount member of the
12227           original event. Fixes #358737.
12228
12229         * tests/check/gst/gstevent.c: (GST_START_TEST):
12230           Unit test for the above.
12231
12232 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12233
12234         * docs/design/Makefile.am:
12235           Dist some more files.
12236
12237 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12238
12239         * tests/check/libs/controller.c: (GST_START_TEST),
12240         (gst_controller_suite):
12241           Add test for the previous fix; add some more tests
12242           for correct refcounting behaviour; fix a few leaks
12243           in test cases; call gst_controller_init() at start
12244           of all tests.
12245
12246 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12247
12248         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12249         (gst_controller_set_from_list):
12250           Don't g_return_val_if_fail() on timed values with invalid timestamps
12251           inside a critical section without unlocking the mutex. Spotted by
12252           René Stadler. (#357617)
12253           Also, fix up refcounting properly: when returning an existing
12254           controller, we should increase the reference only once and not
12255           once per property and when trying to control a property again
12256           we should also increase the refcount.
12257
12258 2006-09-29  Wim Taymans  <wim@fluendo.com>
12259
12260         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12261         * libs/gst/net/gstnettimeprovider.c:
12262         (gst_net_time_provider_thread):
12263         Stop reading commands when EOF as well.
12264
12265         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12266         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12267         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12268         Unify description of the dump property.
12269
12270 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12271
12272         * tests/examples/manual/.cvsignore:
12273         OK, so it's actually cvsignore that needs changing. Stop laughing.
12274
12275 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12276
12277         * tests/examples/manual/Makefile.am:
12278         Gah, declare vars *before* using them
12279
12280 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12281
12282         * gst/gst.c: (init_pre), (scan_and_update_registry),
12283         (ensure_current_registry_nonforking),
12284         (ensure_current_registry_forking), (ensure_current_registry),
12285         (init_post), (gst_debug_help), (gst_deinit):
12286         * gst/gst_private.h:
12287         * gst/gstregistry.c: (gst_registry_finalize),
12288         (gst_registry_remove_features_for_plugin_unlocked),
12289         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12290         (gst_registry_scan_path),
12291         (_priv_gst_registry_remove_cache_plugins),
12292         (_priv_gst_registry_cleanup):
12293         * gst/gstregistry.h:
12294         Re-commit the registry changes, along with an extra fix:
12295           When a cached plugin is encountered at a different file path,
12296           update the stored path in the registry cache so that the parent
12297           process knows where it actually is now when it re-reads the registry
12298           cache. Fixes the thing that broke distcheck with the previous commit.
12299
12300         * tests/check/Makefile.am:
12301         Clean up files named 'core' too when running make clean.
12302
12303         * tests/examples/manual/Makefile.am:
12304         Set up a registry path for running these tests, and clean it properly
12305         for distcheck.
12306
12307 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12308
12309         * configure.ac:
12310         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12311         want gmodule-no-export-2.0.pc instead so that we don't drag in
12312         --export-dynamic on every project that links to GStreamer.
12313
12314         Also, make our export regex only match the start of symbols, rather 
12315         than any symbol that contains '_gst' somewhere.
12316
12317         * libs/gst/check/Makefile.am:
12318         The libgstcheck we build does however need export-dynamic, as it
12319         produces some symbols that don't match our _gst... style regex.
12320         Fixes: #318031
12321
12322 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12323
12324         * gst/gst.c: (init_pre), (scan_and_update_registry),
12325         (ensure_current_registry_nonforking),
12326         (ensure_current_registry_forking), (ensure_current_registry),
12327         (init_post), (gst_debug_help), (gst_deinit):
12328         * gst/gst_private.h:
12329         * gst/gstregistry.c: (gst_registry_finalize),
12330         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12331         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12332         (_gst_registry_cleanup):
12333         * gst/gstregistry.h:
12334           Revert previous change until I figure out why it breaks distcheck.
12335
12336 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12337
12338         * gst/gst.c: (init_pre), (scan_and_update_registry),
12339         (ensure_current_registry_nonforking),
12340         (ensure_current_registry_forking), (ensure_current_registry),
12341         (init_post), (gst_debug_help), (gst_deinit):
12342
12343           Make init_pre and init_post take the full complement of GOptionFunc
12344           args so they can return useful GErrors. Make the registry updating
12345           functions do so.
12346
12347           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12348           ensure that the registry we're about to write out doesn't contain
12349           stale information about old-deleted plugin files.
12350
12351           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12352           that deletion of plugin files is considered a registry change.
12353
12354         * gst/gst_private.h:
12355         * gst/gstregistry.c: (gst_registry_finalize),
12356         (gst_registry_remove_features_for_plugin_unlocked),
12357         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12358         (gst_registry_scan_path),
12359         (_priv_gst_registry_remove_cache_plugins),
12360         (_priv_gst_registry_cleanup):
12361         * gst/gstregistry.h:
12362         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12363         by adding _priv prefix, so that they won't appear in the global
12364         symbol table. They still do atm though because of #318031. Move the
12365         prototypes to gst_private.h
12366
12367         When removing a plugin, remove all features for that plugin too. 
12368         Fixes #340878.
12369
12370 2006-09-27  Wim Taymans  <wim@fluendo.com>
12371
12372         * docs/random/moving-plugins:
12373         Make it clear that the "compiled-in descriptions" really mean
12374         the element details.
12375
12376         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12377         (gst_base_sink_wait_preroll):
12378         Update docs.
12379
12380         * docs/libs/gstreamer-libs-sections.txt:
12381         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12382         (gst_base_src_get_range), (gst_base_src_activate_push):
12383         * libs/gst/base/gstbasesrc.h:
12384         Added function to block while waiting for PLAYING, this function
12385         is used by live sources that block on the clock.
12386         API: gst_base_src_wait_playing()
12387
12388 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12389
12390         Patch by: Peter Kjellerstedt <pkj at axis com>
12391
12392         * Makefile.am:
12393           gst-element-check.m4 is generated and should therefore be
12394           copied from the build dir rather than the source dir (#357593).
12395           'make distcheck' hasn't noticed this because we were disting
12396           the file as well, so stop doing that.
12397
12398 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12399
12400         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12401           Add some tests for gst_caps_intersect().
12402
12403         * tools/gst-launch.c: (event_loop):
12404           Print all buffering percentages we get, even the 100% one.
12405
12406 2006-09-26  Wim Taymans  <wim@fluendo.com>
12407
12408         * tools/gst-inspect.c: (print_element_properties_info),
12409         (print_signal_info):
12410         Fix printing of flags to match the look of enums.
12411
12412 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12413
12414         * gst/gstelementfactory.c:
12415           Fix typo in docs blurb.
12416
12417 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12418
12419         * gst/gsturi.c: (search_by_entry):
12420           Don't assert/crash here if a uri handler doesn't return any
12421           supported protocols. The list of protocols could be generated
12422           dynamically at runtime or at plugin registration, and an error
12423           in the underlying library shouldn't be fatal (#353301).
12424
12425 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12426
12427         * gst/gstinfo.c:
12428           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12429           (spotted by Peter Kjellerstedt).
12430
12431 2006-09-23  Wim Taymans  <wim@fluendo.com>
12432
12433         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12434
12435         * libs/gst/base/gstbasesrc.c:
12436         (gst_base_src_default_check_get_range), (gst_base_src_start),
12437         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12438         (gst_base_src_change_state):
12439         Match _start/_stop calls in the activate functions. Remove redundant
12440         _stop call from the state change function. Fixes #356910.
12441         Turn failure DEBUG into ERROR. 
12442
12443 2006-09-22  Wim Taymans  <wim@fluendo.com>
12444
12445         * docs/design/part-buffering.txt:
12446         * gst/gstmessage.c: (gst_message_new_buffering),
12447         (gst_message_parse_buffering):
12448         Update docs about buffering.
12449
12450         * docs/design/part-trickmodes.txt:
12451         Fix typo.
12452
12453 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12454
12455         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12456         (gst_controller_new_list):
12457           Ref instances when returning them again (fixes #357180)
12458
12459 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12460
12461         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12462           Don't forget to release proxy lock when there's an error.
12463
12464 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12465
12466         * gst/gstcaps.h:
12467           Add extra initialisers for Caps things, to fix some plugin warnings
12468           when using -Wextra
12469
12470 2006-09-18  Wim Taymans  <wim@fluendo.com>
12471
12472         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12473           Also set template on the internal pad so that a getcaps from the 
12474           target pad returns the template caps.
12475
12476 2006-09-18  Wim Taymans  <wim@fluendo.com>
12477
12478         * gst/gstelement.c: (gst_element_post_message),
12479         (gst_element_dispose):
12480         Use _DEBUG_OBJECT some more.
12481
12482         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12483         Avoid typechecks.
12484
12485         * tools/gst-launch.c: (main):
12486         If the toplevel element is not a GstPipeline, it must be put in a
12487         pipeline so that a bus and clock is selected.
12488
12489 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12490
12491         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12492           JITTER, RATE, and LATENCY query should be handled by the
12493           default case and not by the CONVERT query code.
12494
12495 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12496
12497         * gst/gstformat.c: (gst_format_register):
12498           Fix locking order (must take lock before using n_values).
12499
12500         * gst/gstvalue.c: (gst_value_serialize_enum),
12501         (gst_value_deserialize_enum_iter_cmp),
12502         (gst_value_deserialize_enum):
12503           Fix serialisation/deserialisation of custom registered GstFormats.
12504
12505         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12506           Unit test for custom format serialisation/deserialisation.
12507
12508 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12509
12510         * docs/pwg/building-boiler.xml:
12511         * plugins/elements/gstcapsfilter.c:
12512         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12513         section.
12514
12515 2006-09-16  Edward Hervey  <edward@fluendo.com>
12516
12517         * libs/gst/base/gstbasetransform.c:
12518         (gst_base_transform_buffer_alloc):
12519         Check if requested caps are the same as the sinks caps IF
12520         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12521         is FALSE.
12522         This fixes the renegotiation issues stated in #352827.
12523
12524 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12525
12526         * configure.ac:
12527         * docs/manual/advanced-autoplugging.xml:
12528         * tests/examples/Makefile.am:
12529         * tests/examples/manual/.cvsignore:
12530         * tests/examples/manual/Makefile.am:
12531         * tests/examples/manual/extract.pl:
12532           Extract the manual examples again like we used to do.
12533           Fix one of them.
12534
12535 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12536
12537         * win32/common/config.h:
12538           update for version
12539
12540 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12541
12542         * gst/gsterror.c:
12543           Documents how to receive errors.
12544
12545 2006-09-15  Wim Taymans  <wim@fluendo.com>
12546
12547         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12548         (event_loop), (main):
12549         Added some comments here and there.
12550         Post an application message when an interrupt is caught instead of doing
12551         an uncontrolled state change.
12552         Clean up the event loop.
12553         Handle buffering messages, pause/resume the pipeline.
12554         Make shutdown because of an interrupt more reliable.
12555
12556 2006-09-15  Wim Taymans  <wim@fluendo.com>
12557
12558         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12559         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12560         (gst_base_sink_preroll_object):
12561         Make sure that our internal state is correct when we commit our state
12562         asynchronously. This solves a race where a state change to PLAYING
12563         could cause the sink to remain blocked in preroll in some situations.
12564
12565 2006-09-15  Wim Taymans  <wim@fluendo.com>
12566
12567         * tools/gst-inspect.c: (print_element_properties_info),
12568         (print_signal_info):
12569         List flags as hex so it's easier to deal with.
12570
12571 2006-09-15  Wim Taymans  <wim@fluendo.com>
12572
12573         * docs/libs/gstreamer-libs-sections.txt:
12574         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12575         (gst_base_sink_do_sync):
12576         * libs/gst/base/gstbasesink.h:
12577         Expose logic to wait for preroll so that subclasses such as audiosink
12578         can also use this method.
12579         API: gst_base_sink_wait_preroll()
12580
12581 2006-09-15  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/gstobject.c: (gst_object_set_parent):
12584         * gst/gstpipeline.c: (do_pipeline_seek):
12585         Small cleanups in docs and code.
12586
12587         * gst/gstsegment.c: (gst_segment_clip):
12588         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12589         if stop == start and start is in the segment, no clipping should be
12590         done. Also add a test for this.
12591
12592 2006-09-15  Wim Taymans  <wim@fluendo.com>
12593
12594         * docs/design/part-buffering.txt:
12595         * docs/gst/gstreamer-sections.txt:
12596         * gst/gstmessage.c: (gst_message_new_buffering),
12597         (gst_message_parse_buffering):
12598         * gst/gstmessage.h:
12599         Added methods to create and parse BUFFERING messages.
12600         Added preliminary docs about buffering.
12601         API: gst_message_new_buffering
12602         API: gst_message_parse_buffering
12603
12604 2006-09-06  Wim Taymans  <wim@fluendo.com>
12605
12606         * gst/gstbin.c:
12607         Update documentation.
12608
12609         * gst/gstelement.c: (gst_element_class_init),
12610         (gst_element_release_request_pad), (gst_element_set_clock),
12611         (gst_element_get_index), (gst_element_add_pad),
12612         (gst_element_remove_pad), (gst_element_get_random_pad),
12613         (gst_element_send_event), (gst_element_get_query_types),
12614         (gst_element_query), (gst_element_post_message),
12615         (gst_element_message_full), (gst_element_continue_state),
12616         (gst_element_lost_state), (gst_element_save_thyself),
12617         (gst_element_restore_thyself):
12618         Documentation updates.
12619         Rename last bit of the new-pad -> pad-added signal rename.
12620         Fix the case where an element query would only work if the source
12621         pad was linked.
12622         Avoid some useless type checking in message handling.
12623
12624         * gst/gstevent.c:
12625         * gst/gstevent.h:
12626         * gst/gstutils.c:
12627         Documentation updates.
12628
12629 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12630
12631         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12632           add an INFO line for when we actually update the fd
12633
12634 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * configure.ac:
12637           back to TRUNK
12638
12639 === release 0.10.10 ===
12640
12641 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12642
12643         * configure.ac:
12644           releasing 0.10.10, "Pais"
12645
12646 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12647
12648         * docs/manual/advanced-position.xml:
12649           Fix typo in sample code.
12650
12651 2006-09-05  Wim Taymans  <wim@fluendo.com>
12652
12653         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12654         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12655         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12656         * libs/gst/net/gstnetclientclock.h:
12657         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12658         * libs/gst/net/gstnettimepacket.h:
12659         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12660         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12661         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12662         * libs/gst/net/gstnettimeprovider.h:
12663         Make stuff compile on windows. Fixes #345295.
12664
12665 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12666
12667         * gst/gst.c: (ensure_current_registry_forking):
12668           Print better details when child was terminated by signal.
12669
12670 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12671
12672         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12673           Print a warning rather than g_assert() if a plugin feature
12674           is a URI handler but returns no protocols (#353976).
12675
12676 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12677
12678         * docs/random/moving-plugins:
12679         Fix two typos.         
12680
12681 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12682
12683         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12684           Fix locking order, handle NULL function values properly.
12685
12686         * gst/gstinfo.h:
12687           Fix docs.
12688
12689         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12690           Initialise variable before using it and fix debug statement to
12691           print the address of the function rather than the address of the
12692           variable on the stack holding the address of the function.
12693
12694 2006-09-01  Wim Taymans  <wim@fluendo.com>
12695
12696         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12697         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12698         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12699         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12700         (gst_ghost_pad_parent_unset),
12701         (gst_ghost_pad_internal_do_activate_push),
12702         (gst_ghost_pad_internal_do_activate_pull),
12703         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12704         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12705         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12706         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12707         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12708         (gst_ghost_pad_new_no_target_from_template),
12709         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12710         More cleanups.
12711         Avoid needless typechecking in macros.
12712         Since the internal pad is always present and never changes, there is
12713         no need to locking or ref when retrieving it.
12714         Improve debugging a bit.
12715         Handle link errors when setting the target. Fixes #341029.
12716
12717 2006-09-01  Wim Taymans  <wim@fluendo.com>
12718
12719         * docs/libs/gstreamer-libs-sections.txt:
12720         * docs/plugins/gstreamer-plugins-sections.txt:
12721         Fix docs some more.
12722
12723         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12724         (gst_collect_pads_event):
12725         * libs/gst/base/gstcollectpads.h:
12726         Documentation updates.
12727         Free queued buffer when removing a pad.
12728
12729 2006-08-31  Michael Smith  <msmith@fluendo.com>
12730
12731         * gst/gstutils.c: (gst_element_link_pads),
12732         (gst_element_link_pads_filtered):
12733           Ensure that we set a capsfilter to NULL if we failed to link it
12734           when doing filtered linking, to avoid criticals.
12735
12736           No need to check for unreffing srcpad, which is explicly NULLed
12737           above (a trivial code cleanup).
12738
12739 2006-08-31  Wim Taymans  <wim@fluendo.com>
12740
12741         * docs/design/part-gstghostpad.txt:
12742         Update ascii art in documentation.
12743
12744         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12745         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12746         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12747         (gst_ghost_pad_internal_do_activate_push),
12748         (gst_ghost_pad_internal_do_activate_pull),
12749         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12750         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12751         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12752         (gst_ghost_pad_set_target):
12753         Small cleanups and leak fixes.
12754         Remove some checks now that the internal pad is never NULL.
12755         Fix the case where linking pads without a target would create nasty
12756         criticals. Fixes #341029.
12757         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12758         value of _set_target().
12759
12760         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12761         (gst_ghost_pad_suite):
12762         Some more tests for creating and linking untargeted ghostpads.
12763
12764 2006-08-31  Edward Hervey  <edward@fluendo.com>
12765
12766         * docs/gst/gstreamer-sections.txt:
12767         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12768         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12769         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12770         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12771         (gst_ghost_pad_new_from_template),
12772         (gst_ghost_pad_new_no_target_from_template):
12773         * gst/gstghostpad.h:
12774         Refactored *_new() functions.
12775         Templates are now used as a g_object_new() parameter.
12776         Use template in _do_getcaps() if we don't have a target.
12777         Small documentation cleanups.
12778         Added two new constructors:
12779         gst_ghost_pad_new_from_template()
12780         gst_ghost_pad_new_no_target_from_template()
12781         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12782         (gst_ghost_pad_suite):
12783         Added tests for new ghostpad instanciation functions.
12784
12785         API additions: gst_ghost_pad_new_from_template,
12786         gst_ghost_pad_new_no_target_from_template
12787
12788 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12789
12790         * docs/random/ensonic/profiling.txt:
12791           Ideas about qos profiling.
12792
12793 2006-08-29  Wim Taymans  <wim@fluendo.com>
12794
12795         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12796         Code cleanups.
12797         Fix memleak.
12798
12799 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12800
12801         * gst/gstxml.c:
12802           Improve and detypofy docs.
12803
12804         * tests/check/Makefile.am:
12805         * tests/check/gst/.cvsignore:
12806         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12807           Add a basic test suite for GstXML.
12808
12809 2006-08-29  Wim Taymans  <wim@fluendo.com>
12810
12811         * gst/gstelement.c: (activate_pads), (clear_caps),
12812         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12813         Clear the pad caps when the element shut down all of the pads and
12814         is not streaming data that could modify the caps. 
12815         Fixes #352958.
12816
12817 2006-08-28  Michael Smith  <msmith@fluendo.com>
12818
12819         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12820           Revert previous change; I misunderstood single-segment mode.
12821
12822 2006-08-28  Michael Smith  <msmith@fluendo.com>
12823
12824         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12825           Unset DISCONT on buffers when using single-segment mode.
12826
12827 2006-08-28  Wim Taymans  <wim@fluendo.com>
12828
12829         * gst/gstcaps.c: (gst_caps_merge_structure):
12830         * gst/gstcaps.h:
12831         Fix docs and indentation again.
12832
12833         * tests/check/gst/gstquery.c: (GST_START_TEST):
12834         Fix leak in tests and add some more tests.
12835
12836 2006-08-28  Edward Hervey  <edward@fluendo.com>
12837
12838         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12839         Inform GstSegment of the last stop position in order for the current
12840         segment to have a proper duration if it doesn't have a specific stop
12841         position from which a duration could be calculated.
12842         This bug was noticeable when a non-flushing, non-update new segment was
12843         followed by another segment (all buffers from the new segment were being
12844         dropped).
12845
12846 2006-08-28  Wim Taymans  <wim@fluendo.com>
12847
12848         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12849         Small comment update.
12850
12851         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12852         (gst_identity_transform_ip):
12853         Drop-probability is broken, mention this in the code with a 
12854         FIXME and also in the property description.
12855         Make silent also be silent about the drop messages.
12856
12857 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12858
12859         * docs/manual/appendix-win32.xml:
12860           Remove mention of popt, we don't depend on that any
12861           longer (#353136). Add some comments pointing out that
12862           this section is slightly outdated.
12863
12864 2006-08-28  Wim Taymans  <wim@fluendo.com>
12865
12866         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12867
12868         * gst/gstquery.c: (gst_query_new_segment):
12869         * tests/check/gst/gstquery.c: (GST_START_TEST):
12870         Initialize variables when creating a new segment query.
12871         Fixes #353121.
12872
12873 2006-08-28  Wim Taymans  <wim@fluendo.com>
12874
12875         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12876
12877         * gst/gstelement.c: (gst_element_get_bus):
12878         * tests/check/gst/gstelement.c: (GST_START_TEST):
12879         Check for NULL before _reffing the bus. Fixes #353122.
12880
12881 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12882
12883         * docs/manual/basics-bus.xml:
12884           Docs update: fix wrong callback return value explanation; add
12885           some lines about the implicit relationship between main loop
12886           and main context; remove duplicate main loop variable declaration.
12887
12888 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12889
12890         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12891           Don't leak caps in unit test; add a few more simple
12892           checks. 
12893
12894 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12895
12896         * docs/gst/gstreamer-sections.txt:
12897         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12898         (gst_caps_structure_is_subset), (gst_caps_merge),
12899         (gst_caps_merge_structure):
12900         * gst/gstcaps.h:
12901         * libs/gst/base/gstbasetransform.c:
12902         (gst_base_transform_transform_caps):
12903         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12904           implement caps merging (fixes #352580)
12905
12906 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12907
12908         * tools/Makefile.am:
12909         * tools/gst-plot-timeline.py:
12910           add debug-log plotting developer tool (#340674)
12911
12912 2006-08-23  Wim Taymans  <wim@fluendo.com>
12913
12914         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12915         (gst_pad_stop_task):
12916         Improve debugging for task functions.
12917
12918         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12919         (gst_task_start), (gst_task_pause), (gst_task_join):
12920         Make sure that the task function started and finished after a 
12921         join(). 
12922         Don't try to push the task function on the threadpool multiple
12923         times.
12924         Improve the g_warning message with some useful suggestions
12925         about how to fix the problem. 
12926
12927 2006-08-23  Wim Taymans  <wim@fluendo.com>
12928
12929         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12930         Handle RESYNC correctly in _proxy_getcaps.
12931
12932 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12933
12934         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12935         (gst_xml_parse_memory), (gst_xml_get_element):
12936           Chain up to parent class in dispose function and also
12937           unref the elements in the toplevel_elements GList.
12938           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12939           Always return a reference in gst_xml_get_element() rather
12940           than only sometimes.
12941
12942         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12943           Don't leak GstXml object.
12944
12945 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12946
12947         * docs/gst/gstreamer-sections.txt:
12948         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12949         (gst_caps_merge):
12950         * gst/gstcaps.h:
12951         * libs/gst/base/gstbasetransform.c:
12952         (gst_base_transform_transform_caps):
12953           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12954           in a better way
12955
12956 2006-08-21  Edward Hervey  <edward@fluendo.com>
12957
12958         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12959         Implement GObject::dispose virtual method in GstXML so we can free the
12960         top_elements GList.
12961
12962 2006-08-21  Wim Taymans  <wim@fluendo.com>
12963
12964         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12965         (gst_buffer_create_sub):
12966         Copy duration/offset_end/caps when creating a subbuffer of the
12967         complete parent.
12968         Make the subbuffer read-only when we make the metadata writable for
12969         now. Fixes #351768.
12970
12971         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12972         Added check for metadata copy when creating subbuffers.
12973
12974 2006-08-21  Edward Hervey  <edward@fluendo.com>
12975
12976         * libs/gst/base/gstbasetransform.c:
12977         (gst_base_transform_buffer_alloc):
12978         Only call downstream buffer_alloc if transform element is passthrough
12979         or always_in_place. Closes #350449.
12980
12981 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12982
12983         * ChangeLog:
12984           ChangeLog surgery to add comments to previous changes
12985
12986 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12987
12988         * gst/gst.c:
12989           Add comments
12990
12991         * gst/gstpad.c: (gst_pad_set_active):
12992           Be more verbose in the log
12993
12994         * libs/gst/base/gstbasetransform.c:
12995         (gst_base_transform_transform_caps):
12996           Simplify caps to get rid of duplicates, fixes #345444
12997
12998 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12999
13000         * gst/gstvalue.c:
13001         * gst/gstvalue.h:
13002           Use these optimizations only internally.
13003
13004 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13005
13006         * gst/gstvalue.c: (gst_value_compare_list),
13007         (gst_value_compare_fraction_range),
13008         (gst_value_intersect_fraction_fraction_range),
13009         (gst_value_intersect_fraction_range_fraction_range),
13010         (gst_value_subtract_fraction_fraction_range),
13011         (gst_value_subtract_fraction_range_fraction_range),
13012         (gst_value_get_compare_func), (gst_value_compare),
13013         (gst_value_compare_with_func):
13014         * gst/gstvalue.h:
13015           Saves the expensive lookup of the compare function in many cases
13016          (#345444)
13017
13018 2006-08-18  Edward Hervey  <edward@fluendo.com>
13019
13020         * tests/check/gst/gstinfo.c: (gst_info_suite):
13021         Disable test that require gstdebug if it wasn't built in core.
13022
13023 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13024
13025         * docs/random/ensonic/logging.txt:
13026           update ideas
13027           
13028         * gst/gstinfo.c: (gst_debug_log_default):
13029           reorder fields, save some columns, add optional color codes for log
13030           levels
13031
13032 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13033
13034         * docs/random/ensonic/logging.txt:
13035           add ideas about making the logs a bit more useful
13036
13037 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13038
13039         * docs/pwg/advanced-events.xml:
13040         * docs/pwg/titlepage.xml:
13041           Update for 0.10 API (#340627). Add myself
13042           to authors list.
13043
13044 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13045
13046         * docs/libs/gstreamer-libs-docs.sgml:
13047         * docs/libs/gstreamer-libs-sections.txt:
13048         * libs/gst/check/gstbufferstraw.c:
13049           Make gstcheck stuff show up in docs (still needs to
13050           be documented properly though).
13051
13052 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13053
13054         * docs/gst/gstreamer-sections.txt:
13055         * gst/Makefile.am:
13056         * gst/gst.c: (init_post):
13057         * gst/gst_private.h:
13058         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13059         * gst/gstquark.h:
13060         * gst/gstquery.c: (gst_query_new_position),
13061         (gst_query_set_position), (gst_query_parse_position),
13062         (gst_query_new_duration), (gst_query_set_duration),
13063         (gst_query_parse_duration), (gst_query_new_convert),
13064         (gst_query_set_convert), (gst_query_parse_convert),
13065         (gst_query_new_segment), (gst_query_set_segment),
13066         (gst_query_parse_segment), (gst_query_new_seeking),
13067         (gst_query_set_seeking), (gst_query_parse_seeking):
13068         Add internal helpers for pre-registering quarks from static strings
13069         and using the quark values directly instead of looking them up when
13070         creating and parsing queries. Can be used for event construction too.
13071         Closes #350432.
13072
13073 2006-08-16  Wim Taymans  <wim@fluendo.com>
13074
13075         * gst/gstbin.c:
13076         Fix bogus docs.
13077
13078 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13079
13080         * gst/gstutils.c: (gst_util_set_value_from_string):
13081           Fix memleak (#351502).
13082
13083         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13084           Add unit test for most of gst_util_set_value_from_string()
13085           (not that one would want to encourage use of this function).
13086
13087 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13088
13089         * libs/gst/check/gstcheck.h:
13090           Use const gchar * variables in fail_unless_equals_string
13091           macro to avoid compiler warnings (and don't use tabs for
13092           indenting).
13093
13094 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13095
13096         * tools/gst-launch.c: (print_tag):
13097           More space on the left for the tag names, to cater
13098           for the 'extended comment' tag (not touching the
13099           string for the first line since it's translated).
13100
13101 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13102
13103         * libs/gst/check/gstcheck.h:
13104           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13105           print something when they fail.
13106
13107 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13108
13109         * docs/gst/gstreamer-sections.txt:
13110         * gst/gsttaglist.c: (_gst_tag_initialize):
13111         * gst/gsttaglist.h:
13112           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13113           Also change merge function for GST_TAG_COMMENT to
13114           use_first.
13115
13116 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13117
13118         * gst/gstinfo.c: (gst_debug_print_object):
13119           Make GST_PTR_FORMAT print messages as well.
13120
13121         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13122         (GST_START_TEST), (gst_info_suite):
13123           More tests.
13124
13125 2006-08-14  Edward Hervey  <edward@fluendo.com>
13126
13127         * gst/gstelementfactory.c: (gst_element_register):
13128         If the GstElementClass doesn't have a GstElementDetails with all fields
13129         filled up correctly (longname, description AND author), then error out
13130         nicely instead of crashing.
13131
13132 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13133
13134         * gst/gststructure.c:
13135           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13136
13137         * gst/gstvalue.h:
13138           Expand on the difference between arrays and lists as we use them.
13139           
13140 2006-08-14  Wim Taymans  <wim@fluendo.com>
13141
13142         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13143         If the parent state change function failed, don't assume we can safely
13144         stop the source, this will be done when the pads are deactivated.
13145
13146 2006-08-14  Wim Taymans  <wim@fluendo.com>
13147
13148         * gst/gstbuffer.c:
13149         * gst/gsttask.c: (gst_task_join):
13150         Small doc updates.
13151
13152         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13153         (gst_pad_stop_task):
13154         When pad (de)activation failed for some reason, restore the old
13155         activation mode and set the pad to flushing instead of assuming the
13156         pad is deactivated.
13157         If the _task_join() failed, reinstall the task on the pad so that it can
13158         be stopped later and return an error.
13159
13160 2006-08-11  Andy Wingo  <wingo@pobox.com>
13161
13162         * configure.ac:
13163         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13164         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13165         is only for users of API that don't want to see deprecated
13166         functions in the headers; people that want to compile out
13167         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13168         CFLAGS. Fixes the build of multifdsink, or will soon..
13169
13170 2006-08-11  Wim Taymans  <wim@fluendo.com>
13171
13172         * docs/gst/gstreamer-sections.txt:
13173         Add GstClockClass vmethod docs.
13174
13175         * gst/gstcaps.h:
13176         Mark #endif with comment for associated #if
13177
13178         * gst/gstclock.c: (gst_clock_id_wait):
13179         * gst/gstclock.h:
13180         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13181         most clock implementations.
13182         Document vmethods.
13183         Flesh out docs about resolution methods.
13184         API: GstClockClass::wait_jitter
13185
13186         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13187         (gst_system_clock_async_thread),
13188         (gst_system_clock_id_wait_jitter_unlocked),
13189         (gst_system_clock_id_wait_jitter):
13190         Use base class wait_jitter variant for improved performance
13191         due to less clock polling.
13192
13193 2006-08-11  Edward Hervey  <edward@fluendo.com>
13194
13195         * gst/gst.c: (gst_init_check), (init_post):
13196         Set gst as being initialized before scanning/updating the registry,
13197         since there might be my python plugin loader that calls gst_init() and
13198         we don't want to loop back in.
13199         Closes #350879
13200
13201 2006-08-11  Wim Taymans  <wim@fluendo.com>
13202
13203         * docs/design/part-qos.txt:
13204         Bring docs in line with the code. Mostly the sign of the jitter was
13205         wrong in the docs. Fixes #349943.
13206
13207         * gst/gstclock.c:
13208         Fix the docs for the jitter.
13209
13210         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13211         (gst_event_parse_tag), (gst_event_new_buffer_size),
13212         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13213         (gst_event_new_seek), (gst_event_parse_seek),
13214         (gst_event_new_navigation):
13215         Make sure the GstStructure has no parent when creating custom
13216         events.
13217         Add some more argument checking so that we avoid 0.0 rates.
13218         Flesh out the docs for the QoS event some more.
13219
13220 2006-08-11  Wim Taymans  <wim@fluendo.com>
13221
13222         * docs/gst/gstreamer-sections.txt:
13223         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13224         (ensure_current_registry_forking), (ensure_current_registry),
13225         (parse_one_option), (parse_goption_arg), (gst_deinit),
13226         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13227         * gst/gst.h:
13228         Doc updates.
13229         Added API and command line option to disable registry forking in
13230         addition to the environment variable.
13231         Constify some static arrays.
13232         Added some more debug.
13233         Don't deinit twice.
13234         API: gst_registry_fork_is_enabled()
13235         API: gst_registry_fork_set_enabled()
13236         API: --gst-disable-registry-fork command line option
13237         Fixes #348918.
13238
13239 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13240
13241         * gst/gst.c: (gst_init):
13242           Fix typo in error message.
13243
13244 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13245
13246         * libs/gst/controller/gstcontroller.h:
13247           fix ABI size-correction
13248
13249         * tests/check/libs/gdp.c: (gst_dp_suite):
13250           make tests that use deprecated API conditional
13251
13252 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13253
13254         * docs/libs/gstreamer-libs-sections.txt:
13255         * libs/gst/controller/gstcontroller.c:
13256         (_gst_controller_get_property), (_gst_controller_set_property),
13257         (_gst_controller_init), (_gst_controller_class_init):
13258         * libs/gst/controller/gstcontroller.h:
13259         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13260         (gst_object_set_control_rate):
13261           API: add gst_object_{s,g}et_control_rate(), add private data section,
13262           fix docs
13263
13264         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13265         * libs/gst/dataprotocol/dataprotocol.h:
13266           add deprecation guards to make gtk-doc happy and allow disabling cruft
13267
13268 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13269
13270         * tests/check/Makefile.am:
13271         * tests/check/gst/.cvsignore:
13272           Let's enable the new unit test as well.
13273
13274 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13275
13276         * configure.ac:
13277         * docs/gst/gstreamer-sections.txt:
13278         * gst/gstconfig.h.in:
13279         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13280         (_gst_info_printf_extension_ptr),
13281         (_gst_info_printf_extension_segment):
13282           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13283           register that lets us easily dump GstSegments into debug
13284           logs (#350419).
13285
13286         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13287         (info_segment_format_printf_extension), (gst_info_suite):
13288           Add simple unit test that logs a bunch of different segments (not
13289           valgrinded at the moment because of leaks in
13290           gst_debug_add_log_function).
13291
13292 2006-08-09  Edward Hervey  <edward@fluendo.com>
13293
13294         * libs/gst/base/gstbasetransform.c:
13295         (gst_base_transform_buffer_alloc):
13296         Even if we can't figure out the proper format to request downstream,
13297         call buffer_alloc() downstream with the input parameters without setting
13298         the caps on the srcpad. This will force negotiation in the chain
13299         function.
13300         Closes #350449
13301
13302 2006-08-08  Edward Hervey  <edward@fluendo.com>
13303
13304         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13305         Unlinking from a pad without a target is now a perfectly valid case
13306         which should NOT raise an assertion.
13307         This case would happen if a linked ghostpad its target set to NULL after
13308         it was previously linked.
13309
13310 2006-08-08  Edward Hervey  <edward@fluendo.com>
13311
13312         * tests/check/libs/gdp.c:
13313         Also comment out the test (see below).
13314
13315 2006-08-08  Edward Hervey  <edward@fluendo.com>
13316
13317         * tests/check/libs/gdp.c: (gst_dp_suite):
13318         Use the architecture information from config.h and not gcc macros
13319         in order to properly disable a test that fails on PPC64.
13320
13321 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13322
13323         * gst/gstelement.c: (gst_element_remove_pad):
13324           Don't crash printing the warning if the pad has no parent.
13325
13326 2006-08-02  Wim Taymans  <wim@fluendo.com>
13327
13328         * libs/gst/dataprotocol/dataprotocol.c:
13329         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13330         (gst_dp_crc), (gst_dp_header_payload_length),
13331         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13332         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13333         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13334         (gst_dp_event_from_packet), (gst_dp_validate_header),
13335         (gst_dp_validate_payload):
13336         Make debug category static
13337         Constify the crc table.
13338         Do some more arg checking in public functions.
13339         Fix some docs and do some small cleanups.
13340
13341         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13342         Add some more checks to see if GDP deals with bogus input.
13343
13344 2006-07-31  Wim Taymans  <wim@fluendo.com>
13345
13346         * gst/gstvalue.c: (gst_value_compare_list):
13347         Fix GstValueList comparison code. Fixes #347293.
13348
13349         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13350         Check to test GstValueList comparison.
13351
13352 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13353
13354         * gst/gstelementfactory.c: (gst_element_factory_create):
13355         Remove unnecessary ref/unref pair
13356
13357         * gst/parse/grammar.y:
13358         Make sure to free the parse buffer on all code paths.
13359         Move a g_free up to the error handler where it's easier to see.
13360
13361         * tests/check/gst/gstevent.c: (test_event):
13362         Extending timeout for downstream travelling events to 10 seconds to
13363         hopefully avoid intermittent failure on the buildbots.
13364
13365         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13366         Don't manually set the state of the src element - it will happen as a
13367         natural consequence of the pipeline changing state, and that way it
13368         will do it in the right order too.
13369
13370 2006-07-31  Wim Taymans  <wim@fluendo.com>
13371
13372         * libs/gst/base/gstbasetransform.c:
13373         (gst_base_transform_buffer_alloc):
13374         Use OBJECT_LOCK and refcounting to get the pad caps in the
13375         buffer_alloc function because the caps could change while we are
13376         busy with them. Fixes #349105
13377
13378 2006-07-31  Wim Taymans  <wim@fluendo.com>
13379
13380         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13381         Protect _PAD_CAPS with OBJECT_LOCK.
13382
13383 2006-07-31  Wim Taymans  <wim@fluendo.com>
13384
13385         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13386         (gst_pad_get_property), (gst_pad_activate_pull),
13387         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13388         (gst_pad_set_activate_function),
13389         (gst_pad_set_activatepull_function),
13390         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13391         (gst_pad_set_getrange_function),
13392         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13393         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13394         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13395         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13396         (gst_pad_set_acceptcaps_function),
13397         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13398         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13399         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13400         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13401         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13402         (gst_pad_configure_sink), (gst_pad_configure_src),
13403         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13404         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13405         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13406         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13407         (gst_pad_send_event):
13408         Use _DEBUG_OBJECT when it makes sense.
13409         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13410         Small cleanups and code reflows.
13411         Avoid caps refcounting in _accept_caps.
13412         Refactor alloc_buffer so that the code performed on the peer is in a
13413         separate function. Also if the pad does not implement a buffer alloc
13414         function, we should still check if the pad is flushing before falling
13415         back to the default allocator.
13416
13417 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13418
13419         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13420         Make all uses of identity and fakesink have silent=true to avoid
13421         serialising every passing data structure, which is breaking tests
13422         on FC4 for some unknown reason.
13423
13424 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13425
13426         * gst/parse/Makefile.am:
13427         * gst/parse/grammar.y:
13428         * gst/parse/parse.l:
13429           Reverted previous patch as it required to bump the flex dependency to
13430           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13431
13432 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13433
13434         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13435
13436         * gst/parse/Makefile.am:
13437         * gst/parse/grammar.y:
13438         * gst/parse/parse.l:
13439           push & pop the state of the lexer for reentrant use case
13440           Fixes #349180
13441
13442 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13443
13444         * libs/gst/base/gstbasesrc.h:
13445           Note in the docs that the ::newsegment vfunc is not actually used by
13446           GstBaseSrc.
13447
13448 2006-07-28  Wim Taymans  <wim@fluendo.com>
13449
13450         * libs/gst/base/gstcollectpads.c:
13451         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13452         (gst_collect_pads_clear), (gst_collect_pads_flush),
13453         (gst_collect_pads_event), (gst_collect_pads_chain):
13454         When flushing a pad, also clear the queued buffer so that we don't
13455         accidentally use it when we shouldn't.
13456         Fix leaks by inreffing incomming buffer.
13457         Flush out queued buffers in case of errors.
13458         Fixes #347452.
13459
13460 2006-07-28  Wim Taymans  <wim@fluendo.com>
13461
13462         * docs/random/phonon-gst:
13463         Random notes about a Phonon backend.
13464
13465 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13466
13467         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13468         Extra debug output
13469         * tests/check/libs/gdp.c: (gst_dp_suite):
13470         Take a whack at fixing the ppc compile using a different define to
13471         disable the broken test.
13472
13473         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13474         Remove excess g_print()
13475
13476 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13477
13478         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13479         Oops, meant to uncomment this line too to dampen the noise a bit.
13480
13481 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13482
13483         * gst/parse/grammar.y:
13484         * gst/parse/parse.l:
13485         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13486         (GST_START_TEST), (parse_suite):
13487         Fix some of the leaks exposed by extending the parse-launch testsuite,
13488         and move the 3 I can't figure out into a separate test that won't run
13489         the pipelines unless the appropriate line is uncommented.
13490
13491 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13492
13493         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13494           Requesting 0 bytes before the end of the file should result in
13495           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13496           unit test.
13497
13498 2006-07-27  Wim Taymans  <wim@fluendo.com>
13499
13500         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13501         Fix useless assert, a uint is always positive.
13502
13503         * gst/gststructure.c: (gst_structure_nth_field_name),
13504         (gst_structure_foreach), (gst_structure_map_in_place):
13505         Check input arguments for public functions to avoid obvious crashes.
13506
13507         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13508         * plugins/elements/gstfakesink.h:
13509         Do less useless typechecking.
13510
13511 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13512
13513         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13514           Do not use mmap() by default since there are a number of error
13515           conditions that we would like to handle in a non-fatal way that
13516           will result in a SIGBUS if we use mmap(). Examples: external
13517           devices (USB harddrive, portable music player) being unplugged
13518           while in use; file on mounted CD/DVD that can't be read because
13519           the medium is partly damaged. Fixes #348455 and #348475.
13520
13521 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13522
13523         * gst/gstquery.h:
13524         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13525         rates are a gdouble
13526
13527 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13528
13529         * gst/gstregistry.c:
13530           Move big documentation comment into class section header, so that it
13531           appears in the API docs.
13532
13533 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13534
13535         * docs/gst/gstreamer-sections.txt:
13536         Oops. Commit the docs additions too for new API.
13537         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13538
13539 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13540
13541         * gst/gststructure.c: (gst_structure_id_set),
13542         (gst_structure_id_set_valist):
13543         * gst/gststructure.h:
13544         Add API for setting values into structures without performing
13545         a quark lookup, if the appropriate quark is already known.
13546
13547         API: gst_structure_id_set
13548         API: gst_structure_id_set_valist
13549
13550         * gst/parse/grammar.y:
13551         * gst/parse/parse.l:
13552         Remove some dead code shown by the coverage information.
13553         Don't throw a critical g_warning when encountering a syntax error,
13554         just warn and let the normal error path handle it.
13555
13556         * plugins/elements/gstelements.c:
13557         Bump the rank of filesink up to PRIMARY so that it is preferred over
13558         gnomevfssink for file:// sink uri's
13559
13560         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13561         (GST_START_TEST), (run_delayed_test),
13562         (gst_parse_test_element_base_init),
13563         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13564         (gst_parse_test_element_change_state),
13565         (gst_register_parse_element), (parse_suite):
13566         Beef up the tests for parse syntax to check that more error cases
13567         fail as they are supposed to. Increases the test coverage a bit.
13568
13569 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13570
13571         * docs/manual/basics-elements.xml:
13572           Fix gst_element_link() example.
13573
13574         * gst/gstutils.c:
13575           Mention in API docs that one should usually gst_bin_add()
13576           elements to a bin or pipeline before doing the linking.
13577           
13578 2006-07-26  Wim Taymans  <wim@fluendo.com>
13579
13580         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13581         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13582         Avoid function call for known types by keeping the buffer and
13583         subbuffer GType global.
13584
13585         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13586         Random silly optimisations in read() path.
13587
13588 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13589
13590         * tools/gst-launch.c: (main):
13591           If the top-level of the parse is a normal bin, it doesn't do the
13592           right logic to run as a top-level element, so place it inside a
13593           pipeline.
13594
13595 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13596
13597         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13598           Remove superfluous g_object_notify() calls, GObject does
13599           that for us automatically.
13600
13601 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13602
13603         * gst/gstinfo.h:
13604           on Win32, use dllspec to export the debug category symbols
13605
13606 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13607
13608         * gst/gsttaglist.c: (_gst_tag_initialize):
13609           Allow more than one GST_TAG_IMAGE per taglist.
13610
13611 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13612
13613         * gst/gstminiobject.c:
13614           update docs
13615         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13616         (gst_fd_src_create):
13617           log recurring events at LOG level
13618           add more debug for when the fd gets set
13619
13620 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13621
13622         * gst/gstparse.c: (gst_parse_launch):
13623           Also remove reentrance checks if flex is MT safe (#348179)
13624          Fix my empty ChangeLog entry below
13625
13626 2006-07-21  Andy Wingo  <wingo@pobox.com>
13627
13628         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13629
13630         * libs/gst/check/Makefile.am
13631         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13632         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13633         * libs/gst/check/gstbufferstraw.h:
13634         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13635         functions, thus proving I am still a GStreamer haxor. OK I wrote
13636         them a long time ago, but anyways.
13637
13638 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13639
13640         * configure.ac:
13641         * gst/gstparse.c: (gst_parse_launch):
13642           Check for flex version and omit mutex if we have a MT save flex
13643           (fixes #348179)
13644
13645 2006-07-21  Wim Taymans  <wim@fluendo.com>
13646
13647         * gst/gstparse.c: (gst_parse_launch):
13648         Protect recursive calls to _parse with a recursive mutex
13649         and busy flag.
13650
13651 2006-07-21  Wim Taymans  <wim@fluendo.com>
13652
13653         * tests/check/gst/gstpad.c: (GST_START_TEST):
13654         Fix leak in test.
13655
13656 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13657
13658         * gst/gstparse.c: (gst_parse_launch):
13659           Do not hang on recursive usage of gst_parse_launch()
13660
13661 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13662
13663         * gst/gsttaglist.c:
13664           Add some more docs, comments and FIXME 0.11s here and there
13665           and also fix some typos.
13666
13667 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13668
13669         * gst/gstsegment.h:
13670           Convert tabs to spaces for better readability. 
13671
13672 2006-07-20  Edward Hervey  <edward@fluendo.com>
13673
13674         * tests/check/libs/gdp.c: (gst_dp_suite):
13675         the test_buffer test fails at line 140 on ppc64 at the following
13676         check:
13677         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13678                 GST_BUFFER_FLAG_IN_CAPS),
13679                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13680         See bug #348114 for more details.
13681
13682 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13683
13684         * docs/pwg/advanced-scheduling.xml:
13685         * gst/gstpad.c:
13686           Fix typos (#348000).
13687
13688 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13689
13690         * docs/pwg/intro-basics.xml:
13691           Fix wrong links (#347927).
13692
13693 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13694
13695         * gst/gstregistry.h:
13696         * gst/gstregistryxml.c: (load_feature),
13697         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13698         * win32/common/config.h:
13699           make --disable-index work (#342564)
13700
13701 2006-07-18  Wim Taymans  <wim@fluendo.com>
13702
13703         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13704
13705         * gst/Makefile.am:
13706         * gst/gsttrace.h:
13707         The attached patch adds two missing defines to gsttrace.h when tracing
13708         is disabled.  It also corrects one existing define.
13709         Fixes #347756.
13710
13711 2006-07-17  Wim Taymans  <wim@fluendo.com>
13712
13713         * docs/gst/gstreamer-sections.txt:
13714         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13715         * gst/gst.h:
13716         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13717         Add two functions to check and change the SIGSEGV behaviour
13718         when loading plugins.
13719         Don't mess with the SIGSEGV handler when we were told not to.
13720         Fixes #347794.
13721         API: gst_segtrap_is_enabled
13722         API: gst_segtrap_set_enabled
13723
13724 2006-07-14  Wim Taymans  <wim@fluendo.com>
13725
13726         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13727         * tests/check/elements/filesrc.c: (GST_START_TEST):
13728         Revert fix for regression in #347408 after release.
13729
13730 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13731
13732         Patch by: Antoine Tremblay <hexa00 at gmail com>
13733
13734         * gst/gstutils.c: (gst_element_unlink):
13735           Free iterator when done (#347311).
13736
13737         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13738           And add a test case for this.
13739
13740 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13741
13742         * configure.ac:
13743         Bump nano back to CVS
13744
13745 === release 0.10.9 ===
13746
13747 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13748
13749         * configure.ac:
13750           releasing 0.10.9, "On the road again"
13751
13752 2006-07-13  Wim Taymans  <wim@fluendo.com>
13753
13754         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13755         * tests/check/elements/filesrc.c: (GST_START_TEST):
13756         Revert pull-0 fix for release. Disable check. Fixes #347408.
13757
13758 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13759
13760         * libs/gst/dataprotocol/dataprotocol.c:
13761         (gst_dp_event_from_packet_1_0):
13762           Fixes #347337: failure to deserialize event packets with
13763           empty payload (only event type)
13764
13765 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13766
13767         * gst/Makefile.am:
13768           do not install a .c file in the header directory
13769
13770 2006-07-13  Edward Hervey  <edward@fluendo.com>
13771
13772         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13773         GhostPad no longer implicitely use the padtemplates of the targets.
13774         Fixes #347384
13775
13776 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13777
13778         * gst/gstvalue.c: (gst_value_compare_list),
13779         (gst_value_compare_array), (_gst_value_initialize):
13780         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13781         Make GstValueArray comparison be order dependent as designed.
13782         Add checks for value lists and value array comparisons.
13783         Fixes #347221
13784
13785 2006-07-11  Edward Hervey  <edward@fluendo.com>
13786
13787         * gst/gstbin.c: (activate_pads),
13788         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13789         (gst_bin_change_state_func):
13790         (de)activate src pads before calling state_change on the childs.
13791         This is to avoid the case where a src ghostpad is blocked (holding the
13792         stream lock), which would block the deactivation of the ghostpad's
13793         target pad.
13794         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13795         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13796         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13797         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13798         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13799         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13800         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13801         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13802         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13803         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13804         (gst_ghost_pad_class_init),
13805         (gst_ghost_pad_internal_do_activate_push),
13806         (gst_ghost_pad_internal_do_activate_pull),
13807         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13808         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13809         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13810         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13811         GhostPads now create their internal GstProxyPad at creation (and not
13812         when they're linked, as it was being done previously).
13813         The internal and target pads are linked straight away.
13814         The data will also travel through the other pad in order to make
13815         pad blocking and probes non-hackish (the probe/block now really happens
13816         on the GhostPad and not on the target).
13817         * gst/gstpad.c: (gst_pad_set_blocked_async),
13818         (gst_pad_link_prepare), (gst_pad_push_event):
13819         Remove previous ghostpad cruft.
13820         * gst/gstutils.c: (gst_pad_add_data_probe),
13821         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13822         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13823         (gst_pad_remove_buffer_probe):
13824         Remove previous ghost pad cruft.
13825         Added more detailed debug statements.
13826         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13827         Fix the testsuite for refcounting changes.
13828         The comments about who has references were correct, but the refcount
13829         being checked wasn't the same (!?!).
13830
13831         Fixes #341029
13832
13833 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13834
13835         * docs/gst/gstreamer-sections.txt:
13836         * gst/gstconfig.h.in:
13837         More docs for configuration options, add docs to gtk-doc.
13838
13839 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13840
13841         * gst/Makefile.am:
13842         * gst/gstconfig.h.in:
13843         * win32/common/config.h:
13844         Fix build when disabling tracing (fixes #344016). Also start to document
13845         the defines that disable the sub-systems.
13846
13847 2006-07-10  Edward Hervey  <edward@fluendo.com>
13848
13849         * gst/gst.c: (ensure_current_registry_forking):
13850         let's make valgrind happy...
13851
13852 2006-07-09  Wim Taymans  <wim@fluendo.com>
13853
13854         * gst/gstelement.c: (activate_pads),
13855         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13856         Better pad activation code: Reset the collect value too on resync.
13857         Add some comments.
13858
13859 2006-07-09  Wim Taymans  <wim@fluendo.com>
13860
13861         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13862         (gst_pad_activate_push):
13863         Use some more macros where it makes sense.
13864         Allow pad mode switching instead of asserting. When a pad
13865         is activated in one mode and we activate it in another, 
13866         deactivate it first before activating it in a different mode.
13867         Fixes #329198.
13868
13869 2006-07-08  Andy Wingo  <wingo@pobox.com>
13870
13871         * tools/gst-launch.c (main): Handle err == NULL.
13872
13873         * gst/gst.c (init_post, ensure_current_registry)
13874         (ensure_current_registry_forking)
13875         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13876         factoring out the registry scanning into separate functions. Don't
13877         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13878         Better environment var name/interface suggestions accepted.
13879
13880 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13881
13882         * gst/gstobject.c: (gst_object_set_name_default),
13883         (gst_object_set_name):
13884           Random micro-optimisation: don't use a hash table
13885           with strings as keys and the usual strdup/strcmp
13886           involved, but rather just use the GQuark of the
13887           type name as key, since it needs to be looked up
13888           anyway to get the type name string.
13889
13890         * tests/check/gst/gstobject.c: (GST_START_TEST):
13891           Fix various leaks.
13892
13893 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13894
13895         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13896         (gst_bin_iterate_all_by_interface):
13897           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13898           GTypes are gulongs and thus the top 4 bytes might be cut
13899           off on some platforms when doing GPOINTER_TO_INT, leading
13900           to invalid GTypes and bad things happening (see RH bug #179654).
13901           Also add a check to make sure the type passed in is really
13902           an interface type.
13903
13904 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13905
13906         * .cvsignore:
13907           Ignore more.
13908
13909 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13910
13911         * Makefile.am:
13912         * configure.ac:
13913         * gst-element-check.m4:
13914         * gst-element-check.m4.in:
13915           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13916           instead of the unversioned gst-inspect (#324176, #168659).
13917
13918 2006-07-06  Wim Taymans  <wim@fluendo.com>
13919
13920         * gst/gstmessage.h:
13921         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13922         warnings.
13923
13924 2006-07-06  Wim Taymans  <wim@fluendo.com>
13925
13926         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13927         (gst_base_src_wait), (gst_base_src_update_length),
13928         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13929         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13930         (gst_base_src_loop), (gst_base_src_start),
13931         (gst_base_src_activate_pull):
13932         Update docs.
13933         blocksize == 0 now means the default blocksize when working in push
13934         based mode.
13935         Remove some pointless asserts in _wait function.
13936         Fix offset/length calculations and EOS handling. We can now pull 0
13937         bytes as well, which is allowed.
13938         use _check_get_range() to decide if we can operate in _pull based
13939         mode.
13940         Fix refcounting leak when check_get_range function was not 
13941         implemented.
13942         API GstBaseSrc::blocksize range can be 0 too now (default)
13943
13944         * tests/check/elements/filesrc.c: (GST_START_TEST),
13945         (filesrc_suite):
13946         Added check to test _get_range() behaviour.
13947
13948 2006-07-06  Wim Taymans  <wim@fluendo.com>
13949
13950         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13951         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13952         (gst_pad_pull_range):
13953         * gst/gstpad.h:
13954         Lots of comments and docs added to the pad functions.
13955         Flesh out the expected behaviour of the get_range() functions.
13956
13957 2006-07-06  Wim Taymans  <wim@fluendo.com>
13958
13959         * gst/gstbus.h:
13960         * gst/gstclock.h:
13961         * gst/gstevent.h:
13962         * gst/gstiterator.h:
13963         * gst/gstpad.h:
13964         * gst/gstplugin.h:
13965         * gst/gsttask.h:
13966         Remove comma at end of enumerator list. 
13967
13968 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13969
13970         * win32/common/libgstbase.def:
13971         * win32/common/libgstdataprotocol.def:
13972         * win32/common/libsgtreamer.def:
13973         Add new exported functions.
13974
13975 2006-07-05  Wim Taymans  <wim@fluendo.com>
13976
13977         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13978         Add some more docs here and there.
13979
13980 2006-07-05  Wim Taymans  <wim@fluendo.com>
13981
13982         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13983         (gst_base_sink_loop), (gst_base_sink_get_position):
13984         When operating in pull mode update the offset so that we
13985         read sequentially.
13986
13987 2006-07-05  Wim Taymans  <wim@fluendo.com>
13988
13989         * gst/gstregistryxml.c: (read_string):
13990         Avoid strdup. (will happen in libxml, but hey!)
13991
13992         * gst/gsturi.c:
13993         Add some more docs.
13994
13995 2006-07-05  Wim Taymans  <wim@fluendo.com>
13996
13997         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13998         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13999         (gst_buffer_suite):
14000         No point in checking if the size of the subbuffer > 0, the
14001         code handles it correclty as demonstrated by unit test.
14002         Also add a unit test for the zero sized _new_and_alloc and
14003         _copy. Fixes #346663.
14004
14005 2006-07-05  Wim Taymans  <wim@fluendo.com>
14006
14007         * libs/gst/base/gstbasetransform.c:
14008         (gst_base_transform_prepare_output_buffer),
14009         (gst_base_transform_buffer_alloc),
14010         (gst_base_transform_handle_buffer):
14011         Make sure the buffer we pass to transform_ip has a refcount of
14012         1 and thus is writable. Fixes #343196
14013
14014 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14015
14016         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14017         (gst_file_src_init), (gst_file_src_set_property),
14018         (gst_file_src_get_property), (gst_file_src_map_region):
14019         * plugins/elements/gstfilesrc.h:
14020         Add "sequential" property, off by default, to use madvise and hint
14021         to the kernel that sequential access is desired.
14022         Touch all retrieved pages by default to ensure they are pulled
14023         into memory. (Closes #345720)
14024
14025 2006-07-03  Wim Taymans  <wim@fluendo.com>
14026
14027         * docs/design/part-block.txt:
14028         * docs/design/part-dynamic.txt:
14029         Small docs updates.
14030
14031 2006-07-03  Wim Taymans  <wim@fluendo.com>
14032
14033         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14034         (gst_caps_unref), (gst_static_caps_get),
14035         (gst_caps_append_structure):
14036         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14037         Use GSlice when the glib we build against is >= 2.10
14038
14039 2006-07-03  Wim Taymans  <wim@fluendo.com>
14040
14041         * gst/gstelement.c: (gst_element_pads_activate):
14042         Small cleanup in pad activation code.
14043
14044 2006-07-03  Wim Taymans  <wim@fluendo.com>
14045
14046         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14047
14048         * gst/gst-i18n-app.h:
14049         * gst/gst-i18n-lib.h:
14050         * tools/gst-inspect.c: (print_signal_info):
14051         The attached patch will make the inclusion of gettext.h unconditional in
14052         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14053         libintl.h in tools/gst-inspect.c.
14054         This allows use of --disable-nls again and fixes #344642.
14055
14056 2006-07-03  Edward Hervey  <edward@fluendo.com>
14057
14058         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14059         Implement pad blocking on events according to part-block.txt.
14060         More comments on behaviour.
14061         * tests/check/gst/gstevent.c: (test_event):
14062         Send event to peer pad of blocked pad (else it will block).
14063
14064 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14065
14066         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14067         (gst_check_run_suite):
14068           if we get the wrong message, give us the types as string
14069         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14070           Fix a translatable
14071         * tests/check/elements/filesrc.c: (GST_START_TEST):
14072           add a test for trying to open a non-existing file
14073
14074 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14075
14076         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14077           add a test for adding self
14078
14079 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14080
14081         * libs/gst/check/gstcheck.h:
14082           add some assert_ as alias for fail_unless_*
14083         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14084           increase test coverage
14085
14086 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * Makefile.am:
14089           include lcov.mak for lcov coverage generation
14090         * tools/Makefile.am:
14091           add to CLEANFILES
14092
14093 2006-07-02  Edward Hervey  <edward@fluendo.com>
14094
14095         * tests/check/elements/.cvsignore:
14096         moaping
14097
14098 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14099
14100         * configure.ac:
14101           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14102         * tests/check/Makefile.am:
14103           clean up gcov files
14104
14105 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14106
14107         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14108           remove gst_caps_simplify; it was not declared and not used
14109           and deprecated in 0.8
14110
14111 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14112
14113         * docs/faq/gst-uninstalled:
14114           don't put empty paths on PYTHONPATH
14115         * docs/gst/gstreamer-sections.txt:
14116           remove some symbols that are not there
14117
14118 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14119
14120         * gst/gstcaps.c: (gst_caps_compare_structures):
14121           whitespace fixes
14122         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14123         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14124           add more tests
14125
14126 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14127
14128         * libs/gst/dataprotocol/Makefile.am:
14129           build dataprotocol test by linking to the lib, instead of
14130           compiling the source, so we get coverage
14131         * tests/check/Makefile.am:
14132         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14133         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14134           add a test for filesrc
14135
14136 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14137
14138         * tests/check/gst/gststructure.c: (GST_START_TEST),
14139         (gst_structure_suite):
14140           Push coverage from 59.04% to 70.00%
14141
14142 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14143
14144         * tests/check/Makefile.am:
14145           gst-inspect every element; this makes sure that we also get
14146           coverage on element's get/set functions
14147
14148 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14149
14150         * configure.ac:
14151           set CFLAGS and friends to -O0 if gcov is being used
14152           add GCOV LIBS
14153         * gst/Makefile.am:
14154         * libs/gst/base/Makefile.am:
14155         * libs/gst/check/Makefile.am:
14156         * libs/gst/controller/Makefile.am:
14157         * libs/gst/dataprotocol/Makefile.am:
14158         * libs/gst/net/Makefile.am:
14159         * plugins/elements/Makefile.am:
14160         * plugins/indexers/Makefile.am:
14161           add makefile rules to generate gcov data and clean up
14162         * tests/check/Makefile.am:
14163           add a coverage target that generates an html overview
14164           of coverage data
14165
14166 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14167
14168         * tests/check/elements/fakesink.c:
14169         * tests/check/elements/fakesrc.c:
14170         * tests/check/elements/fdsrc.c:
14171         * tests/check/elements/identity.c:
14172         * tests/check/generic/sinks.c: (gst_sinks_suite):
14173         * tests/check/generic/states.c:
14174         * tests/check/gst/gst.c:
14175         * tests/check/gst/gstabi.c:
14176         * tests/check/gst/gstbin.c:
14177         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14178         * tests/check/gst/gstbus.c: (gst_bus_suite):
14179         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14180         * tests/check/gst/gstelement.c:
14181         * tests/check/gst/gstevent.c: (gst_event_suite):
14182         * tests/check/gst/gstghostpad.c:
14183         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14184         * tests/check/gst/gstmessage.c: (gst_message_suite):
14185         * tests/check/gst/gstminiobject.c:
14186         * tests/check/gst/gstobject.c:
14187         * tests/check/gst/gstpad.c:
14188         * tests/check/gst/gstpipeline.c:
14189         * tests/check/gst/gstplugin.c:
14190         * tests/check/gst/gstquery.c: (gst_query_suite):
14191         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14192         * tests/check/gst/gststructure.c:
14193         * tests/check/gst/gstsystemclock.c:
14194         * tests/check/gst/gsttag.c:
14195         * tests/check/gst/gsttask.c: (gst_task_suite):
14196         * tests/check/gst/gstutils.c:
14197         * tests/check/gst/gstvalue.c:
14198         * tests/check/libs/adapter.c:
14199         * tests/check/libs/basesrc.c:
14200         * tests/check/libs/collectpads.c:
14201         * tests/check/libs/controller.c:
14202         * tests/check/libs/gdp.c: (gst_dp_suite):
14203         * tests/check/libs/gstnetclientclock.c:
14204         * tests/check/libs/gstnettimeprovider.c:
14205         * tests/check/libs/libsabi.c: (libsabi_suite):
14206         * tests/check/libs/typefindhelper.c:
14207         * tests/check/pipelines/cleanup.c:
14208         * tests/check/pipelines/parse-launch.c:
14209         * tests/check/pipelines/simple-launch-lines.c:
14210         * tests/check/pipelines/stress.c: (stress_suite):
14211           use the new macro
14212
14213 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14214
14215         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14216         * libs/gst/check/gstcheck.h:
14217           create a macro and function so that the simple unit test
14218           case can be just one macro to create main()
14219
14220 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14221
14222         * gst/gstbin.c: (gst_bin_restore_thyself):
14223         * gst/gstxml.c: (gst_xml_make_element):
14224           Fix deserialisation from XML. Set parent manually
14225           instead of using gst_bin_add(), since gst_bin_add()
14226           will unlink all pads of the element being added.
14227           Fixes #341667.
14228
14229 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14230
14231         Patch by: Peter Kjellerstedt <pkj at axis com>
14232
14233         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14234           Fix missing g_strdup() and double free when using the
14235           --gst-plugin-load command line option (#346097).
14236
14237 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14238
14239         * gst/gstinfo.c:
14240           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14241
14242         * libs/gst/net/gstnetclientclock.c:
14243         * libs/gst/net/gstnettimeprovider.c:
14244           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14245
14246 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14247
14248         * docs/manual/advanced-dataaccess.xml:
14249           Fix buffer probe example compilation in
14250           ADM (#345708).
14251         
14252 2006-06-22  Edward Hervey  <edward@fluendo.com>
14253
14254         * gst/gstelement.c: (gst_element_pads_activate):
14255         We need to deactivate src pads first and then sink pads.
14256         The reason is the src pads might be blocking while holding the streaming
14257         lock, so we need to deactivate them first so that deactivating the sink
14258         pads doesn't block (since it will require the streaming lock).
14259
14260 2006-06-22  Wim Taymans  <wim@fluendo.com>
14261
14262         * libs/gst/base/gstbasetransform.c:
14263         (gst_base_transform_buffer_alloc):
14264         Forgot to remove two unneeded unrefs.
14265         Simplify a check _is_equal allready checks the obvious case.
14266
14267 2006-06-22  Wim Taymans  <wim@fluendo.com>
14268
14269         * docs/design/part-block.txt:
14270         Some docs about what pad_block should do.
14271
14272 2006-06-22  Wim Taymans  <wim@fluendo.com>
14273
14274         * gst/gstcaps.c: (gst_caps_replace):
14275         Fix crasher when passed NULL. Doc clarification.
14276         Optimize for the trivial case.
14277
14278         * gst/gstpipeline.c: (gst_pipeline_change_state):
14279         Small cleanups.
14280
14281         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14282         Small documentation cleanup.
14283
14284         * libs/gst/base/gstbasetransform.c:
14285         (gst_base_transform_buffer_alloc):
14286         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14287         is what we need and it avoids a whole lot of redundant 
14288         refcount operations.
14289
14290 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14291
14292         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14293
14294         * docs/manual/advanced-dataaccess.xml:
14295           Fix 'Embedding static elements' section to use
14296           GST_PLUGIN_DEFINE_STATIC (#345607).
14297
14298 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14299
14300         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14301           Attempt to 'fix' spuriously failing test case: it seems like the
14302           timeout of half a second is simply too small when the system is under
14303           load otherwise, and the timeout doesn't really seem to serve any
14304           particular purpose here. Give the pipeline a few seconds to preroll
14305           first, and then give it another half a second to go from PAUSED to
14306           PLAYING and marshal the message into the main thread.
14307
14308 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14309
14310         * tools/gst-feedback-m.m:
14311           Don't only use unversioned tools, try versioned tools as well
14312           (#345086).
14313
14314 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14315
14316         * gst/gstbus.c: (gst_bus_class_init):
14317           Fix some typos, make docs more explicit.
14318
14319 2006-06-20  Wim Taymans  <wim@fluendo.com>
14320
14321         * tests/check/gst/gstghostpad.c: (block_callback),
14322         (GST_START_TEST), (gst_ghost_pad_suite):
14323         Added some more ghostpad tests, mainly blocking
14324         and probes.
14325
14326 2006-06-16  Wim Taymans  <wim@fluendo.com>
14327
14328         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14329         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14330         (gst_file_sink_event), (gst_file_sink_render):
14331         * plugins/elements/gstfilesink.h:
14332         Check if we can seek in the file instead of assuming
14333         we always can. Post an error when we are asked to seek in a
14334         non-seekable file (like a fifo). Fixes #343312.
14335         Some cleanups.
14336
14337 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14338
14339         * tools/gst-launch.1.in:
14340           Un-garble (fourcc) bit in filtered caps section.
14341
14342 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14343
14344         * docs/manual/advanced-autoplugging.xml:
14345         * docs/manual/basics-helloworld.xml:
14346         * docs/manual/highlevel-components.xml:
14347           Don't leak bus reference in sample code.
14348
14349 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14350
14351         * autogen.sh:
14352           Add default for new --enable-plugin-docs switch.
14353
14354         * configure.ac:
14355           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14356           Fixes #344039.
14357
14358         * docs/Makefile.am:
14359           Use new ENABLE_PLUGIN_DOCS conditional.
14360
14361 2006-06-14  Wim Taymans  <wim@fluendo.com>
14362
14363         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14364         Make it clear with a FIXME and a real define what the #if 0
14365         previously disabled.
14366
14367 2006-06-14  Wim Taymans  <wim@fluendo.com>
14368
14369         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14370         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14371         * libs/gst/base/gstbasetransform.c:
14372         (gst_base_transform_sink_eventfunc):
14373         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14374         Don't randomly and silently reset a segment when the format 
14375         changes as this is a bug somewhere upstream. Fixes #330379.
14376
14377 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14378
14379         Patch by: Wouter Paesen  <wouter at kangaroot net>
14380
14381         * libs/gst/controller/gstcontroller.c:
14382         (gst_controlled_property_new):
14383           Fix controlling of float properties (#344849).
14384
14385         * tests/check/libs/controller.c:
14386         (gst_test_mono_source_get_property),
14387         (gst_test_mono_source_set_property),
14388         (gst_test_mono_source_class_init), (GST_START_TEST):
14389           While we're at it, add some float stuff to unit test.
14390
14391 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14392
14393         * docs/README:
14394         * docs/images/gdp-header.svg:
14395           add a gdp image
14396         * docs/libs/Makefile.am:
14397         * docs/libs/gdp-header.png:
14398         * libs/gst/dataprotocol/dataprotocol.c:
14399           add it to the API docs
14400         * docs/manual/intro-motivation.xml:
14401           fix typo
14402
14403 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14404
14405         * gst/gst.c: (scan_and_update_registry), (init_post):
14406           If the fork()'ed child process can't write the updated registry cache
14407           file to disk for some reason, make it exit with a failure exit code,
14408           so that the parent can then re-scan the plugins itself and update the
14409           registry structures in memory and work with that (rather than failing
14410           when creating elements because seemingly no plugins are available).
14411           Refactor registry scanning code into separate function for this and
14412           also separate fork() and non-fork() code paths. Fixes #344748.
14413
14414 2006-06-13  Wim Taymans  <wim@fluendo.com>
14415
14416         * docs/manual/advanced-dataaccess.xml:
14417         Fix wrong PluginDesc. Fixes #344755.
14418
14419 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14420
14421         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14422           Fix silly bug that prevented us from creating
14423           ~/.gstreamer-0.10 and writing the registry in one
14424           go (the first call to g_mkstemp() would overwrite the
14425           placeholder in the template string, so the second call
14426           to g_mkstemp() after creating the missing directory
14427           would then error out with 'invalid argument').
14428
14429 2006-06-13  Edward Hervey  <edward@fluendo.com>
14430
14431         * gst/gst.c: (init_post):
14432         Free string.
14433
14434 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14435
14436         * gst/glib-compat-private.h:
14437         * gst/glib-compat.c:
14438         * gst/glib-compat.h:
14439         * gst/gstvalue.c: (gst_value_serialize_flags):
14440           remove GLib 2.6 compatibility code
14441
14442 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14443
14444         * gst/parse/Makefile.am:
14445           Fix build with 'make -j N' even more (#340016).
14446
14447 2006-06-12  Wim Taymans  <wim@fluendo.com>
14448
14449         * docs/gst/gstreamer-sections.txt:
14450         Fix docs.
14451
14452 2006-06-12  Wim Taymans  <wim@fluendo.com>
14453
14454         * gst/gstsegment.c: (gst_segment_set_duration),
14455         (gst_segment_set_last_stop), (gst_segment_set_seek),
14456         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14457         (gst_segment_to_running_time), (gst_segment_clip):
14458         Use G_UNLIKELY to help the compiler a bit.
14459
14460 2006-06-12  Wim Taymans  <wim@fluendo.com>
14461
14462         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14463
14464         * gst/gstevent.c: (gst_event_get_type):
14465         * gst/gstmessage.c:
14466         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14467         (gst_pad_push):
14468         constify quark registration strings. Fixes #344115
14469         Avoid unneeded type checking is _pad_push() by internally
14470         calling gst_pad_chain_unchecked().
14471
14472 2006-06-12  Wim Taymans  <wim@fluendo.com>
14473
14474         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14475         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14476         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14477         (gst_buffer_is_span_fast), (gst_buffer_span):
14478         Init _type for consistency.
14479         Use _FLAGS macro to avoid type check.
14480         Avoid unneeded type checks in subbufer code.
14481
14482 2006-06-12  Wim Taymans  <wim@fluendo.com>
14483
14484         * gst/gst.c: (gst_debug_help):
14485         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14486         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14487         (gst_plugin_feature_list_free):
14488         * gst/gstregistry.c: (gst_registry_add_plugin),
14489         (gst_registry_add_feature), (gst_registry_plugin_filter),
14490         (gst_registry_feature_filter), (gst_registry_find_plugin),
14491         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14492         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14493         * gst/gstregistryxml.c: (load_feature),
14494         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14495         * gst/gstminiobject.c: (gst_mini_object_unref),
14496         (gst_mini_object_replace), (gst_value_mini_object_free),
14497         (gst_value_mini_object_copy):
14498         Use _CAST macros to avoid unneeded type checking.
14499         Added some more G_UNLIKELY.
14500
14501 2006-06-12  Wim Taymans  <wim@fluendo.com>
14502
14503         * gst/gstbuffer.h:
14504         Avoid unneeded type checking.
14505         API: GST_BUFFER_IS_DISCONT
14506
14507         * gst/gstminiobject.h:
14508         Avoid type check in flag accessor.
14509
14510         * gst/gstelementfactory.h:
14511         * gst/gstplugin.h:
14512         * gst/gstpluginfeature.h:
14513         Add _CAST macros.
14514         API: GST_ELEMENT_FACTORY_CAST
14515         API: GST_PLUGIN_CAST
14516         API: GST_PLUGIN_FEATURE_CAST
14517
14518 2006-06-12  Wim Taymans  <wim@fluendo.com>
14519
14520         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14521         (gst_object_unref):
14522         Add G_UNLIKELY in type registration.
14523         Avoid type check in _ref/_unref since that is also
14524         done in glib.
14525
14526 2006-06-12  Wim Taymans  <wim@fluendo.com>
14527
14528         * gst/gsterror.c: (gst_g_error_get_type):
14529         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14530         (gst_static_pad_template_get_type):
14531         * gst/gsttaglist.c: (gst_tag_list_get_type):
14532         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14533         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14534         * gst/gsturi.c: (gst_uri_handler_get_type):
14535         * gst/gstvalue.c: (gst_date_get_type):
14536         * gst/gstxml.c: (gst_xml_get_type):
14537         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14538         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14539         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14540         Add G_UNLIKELY in type registration.
14541
14542 2006-06-12  Wim Taymans  <wim@fluendo.com>
14543
14544         * tools/gst-inspect.c: (print_signal_info):
14545         Properly print enum values.
14546
14547 2006-06-12  Wim Taymans  <wim@fluendo.com>
14548
14549         * gst/gstinfo.c: (gst_debug_set_active),
14550         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14551         * gst/gstinfo.h:
14552         Add some G_[UN]LIKELY.
14553         Maintain __gst_debug_min to avoid formatting the arguments of
14554         debug messages that will be dropped anyway to avoid a lot of 
14555         overhead from the debugging system.
14556
14557 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14558
14559         * po/POTFILES.in:
14560         * po/POTFILES.skip:
14561           add missing files containing translatable strings, tell intltool about
14562           one exception
14563
14564 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14565
14566         * tests/check/libs/.cvsignore:
14567         add test-binary to ignore list
14568
14569 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14570
14571         * docs/libs/gstreamer-libs-docs.sgml:
14572         reorder (put dp into a chapter) and indent
14573
14574 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14575
14576         * configure.ac:
14577           back to HEAD
14578
14579 === release 0.10.8 ===
14580
14581 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14582
14583         * configure.ac:
14584           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14585
14586 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14587
14588         * gst/gst.c: (init_post):
14589           move pid declaration to declaration block
14590
14591 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14592
14593         * gst/gst.c: (init_post):
14594           use _exit() instead of exit() in our forked child; this ensures
14595           that none of the registered exit handlers from whatever is using
14596           GStreamer get executed.  This fixes gnome-mixer-applet failing
14597           to load, because ORBit would shut down.
14598           Spotted by: Edward Hervey  <edward@fluendo.com>
14599           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14600           Fixes #344474
14601
14602 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14603
14604         * configure.ac:
14605           back to TRUNK
14606
14607 === release 0.10.7 ===
14608
14609 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14610
14611         * configure.ac:
14612           releasing 0.10.7, "Soepeke, ik zie ou"
14613
14614 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14615
14616         * configure.ac:
14617         * po/af.po:
14618         * po/az.po:
14619         * po/bg.po:
14620         * po/ca.po:
14621         * po/cs.po:
14622         * po/de.po:
14623         * po/en_GB.po:
14624         * po/fr.po:
14625         * po/it.po:
14626         * po/nb.po:
14627         * po/nl.po:
14628         * po/ru.po:
14629         * po/sq.po:
14630         * po/sr.po:
14631         * po/sv.po:
14632         * po/tr.po:
14633         * po/uk.po:
14634         * po/vi.po:
14635         * po/zh_CN.po:
14636         * po/zh_TW.po:
14637         * win32/common/config.h:
14638           0.10.6.2 prerelease
14639
14640 2006-06-07  Wim Taymans  <wim@fluendo.com>
14641
14642         * gst/gstindex.c: (gst_index_gtype_resolver):
14643         * tools/gst-xmlinspect.c: (print_plugin_info):
14644         Fix leak spotted by coverity checker. Fixes #343827
14645         Fix another other leak found by paolo borelli.
14646
14647 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14648
14649         * libs/gst/dataprotocol/dataprotocol.c:
14650         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14651         (gst_dp_version_get_type), (gst_dp_init),
14652         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14653         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14654         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14655         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14656         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14657         (gst_dp_packetizer_free):
14658         * libs/gst/dataprotocol/dataprotocol.h:
14659           API: add a GstDPPacketizer object, and create/free functions
14660           API: add GstDPVersion enum
14661           Add 1.0 event function that uses the string serialization
14662           Serialize more useful buffer flags
14663           Fixes #343988
14664
14665 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14666
14667         * tests/check/Makefile.am:
14668         * tests/check/gst/gstabi.c:
14669         * tests/check/gst/struct_ppc64.h:
14670         * tests/check/libs/libsabi.c:
14671         * tests/check/libs/struct_ppc64.h:
14672           add ppc64 structure sizes
14673
14674 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14675
14676         * tests/check/Makefile.am:
14677         * tests/check/gst/gstabi.c:
14678         * tests/check/gst/struct_x86_64.h:
14679         * tests/check/libs/libsabi.c:
14680         * tests/check/libs/struct_x86_64.h:
14681           generate and add structure size lists for x86_64
14682
14683 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14684
14685         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14686         * libs/gst/check/gstcheck.h:
14687           factor out the method from tests that checks size of structures,
14688           and add code to generate the header containing these sizes
14689         * tests/check/gst/gstabi.c: (GST_START_TEST):
14690         * tests/check/gst/struct_i386.h:
14691         * tests/check/libs/libsabi.c: (GST_START_TEST):
14692         * tests/check/libs/struct_i386.h:
14693           use it
14694
14695 2006-06-06  Michael Smith  <msmith@fluendo.com>
14696
14697         * gst/gstsegment.h:
14698           Don't use c++-style comments, fixes #343929
14699
14700 2006-06-05  Edward Hervey  <edward@fluendo.com>
14701
14702         * gst/gst.c:
14703         plugin_paths is not used if we build without registry support.
14704
14705         * gst/gstsegment.c: (gst_segment_copy): 
14706         _copy() was always returning NULL...
14707
14708 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14709
14710         * libs/gst/dataprotocol/dataprotocol.c:
14711         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14712         (gst_dp_packet_from_event):
14713           factor out CRC code
14714
14715 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14716
14717         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14718           make sure we unset caps
14719
14720 2006-06-02  Michael Smith  <msmith@fluendo.com>
14721
14722         * libs/gst/check/gstcheck.c: (gst_check_init),
14723         (gst_check_chain_func):
14724         * libs/gst/check/gstcheck.h:
14725           Add a cond/mutex to the check support lib, signal this whenever we
14726           add to the buffers list. This will allow tests to not busy-wait on
14727           the buffer-list.
14728
14729 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14730
14731         * libs/gst/dataprotocol/dataprotocol.c:
14732         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14733         (gst_dp_packet_from_event):
14734           factor out some common header init code
14735
14736 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * docs/libs/gstreamer-libs-sections.txt:
14739         * docs/libs/tmpl/gstdataprotocol.sgml:
14740         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14741         * libs/gst/dataprotocol/dataprotocol.h:
14742           API: make gst_dp_crc() public
14743
14744 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14745
14746         * plugins/indexers/gstindexers.c: (plugin_init):
14747         conditionally register fileindexer (fixes #343598)
14748
14749 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14750
14751         * gst/gsttagsetter.h:
14752         Can't cast ifaces to a class
14753
14754         * libs/gst/net/gstnetclientclock.h:
14755         * libs/gst/net/gstnettimeprovider.h:
14756         * plugins/elements/gstfakesink.h:
14757         * plugins/elements/gstfakesrc.h:
14758         * plugins/elements/gstfdsink.h:
14759         * plugins/elements/gstfdsrc.h:
14760         * plugins/elements/gstfilesink.h:
14761         * plugins/elements/gstfilesrc.h:
14762         * plugins/elements/gstidentity.h:
14763         * plugins/elements/gstqueue.h:
14764         * plugins/elements/gsttee.h:
14765         * plugins/indexers/gstfileindex.c:
14766         * plugins/indexers/gstmemindex.c:
14767         * tests/old/examples/plugins/example.h:
14768         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14769
14770 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14771
14772         * libs/gst/dataprotocol/dataprotocol.c:
14773         (gst_dp_header_from_buffer):
14774           make sure we zero the whole ABI-compatible area
14775
14776 2006-06-01  Wim Taymans  <wim@fluendo.com>
14777
14778         Patch by: Alessandro Decina <alessandro at nnva dot org>
14779
14780         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14781         Make sure the EOS flag is cleared from pads after a flush
14782         or stop. Fixes #343538.
14783
14784         * tests/check/libs/collectpads.c: (GST_START_TEST),
14785         (gst_collect_pads_suite):
14786         Added test for collectpads reusage after EOS.
14787
14788 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14789
14790         * gst/gst.c:
14791          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14792         * win32/common/libgstbase.def:
14793          export gst_collect_pads_set_flushing
14794         * win32/common/libgstreamer.def:
14795          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14796          gst_value_fraction_multiply
14797         * win32/vs6/gst_inspect.dsp:
14798          add a link to intl.lib
14799
14800 2006-05-30  Wim Taymans  <wim@fluendo.com>
14801
14802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14803         (gst_collect_pads_chain):
14804         Handle the case where a pad is removed from the collection
14805         that could cause the other pads to become collectable.
14806
14807 2006-05-30  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/gstelement.c:
14810         Clarify the use of _release_request_pad() and
14811         _get_request_pad() a bit better.
14812
14813         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14814         (gst_adapter_take_buffer):
14815         Fix some doc and comment typos.
14816
14817 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14818
14819         * docs/gst/gstreamer-sections.txt:
14820         * docs/libs/gstreamer-libs-sections.txt:
14821           add declared symbols
14822
14823 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14824
14825         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14826         Add debug that can be enabled using a #define at the top of the file,
14827         for dumping stats about how late/early we were when waking up from
14828         waiting on the clock.
14829
14830 2006-05-30  Wim Taymans  <wim@fluendo.com>
14831
14832         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14833         When rebuilding the pad list, don't leak the previous list.
14834
14835 2006-05-30  Wim Taymans  <wim@fluendo.com>
14836
14837         Patch by: Lutz Mueller <lutz at topfrose dot de>
14838
14839         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14840         (gst_base_src_get_query_types), (gst_base_src_update_length):
14841         Publish supported query types.
14842         Update last_stop field in get_range mode so the position
14843         query works. Fixes #342321.
14844
14845 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14846
14847         * docs/gst/gstreamer-sections.txt:
14848         * gst/gsttaglist.c: (_gst_tag_initialize):
14849         * gst/gsttaglist.h:
14850           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14851
14852 2006-05-30  Wim Taymans  <wim@fluendo.com>
14853
14854         Patch by: Alessandro Decina <alessandro at nnva dot org>
14855
14856         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14857         Unlock mutex when removing an unknown pad.
14858         Fixes #343334.
14859
14860         * tests/check/Makefile.am:
14861         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14862         (push_event), (setup), (teardown), (GST_START_TEST),
14863         (gst_collect_pads_suite), (main):
14864         Added collecpads check, disabled for now as check crashes for
14865         some reason.
14866
14867 2006-05-29  Wim Taymans  <wim@fluendo.com>
14868
14869         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14870         Don't leak pads lists.
14871
14872 2006-05-29  Wim Taymans  <wim@fluendo.com>
14873
14874         * docs/libs/gstreamer-libs-sections.txt:
14875         * libs/gst/base/gstcollectpads.c:
14876         (gst_collect_pads_set_flushing_unlocked),
14877         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14878         (gst_collect_pads_stop):
14879         * libs/gst/base/gstcollectpads.h:
14880         API: gst_collect_pads_set_flushing()
14881         Added api to set the pads to flushing, useful for seeking
14882         code in elements using collectpads.
14883         Clear segment when receiving a flush.
14884
14885 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14886
14887         * gst/gst.c: (add_path_func), (init_post):
14888           Don't scan registry paths passed via --gst-plugin-path immediately
14889           (will crash, because absolutely nothing is set up and no types are
14890           registered etc.); do this later in init_post(). Fixes #343057.
14891
14892 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14893
14894         * gst/gst.c: (init_post):
14895           if we have fork, fork while reading/rebuilding the registry
14896           so the parent doesn't take the hit of having all plugins loaded
14897           in memory.  Fixes #342777.
14898         * configure.ac:
14899           Check if we have fork()
14900         * win32/common/config.h.in:
14901           no fork() on win32
14902
14903 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14904
14905         * plugins/elements/gstelements.c:
14906         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14907         (gst_file_src_init), (gst_file_src_set_property),
14908         (gst_file_src_get_property), (gst_file_src_start):
14909         * plugins/elements/gstfilesrc.h:
14910           API: GstFileSrc::use-mmap
14911
14912         Add a use-mmap property to enable easier testing of all code paths.
14913         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14914         in the absence of gnomevfssrc. (Closes #340501)
14915
14916 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14917
14918         * tools/gst-inspect.c:
14919         Add missing include, removes warning of ngettext not being defined on
14920         some arches.
14921
14922 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14923
14924         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14925         Handle NULL input and output pointers silently as a failed conversion,
14926         rather than g_warnings.
14927
14928 2006-05-25  Wim Taymans  <wim@fluendo.com>
14929
14930         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14931         Initialize variable before using. Fixes #342820.
14932
14933 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14934
14935         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14936           Fix off-by-one bug that would only allow peeks of N-1 bytes
14937           from the start even if the buffer to typefind on contains
14938           in fact N bytes of data (makes vorbis typefinding from a
14939           vorbis identification header buffer work).
14940
14941         * tests/check/Makefile.am:
14942         * tests/check/libs/.cvsignore:
14943         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14944         (gst_typefindhelper_suite), (main), (foobar_typefind),
14945         (plugin_init):
14946           Add very basic unit test for gst_type_find_helper_for_buffer()
14947           that checks for the problem fixed above.
14948
14949 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14950
14951         * tools/gst-inspect.c: (print_interfaces),
14952         (print_element_properties_info), (print_element_list), (main):
14953           add more translatable strings
14954
14955 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14956
14957         Patch by: Julien Moutte  <julien at moutte net>
14958
14959         * docs/gst/gstreamer-sections.txt:
14960           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14961           
14962         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14963         (gst_fake_sink_preroll):
14964         * plugins/elements/gstfakesink.h:
14965           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14966
14967 2006-05-23  Wim Taymans  <wim@fluendo.com>
14968
14969         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14970         * gst/gstpad.h:
14971         Added _CUSTOM error and success GstFlowReturn that can be
14972         used be elements internally. 
14973         Added macro to check for SUCCESS flowreturns.
14974         API: GST_FLOW_CUSTOM_SUCCESS
14975         API: GST_FLOW_CUSTOM_ERROR
14976         API: GST_FLOW_IS_SUCCESS
14977
14978         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14979         Added check for GstFlowReturn sanity.
14980
14981 2006-05-23  Wim Taymans  <wim@fluendo.com>
14982
14983         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14984
14985         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14986         (gst_collect_pads_event):
14987         clear/reset segment info in FLUSH_STOP.
14988         Fixes #336929.
14989
14990 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14991
14992         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14993         (gst_collect_pads_check_collected):
14994         Flush queued buffer on _stop(), fixes playing again (#342454)
14995
14996 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14997
14998         * tests/check/gst/gststructure.c: (GST_START_TEST),
14999         (gst_structure_suite):
15000           add a test for a complete structure
15001
15002 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15003
15004         * docs/faq/developing.xml:
15005         * docs/faq/faq.xml:
15006         * docs/faq/troubleshooting.xml:
15007         * docs/faq/using.xml:
15008           Some minor FAQ updates that won't change the fact that
15009           our FAQ is badly structured, full of information hardly
15010           anyone new to GStreamer needs to know and lacking lots
15011           of information people constantly ask for.
15012           
15013 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15014
15015         * gst/gstpad.c: (gst_pad_set_caps):
15016           Short-circuit gst_pad_set_caps if setting the existing
15017           caps pointer again, and avoid printing debug and 
15018           reffing/unreffing the caps.
15019
15020         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15021           There's actually no need to set the caps before pushing -
15022           the acceptcaps method will handle it anyway.
15023
15024 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15025
15026         * docs/gst/gstreamer-sections.txt:
15027         * win32/common/libgstreamer.def:
15028         * gst/gstutils.c: (gst_element_seek_simple):
15029         * gst/gstutils.h:
15030           API: add gst_element_seek_simple() (#342238).
15031
15032 2006-05-18  Edward Hervey  <edward@fluendo.com>
15033
15034         * gst/gsttypefind.c: (gst_type_find_get_type):
15035         * gst/gsttypefind.h:
15036         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15037         registered for GstTypeFind pointers. This allows wrapping the structure
15038         in bindings (i.e. gst-python).
15039
15040 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15041
15042         * gst/gsttagsetter.c:
15043           Docs additions and fixes (see #339918).
15044
15045 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15046
15047         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15048         The caps intersection algorithm can produce multiple copies of the
15049         caps. Until that is fixed, we need to simplify the result to be
15050         sure whether the allowed caps are fixed or not.
15051
15052         * plugins/elements/gstqueue.c: (gst_queue_init),
15053         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15054         (gst_queue_push_one):
15055         Proxied buffer alloc should not set the caps on the source pad.
15056         When pushing buffers, we always accept the caps change that triggers.
15057         This prevents negotiation errors caused by caps changing mid-stream 
15058         and then being refused on our source pad (because upstream is now
15059         refusing those caps).
15060
15061 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15062
15063         * tests/examples/helloworld/helloworld.c: (main):
15064           Must plug audioconvert and audioresample between decoder
15065           and audio sink.
15066
15067 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15068
15069         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15070         (load_feature), (load_plugin):
15071         Allow empty strings for some of the plugin fields so we don't 
15072         drop valid plugin entries that were written out correctly
15073         (Fixes #341479)
15074
15075 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15076         
15077         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15078           Use g_remove and g_rename instead of remove and rename that don't 
15079           handle utf8 characters. rename was failing for users who had specific
15080           characters in their name then the registry was built at each 
15081           gstreamer init.
15082         * win32/vs6/gst_inspect.dsp:
15083         * win32/vs6/gst_launch.dsp:
15084         * win32/vs6/libgstbase.dsp:
15085         * win32/vs6/libgstcoreelements.dsp:
15086         * win32/vs6/libgstreamer.dsp:
15087           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15088           build of libgstreamer and clean unused libraries in projects link 
15089           settings.
15090
15091 2006-05-17  Edward Hervey  <edward@fluendo.com>
15092
15093         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15094         The queue is not responsible for pushing an EOS when receiving a fatal
15095         flow error. It's up to the real element driving the pipeline to do that.
15096
15097 2006-05-16  Edward Hervey  <edward@fluendo.com>
15098
15099         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15100         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15101         buffer returned a fatal error. It should just send an EOS and stop
15102         its task.
15103         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15104         when pushing buffers on the queue and will be able to handle the event.
15105
15106 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15107
15108         * docs/manual/basics-bins.xml:
15109         * docs/manual/basics-init.xml:
15110           Fix typos and minor errors in sample code (#341856).
15111
15112 2006-05-16  Wim Taymans  <wim@fluendo.com>
15113
15114         * docs/design/part-qos.txt:
15115         Fix indexes in formulas to make more sense.
15116
15117 2006-05-15  Wim Taymans  <wim@fluendo.com>
15118
15119         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15120         Don't report POSITION based on clock time if sync is
15121         disabled in a sink.
15122
15123 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15124
15125         * gst/gstobject.h:
15126           Add cast to make compiler happy - refcount variable was a gint
15127           in GstObject but is a guint in GObject and g_atomic_int_get()
15128           wants a gint *.
15129
15130 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15131
15132         * gst/parse/Makefile.am:
15133           chain commands using &&, which also makes parallel make work
15134
15135 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15136
15137         * docs/gst/gstreamer-sections.txt:
15138         * gst/gstevent.c:
15139         * gst/gstevent.h:
15140         * gst/gstmessage.h:
15141           Minor docs fixes.
15142
15143 === release 0.10.6 ===
15144
15145 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15146
15147         * configure.ac:
15148           releasing 0.10.6, "Take the cannoli"
15149
15150 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15151
15152         * tools/gst-launch.c: (print_tag):
15153           Fix use of uninitialized variable in the hypothetical
15154           case that some broken plugin creates a GST_TAG_IMAGE
15155           tag containing a NULL buffer (#341667).
15156
15157 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15158
15159         * tools/gst-launch.c: (print_tag):
15160           Print something more intelligible for image tags when
15161           using the -t switch (#341556).
15162
15163 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15164
15165         * Makefile.am:
15166           updates for win32
15167         * configure.ac:
15168           define GST_MAJORMINOR so we have it available in win32/common/config.h
15169           Possibly remove it from our Makefile.am files later
15170         * win32/common/config.h:
15171         * win32/common/config.h.in:
15172           added GST_MAJORMINOR
15173         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15174         * win32/common/gstversion.h:
15175           updated
15176
15177 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15178
15179         * win32/MANIFEST:
15180           Update win32 files listing.
15181         * win32/common/gstversion.h:
15182           Add GST_MAJORMINOR definition.
15183         * win32/common/libgstreamer.def:
15184           Add new exported functions.
15185           
15186 2006-05-12  Michael Smith  <msmith@fluendo.com>
15187
15188         * gst/gstplugin.c: (gst_plugin_load_file):
15189           If an so file has no plugin entry point, unload the module.
15190
15191 2006-05-11  Wim Taymans  <wim@fluendo.com>
15192
15193         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15194         (gst_queue_set_property):
15195         Don't forget to signal the _chain or _loop function 
15196         when the queue size or thresholds change since that might
15197         cause them to make progres again.
15198
15199 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15200
15201         * gst/gstclock.c: (gst_clock_class_init):
15202         * gst/gstindex.c: (gst_index_class_init):
15203         * gst/gstobject.c: (gst_object_class_init):
15204         * gst/gstpad.c: (gst_pad_class_init):
15205         * gst/gstpipeline.c: (gst_pipeline_class_init):
15206         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15207         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15208         * libs/gst/base/gstbasetransform.c:
15209         (gst_base_transform_class_init):
15210         * libs/gst/net/gstnetclientclock.c:
15211         (gst_net_client_clock_class_init):
15212         * libs/gst/net/gstnettimeprovider.c:
15213         (gst_net_time_provider_class_init):
15214         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15215         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15216         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15217         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15218         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15219         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15220         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15221         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15222         * plugins/elements/gsttee.c: (gst_tee_class_init):
15223         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15224         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15225           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15226
15227 2006-05-11  Wim Taymans  <wim@fluendo.com>
15228
15229         * gst/gstbuffer.c: (_gst_buffer_initialize):
15230         Register subbufer along with the buffer type so that
15231         it does not accidentally gets registered from N
15232         different streaming threads in a non threadsafe way.
15233
15234 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15235
15236         * gst/gstbuffer.h:
15237         * gst/gstevent.h:
15238         * gst/gstmessage.h:
15239           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15240           gst_event_ref() and gst_message_ref() functions again
15241           (ugly hack, please do fix if there's a better way besides
15242           overrides.txt, which doesn't seem to work).
15243
15244 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15245
15246         * libs/gst/check/gstcheck.h:
15247           add an assert for setting state to avoid lots of repetitive code
15248           in the future
15249
15250 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15251
15252         * gst/gstvalue.c: (gst_value_serialize_flags):
15253           fix a leak if no flags are set
15254         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15255           fix leak in tests
15256
15257 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15258
15259         * docs/manual/basics-pads.xml:
15260           Expand a bit on caps and filtered links and update
15261           examples that were still using the no longer existing
15262           gst_pad_link_filtered() (#338206).
15263
15264 2006-05-10  Wim Taymans  <wim@fluendo.com>
15265
15266         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15267         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15268         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15269         (gst_collect_pads_stop):
15270         * libs/gst/base/gstcollectpads.h:
15271         No need to call _stop in _finalize.
15272         Iterate the main pad list in _finalize.
15273         Added some more debug.
15274         Free lists and data in the right order.
15275         Also free data whem doing _remove_pad when stopped for
15276         backward compatibility protect ::started with PAD_LOCK as
15277         well.
15278
15279 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15280
15281         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15282         (gst_structure_parse_value):
15283           add some comments
15284           rename a method so that it actually says what it does better
15285
15286 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15287
15288         * gst/gstevent.c: (_gst_event_initialize):
15289         * gst/gstformat.c: (_gst_format_initialize):
15290           make sure some essential types used by events are registered
15291           as part of gst_init()
15292         * gst/gstvalue.c: (gst_value_serialize_flags):
15293           if no flags are set, serialize them to a value that represents NONE
15294           so that deserializing them works
15295         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15296           add tests for serialization and deserialization of flags
15297
15298 2006-05-10  Wim Taymans  <wim@fluendo.com>
15299
15300         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15301         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15302         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15303         (gst_collect_pads_event), (gst_collect_pads_chain):
15304         Update docs.
15305         Better debug info.
15306         Catch and return errors from the collect function
15307         Refuse data on eos pads.
15308
15309 2006-05-10  Edward Hervey  <edward@fluendo.com>
15310
15311         * gst/gstinterface.h:
15312         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15313         GInterface type checking.
15314         They were previously using non-defined macros.
15315
15316 2006-05-09  Wim Taymans  <wim@fluendo.com>
15317
15318         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15319         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15320         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15321         (gst_collect_pads_start), (gst_collect_pads_stop),
15322         (gst_collect_pads_peek), (gst_collect_pads_pop),
15323         (gst_collect_pads_available), (gst_collect_pads_read),
15324         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15325         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15326         (gst_collect_pads_chain):
15327         * libs/gst/base/gstcollectpads.h:
15328         Clean up the mess that is collectpads, add comments and
15329         FIXMEs where needed.
15330         Maintain a separate pad list so we can add pads while
15331         collecting the other ones. For this we need a new separate 
15332         lock (see comics).
15333         Fix memory leak in finalize.
15334         Refactor some weird code to set/unset pad flushing flags, mark
15335         with comments.
15336         Don't crash in _available, _read, _flush when we're EOS.
15337
15338         * tests/check/libs/.cvsignore:
15339         Ignore adapter check binary.
15340
15341 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15342
15343         * gst/gstindex.c: (gst_index_resolver_get_type):
15344         * plugins/elements/gstfakesink.c:
15345         (gst_fake_sink_state_error_get_type):
15346         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15347         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15348         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15349           Const-ify GEnumValue arrays.
15350
15351 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15352
15353         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15354           Add test case for flags + gst_buffer_make_metadata_writable().
15355
15356 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15357
15358         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15359           gst_buffer_make_metadata_writable() should maintain the
15360           buffer flags (those that make sense at least) (see #340859).
15361
15362 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15363
15364         * tools/gst-inspect.c:
15365         * tools/gst-launch.c:
15366         * tools/gst-typefind.c:
15367         * tools/gst-xmlinspect.c:
15368         * tools/tools.h:
15369           Fix up includes: need to include stdlib.h in tools.h for exit().
15370
15371 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15372
15373         * gst/gsttaglist.c: (_gst_tag_initialize):
15374         * gst/gsttaglist.h:
15375           API: add GST_TAG_IMAGE tag (#340721).
15376
15377 2006-05-08  Wim Taymans  <wim@fluendo.com>
15378
15379         * gst/gstquery.c:
15380         Added some docs for the segment query.
15381
15382 2006-05-08  Wim Taymans  <wim@fluendo.com>
15383
15384         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15385         (gst_base_src_loop), (gst_base_src_change_state):
15386         Always push non-flushing serialized events in the streaming 
15387         thread.
15388
15389 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15390
15391         * gst/gsterror.c: (_gst_stream_errors_init):
15392           Add a missing error string.
15393
15394 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15395
15396         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15397         Add applied_rate to the debug
15398
15399         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15400         Copy applied_rate into the outgoing NEWSEGMENT event
15401
15402 2006-05-08  Wim Taymans  <wim@fluendo.com>
15403
15404         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15405
15406         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15407         (gst_base_sink_change_state):
15408         call ::unlock before taking the PREROLL_LOCK so we can safely
15409         handle elements that lock in ::render.
15410         Fixes #340174.
15411
15412 2006-05-08  Edward Hervey  <edward@fluendo.com>
15413
15414         * autogen.sh: (CONFIGURE_DEF_OPT): 
15415         Darwin's libtoolize is in fact called glibtoolize.
15416         Adding glibtoolize to the list of accepted names for libtoolize.
15417
15418 2006-05-08  Wim Taymans  <wim@fluendo.com>
15419
15420         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15421         Unify error handling, don't post an error message
15422         when a push() returns EOS but perform our normal EOS
15423         handling code. Fixes #340772.
15424
15425 2006-05-08  Wim Taymans  <wim@fluendo.com>
15426
15427         * docs/design/part-overview.txt:
15428         Make upsteam/downstream concepts more clear.
15429         Give an example of serialized/non-serialized events.
15430
15431         * docs/design/part-events.txt:
15432         * docs/design/part-streams.txt:
15433         Mention applied_rate.
15434
15435         * docs/design/part-trickmodes.txt:
15436         Mention applied rate, flesh out some more use cases.
15437
15438         * gst/gstevent.c: (gst_event_new_new_segment),
15439         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15440         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15441         (gst_event_parse_tag), (gst_event_new_buffer_size),
15442         (gst_event_parse_buffer_size), (gst_event_new_qos),
15443         (gst_event_parse_qos), (gst_event_parse_seek),
15444         (gst_event_new_navigation):
15445         * gst/gstevent.h:
15446         Add applied_rate field to NEWSEGMENT event.
15447         API: gst_event_new_new_segment_full()
15448         API: gst_event_parse_new_segment_full()
15449
15450         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15451         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15452         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15453         * gst/gstsegment.h:
15454         Add applied_rate to GstSegment structure.
15455         Make calculation of stream_time and running_time more correct
15456         wrt rate/applied_rate.
15457         Add some more docs.
15458         API: GstSegment::applied_rate field
15459         API: gst_segment_set_newsegment_full();
15460
15461         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15462         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15463         * libs/gst/base/gstbasetransform.c:
15464         (gst_base_transform_sink_eventfunc),
15465         (gst_base_transform_handle_buffer):
15466         Parse and use applied_rate in the GstSegment field.
15467
15468         * tests/check/gst/gstevent.c: (GST_START_TEST):
15469         Add check for applied_rate field.
15470
15471         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15472         (gstsegments_suite):
15473         Add more checks for various GstSegment operations.
15474
15475 2006-05-08  Wim Taymans  <wim@fluendo.com>
15476
15477         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15478         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15479         (gst_base_sink_get_position), (gst_base_sink_change_state):
15480         Store the sync time of the buffer end position separatly in a
15481         new variable eos_rtime so we can properly sync the EOS event.
15482         Fixes #340697.
15483         Fix the docs for gst_base_sink_set_qos_enabled().
15484         Don't set segment start to invalid value when we receive a 
15485         non TIME newsegment.
15486         get closer to handling position reporting for negative rates 
15487         correctly.
15488
15489 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15490
15491         * gst/gstcaps.c:
15492         Docs about how to print caps for debug purposes.
15493
15494         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15495         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15496
15497 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15498
15499         * gst/gstelement.c:
15500           use full enum names and preprend a '%' in docs strings to make recent 
15501           gtk-doc turn that into a link
15502
15503 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15504
15505         * docs/manual/basics-bins.xml:
15506         * docs/manual/basics-bus.xml:
15507         * docs/manual/basics-pads.xml:
15508           Some typo fixes, some additions, some clarifications. 
15509
15510 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15511
15512         * tools/gst-inspect.c: (main):
15513         * tools/gst-launch.c: (main):
15514         * tools/gst-run.c: (main):
15515         * tools/gst-typefind.c: (main):
15516         * tools/gst-xmlinspect.c: (main):
15517           Use the string passed to g_option_context_new() for
15518           what it's intended for - the program name is already
15519           printed elsewhere.
15520
15521 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15522
15523         * tools/Makefile.am:
15524         * tools/gst-inspect.c: (main):
15525         * tools/gst-launch.c: (main):
15526         * tools/gst-xmlinspect.c: (main):
15527         * tools/tools.h:
15528           Add back --version command line option (#340460).
15529
15530         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15531           Add --version option and use GOption for argument parsing; refactor a
15532           bit; accept directories as arguments and recurse into them; lastly,
15533           print a decent error message when things go wrong.
15534
15535 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15536
15537         * docs/manual/basics-bins.xml:
15538         Don't mention GstThread (#340611)
15539         * docs/manual/basics-elements.xml:
15540         Update link to GObject tutorial (#340607)
15541         
15542 2006-05-05  Wim Taymans  <wim@fluendo.com>
15543
15544         * gst/gstbuffer.h:
15545         * gst/gstminiobject.c:
15546         Add note about refcounting and miniobject/buffer writeability
15547         to docs. Fixes #340604
15548
15549         * gst/gstelementfactory.h:
15550         Added some explanation about @klass.
15551
15552 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15553
15554         * docs/manual/intro-motivation.xml:
15555         * docs/manual/manual.xml:
15556         Avoid CORBA & Bonobo references (#340598)
15557
15558 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15559
15560         * docs/manual/basics-bus.xml:
15561         * docs/manual/basics-pads.xml:
15562         Fix up some inaccuracies and omissions (#340609)
15563         
15564 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15565
15566         * gst/gstghostpad.c:
15567           Small typo in docs (#340625)
15568
15569 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15570
15571         * gst/parse/Makefile.am:
15572           Make 'make -j' proof (see #340698).
15573
15574 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15575
15576         * configure.ac:
15577           Require GLib-2.8 here as well.
15578
15579 2006-05-05  Wim Taymans  <wim@fluendo.com>
15580
15581         * gst/glib-compat.c:
15582         * gst/gst.c: (init_pre):
15583         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15584         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15585         (gst_object_dispatch_properties_changed):
15586         * gst/gstobject.h:
15587         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15588         * gst/gststructure.c: (gst_structure_set_valist):
15589         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15590         Remove pre glib2.8 compatibility, fixes #340508
15591
15592 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15593
15594         * gst/gsttaglist.h:
15595           Mention type of tags in doc blurbs.
15596
15597 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15598
15599         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15600         (gst_pad_configure_src), (gst_pad_push):
15601         Restore acceptcaps checking behaviour now that good plugins have
15602         been released.
15603
15604 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15605
15606         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15607
15608         * gst/gst.c:
15609         * gst/gstbus.c:
15610         * gst/gstclock.c:
15611         * gst/gstevent.c:
15612         * gst/gstformat.c:
15613         * gst/gstmessage.c:
15614         * gst/gstparse.c:
15615         * gst/gstquery.c:
15616         * gst/gstutils.c:
15617         * gst/parse/Makefile.am:
15618         * libs/gst/base/gstadapter.c:
15619         * libs/gst/base/gstbasesrc.c:
15620         * libs/gst/base/gstpushsrc.c:
15621         * libs/gst/base/gsttypefindhelper.c:
15622         * plugins/elements/gstfakesrc.c:
15623         * plugins/elements/gstidentity.c:
15624           Make sure gstprivate.h and/or config.h are
15625           always included first, otherwise some of our
15626           defines (like _FILE_OFFSET_BITS) might be
15627           redefined in the system headers. Fixes build
15628           on opensolaris (#340016).
15629
15630 2006-05-04  Wim Taymans  <wim@fluendo.com>
15631
15632         * docs/libs/gstreamer-libs-sections.txt:
15633         API: addition: gst_adapter_take_buffer()
15634         
15635         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15636         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15637         (gst_adapter_available_fast):
15638         * libs/gst/base/gstadapter.h:
15639         Prepare for optimizing the hell out of this hugely inefficient
15640         piece of code. 
15641         Added gst_adapter_take_buffer() so we can at least start thinking
15642         about subbuffering and merging.
15643         Added some comments.
15644
15645         * tests/check/Makefile.am:
15646         * tests/check/libs/adapter.c: (GST_START_TEST),
15647         (gst_adapter_suite), (main):
15648         Added GstAdapter check.
15649
15650 2006-05-04  Wim Taymans  <wim@fluendo.com>
15651
15652         * docs/design/part-overview.txt:
15653         Fix some typos, add blurb about buffer flags.
15654
15655 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15656
15657         * docs/libs/gstreamer-libs-sections.txt:
15658           make sure GstBaseTransformClass shows up in the docs
15659         * libs/gst/base/gstbasetransform.c:
15660         * libs/gst/base/gstbasetransform.h:
15661           move docs so gtk-doc picks it up now
15662
15663 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15664
15665         * docs/libs/gstreamer-libs-sections.txt:
15666           add missing symbols to docs
15667
15668 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15669
15670         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15671           back out the newsegment handling change, see #340060 for ongoing
15672           discussion
15673
15674 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15675
15676         * tools/gst-run.c: (get_candidates), (main):
15677           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15678           work); fix typo in error message. Fixes #340079.
15679
15680 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15681
15682         * common/Makefile.am:
15683         * docs/Makefile.am:
15684         * docs/faq/Makefile.am:
15685         * docs/gst/Makefile.am:
15686         * docs/libs/Makefile.am:
15687         * docs/manual/Makefile.am:
15688         * docs/plugins/Makefile.am:
15689         * docs/pwg/Makefile.am:
15690         * docs/slides/Makefile.am:
15691         * docs/upload.mak:
15692         * common/upload.mak:
15693           move upload.mak to common
15694
15695 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15696
15697         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15698           add more asserts on refcounts
15699           do more cleanup at end of tests
15700           fix test leaks showing in FC5
15701
15702 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15703
15704         * plugins/elements/gsttypefindelement.c:
15705         (gst_type_find_element_handle_event):
15706         reverted wrong change and reflowed code to avoid others falling into
15707         this trap
15708
15709 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15710
15711         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15712           fix changelog entry about last collectpads change,
15713           add notes about proper fix
15714
15715 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15716
15717         * gst/gst.c:
15718         * gst/gstregistry.c: (gst_registry_scan_path_level),
15719         (gst_registry_scan_path):
15720         * gst/gstregistry.h:
15721           only write out registry if it has changed, fixes #338339
15722
15723 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15724
15725         * gst/gstbin.c:
15726         * gst/gstpipeline.c:
15727         * plugins/elements/gstcapsfilter.c:
15728         * plugins/elements/gstfakesink.c:
15729         * plugins/elements/gstfakesrc.c:
15730         * plugins/elements/gstfdsink.c:
15731         * plugins/elements/gstfdsrc.c:
15732         * plugins/elements/gstfilesink.c:
15733         * plugins/elements/gstfilesrc.c:
15734         * plugins/elements/gstidentity.c:
15735         * plugins/elements/gstqueue.c:
15736         * plugins/elements/gsttee.c:
15737         * plugins/elements/gsttypefindelement.c:
15738         (gst_type_find_element_handle_event):
15739           make GstElementDetails const
15740
15741 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15742
15743         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15744         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15745         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15746           more detailed debug and formatting cleanup,
15747           forward newsegments to src-pad (so that e.g. adder not eats them)
15748
15749 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15750
15751         * gst/gstutils.c: (gst_element_link_pads):
15752           cleanup double code
15753
15754 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15755
15756         * libs/gst/controller/gstcontroller.c:
15757         (gst_controller_sync_values):
15758           some little tuning
15759         * tests/check/libs/controller.c: (GST_START_TEST),
15760         (gst_controller_suite):
15761           a new test for live value handling
15762
15763 2006-04-28  Wim Taymans  <wim@fluendo.com>
15764
15765         * gst/gstutils.c: (push_and_ref):
15766         Added some more docs.
15767         Fix refcount issue whith gst_element_found_tags() helper 
15768         function. Fixes #338335
15769
15770         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15771         Added testsuite for gst_element_found_tags().
15772
15773 2006-04-28  Michael Smith  <msmith@fluendo.com>
15774
15775         * gst/gstvalue.c: (gst_value_serialize_flags):
15776           Avoid NULL dereference when trying to serialize flags containing
15777           invalid values.
15778
15779 2006-04-28  Michael Smith  <msmith@fluendo.com>
15780
15781         * plugins/elements/gsttypefindelement.c:
15782         (gst_type_find_element_handle_event):
15783           If we get EOS before any data is accumulated, don't use
15784           uninitialised local variables.
15785
15786 2006-04-28  Michael Smith  <msmith@fluendo.com>
15787
15788         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15789         (gst_dp_event_from_packet):
15790           Fixes in reading/writing events over GDP (not currently used?) - 
15791           dereferencing NULL events for unknown/invalid event types, memory
15792           leak, and change g_warning to GST_WARNING.
15793
15794 2006-04-28  Wim Taymans  <wim@fluendo.com>
15795
15796         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15797         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15798         (gst_base_sink_get_position), (gst_base_sink_change_state):
15799         When frame dropping is enabled, we should not ignore frames
15800         without a duration.
15801         Update some documentation.
15802
15803 2006-04-28  Wim Taymans  <wim@fluendo.com>
15804
15805         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15806         (gst_base_src_send_event), (gst_base_src_change_state):
15807         Documentation updates.
15808
15809 2006-04-28  Wim Taymans  <wim@fluendo.com>
15810
15811         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15812         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15813         handle EAGAIN, EINTR and short writes correctly. Also clean
15814         up some error cases, avoid a deadlock on bad file descriptors and
15815         use GST_DEBUG_OBJECT.
15816         Fixes #339843
15817
15818 2006-04-28  Wim Taymans  <wim@fluendo.com>
15819
15820         * gst/gstvalue.c: (gst_value_serialize_buffer),
15821         (gst_value_deserialize_buffer):
15822         Don't try to serialize a GValue with a NULL buffer. 
15823         Fixes #339821.
15824
15825         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15826         Added check for serialisation of NULL buffers.
15827
15828 2006-04-28  Wim Taymans  <wim@fluendo.com>
15829
15830         * gst/gstminiobject.c: (gst_value_take_mini_object):
15831         Taking a NULL miniobject is valid, fix the case where
15832         we try to unref the NULL miniobject.
15833
15834 2006-04-28  Wim Taymans  <wim@fluendo.com>
15835
15836         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15837
15838         * gst/gstbin.c: (gst_bin_handle_message_func):
15839         Update docs.
15840         Don't leak bin refcount when a state recalc is
15841         in progress and we delay another one #339808.
15842
15843 2006-04-28  Wim Taymans  <wim@fluendo.com>
15844
15845         * docs/design/part-TODO.txt:
15846         Mention QoS as an ongoing work item.
15847
15848         * docs/design/part-buffering.txt:
15849         New doc about buffering that needs to be fleshed out
15850         at some point.
15851
15852         * docs/design/part-qos.txt:
15853         More QoS policy for decoders/demuxers/transforms
15854
15855         * docs/design/part-trickmodes.txt:
15856         Small update.
15857
15858 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15859
15860         * configure.ac:
15861           back to HEAD
15862
15863 === release 0.10.5 ===
15864
15865 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15866
15867         * configure.ac:
15868           releasing 0.10.5, "Fogo"
15869
15870 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15871
15872         patch by: Wim Taymans
15873
15874         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15875         (gst_pad_configure_src), (gst_pad_push):
15876         * gst/gstpipeline.c: (gst_pipeline_init):
15877           Fix internal data flow errors.  Fixes #338711.
15878
15879 2006-04-12  Wim Taymans  <wim@fluendo.com>
15880
15881         * tests/check/gst/gstelement.c: (GST_START_TEST):
15882         Don't leak the factory.
15883
15884 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15885
15886         * configure.ac:
15887         * win32/common/config.h:
15888           prerelease
15889
15890 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15891
15892         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15893         (gst_controller_unset_all):
15894           Free allocated GstTimedValues when freeing list nodes.
15895           Should fix leaks 'make check-valgrind' complains about.
15896
15897         * win32/common/libgstcontroller.def:
15898           Add gst_controller_unset_all.
15899
15900 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15901
15902         * docs/libs/gstreamer-libs-sections.txt:
15903         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15904         (gst_controller_unset_all):
15905         * libs/gst/controller/gstcontroller.h:
15906         API: Added new method gst_controller_unset_all()
15907         fixed gst_controller_unset()
15908         * tests/check/libs/controller.c: (GST_START_TEST),
15909         (gst_controller_suite):
15910         Added two testcases for new and fixed method
15911
15912 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15913
15914         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15915           MSG_DONTWAIT is not defined on Cygwin, so work
15916           around that (fixes #317048).
15917           
15918 2006-04-11  Wim Taymans  <wim@fluendo.com>
15919
15920         * gst/gstelementfactory.c: (gst_element_register),
15921         (gst_element_factory_create), (gst_element_factory_make):
15922         Some cleanups.
15923         Fixed a FIXME.
15924         Updated docs (Fixes #131079)
15925
15926         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15927         Small cleanups.
15928
15929         * tests/check/gst/gstelement.c: (GST_START_TEST),
15930         (gst_element_suite):
15931         Added testcase for elementfactory class field.
15932
15933 2006-04-10  Wim Taymans  <wim@fluendo.com>
15934
15935         * gst/gstsegment.c:
15936         Added some more docs.
15937
15938         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15939         (gst_base_sink_reset_qos):
15940         Calculate more accurate rate values.
15941
15942 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15943
15944         * gst/gst_private.h:
15945           add a new #ifdef to use __declspec(dllimport) only for
15946           other modules and not for gstreamer core
15947         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15948           use gst_guint64_to_gdouble for conversion
15949         * win32/common/libgstreamer.def:
15950           add new exported functions
15951         * win32/vs6/gst_inspect.dsp:
15952         * win32/vs6/gst_launch.dsp:
15953         * win32/vs6/libgstbase.dsp:
15954         * win32/vs6/libgstcontroller.dsp:
15955         * win32/vs6/libgstcoreelements.dsp:
15956         * win32/vs6/libgstdataprotocol.dsp:
15957         * win32/vs6/libgstnet.dsp:
15958           update project files
15959
15960 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15961
15962         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15963         * gst/gstclock.c: (gst_clock_class_init):
15964         * gst/gstelement.c: (gst_element_class_init):
15965         * gst/gstindex.c: (gst_index_class_init):
15966         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15967         * gst/gstobject.c: (gst_object_class_init),
15968         (gst_signal_object_class_init):
15969         * gst/gstpad.c: (gst_pad_class_init):
15970         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15971         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15972         * gst/gstregistry.c: (gst_registry_class_init):
15973         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15974         * gst/gsttask.c: (gst_task_class_init):
15975         * gst/gstxml.c: (gst_xml_class_init):
15976         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15977         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15978         (gst_base_src_loop):
15979         * libs/gst/controller/gstcontroller.c:/
15980         (_gst_controller_class_init):
15981         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15982         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15983         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15984         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15985         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15986         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15987
15988 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15989
15990         * gst/gstpad.c: (gst_pad_link):
15991           Must set peer pads before calling the link function, otherwise
15992           a task started from a link function might get a flow-not-linked
15993           result when trying to push because the other thread where the
15994           linking happens hasn't had a chance to set the peers yet. This
15995           might happen for example when a queue gets linked to a downstream
15996           element, as queue starts a streaming task when its source pad
15997           gets linked. Happens in real life when playing back flac/musepack
15998           files in playbin (#332390).
15999           
16000 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16001
16002         * gst/gstindex.h:
16003         * gst/gstxml.h:
16004         * libs/gst/base/gstadapter.h:
16005         * libs/gst/base/gstbasesink.h:
16006         * libs/gst/base/gstbasesrc.h:
16007         * libs/gst/base/gstbasetransform.h:
16008         * libs/gst/base/gstcollectpads.h:
16009         * libs/gst/base/gstpushsrc.h:
16010         Fix broken GObject macros
16011
16012 2006-04-07  Wim Taymans  <wim@fluendo.com>
16013
16014         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16015         Initialize start and stop times, thanks valgrind.
16016
16017 2006-04-07  Wim Taymans  <wim@fluendo.com>
16018
16019         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16020         Be a bit nicer to badly behaving upstream elements that expect
16021         us to deal with non TIME segments and timestamps (such as fakesrc
16022         in the testsuite).
16023
16024 2006-04-07  Wim Taymans  <wim@fluendo.com>
16025
16026         * gst/gstbus.c:
16027         Small documentation clarification about the signal watch.
16028
16029         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16030         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16031         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16032         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16033         (gst_base_sink_get_position_last),
16034         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16035         Convert and store timestamps in stream time and running time, the
16036         raw timestamps are not useful, also document this better.
16037         Use different window sizes for good and bad QoS observations so
16038         we react to badness a little quicker.
16039         Keep track of the amount of rendered and dropped buffers.
16040         Send QoS timestamps in running time.
16041
16042         * libs/gst/base/gstbasetransform.c:
16043         (gst_base_transform_sink_eventfunc),
16044         (gst_base_transform_handle_buffer):
16045         Compare QoS timestamps against running time.
16046
16047 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16048
16049         * gst/gstpad.c:
16050           Typo fixes in docs.
16051
16052 2006-04-06  Michael Smith  <msmith@fluendo.com>
16053
16054         * gst/gstpad.c: (gst_pad_set_property):
16055           Use g_value_get_object() instead of g_value_dup_gst_object(),
16056           to avoid double-reffing the pad template (which we then sink,
16057           so this worked previously if (and only if) the pad template
16058           was floating.
16059
16060         * gst/gstpadtemplate.c: (gst_pad_template_init),
16061         (gst_pad_template_pad_created):
16062           Never return floating references to pad templates, create
16063           them as initially-sunken.
16064
16065           Document an extra function (and make this stop sinking our
16066           pad template, since that is now guaranteed to do nothing,
16067           since we created it sunken).
16068
16069         * gst/gstghostpad.c:
16070           Fix docs typo.
16071
16072 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16073
16074         * gst/gstinfo.c: (__gst_in_valgrind):
16075           Add some newlines.
16076
16077         * plugins/elements/gsttypefindelement.c:
16078         (gst_type_find_element_chain):
16079           Don't leak buffer caps.
16080
16081 2006-04-06  Michael Smith  <msmith@fluendo.com>
16082
16083         * gst/parse/grammar.y:
16084           Fix a leak in parse-launch for any source-or-sink named element 
16085           references used.
16086
16087         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16088           Unref the pipeline if it exists after we've failed parsing.
16089
16090 2006-04-05  Michael Smith  <msmith@fluendo.com>
16091
16092         * gst/gstpipeline.c: (gst_pipeline_init):
16093           When we create a pipeline bus, initially create it in flushing mode.
16094           Fixes leaks in at least one test, and makes a new pipeline work the
16095           same as one that has gone to READY and then back to NULL.
16096
16097         * gst/gstelement.c:
16098           Typo fix in docs.
16099
16100 2006-04-05  Michael Smith  <msmith@fluendo.com>
16101
16102         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16103           Unref a pad we reffed.
16104         * tests/check/gst/gstutils.c: (GST_START_TEST):
16105           Unref bins
16106
16107 2006-04-05  Michael Smith  <msmith@fluendo.com>
16108
16109         * gst/gstquery.c: (gst_query_set_formats),
16110         (gst_query_set_formatsv):
16111           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16112
16113 2006-04-05  Michael Smith  <msmith@fluendo.com>
16114
16115         * tests/check/generic/sinks.c: (GST_START_TEST):
16116           Fix a variety of memleaks in sinks check, which are only sometimes 
16117           shown by running the tests under valgrind (weird?).
16118
16119 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16120
16121         * docs/version.entities.in:
16122           Fix the substituted entity name after thomas' changes on the
16123           weekend.
16124
16125 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16126
16127         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16128         VALGRIND_PRINTF
16129         
16130 2006-04-05  Andy Wingo  <wingo@pobox.com>
16131
16132         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16133
16134         * libs/gst/base/gstbasetransform.c
16135         (gst_base_transform_sink_eventfunc): When resetting our segment on
16136         FLUSH_STOP, also update the flag saying we haven't seen a
16137         newsegment.
16138
16139 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16140
16141         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16142
16143         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16144         (gst_plugin_check_license):
16145           minor clean-ups: G_DEFINE_TYPE already takes care of the
16146           parent_class stuff, no need to do it twice. Mark array of
16147           license strings as constant. (#337103)
16148           
16149 2006-04-04  Michael Smith  <msmith@fluendo.com>
16150
16151         * tools/gst-inspect.c: (print_element_list):
16152           Free the right plugin list; fixes a memory leak.
16153
16154 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16155
16156         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16157
16158         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16159           Don't error out on empty buffers (#336945).
16160           
16161 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16162
16163         * docs/libs/gstreamer-libs-sections.txt:
16164         * gst/gsttaglist.c:
16165         * libs/gst/base/gstbasesink.c:
16166         * libs/gst/base/gstbasesink.h:
16167         * libs/gst/base/gstbasesrc.c:
16168         * libs/gst/base/gstbasesrc.h:
16169           Documentation updates. Make BaseSink and BaseSrc docs contain the
16170           class structure so that people can actually see the prototypes for
16171           virtual functions they're supposed to be overriding.
16172
16173 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16174
16175         * plugins/elements/gsttypefindelement.c:
16176         (gst_type_find_element_chain):
16177           More debug info; when skipping typefinding, send cached
16178           events in all cases.
16179
16180 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16181
16182         * configure.ac:
16183           use new AS_VERSION and AS_NANO macros
16184         * gst/gst-i18n-lib.h:
16185         * gst/gst.c:
16186         * gst/gsterror.c:
16187         * gst/gstversion.h.in:
16188         * win32/common/config.h:
16189         * win32/common/config.h.in:
16190           update accordingly
16191
16192 2006-03-31  Michael Smith  <msmith@fluendo.com>
16193
16194         * plugins/elements/gsttypefindelement.c:
16195         (gst_type_find_element_chain):
16196           Do not typefind content if the buffers already have caps.
16197           Neccesary for icydemux (#333657), and the right thing to do anyway.
16198
16199 2006-03-30  Wim Taymans  <wim@fluendo.com>
16200
16201         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16202         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16203         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16204         (gst_base_sink_record_qos_observation),
16205         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16206         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16207         (gst_base_sink_change_state):
16208         More QoS measurements as described in the design doc.
16209         Get rid of ringbuffer with observations, running average is
16210         more simple and equally good.
16211         Calculates valid proportion now.
16212         Added beginning of flood measurement.
16213
16214 2006-03-29  Wim Taymans  <wim@fluendo.com>
16215
16216         * docs/design/part-qos.txt:
16217         * gst/gstclock.c:
16218         Small documentation updates and additions.
16219
16220 2006-03-29  Wim Taymans  <wim@fluendo.com>
16221
16222         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16223         (gst_base_src_send_event), (gst_base_src_loop),
16224         (gst_base_src_change_state):
16225         Perform the EOS logic when we reach the segment stop position.
16226         Fix compilation on gcc4.1
16227
16228 2006-03-29  Wim Taymans  <wim@fluendo.com>
16229
16230         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16231
16232         * plugins/elements/gstqueue.c: (gst_queue_init),
16233         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16234         (gst_queue_set_property):
16235         * plugins/elements/gstqueue.h:
16236         In queue, when EOS is received, if minimum threshold > max_size -
16237         current_level, there is chance that queue blocks forever in conditional
16238         item del wait. This is because the queue is not emptied completely due
16239         to minimum threshold.  Here is another approach. Instead of setting
16240         cur_levels to max in EOS, just zero all minimum threshold levels. This
16241         should make sure that queue gives out all data. When going to READY
16242         (stop) state, just reset the original minimum threshold levels.
16243         Fixes #336336.
16244
16245 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16246
16247         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16248         (gst_type_find_element_handle_event),
16249         (gst_type_find_element_send_cached_events),
16250         (gst_type_find_element_change_state):
16251         * plugins/elements/gsttypefindelement.h:
16252           When typefinding is done in push mode, we should cache
16253           events we receive during typefinding instead of just
16254           dropping them (e.g. newsegment, custom events from
16255           dvdreadsrc etc.) and then send them out once we've
16256           determined the type of the stream (and decodebin
16257           has had a chance to plug in a decoder/demuxer).
16258           
16259 2006-03-27  Wim Taymans  <wim@fluendo.com>
16260
16261         * docs/design/part-qos.txt:
16262         First QoS ideas.
16263
16264 2006-03-27  Wim Taymans  <wim@fluendo.com>
16265
16266         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16267
16268         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16269         (gst_base_src_send_event), (gst_base_src_change_state):
16270         Handle element seek correctly when we are streaming.
16271         Fixes #326998.
16272
16273 2006-03-24  Michael Smith  <msmith@fluendo.com>
16274
16275         * docs/faq/gst-uninstalled:
16276           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16277           allow you to correctly run intalled applications built against old 
16278           core, using plugins that require updated core (e.g. running
16279           installed totem against a full uninstalled gstreamer stack)
16280
16281 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16282
16283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16284         more debug details
16285
16286 2006-03-24  Wim Taymans  <wim@fluendo.com>
16287
16288         * docs/gst/gstreamer-sections.txt:
16289         Rearrange the order of the methods so that related methods
16290         are grouped together in sections.
16291
16292 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16293
16294         * gst/gstelement.c:
16295           Little clarification in the docs
16296
16297 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16298
16299         * docs/README:
16300         formatting fix
16301         * plugins/elements/gstidentity.c:
16302         * plugins/elements/gstqueue.c:
16303         * plugins/elements/gsttee.c:
16304         * plugins/elements/gsttypefindelement.c:
16305         GST_ELEMENT_DETAILS formatting
16306
16307 2006-03-24  Wim Taymans  <wim@fluendo.com>
16308
16309         * libs/gst/base/gstbasesink.h:
16310         Only add fields, not insert or we break ABI.
16311
16312 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16313
16314         * win32/common/libgstbase.def:
16315         * win32/common/libgstreamer.def:
16316           Update, add recently added functions.
16317
16318 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16319
16320         * docs/gst/gstreamer-sections.txt:
16321         * gst/gstutils.c: (gst_pad_query_peer_position),
16322         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16323         * gst/gstutils.h:
16324           API: add some new utility functions:
16325            - gst_pad_query_peer_position()
16326            - gst_pad_query_peer_duration()
16327            - gst_pad_query_peer_convert()
16328           
16329 2006-03-23  Wim Taymans  <wim@fluendo.com>
16330
16331         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16332         (gst_base_sink_init), (gst_base_sink_finalize),
16333         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16334         (gst_base_sink_set_property), (gst_base_sink_get_property),
16335         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16336         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16337         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16338         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16339         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16340         (gst_base_sink_preroll_object), (gst_base_sink_event),
16341         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16342         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16343         (gst_base_sink_query), (gst_base_sink_change_state):
16344         Decouple max-lateness and the fact that QoS messages are generated
16345         with a new property (qos).
16346         added API: GstBaseSink::async_play()
16347         Add vmethod so subclasses can be notified of ASYNC playing
16348         state changes.
16349         Collect timestamp start and stop to report better current
16350         position in EOS/PLAYING/PAUSED/READY/NULL.
16351         Refactor QoS/frame dropping and other measurements.
16352         API: GstBaseSrc::qos
16353         Fixes #326311
16354
16355         * libs/gst/base/gstbasesink.h:
16356         Added Private struct.
16357         API: gst_base_sink_set_qos_enabled()
16358         API: gst_base_sink_is_qos_enabled()
16359
16360 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16361
16362         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16363           If compiling against GLib-2.8 or newer, try to read the
16364           registry file using GMappedFile first before falling back
16365           to fopen() + fread() (#332151).
16366
16367 2006-03-22  Wim Taymans  <wim@fluendo.com>
16368
16369         * gst/gstinfo.c: (gst_debug_set_active),
16370         (gst_debug_category_set_threshold):
16371         Disable debugging unless explicitly activated.
16372         Fixes #335480.
16373
16374 2006-03-22  Wim Taymans  <wim@fluendo.com>
16375
16376         * gst/gstelement.c: (gst_element_set_locked_state),
16377         (gst_element_dispose):
16378         Cleanup the error case.
16379
16380         * gst/gstobject.c: (gst_object_dispose):
16381         print a critical when some object was disposed with
16382         a parent, also revive the object since it might
16383         crash the parent.
16384
16385 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16386
16387         * tools/gst-launch.1.in:
16388           Fix another typo.
16389
16390 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16391
16392         * configure.ac:
16393         * tests/check/Makefile.am:
16394           disable some tests when we don't have a registry
16395         * tests/check/gst/gstutils.c: (gst_utils_suite):
16396           don't build the part that needs parsing
16397
16398 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16399
16400         * gst/Makefile.am
16401         * tests/examples/Makefile.am:
16402           fix --disable-parse build
16403
16404 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16405
16406         * tools/gst-feedback.1.in:
16407           Fix typo: s/feeback/feedback/ (#133494).
16408
16409 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16410
16411         * tools/Makefile.am:
16412         * tools/gst-launch.1.in:
16413           Add FILES section and correct entry about GST_REGISTRY_PATH
16414           environment variable (#133495; #133494).
16415
16416 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16417
16418         * tools/Makefile.am:
16419         * tools/gst-md5sum.1.in:
16420         * tools/gst-md5sum.c:
16421           Remove gst-md5sum and man page (the md5sink element
16422           required was removed ages ago)
16423
16424 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16425
16426         * gst/gststructure.c: (gst_structure_id_set_value):
16427           Make sure that string fields in structures/taglists
16428           contain valid UTF-8 - we don't want to pass rubbish to
16429           applications because of a buggy plugin (cp. #334167).
16430
16431 2006-03-21  Edward Hervey  <edward@fluendo.com>
16432
16433         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16434         (gst_bin_handle_message_func):
16435         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16436         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16437         (gst_element_set_bus_func):
16438         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16439         * gst/gstminiobject.c: (gst_value_set_mini_object),
16440         (gst_value_take_mini_object):
16441         * gst/gstpad.c: (gst_pad_set_pad_template):
16442         * gst/gstpipeline.c: (gst_pipeline_dispose),
16443         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16444         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16445         (gst_collect_pads_chain):
16446         * libs/gst/net/gstnettimeprovider.c:
16447         (gst_net_time_provider_set_property):
16448         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16449         It's in fact all issues with gst_*object_replace().
16450
16451 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16452
16453         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16454         
16455         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16456         * pkgconfig/gstreamer-check.pc.in:
16457           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16458
16459 2006-03-21  Edward Hervey  <edward@fluendo.com>
16460
16461         * gst/gstbuffer.h:
16462         * gst/gstevent.h:
16463         * gst/gstmessage.h:
16464         gst_[buffer|event|message]_ref() macros are replaced by a static
16465         inline functions because gcc-4.1 will about if the return value
16466         isn't used.
16467         * tests/check/gst/gstevent.c: (event_probe):
16468         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16469
16470 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16471
16472         * gst/gstutils.h:
16473         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16474         the type' case. (Closes: #335195 for now). In the future, when we
16475         depend on GLib 2.10, we could also intern the type name using
16476         g_intern_static_string()
16477
16478 2006-03-20  Wim Taymans  <wim@fluendo.com>
16479
16480         * gst/gstbin.c: (gst_bin_handle_message_func),
16481         (bin_query_max_init), (bin_query_position_fold),
16482         (bin_query_position_done), (gst_bin_query):
16483         Position query should also take max of all streams.
16484
16485 2006-03-20  Wim Taymans  <wim@fluendo.com>
16486
16487         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16488         (gst_fake_src_finalize):
16489         Fix leaks in fakesrc.
16490
16491         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16492         Fix leaks in the testcase.
16493
16494 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16495
16496         * gst/gst_private.h:
16497           add win32 specific import decoration(__declspec(dllimport)) 
16498           for all extern GstDebugCategory * variables
16499         * win32/common/libgstbase.def:
16500         * win32/common/libgstcontroller.def:
16501         * win32/common/libgstreamer.def:
16502           Add some exports, remove empty lines
16503         * win32/common/libgstdataprotocol.def:
16504         * win32/common/libgstdataprotocol.dsp:
16505         * win32/common/libgstnet.def:
16506         * win32/common/libgstnet.dsp:
16507           new project files and exportation files added
16508         
16509 2006-03-19  Wim Taymans  <wim@fluendo.com>
16510
16511         * tests/check/libs/basesrc.c: (eos_event_counter):
16512         Use proper return value for probe.
16513
16514 2006-03-17  Wim Taymans  <wim@fluendo.com>
16515
16516         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16517         (gst_pad_push):
16518         Don't leak buffers, caps and pads on negotiation errors.
16519
16520 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16521
16522         * docs/faq/cvs.xml:
16523         * docs/faq/dependencies.xml:
16524         * docs/faq/developing.xml:
16525         * docs/faq/faq.xml:
16526         * docs/faq/general.xml:
16527         * docs/faq/getting.xml:
16528         * docs/faq/legal.xml:
16529         * docs/faq/troubleshooting.xml:
16530         * docs/faq/using.xml:
16531         Faq review and update.
16532
16533 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16534
16535         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16536         (gst_pad_push):
16537         Don't pound the cpu to pieces by checking get_caps when accept_caps
16538         is called with the same caps as the pad already has.
16539         Use GST_DEBUG_OBJECT when outputting caps change information.
16540
16541 2006-03-15  Wim Taymans  <wim@fluendo.com>
16542
16543         * gst/gstclock.c: (gst_clock_class_init):
16544         Fix docs.
16545
16546 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16547
16548         * gst/gstbuffer.h:
16549         Documentation fix.
16550
16551         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16552         (gst_pad_accept_caps), (gst_pad_configure_sink),
16553         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16554         Make the default acceptcaps behaviour be to check the requested 
16555         caps against the gst_pad_get_caps output. 
16556
16557         Ensure that gst_pad_accept_caps is used to check caps when a pad
16558         doesn't have a setcaps function, so that pads automatically refuse 
16559         caps that they don't allow in their pad template. (Fixes #332986)
16560
16561         When a buffer with attached caps is pushed, ensure that the source 
16562         pad receives those caps even if the element didn't call
16563         gst_pad_set_caps first.
16564
16565 2006-03-15  Wim Taymans  <wim@fluendo.com>
16566
16567         * libs/gst/base/gstadapter.c:
16568         Add some docs.
16569
16570 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16571
16572         * win32/common/libgstbase.def:
16573         * win32/common/libgstcontroller.def:
16574         * win32/common/libgstreamer.def:
16575           Add a whole bunch of missing functions (#334434).
16576
16577 2006-03-14  Wim Taymans  <wim@fluendo.com>
16578
16579         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16580         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16581         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16582         Better debug info when we receive a segment event.
16583         Reorganize a bit so we can pass the get_times() results around.
16584         Use the segment format when calculating the running time.
16585         Don't do QoS is sync is disabled or we have no clock or the
16586         element does not want us to sync to the clock.
16587         Don't drop buffers if QoS is disabled for now.
16588
16589 2006-03-14  Wim Taymans  <wim@fluendo.com>
16590
16591         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16592         Marked the stats property as unimplemented so people don't get
16593         wild ideas.
16594         Add debug message when regression goes wrong.
16595         Added some more docs.
16596
16597 2006-03-14  Wim Taymans  <wim@fluendo.com>
16598
16599         * gst/gstsegment.c: (gst_segment_to_stream_time):
16600         Return correct return type in case of errors.
16601
16602 2006-03-14  Wim Taymans  <wim@fluendo.com>
16603
16604         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16605           Don't segfault on invalid formats.
16606
16607 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16608
16609         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16610           Can't use gst_segment_to_running_time() when the segment
16611           is not in GST_TIME_FORMAT (like with filesink, for example).
16612           Stops flac encoding pipelines from spewing critical warnings
16613           at EOS (#331248).
16614           
16615 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16616
16617         * gst/gstpipeline.c: (gst_pipeline_class_init):
16618           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16619
16620         * plugins/elements/gsttypefindelement.c:
16621         (gst_type_find_element_handle_event):
16622           Don't try to typefind empty streams.
16623
16624 2006-03-14  Wim Taymans  <wim@fluendo.com>
16625
16626         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16627         (gst_base_sink_do_qos):
16628         Separate QoS calculation.
16629         Only drop buffers when lateness is bigger than the 
16630         duration of the buffer.
16631
16632 2006-03-13  Wim Taymans  <wim@fluendo.com>
16633
16634         * gst/gstpipeline.c: (gst_pipeline_set_property),
16635         (gst_pipeline_get_property), (do_pipeline_seek),
16636         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16637         (gst_pipeline_get_delay):
16638         Don't deadlock when reading properties.
16639
16640 2006-03-13  Wim Taymans  <wim@fluendo.com>
16641
16642         * libs/gst/base/gstbasetransform.c:
16643         (gst_base_transform_class_init), (gst_base_transform_init),
16644         (gst_base_transform_sink_event),
16645         (gst_base_transform_sink_eventfunc),
16646         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16647         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16648         (gst_base_transform_set_property),
16649         (gst_base_transform_get_property),
16650         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16651         (gst_base_transform_set_qos_enabled),
16652         (gst_base_transform_is_qos_enabled):
16653         * libs/gst/base/gstbasetransform.h:
16654         Make basetransform virtual method for src events too.
16655         Handle QOS in basetransform.
16656         API: gst_base_transform_update_qos()
16657         API: gst_base_transform_set_qos_enabled()
16658         API: gst_base_transform_is_qos_enabled()
16659
16660 2006-03-13  Wim Taymans  <wim@fluendo.com>
16661
16662         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16663         (gst_base_sink_do_sync):
16664         Small cleanups.
16665         Use QOS debug category.
16666
16667 2006-03-13  Wim Taymans  <wim@fluendo.com>
16668
16669         * plugins/elements/gstqueue.c:
16670         Very small doc update.
16671
16672 2006-03-13  Wim Taymans  <wim@fluendo.com>
16673
16674         * gst/gst_private.h:
16675         * gst/gstinfo.c: (_gst_debug_init):
16676         Added QOS debug category
16677
16678 2006-03-13  Wim Taymans  <wim@fluendo.com>
16679
16680         * docs/gst/gstreamer-sections.txt:
16681         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16682         * gst/gstbin.h:
16683         * gst/gstbus.c: (gst_bus_class_init):
16684         * gst/gstbus.h:
16685         * gst/gstclock.c:
16686         * gst/gstelement.c: (gst_element_set_locked_state):
16687         * gst/gstsegment.c:
16688         Documentation updates.
16689
16690         * gst/gstpipeline.c: (gst_pipeline_get_type),
16691         (gst_pipeline_class_init), (gst_pipeline_init),
16692         (gst_pipeline_dispose), (gst_pipeline_set_property),
16693         (gst_pipeline_get_property), (do_pipeline_seek),
16694         (gst_pipeline_send_event), (gst_pipeline_change_state),
16695         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16696         (gst_pipeline_get_delay):
16697         * gst/gstpipeline.h:
16698         Added methods for setting the delay.
16699         API: gst_pipeline_set_delay()
16700         API: gst_pipeline_get_delay()
16701         Add pipeline debug category
16702         Various cleanups.
16703         Updated docs.
16704         Don't reset stream time when seek failed.
16705
16706 2006-03-13  Wim Taymans  <wim@fluendo.com>
16707
16708         * docs/design/draft-klass.txt:
16709         * docs/design/part-clocks.txt:
16710         * docs/design/part-events.txt:
16711         * docs/design/part-gstbin.txt:
16712         * docs/design/part-gstpipeline.txt:
16713         * docs/design/part-messages.txt:
16714         * docs/design/part-negotiation.txt:
16715         * docs/design/part-overview.txt:
16716         * docs/design/part-preroll.txt:
16717         * docs/design/part-seeking.txt:
16718         * docs/design/part-states.txt:
16719         * docs/design/part-streams.txt:
16720         Documentation updates.
16721
16722 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16723
16724         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16725         us to leak strings...
16726
16727 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16728
16729         * libs/gst/net/gstnettimeprovider.c:
16730           fix docs
16731         * win32/common/config.h:
16732           update
16733
16734 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16735
16736         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16737
16738         * configure.ac:
16739           Don't check for libgnomeui (leftover from old examples
16740           that aren't built or disted any longer) (#334303).
16741           
16742 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16743
16744         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16745         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16746           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16747           there's no space left on the device.
16748
16749 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16750
16751         * gst/gstclock.h:
16752           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16753           to cast the input to GstClockTime before comparing with
16754           another GstClockTime value.
16755
16756 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16757
16758         * configure.ac:
16759           back to trunk
16760
16761 === release 0.10.4 ===
16762
16763 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16764
16765         * configure.ac:
16766           releasing 0.10.4, "Light"
16767
16768 2006-03-10  Michael Smith  <msmith@fluendo.com>
16769
16770         * libs/gst/dataprotocol/dataprotocol.c:
16771           Fix docs for dataprocotol to not get the return types completely
16772           wrong for a few functions.
16773
16774 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16775
16776         * docs/gst/gstreamer-sections.txt:
16777         * gst/gstpipeline.c: (gst_pipeline_class_init),
16778         (gst_pipeline_init), (gst_pipeline_set_property),
16779         (gst_pipeline_get_property), (gst_pipeline_change_state),
16780         (gst_pipeline_set_auto_flush_bus),
16781         (gst_pipeline_get_auto_flush_bus):
16782         * gst/gstpipeline.h:
16783           Add new API: gst_pipeline_set_auto_flush_bus() and
16784           gst_pipeline_get_auto_flush_bus() to disable automatic
16785           flushing of the pipeline's GstBus when going from READY
16786           to NULL state (#332045).
16787
16788 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16789
16790         * docs/gst/gstreamer-sections.txt:
16791         * gst/gsturi.c: (gst_uri_has_protocol):
16792         * gst/gsturi.h:
16793            Add new API: gst_uri_has_protocol() (#333779).
16794
16795 2006-03-09  Wim Taymans  <wim@fluendo.com>
16796
16797         * gst/gstclock.c: (gst_clock_entry_new),
16798         (gst_clock_id_compare_func), (gst_clock_id_wait),
16799         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16800         (gst_clock_init), (gst_clock_get_internal_time),
16801         (gst_clock_set_master), (do_linear_regression),
16802         (gst_clock_add_observation), (gst_clock_set_property):
16803         * gst/gstclock.h:
16804         Review docs.
16805         Small cleanups.
16806         Fix a possible segfault when the window-size is made smaller.
16807         Calculate jitter before performing the clock wait. Ideally
16808         the clock implementation should calculate jitter but we need
16809         API breakage for that.
16810
16811         * gst/gstsystemclock.c: (gst_system_clock_init):
16812         Docs review.
16813         
16814         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16815         Remove leftover else
16816
16817         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16818         (gst_systemclock_suite):
16819         Added check to test GST_CLOCK_DIFF.
16820
16821 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16822
16823         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16824         (gst_type_find_helper_get_range):
16825           If we are provided with the size, we should implement
16826           GstTypeFind::get_length, so that typefind functions who
16827           want to can actually peek at the middle of a file.
16828
16829 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16830
16831         * docs/manual/advanced-dataaccess.xml:
16832           Add some very very basic error checking.
16833
16834         * docs/pwg/appendix-checklist.xml:
16835           Some updates to the list of things to check when writing an element.
16836
16837 2006-03-08  Wim Taymans  <wim@fluendo.com>
16838
16839         * docs/design/part-element-transform.txt:
16840         Added some docs about the design of tranform elements.
16841
16842         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16843         (gst_base_src_loop), (gst_base_src_change_state):
16844         Mark buffers with the DISCONT flag.
16845
16846 2006-03-08  Michael Smith  <msmith@fluendo.com>
16847
16848         * gst/gstregistry.h:
16849         * gst/gstregistryxml.c: (gst_registry_save),
16850         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16851         (gst_registry_xml_save_pad_template),
16852         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16853         (gst_registry_xml_write_cache):
16854           Rewrite registry-saving to avoid race conditions and check for
16855           failed writes.
16856
16857 2006-03-08  Wim Taymans  <wim@fluendo.com>
16858
16859         * libs/gst/base/gstbasetransform.c:
16860         (gst_base_transform_transform_caps),
16861         (gst_base_transform_transform_size),
16862         (gst_base_transform_prepare_output_buffer),
16863         (gst_base_transform_get_unit_size),
16864         (gst_base_transform_buffer_alloc),
16865         (gst_base_transform_handle_buffer),
16866         (gst_base_transform_change_state):
16867         Cleanups, separate normal flow from errors, add sensible
16868         DEBUG lines.
16869         Don't try to renegotiate when allocating an output buffer.
16870         Also copy DISCONT buffer flag when copying a buffer.
16871         Reset the transform after we finish streaming, not during.
16872
16873 2006-03-08  Wim Taymans  <wim@fluendo.com>
16874
16875         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16876         Use last buffer timestamp in qos message.
16877
16878 2006-03-07  Wim Taymans  <wim@fluendo.com>
16879
16880         Patch by: Christophe Fergeau
16881
16882         * docs/pwg/advanced-tagging.xml:
16883         * docs/pwg/building-pads.xml:
16884           fixes #333416
16885
16886 2006-03-07  Wim Taymans  <wim@fluendo.com>
16887
16888         * docs/libs/gstreamer-libs-sections.txt:
16889         Added basesink new methods.
16890
16891         * gst/gstevent.c:
16892         * gst/gstevent.h:
16893         Docs updates. Flesh out the QoS docs.
16894
16895         * libs/gst/base/gstadapter.c:
16896         Small doc clarification about ownership and flushing.
16897
16898         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16899         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16900         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16901         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16902         * libs/gst/base/gstbasesink.h:
16903         API additions: 
16904         Added new methods to allow subclass to control max-lateness 
16905         and sync.
16906         Generate very basic QoS events based on last sync observation.
16907         Updated docs, fix typo, added some QoS blurb.
16908
16909         * libs/gst/base/gstbasesrc.c:
16910         Remove obsolete _get_state() calls from docs.
16911
16912 2006-03-07  Wim Taymans  <wim@fluendo.com>
16913
16914         * docs/libs/gstreamer-libs-sections.txt:
16915         * libs/gst/base/gstbasetransform.h:
16916         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16917         Fix docs for GstBaseSrc.
16918
16919 2006-03-07  Wim Taymans  <wim@fluendo.com>
16920
16921         * docs/gst/gstreamer-sections.txt:
16922         * gst/gstbuffer.h:
16923         * gst/gstvalue.c:
16924         * libs/gst/base/gstbasetransform.h:
16925         Small documentation fixes.
16926
16927 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16928
16929         * gst/gstvalue.c:
16930           Document thread-unsafety of gst_value_register_foo_func()
16931           when used at the same time as gst_value_foo() (#322628).
16932
16933 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16934
16935         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16936         (gst_push_src_check_get_range):
16937           Push sources don't support pull mode by default.
16938
16939 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16940
16941         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16942         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16943         (gst_base_src_default_check_get_range):
16944         * libs/gst/base/gstbasesrc.h:
16945           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16946           provide default implementation, and rename
16947           gst_base_src_check_get_range() to
16948           gst_base_src_pad_check_get_range() for clarity.
16949
16950 2006-03-06  Wim Taymans  <wim@fluendo.com>
16951
16952         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16953         Make property overridable.
16954
16955 2006-03-06  Wim Taymans  <wim@fluendo.com>
16956
16957         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16958         (gst_base_sink_init), (gst_base_sink_set_property),
16959         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16960         * libs/gst/base/gstbasesink.h:
16961         API addition: Make max-lateness a property.
16962
16963 2006-03-06  Wim Taymans  <wim@fluendo.com>
16964
16965         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16966         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16967         Don't ever draw a frame that is >10ms late.
16968
16969 2006-03-06  Michael Smith  <msmith@fluendo.com>
16970
16971         * gst/gstmessage.c: (_gst_message_copy):
16972           When copying a message, set the parent_refcount of the enclosed
16973           structure to point at the copy, not the original message.
16974
16975 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16976
16977         Patch by: Christophe Fergeau
16978
16979         * gst/gstutils.h:
16980           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16981           usable in c++ code (#333417)
16982
16983 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16984
16985         * gst/gstclock.h:
16986           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16987
16988 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16989
16990         * libs/gst/base/gstbasetransform.c:
16991         (gst_base_transform_transform_caps):
16992           Make sure caps are writable before passing them to
16993           gst_caps_append().
16994
16995 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16996
16997         * gst/gsterror.h:
16998           Fix some minor docs errors.
16999
17000 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17001
17002           Patch by: Ross Burton <ross at burtonini dot com>
17003
17004         * gst/gsterror.c: (_gst_resource_errors_init):
17005         * gst/gsterror.h:
17006           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17007
17008 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17009
17010         * gst/gst.c:
17011         Add a check and output a g_warning when GStreamer is built
17012         against GLib 2.6 but running against 2.8 or higher, and vice 
17013         versa. (Closes: #323542)
17014
17015 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17016
17017         * gst/parse/parse.l:
17018           Commit patch for parse_launch syntax from #331255. Removes 
17019           support for quoted strings and mimetypes when writing filtered 
17020           caps. See the bug report for more details - I'm pretty sure this
17021           obscure feature is not in use by _anyone_ anywhere.
17022
17023           With this simple change, the size of the gstreamer.so here 
17024           drops from 2193KB to 1565KB.
17025
17026 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17027
17028         * plugins/elements/gsttypefindelement.h:
17029         * plugins/elements/gsttypefindelement.c:
17030         (gst_type_find_element_src_event), (start_typefinding),
17031         (stop_typefinding), (gst_type_find_element_handle_event),
17032         (gst_type_find_element_chain),
17033         (gst_type_find_element_chain_do_typefinding):
17034           Use gst_type_find_helper_for_buffer() for chain-based
17035           typefinding.
17036
17037 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17038
17039         * plugins/elements/gsttypefindelement.c:
17040         (gst_type_find_element_class_init),
17041         (gst_type_find_element_set_property),
17042         (gst_type_find_element_get_property):
17043           Deprecate "maximum" property (not only was it only taken into
17044           account for typefinding in push-mode anyway, it also was never
17045           actually possible to set it in the first place because the
17046           property was registered with the numeric property ID for the
17047           "minimum" property). Register "maximum" property correctly,
17048           for the sake of future copy'n'pasters. Remove some cruft
17049           from property get/set functions.
17050
17051 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17052
17053         * plugins/elements/gsttypefindelement.c:
17054         (gst_type_find_element_activate):
17055           Use gst_type_find_helper_get_range() here, so we
17056           can honour the "minimum" property and also emit
17057           the signal with the correct probability of the found caps.
17058
17059 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17060
17061         * docs/libs/gstreamer-libs-sections.txt:
17062         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17063         (helper_find_suggest), (gst_type_find_helper_get_range),
17064         (gst_type_find_helper):
17065         * libs/gst/base/gsttypefindhelper.h:
17066           New API: gst_type_find_helper_get_range() (#333042).
17067
17068 2006-03-02  Michael Smith  <msmith@fluendo.com>
17069
17070         * gst/gstregistryxml.c: (load_feature):
17071           Asserting on a failure to read part of the registry is Not Cool.
17072           Just log a warning and return NULL (which is already handled)
17073
17074 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17075
17076         * win32/common/libgstbase.def:
17077           added export of gst_type_find_helper_for_buffer
17078         * win32/common/libgstbase.def:
17079           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17080           gst_ghost_pad_get_target
17081
17082 2006-02-28  Wim Taymans  <wim@fluendo.com>
17083
17084         * docs/design/draft-klass.txt:
17085         We use Filter now.
17086         Added Connector to mark elements that are only used to
17087         allow pipeline connections.
17088         Moved Debug to extra feature since most of them are 
17089         functionally something else.
17090
17091 2006-02-28  Wim Taymans  <wim@fluendo.com>
17092
17093         * docs/design/draft-klass.txt:
17094         Some updates and clarifications.
17095
17096 2006-02-28  Wim Taymans  <wim@fluendo.com>
17097
17098         * docs/design/draft-klass.txt:
17099         Proposal for klass field values.
17100
17101         * docs/design/part-streams.txt:
17102         Start of a doc describing stream anatomy.
17103
17104 2006-02-28  Wim Taymans  <wim@fluendo.com>
17105
17106         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17107         Help the compiler a bit with type registration.
17108         Use existing forward cod path instead of duplicating it when 
17109         handling a message.
17110         
17111         * gst/gstbus.c: (gst_bus_get_type):
17112         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17113         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17114         * gst/gstclock.c: (gst_clock_get_type):
17115         * gst/gstelement.c: (gst_element_get_type),
17116         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17117         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17118         * gst/gstminiobject.c: (gst_mini_object_get_type):
17119         * gst/gstpad.c: (gst_pad_get_type):
17120         * gst/gstsegment.c: (gst_segment_get_type):
17121         * gst/gststructure.c: (gst_structure_get_type):
17122         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17123         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17124         * gst/gstvalue.c:
17125         Help compiler with type registration.
17126
17127         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17128         Small doc update.
17129
17130 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17131
17132         * plugins/elements/gsttypefindelement.c:
17133         (gst_type_find_element_handle_event):
17134           When we get an EOS event and have not found a type yet
17135           (most likely because we had not yet accumulated
17136           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17137           type given the data we have so far. Fixes typefinding
17138           for very short streams again, most notably quicktime
17139           redirections as used on Apple's trailer site (#331701).
17140
17141 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17142
17143         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17144         (gst_type_find_helper):
17145           Try typefinding factories with the highest rank first.
17146
17147 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17148
17149         * docs/libs/gstreamer-libs-docs.sgml:
17150         * docs/libs/gstreamer-libs-sections.txt:
17151         * libs/gst/base/gsttypefindhelper.c:
17152           Add section for typefind helper and add documentation
17153           for the old and the new function.
17154
17155 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17156
17157         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17158         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17159         (gst_type_find_helper_for_buffer):
17160         * libs/gst/base/gsttypefindhelper.h:
17161           New API: gst_type_find_helper_for_buffer() (#332723).
17162           
17163 2006-02-27  Michael Smith  <msmith@fluendo.com>
17164
17165         Patch by: Loïc Minier
17166
17167         * configure.ac:
17168         * docs/Makefile.am:
17169         * docs/slides/Makefile.am:
17170           prevent CVS directories getting disted.
17171
17172 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17173
17174         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17175           Use the REFCOUNTING category for caps refcounting.
17176           
17177 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17178
17179         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17180           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17181
17182 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17183
17184         * plugins/elements/gsttypefindelement.c:
17185         (gst_type_find_element_activate):
17186           Use gst_pad_check_pull_range() before _activate_pull()
17187           to avoid unnecessary open/close (see #331690).
17188
17189 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17190
17191         * gst/gstutils.c:
17192           Docs enhancement: make it crystal clear what the
17193           gst_pad_add_*_probe() callbacks should look like.
17194
17195 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17196
17197         * libs/gst/base/gstbasesrc.c:
17198           Document how applications can stop recording from
17199           live sources (see #330996).
17200
17201 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17202
17203         * tests/check/Makefile.am:
17204         * tests/check/libs/basesrc.c: (eos_event_counter),
17205         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17206         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17207         (gst_basesrc_suite), (main):
17208           ... and add some tests for the base source EOS stuff.
17209
17210 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17211
17212         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17213           Test case originally showed the problem fixed below,
17214           but was then amended. Add checks back at the place
17215           where they used to be.
17216
17217 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17218
17219         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17220         (gst_base_src_init), (gst_base_src_loop),
17221         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17222         (gst_base_src_change_state):
17223         * libs/gst/base/gstbasesrc.h:
17224           Don't unconditionally send EOS when going from PAUSED to
17225           READY state, esp. make sure we don't send two EOS events
17226           in some cases (e.g. one when reaching EOS and one when
17227           going from PAUSED to READY). Also, we don't want to send
17228           EOS events when operating in pull mode. However, we do
17229           want to send an EOS event when shutting down a live
17230           source explicitly, for example (fixes #330996).
17231           
17232 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17233
17234         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17235           Update src->read_position after a seek when not using mmap.
17236           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17237
17238 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17239
17240         * gst/Makefile.am:
17241         * gst/gstparse.h:
17242         * gst/gstutils.c:
17243         * gst/gstutils.h:
17244         Make things work with --disable-parse as they do with 
17245         --disable-load-save - the symbols involved disappear, but the
17246         header is still installed and GST_DISABLE_PARSE is included via
17247         gstconfig.h
17248
17249 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17250
17251         * libs/gst/base/gstbasetransform.c:
17252         (gst_base_transform_change_state): Fix a stupid bug. I was 
17253         sure I compiled that.
17254
17255 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17256
17257         * gst/gstpad.c: (gst_pad_set_blocked_async):
17258         * gst/gstutils.c: (gst_pad_add_data_probe),
17259         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17260         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17261         (gst_pad_remove_buffer_probe): Make those function act on the
17262         ghostpad target when it's a ghostpad. (Closes #331727)
17263
17264 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17265
17266         * libs/gst/base/gstbasetransform.c:
17267         (gst_base_transform_change_state): Make basetransform reusable.
17268         (Closes #331898)
17269
17270 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17271
17272         * docs/random/release:
17273         Move the current documentation of how to do a release to the top
17274         of the file.
17275
17276         * gst/gstbin.c: (gst_bin_class_init),
17277         (gst_bin_handle_message_func):
17278         Allow multiple state-recalculation threads. (Closes #328873)
17279
17280 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17281
17282         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17283         * gst/gstpad.c: (gst_pad_set_event_function),
17284         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17285         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17286         2 strings. You can't use the STR_NULL macro on that.
17287
17288 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17289
17290         * gst/gstpad.c: (gst_pad_set_event_function),
17291         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17292         (gst_pad_set_getcaps_function)
17293         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17294           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17295           So now, we can use --gst-debug-level=5 on Windows
17296         * win32/common/libgstcontroller.def:
17297           Added export of gst_controller_init
17298         * win32/vs6/libgstcontroller.dsp:
17299           Fixed Release post build configuration
17300
17301 2006-02-17  Wim Taymans  <wim@fluendo.com>
17302
17303         * tests/check/gst/gstquery.c: (GST_START_TEST):
17304         Added another check.
17305
17306 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17307
17308         * plugins/elements/gsttypefindelement.c: (find_peek):
17309           We can do peeks at non-zero offsets, as long as they
17310           fall within the buffer we have.
17311
17312 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17313
17314         * tests/check/Makefile.am:
17315         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17316         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17317         (parse_suite), (main):
17318           Add testsuite for parse launch syntax
17319
17320 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17321
17322         * plugins/elements/gsttypefindelement.c:
17323         (gst_type_find_element_chain):
17324           When typefinding is unsuccessful in the chain function, don't
17325           error out immediately. Only error out with NO_CAPS_FOUND if
17326           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17327           otherwise simply wait for more data so we can try typefinding
17328           again with more data later. Also, don't attempt to typefind
17329           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17330           this should improve typefinding from network sources where the
17331           size of the first buffer can be somewhat random.
17332
17333 2006-02-14  Wim Taymans  <wim@fluendo.com>
17334
17335         * docs/gst/gstreamer-sections.txt:
17336         * gst/gstpadtemplate.c:
17337         * gst/gstpadtemplate.h:
17338         Fix padtemplate docs, fixes #328805.
17339
17340 2006-02-14  Wim Taymans  <wim@fluendo.com>
17341
17342         * tools/gst-launch.c: (main):
17343         NO_PREROLL is not an ERROR so don't send confusing messages
17344         to the user.
17345
17346 2006-02-14  Wim Taymans  <wim@fluendo.com>
17347
17348         Patch by: Torsten Schoenfeld
17349
17350         * gst/gstregistry.c: (gst_registry_get_default),
17351         (_gst_registry_cleanup):
17352         Protect default registry with lock and ref/sink it.
17353         Fixes #324818
17354
17355 2006-02-14  Wim Taymans  <wim@fluendo.com>
17356
17357         * gst/gstbuffer.c:
17358         * gst/gstquery.c: (gst_query_list_add_format),
17359         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17360         (gst_query_parse_formats_nth):
17361         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17362         Docs fixes.
17363
17364 2006-02-14  Wim Taymans  <wim@fluendo.com>
17365
17366         * docs/gst/gstreamer-sections.txt:
17367         Reworked query docs.
17368
17369         * gst/gstquery.c: (gst_query_new_formats),
17370         (gst_query_list_add_format), (gst_query_set_formats),
17371         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17372         (gst_query_parse_formats_nth):
17373         * gst/gstquery.h:
17374         Flesh out formats query, added some new methods.
17375         Fix part of #324398.
17376
17377         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17378         Added query creation tests.
17379
17380 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17381
17382         * gst/gstpad.c: (fixate_value):
17383         Add a default fixation for fraction lists.
17384
17385 2006-02-13  Wim Taymans  <wim@fluendo.com>
17386
17387         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17388         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17389         (gst_task_join):
17390         * gst/gsttask.h:
17391         Detect and warn for obvious deadlocks. fixes #320340
17392         Fix error case where lock was not released.
17393
17394         * tests/check/Makefile.am:
17395         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17396         (task_func), (gst_element_suite), (main):
17397         Add task check.
17398
17399 2006-02-13  Wim Taymans  <wim@fluendo.com>
17400
17401         * docs/gst/gstreamer-sections.txt:
17402         * gst/gstbus.c:
17403         Add new functions to docs.
17404
17405 2006-02-13  Wim Taymans  <wim@fluendo.com>
17406
17407         * docs/design/part-TODO.txt:
17408         Updated TODO list, basesrc supports seeking to non-bytes
17409         formats.
17410
17411         * docs/design/part-element-sink.txt:
17412         Update docs.
17413
17414         * gst/gstbin.c: (bin_replace_message),
17415         (gst_bin_handle_message_func):
17416         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17417         * gst/gstevent.c: (gst_event_finalize):
17418         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17419         (gst_pad_send_event):
17420         Use shiny new _TYPE_NAME macros.
17421
17422         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17423         Move debug statement up.
17424
17425         * gst/gstelement.c: (gst_element_set_locked_state):
17426         Add some debugging.
17427
17428 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17429
17430         * docs/gst/gstreamer-sections.txt:
17431         * gst/gstmessage.h:
17432         * gst/gstquery.h:
17433           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17434           macros (#330906). Also, document the already existing
17435           GST_QUERY_TYPE macro.
17436
17437 2006-02-13  Wim Taymans  <wim@fluendo.com>
17438
17439         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17440         (event_probe), (GST_START_TEST):
17441         Only events up to the pipeline EOS are counted, there are
17442         some more when going to NULL currently which we don't care
17443         about for now.
17444
17445 2006-02-13  Wim Taymans  <wim@fluendo.com>
17446
17447         * gst/gstpad.c: (gst_pad_send_event):
17448         Correctly check flushing and emit probes. fixes #330125
17449
17450 2006-02-10  Andy Wingo  <wingo@pobox.com>
17451
17452         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17453         structure.
17454         (gst_bus_init): Cache the location of the private data in the
17455         instance structure.
17456         (gst_bus_enable_sync_message_emission) 
17457         (gst_bus_disable_sync_message_emission): Implement new public
17458         functions.
17459         (gst_bus_post): Emit the sync-message signal if the user asked for
17460         it. Fixes #330684.
17461
17462         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17463         location of the bus-private structure.
17464         (gst_bus_enable_sync_message_emission)
17465         (gst_bus_disable_sync_message_emission): API addition
17466
17467 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17468
17469         Patch by: Vincent Torri
17470
17471         * docs/pwg/building-boiler.xml:
17472         PWG patch from #326800
17473
17474 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17475
17476         * configure.ac:
17477         * docs/Makefile.am:
17478         * docs/design/Makefile.am:
17479           Dist design docs.
17480
17481 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17482
17483         * configure.ac:
17484           back to CVS
17485
17486 === release 0.10.3 ===
17487
17488 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17489
17490         * configure.ac:
17491           releasing 0.10.3, "Like a virgin"
17492
17493 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17494
17495         * configure.ac:
17496           2nd prerelease of 0.10.3
17497           Bump libtool versioning.
17498
17499 2006-02-07  Andy Wingo  <wingo@pobox.com>
17500
17501         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17502         update last_stop if we're in TIME format and the timestamp is
17503         valid.
17504
17505         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17506         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17507         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17508         If we get a new newsegment with a different format, adapt
17509         accordingly.
17510
17511         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17512         of 0. Not a problem, really.
17513
17514         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17515         warn if sync=true.
17516
17517 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17518
17519         * configure.ac:
17520           Prelease of 0.10.3
17521
17522 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17523
17524         * win32/vs7:
17525           project files updated to the default vs7 configuration
17526         * win32/common/libgstbase.def:
17527         * win32/common/libgstreamer.def:
17528           added new symbols,
17529           removed empty lines,
17530           sorted all exported symbols alphabetically
17531         * win32/common/dirent.c:
17532         * win32/common/dirent.h:
17533         * win32/common/gchar.h:
17534           use windows line end.
17535           
17536 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17537
17538         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17539           Send EOS event when stopping.
17540
17541 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17542
17543         * docs/README:
17544           Tell folks what to do if the plugin-foobar.xml file
17545           hasn't been generated for a newly-added plugin.
17546
17547 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17548
17549         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17550         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17551         (gst_collect_pads_start), (gst_collect_pads_stop),
17552         (gst_collect_pads_event): Collectpads now holds a reference
17553         to the GstPad that was added. Indeed we don't want to look
17554         at pads that might just go away with no warning...
17555
17556 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17557
17558         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17559         (gst_collect_pads_start), (gst_collect_pads_stop),
17560         (gst_collect_pads_event), (gst_collect_pads_chain):
17561         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17562         Mark Nauwelaerts's patch on bug #328491.
17563
17564 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17565
17566         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17567         (gst_utils_suite):
17568           Add some simple tests for gst_parse_bin_from_description() and
17569           gst_bin_find_unconnected_pad() (#329069).
17570
17571 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17572
17573         * tools/gst-launch.c: (event_loop), (main):
17574           Catch errors during preroll (#320084).
17575
17576 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17577
17578         * plugins/elements/gsttypefindelement.c:
17579         (gst_type_find_element_activate):
17580           Post TYPE_NOT_FOUND error message when typefinding
17581           is unsuccessful in the activate function as well.
17582
17583 2006-02-02  Wim Taymans  <wim@fluendo.com>
17584
17585         * docs/design/part-element-sink.txt:
17586         Updated doc.
17587
17588 2006-02-02  Wim Taymans  <wim@fluendo.com>
17589
17590         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17591         (gst_base_sink_render_object),
17592         (gst_base_sink_queue_object_unlocked):
17593         Only keep track of prerollable items when we are 
17594         prerolling.
17595         Before rendering after preroll, always check if we
17596         have queued items.
17597         Added some more debugging.
17598
17599 2006-02-02  Wim Taymans  <wim@fluendo.com>
17600
17601         * gst/gstelement.c: (gst_element_continue_state),
17602         (gst_element_set_state_func), (gst_element_change_state):
17603         Fixed #326576, been running this for quite some time with
17604         no regressions at all.
17605
17606 2006-02-02  Wim Taymans  <wim@fluendo.com>
17607
17608         * common/gst.supp:
17609         Added more suppressions
17610
17611 2006-02-02  Wim Taymans  <wim@fluendo.com>
17612
17613         * docs/design/part-element-sink.txt:
17614         Updated document.
17615
17616         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17617         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17618         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17619         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17620         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17621         (gst_base_sink_preroll_object),
17622         (gst_base_sink_queue_object_unlocked),
17623         (gst_base_sink_queue_object), (gst_base_sink_event),
17624         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17625         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17626         (gst_base_sink_get_position), (gst_base_sink_change_state):
17627         * libs/gst/base/gstbasesink.h:
17628         Totally refactored matching the design doc.
17629         Use two segments, one to clip incomming buffers and another to
17630         perform sync.
17631         Handle queueing correctly, bypass the queue when playing.
17632         Make EOS cancelable.
17633         Handle errors correctly when operating in pull based mode.
17634
17635         * tests/check/elements/fakesink.c: (GST_START_TEST),
17636         (fakesink_suite):
17637         Added new check for sinks.
17638
17639 2006-02-02  Wim Taymans  <wim@fluendo.com>
17640
17641         * gst/gstsegment.c: (gst_segment_clip):
17642         No reason to refuse to clip when start == -1
17643
17644 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17645
17646         * docs/README:
17647         * docs/manual/intro-basics.xml:
17648         * docs/manual/intro-preface.xml:
17649         * docs/manual/manual.xml:
17650         * docs/pwg/advanced-dparams.xml:
17651         * docs/pwg/intro-basics.xml:
17652         * docs/pwg/intro-preface.xml:
17653         * docs/pwg/pwg.xml:
17654           describe dparams (controller) for plugins
17655           unify docs a little more
17656
17657 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17658
17659         * docs/gst/gstreamer-sections.txt:
17660         * gst/gstutils.c: (element_find_unconnected_pad),
17661         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17662         * gst/gstutils.h:
17663           Add new API: gst_parse_bin_from_description() and
17664           gst_bin_find_unconnected_pad() (#329069).
17665
17666 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17667
17668         * docs/manual/README:
17669           uncover a nasty detail of the docs build
17670
17671 2006-01-31  Wim Taymans  <wim@fluendo.com>
17672
17673         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17674         Don't cache duration messages if we're not going to use or
17675         free them.
17676
17677 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17678
17679         * docs/manual/advanced-dparams.xml:
17680         * docs/pwg/advanced-dparams.xml:
17681           more dparam docs
17682         * gst/gstindex.c:
17683           fix docs
17684         * libs/gst/controller/lib.c: (gst_controller_init):
17685           init just once
17686
17687 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17688
17689         * gst/gstelement.c: (gst_element_message_full):
17690           also show file/line/func if no additional debug was given
17691
17692 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17693         
17694         * win32/vs7/grammar.vcproj:
17695           activate copy of autogenerated files for Release mode
17696
17697 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17698         
17699         * win32/common/libgstreamer.def:
17700           export gst_value_compare
17701
17702 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17703
17704         * plugins/elements/Makefile.am:
17705         * plugins/elements/gstelements.c:
17706         * plugins/elements/gstfdsink.c: (_do_init),
17707         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17708         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17709         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17710         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17711         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17712         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17713         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17714         * plugins/elements/gstfdsink.h:
17715         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17716
17717 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17718
17719         * docs/manual/advanced-dparams.xml:
17720           describe controller
17721         * docs/manual/advanced-position.xml:
17722         * docs/manual/basics-init.xml:
17723         * docs/manual/manual.xml:
17724         * docs/manual/titlepage.xml:
17725         * docs/pwg/pwg.xml:
17726         * docs/pwg/titlepage.xml:
17727           cleanup xml (more to come)
17728         * libs/gst/controller/gstcontroller.c:
17729           fix typo
17730
17731 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17732         
17733         * win32/vs6/grammar.dsp:
17734           add autogen of gstmarshal.c,h for Release mode
17735                 
17736 2006-01-30  Wim Taymans  <wim@fluendo.com>
17737
17738         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17739         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17740         (gst_base_sink_handle_object), (gst_base_sink_event),
17741         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17742         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17743         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17744         (gst_base_sink_deactivate), (gst_base_sink_activate),
17745         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17746         (gst_base_sink_query), (gst_base_sink_change_state):
17747         Basesink cleanups, remove some old code.
17748         Handle the case where a subclass can preroll in the render
17749         method (mostly audiosinks).
17750         Handle more events.
17751         Remove some locks around variables that are now protected
17752         with the PREROLL_LOCK (clock_id, flushing, ..).
17753         Optimize position query some more, do correct locking.
17754         Remove old code to push queue in state change, this is not
17755         needed anymore since preroll blocks on all prerollable items 
17756         now.
17757         Almost implemented as described in design doc.
17758
17759 2006-01-30  Wim Taymans  <wim@fluendo.com>
17760
17761         * tests/check/gst/gstbin.c: (GST_START_TEST):
17762         Wait for refcount to settle down before checking.
17763
17764 2006-01-30  Wim Taymans  <wim@fluendo.com>
17765
17766         * docs/design/part-element-sink.txt:
17767         Pseudo code overview of desired sink behaviour regarding
17768         preroll.
17769
17770 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17771         * win32/vs6/grammar.dsp:
17772           fix some bugs in Release mode for autogenerated files
17773                 
17774 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17775         * win32/common/libgstbase.def:
17776         * win32/common/libgstreamer.def:
17777           export some new symbols: gst_base_src_set_format,
17778           gst_iterator_next, gst_structure_set_valist
17779
17780 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17781
17782         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17783         Set pad functions unconditionally. Fixes #329105.
17784
17785 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17786         * win32/vs8:
17787           add vs8 project files created by Sergey Scobich
17788
17789 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17790
17791         * gst/gstutils.c: (gst_element_unlink_pads):
17792         Don't leak pad references.
17793
17794         * tests/check/elements/fakesink.c: (GST_START_TEST):
17795         * tests/check/generic/sinks.c: (GST_START_TEST):
17796         * tests/check/generic/states.c: (GST_START_TEST):
17797         * tests/check/gst/gstbin.c: (GST_START_TEST):
17798         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17799         * tests/check/gst/gstelement.c: (GST_START_TEST):
17800         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17801         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17802         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17803         Fix a bunch of leaks. Make generic/sinks.c
17804         use a bit less cpu by slowing the buffer rate
17805         between fakesrc and fakesink.
17806         
17807 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17808         * gst/gstcaps.c:
17809         * gst/gstelement.c: (gst_element_send_event):
17810         * gst/gstevent.c:
17811         * gst/gstinfo.c:
17812         * gst/gstiterator.c:
17813         * gst/gstiterator.h:
17814         * gst/gstpad.c: (gst_pad_send_event):
17815         * gst/gststructure.c:
17816         * gst/gsturi.c:
17817         * gst/gstutils.c:
17818         * gst/gstvalue.c:
17819         * libs/gst/base/gstadapter.c:
17820           doc fixes, to link to function, just write gst_cool_function(), don't
17821           prefix with '#'
17822
17823 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17824
17825         * plugins/elements/gsttee.c: (gst_tee_do_push),
17826         (gst_tee_handle_buffer):
17827         Always prefer an actual return value from a src
17828         pad in place of NOT_LINKED. This means we return
17829         WRONG_STATE when all src pads are WRONG_STATE
17830         instead of NOT_LINKED.
17831
17832         Lock when replacing the last message to prevent
17833         racing with the get_property method.
17834
17835         Add debug output
17836
17837 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17838
17839         * tests/check/Makefile.am:
17840         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17841         (main):
17842         Add a very simple check that should have caught the memleak I fixed
17843         last night (if not for the slice allocator hiding it)
17844
17845 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17846
17847         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17848         (gst_bin_remove_func), (gst_bin_handle_message_func),
17849         (bin_query_duration_fold), (bin_query_generic_fold):
17850         Clean up references to the clock provider when disposed or when
17851         handling a clock-lost message from it.
17852
17853         Unref sinks when performing a query via gst_iterator_fold, as the
17854         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17855
17856         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17857         (gst_clock_set_master):
17858         Drop our reference to the master clock, if any, when we are disposed.
17859
17860         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17861         Chain up in dispose. 
17862
17863 2006-01-26  Wim Taymans  <wim@fluendo.com>
17864
17865         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17866         Add some debugging.
17867
17868 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17869
17870         * plugins/elements/gsttee.c: (gst_tee_do_push),
17871         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17872         handles pad being NOT_LINKED or in WRONG_STATE.
17873
17874 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17875
17876         * win32/MANIFEST:
17877           more updating
17878
17879 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17880
17881         * win32/MANIFEST:
17882           remove obsolete entry
17883
17884 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17885
17886         * docs/gst/gstreamer-sections.txt:
17887         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17888         (gst_bin_iterate_sources), (gst_bin_send_event):
17889         * gst/gstbin.h:
17890         * gst/gstelement.c: (gst_element_send_event):
17891         * gst/gstevent.c:
17892         * gst/gstpad.c: (gst_pad_send_event):
17893           added code for downstream events, reviewed docs in gstevent.c
17894
17895 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17896
17897         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17898         We only query position using the clock in the playing state.
17899         Query peer in the other cases.
17900         * win32/common/config.h: Updates.
17901
17902 2006-01-24  Wim Taymans  <wim@fluendo.com>
17903
17904         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17905         A clock entry that is scheduled for the exact time of the
17906         clock is still in time.
17907
17908         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17909         (gst_base_sink_do_sync):
17910         Add some more debug info.
17911
17912 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17913
17914         * win32/vs7:
17915           Add new vs7 project files and solution.
17916
17917 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17918
17919         * win32/vs7:
17920           all files removed as they were out-dated.
17921
17922 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17923
17924         * docs/random/release:
17925           update notes
17926         * gst/gstbin.c: (gst_bin_init):
17927         * gst/gstbus.c: (gst_bus_new):
17928         * gst/gstbus.h:
17929         * gst/gstpipeline.c: (gst_pipeline_init):
17930           use gst_bus_new(), improve logging, fix docs
17931         * win32/common/config.h:
17932           update for cvs build
17933
17934 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17935
17936         * autogen.sh:
17937           up required version of automake to 1.7
17938
17939 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17940
17941         * win32/common/libgstreamer.def:
17942           export gst_buffer_is_metadata_writable
17943
17944 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17945
17946         * docs/gst/gstreamer-sections.txt:
17947         * gst/gstevent.h:
17948           Add gst_event_replace() (#327001)
17949
17950 2006-01-20  Wim Taymans  <wim@fluendo.com>
17951
17952         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17953         Make it actually compile too..
17954
17955 2006-01-20  Wim Taymans  <wim@fluendo.com>
17956
17957         * gst/gstcaps.c:
17958         Clarify behaviour of _is_equal() when passing NULL parameters.
17959
17960         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17961         (gst_pad_set_caps):
17962         Cleanups. Don't unref NULL caps.
17963         When setting the same caps, protect caps of the pad with
17964         proper lock.
17965         Use full functionality of _is_equal() when comparing caps.
17966
17967 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17968
17969         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17970         Don't loop infinitely if there are no buffers to present. Partially
17971         fixes #327197, but collectpads is just broken for reusing elements
17972         to do multiple encodes atm.
17973
17974 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17975
17976         * tools/gst-inspect.c: (print_element_features):
17977         * tools/gst-xmlinspect.c: (main):
17978         URL_HANDLER is not a plugin feature we can search for in
17979         the registry.
17980
17981 2006-01-19  Edward Hervey  <edward@fluendo.com>
17982
17983         * gst/gstelement.c: (gst_element_pads_activate): 
17984         When activating, do src pads first, then sink pads.
17985         When de-activating, do sink pads first, then src pads.
17986
17987 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17988
17989         * docs/gst/gstreamer-sections.txt:
17990         Add gst_index_add_associationv to the docs
17991
17992 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17993
17994         * gst/gstevent.c:
17995           Fix docs typo
17996
17997         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17998         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17999           Do some refactoring. Doesn't actually change functionality,
18000           but makes landing the DRAIN event easier later.
18001
18002 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18003
18004         * docs/pwg/advanced-scheduling.xml:
18005           Update from 0.9.x to 0.10 API and make example a bit
18006           clearer.
18007
18008 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18009
18010         * docs/gst/gstreamer-sections.txt:
18011         Add gst_buffer_(is|make)_metadata_writable methods.
18012
18013 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18014
18015         * docs/design/part-sparsestreams.txt:
18016         Update sparse streams doc, hopefully for greater clarity
18017
18018 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18019
18020         * docs/design/part-events.txt:
18021         Remove mention of FILLER events.
18022         Add DRAIN event.
18023
18024         * docs/design/part-sparsestreams.txt:
18025         Write some things about using NEWSEGMENT to keep sparse streams
18026         flowing.
18027
18028 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18029
18030         * gst/gstbin.c: (gst_bin_dispose):
18031           Guard gst_object_unref call against a NULL object (dispose
18032           can theoretically be called multiple times).
18033           
18034 2006-01-18  Wim Taymans  <wim@fluendo.com>
18035
18036         * gst/gstbin.c: (gst_bin_element_set_state):
18037         * gst/gstclock.c: (gst_clock_id_wait):
18038         Added some more debug info.
18039
18040         * libs/gst/base/gstadapter.c:
18041         Added more docs.
18042
18043         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18044         (gst_base_sink_do_sync), (gst_base_sink_chain):
18045         Added some comments.
18046
18047 2006-01-18  Wim Taymans  <wim@fluendo.com>
18048
18049         * tests/check/Makefile.am:
18050         * tests/check/elements/fakesink.c: (chain_async_buffer),
18051         (chain_async), (chain_async_return), (GST_START_TEST),
18052         (fakesink_suite), (main):
18053         Added fakesink test that checks prerolling and clipping
18054         behaviour.
18055
18056         * tests/check/gst/gstutils.c: (GST_START_TEST):
18057         Make check run faster so that buildbots don't timeout.
18058
18059 2006-01-18  Wim Taymans  <wim@fluendo.com>
18060
18061         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18062         (gst_base_sink_do_sync):
18063         Some cleanups.
18064         When the sink finishes blocking on the preroll buffer, it can
18065         immediatly render it instead of rendering when the next buffer
18066         arrives.
18067
18068 2006-01-18  Wim Taymans  <wim@fluendo.com>
18069
18070         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18071         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18072         (gst_base_sink_chain):
18073         Small cleanups.
18074         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18075         Don't store _last_stop if the buffer is dropped.
18076
18077 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18078
18079         * plugins/elements/gsttypefindelement.c:
18080         (gst_type_find_element_class_init):
18081           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18082           object method handler that sets the caps on the pad and we want
18083           that to happen before we emit the signal (fixes e.g. feeding a
18084           plain text file to decodebin).
18085
18086 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18087
18088         * gst/gstplugin.c: Add MPL and Proprietary as license options
18089
18090 2006-01-18  Andy Wingo  <wingo@pobox.com>
18091
18092         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18093         symbol was exported before, it appears this was just an oversight.
18094         Fixes #168703.
18095         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18096
18097         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18098         prototype to gint. OK since this prototype was not in the header.
18099
18100 2006-01-17  Andy Wingo  <wingo@pobox.com>
18101
18102         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18103         registry while we remove plugins.
18104
18105         * tools/gst-inspect.c (print_element_info): Don't unref the
18106         factory arg, that should be the responsibility of whatever code
18107         received the ref. Fixes a double-free when called from
18108         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18109         (main): Unref the factory if we have one.
18110         (print_element_list): No change -- relies on the
18111         plugin_feature_list_free to free the list of features.
18112
18113 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18114
18115         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18116         (gst_buffer_make_metadata_writable):
18117         * gst/gstbuffer.h:
18118         * libs/gst/base/gstbasetransform.c:
18119         (gst_base_transform_prepare_output_buf):
18120         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18121         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18122           Replace gst_buffer_(make|is)_metadata_writable patch now
18123           that the release is out.
18124
18125 2006-01-17  Andy Wingo  <wingo@pobox.com>
18126
18127         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18128         in the present tense without reference to versions.
18129
18130         * gst/gstregistry.c (gst_registry_add_plugin)
18131         (gst_registry_remove_plugin, gst_registry_remove_feature)
18132         (gst_registry_find_feature, gst_registry_get_feature_list)
18133         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18134         (gst_registry_lookup, gst_registry_scan_path)
18135         (_gst_registry_remove_cache_plugins)
18136         (gst_registry_get_feature_list_by_plugin): Add argument
18137         validation.
18138
18139 === release 0.10.2 ===
18140
18141 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18142
18143         * configure.ac:
18144           releasing 0.10.2, "If man is five"
18145
18146 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18147
18148         * gst/gstbuffer.c:
18149         * gst/gstbuffer.h:
18150         * libs/gst/base/gstbasetransform.c:
18151         (gst_base_transform_prepare_output_buf):
18152         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18153         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18154           Back out patch until after the release.
18155
18156 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18157
18158         * gst/gstminiobject.c:
18159           Spelling fix in docs.
18160         * ChangeLog - remove conflict indicator
18161
18162 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18163
18164         Reviewed By: Andy Wingo
18165
18166         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18167         (gst_buffer_make_metadata_writable):
18168         * gst/gstbuffer.h:
18169           Add gst_buffer_(is|make)_metadata_writable as analogues of
18170           gst_buffer_(is|make)_writable.
18171
18172         * libs/gst/base/gstbasetransform.c:
18173         (gst_base_transform_prepare_output_buf):
18174         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18175           Use name gst_buffer_(is|make)_metadata_writable functions.
18176
18177         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18178           Test gst_buffer_(is|make)_metadata_writable
18179         
18180           (Closes: #324162)
18181
18182 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18183
18184         * docs/manual/Makefile.am:
18185           don't do parallel make
18186         * configure.ac:
18187           AC_SUBST HOST_CPU
18188         * win32/common/config.h.in:
18189           add generations for HOST_CPU and GST_MAJORMINOR
18190         * win32/common/config.h:
18191           commit generated result
18192
18193 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18194
18195         * docs/manual/appendix-integration.xml:
18196           Update GNOME integration section to use gst_init_get_option_group()
18197           instead of the old popt stuff (#322911). Also, GNOME applications
18198           should  now use gconf*sink and gconf*src instead of the old gconf
18199           helper lib we had.
18200
18201 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18202
18203
18204         * docs/gst/gstreamer-docs.sgml:
18205         * docs/gst/gstreamer-sections.txt:
18206         * docs/libs/gstreamer-libs-sections.txt:
18207           add new API entries to the docs
18208         * libs/gst/controller/Makefile.am:
18209         * libs/gst/controller/gstcontroller.c:
18210         * libs/gst/controller/gstcontroller.h:
18211         * libs/gst/controller/gstcontrollerprivate.h:
18212         * libs/gst/controller/gsthelper.c:
18213         * libs/gst/controller/gstinterpolation.c:
18214           move private structs to private header
18215         * po/README:
18216           gstreamer-0.7 -> gstreamer-0.10
18217         * tests/check/libs/struct_i386.h:
18218           remove private structs
18219
18220 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18221
18222         * plugins/indexers/Makefile.am:
18223           Fixes as part of #317048
18224
18225 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18226
18227         * plugins/indexers/Makefile.am:
18228           fix #316086 - compilation when mmap is missing
18229
18230 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18231
18232         * libs/gst/base/gstbasesink.c:
18233           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18234           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18235         * win32/common/config.h:
18236           added some defines GST_MAJORMINOR and HOST_CPU
18237         * win32/common/libgstbase.def:
18238         * win32/common/libgstreamer.def:
18239           added some exported functions.
18240
18241 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18242
18243         * libs/gst/controller/gstcontroller.c:
18244         (gst_controlled_property_set_interpolation_mode),
18245         (gst_controlled_property_new):
18246         * libs/gst/controller/gstcontroller.h:
18247         * libs/gst/controller/gstinterpolation.c:
18248         (interpolate_none_get_string_value_array):
18249           make G_TYPE_STRING controlable
18250
18251 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18252
18253         * tools/README:
18254         * tools/gst-feedback.1.in:
18255         * tools/gst-inspect.1.in:
18256         * tools/gst-launch.1.in:
18257         * tools/gst-md5sum.1.in:
18258         * tools/gst-typefind.1.in:
18259         * tools/gst-xmlinspect.1.in:
18260         * tools/gst-xmllaunch.1.in:
18261           cleanup man-pages, remove reference to gst-register, document env-vars
18262
18263 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18264
18265         * gst/gstbuffer.c: (gst_buffer_span):
18266           gst_buffer_span should copy the timestamp of the first buffer
18267           if they were both originally overlapping subbuffers of the 
18268           same parent, using the same logic as the 'slow copy' case.
18269
18270 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18271
18272         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18273           Need to awaken ALL the pads when we pop a buffer, otherwise
18274           collectpads only works when there is 2 input streams.
18275
18276 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18277
18278         * docs/random/ensonic/media-device-daemon.txt:
18279           more ideas (dbus)
18280         * gst/gstbuffer.c:
18281           fix doc example, add clarification
18282         * tools/gst-launch.1.in:
18283           add initial info about GST_PLUGIN_PATH, needs more work
18284
18285 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18286
18287         * docs/manual/basics-bins.xml:
18288         * docs/manual/basics-elements.xml:
18289         * docs/manual/intro-basics.xml:
18290           Some more minor docs additions and updates.
18291
18292 2006-01-11  Wim Taymans  <wim@fluendo.com>
18293
18294         * docs/manual/basics-bins.xml:
18295         * docs/manual/basics-elements.xml:
18296         Some small fixes as pointed out by Ser-ver on IRC.
18297
18298 2006-01-10  Edward Hervey  <edward@fluendo.com>
18299
18300         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18301         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18302         the single-segment mode.
18303
18304 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18305
18306         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18307
18308         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18309         (gst_base_src_perform_seek), (gst_base_src_send_event),
18310         (gst_base_src_set_property), (gst_base_src_get_property),
18311         (gst_base_src_loop), (gst_base_src_start),
18312         (gst_base_src_activate_push):
18313         * libs/gst/base/gstbasesrc.h:
18314           Name (private) union; makes Sun's Forte compiler happy (#324900).
18315
18316 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18317
18318         * README:
18319           gst-register is gone.
18320
18321 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18322
18323         * gst/gstvalue.c: (_gst_value_initialize):
18324           make the G_TYPE_DATE instantiation work if debug is disabled
18325
18326 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18327
18328         * gst/gstmessage.c: (gst_message_parse_tag),
18329         (gst_message_parse_error), (gst_message_parse_warning):
18330           Don't crash when return location for error/warning debug
18331           string is NULL; add fact that return locations can be
18332           NULL to docs where appropriate.
18333
18334 2006-01-05  Wim Taymans  <wim@fluendo.com>
18335
18336         * gst/gstplugin.c: (gst_plugin_load_file):
18337         Replace strdup by g_strdup.
18338
18339 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18340
18341         * docs/pwg/advanced-types.xml:
18342           fix doc borkage
18343
18344 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18345
18346         submitted by: Abel Cheung
18347
18348         * po/LINGUAS:
18349         * po/zh_TW.po:
18350           Added Chinese (traditional) translation
18351
18352 2006-01-04  Wim Taymans  <wim@fluendo.com>
18353
18354         * docs/manual/basics-pads.xml:
18355         * docs/plugins/Makefile.am:
18356         * docs/plugins/gstreamer-plugins-docs.sgml:
18357         * docs/plugins/gstreamer-plugins-sections.txt:
18358         * docs/pwg/advanced-clock.xml:
18359         * docs/pwg/advanced-scheduling.xml:
18360         * docs/pwg/advanced-types.xml:
18361         * plugins/elements/gstfdsink.c:
18362         * plugins/elements/gstfdsrc.c:
18363         * plugins/elements/gstfdsrc.h:
18364         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18365         * plugins/elements/gstidentity.h:
18366         * plugins/elements/gstqueue.h:
18367         * plugins/elements/gsttee.c:
18368         * plugins/elements/gsttee.h:
18369         * plugins/elements/gsttypefindelement.c:
18370         (gst_type_find_element_class_init):
18371         * plugins/elements/gsttypefindelement.h:
18372         Small updates to various docs.
18373         Added core plugins to docs.
18374
18375 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18376
18377         * common/gst.supp:
18378           add a suppression for liboil's uninitialized variable
18379
18380 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18381
18382         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18383
18384         * gst/gstutils.h:
18385           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18386           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18387           compiler switch is being used (#325429).
18388
18389 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18390
18391         * gst/gstbin.c: (gst_bin_query):
18392           Disable duration query caching in bins until it gets
18393           fixed (see #324807).
18394
18395 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18396
18397         * tools/gst-inspect.c: (print_element_properties_info):
18398           Handle properties of POINTER and BOXED type.
18399
18400 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18401
18402         * gst/gst.c: (init_post):
18403           Init tags stuff and some other things before loading
18404           any static plugins (there may be other static plugins
18405           than just the GStreamer ones, and they may want to
18406           register their own tags or formats or whatever, and
18407           preferably without segfaulting).
18408
18409         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18410           Print at least a warning in the debug logs if we drop a
18411           query just because we don't know how to adjust the value
18412           in the particular format.
18413
18414 2005-12-24  David Schleef  <ds@schleef.org>
18415
18416         * tools/gstreamer-completion:
18417           Replacement for gst-complete written in sh and sed.  Only
18418           completes names of features, but that's 90% of what I want
18419           it for.  Properties are not available in registry.xml.  (Maybe
18420           they should be...)
18421
18422 === release 0.10.1 ===
18423
18424 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18425
18426         * configure.ac:
18427           releasing 0.10.1, "Nollaig chridheil"
18428
18429 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18430
18431         * docs/faq/cvs.xml:
18432           Add missing quote, should be make ERROR_CFLAGS="".
18433
18434 2005-12-20  Wim Taymans  <wim@fluendo.com>
18435
18436         * docs/design/part-trickmodes.txt:
18437         More documentation on trickmodes.
18438
18439 2005-12-20  Edward Hervey  <edward@fluendo.com>
18440
18441         * gst/gstcaps.c: (gst_static_caps_get_type):
18442         * gst/gstcaps.h:
18443           API addition: GST_TYPE_STATIC_CAPS
18444         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18445         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18446         * gst/gstpadtemplate.h:
18447           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18448         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18449         bindings.
18450
18451 2005-12-18  Wim Taymans  <wim@fluendo.com>
18452
18453         * libs/gst/base/gstadapter.c:
18454         * libs/gst/base/gstadapter.h:
18455         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18456         (gst_base_sink_get_position):
18457         * libs/gst/base/gstbasesink.h:
18458         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18459         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18460         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18461         (gst_base_src_send_event), (gst_base_src_update_length),
18462         (gst_base_src_get_range), (gst_base_src_loop),
18463         (gst_base_src_start):
18464         * libs/gst/base/gstbasesrc.h:
18465         * libs/gst/base/gstbasetransform.h:
18466         * libs/gst/base/gstcollectpads.h:
18467         * libs/gst/base/gstpushsrc.c:
18468         * libs/gst/base/gstpushsrc.h:
18469         * libs/gst/dataprotocol/dataprotocol.c:
18470         * libs/gst/dataprotocol/dataprotocol.h:
18471         * libs/gst/net/gstnetclientclock.h:
18472         * libs/gst/net/gstnettimeprovider.h:
18473         Documentation updates.
18474
18475 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18476
18477         * docs/manual/basics-helloworld.xml:
18478           Remove superfluous closing bracket in helloworld example.
18479
18480 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18481
18482         * tools/gst-launch.1.in:
18483           Update gst-launch man page; add a section with useful
18484           environment variables. Fixes #323882.
18485
18486 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18487
18488         * gst/gst.c:
18489         * gst/gst_private.h:
18490           change some char* into char[]
18491
18492 2005-12-16  Wim Taymans  <wim@fluendo.com>
18493
18494         * gst/gstregistryxml.c: (load_feature):
18495         Cleanups.
18496         Don't use g_object_unref on GstObjects so that we avoid
18497         leaks on unsafe glibs.
18498
18499 2005-12-16  Wim Taymans  <wim@fluendo.com>
18500
18501         * gst/gstbin.c: (gst_bin_recalc_state):
18502         Small doc updates.
18503
18504 2005-12-16  Wim Taymans  <wim@fluendo.com>
18505
18506         * common/check.mak:
18507         Added make forever target for check.
18508
18509 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18510
18511         * gst/gst.c: (init_post):
18512           make the registry cache file HOST_CPU-dependent
18513
18514 2005-12-16  Andy Wingo  <wingo@pobox.com>
18515
18516         * plugins/elements/gstbufferstore.c
18517         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18518         return value.
18519
18520         * tests/check/gst/gstobject.c
18521         (test_fake_object_name_threaded_unique): Pay attention to
18522         g_list_sort return value.
18523
18524 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18525
18526         * tools/gst-feedback-m.m:
18527           Update for 0.9/0.10 (fixes #323870).
18528
18529 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18530
18531         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18532           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18533           
18534         * tests/check/gst/gstminiobject.c: (my_foo_init),
18535         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18536         (test_value_collection), (gst_mini_object_suite):
18537           Add test to ensure refcounts end up as expected when passing
18538           GstMiniObjects through g_object_get() and g_object_set().
18539
18540 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18541
18542         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18543         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18544         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18545         of collectpads. This version removes a lot of races without
18546         touching API/ABI. Yay !
18547
18548 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18549
18550         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18551           Don't allow activation of a srcpad in pull_range if it has no
18552           getrange function.
18553           Change some debug statements to be a little clearer
18554
18555         * plugins/elements/gsttypefindelement.c:
18556         (gst_type_find_handle_src_query):
18557           Check that we have a peer before executing queries thereupon.
18558
18559         * tests/examples/metadata/read-metadata.c: (message_loop):
18560           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18561           immediately return us any available message with 0 timeout.
18562
18563 2005-12-12  Michael Smith  <msmith@fluendo.com>
18564
18565         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18566           Don't unref factories after calling them.
18567         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18568         * plugins/elements/gsttypefindelement.c:
18569         (gst_type_find_element_chain):
18570           Free lists of factories after using them. Fixing typefinding memory
18571           leaks.
18572
18573 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18574
18575         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18576         (gst_plugin_feature_load):
18577           more meaningful debug output
18578         * configure.ac:
18579         * tests/Makefile.am:
18580         * tests/old/examples/Makefile.am:
18581           make make distcheck happy again
18582
18583 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18584
18585         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18586           Catch the special case where we are operating chain-based,
18587           but the downstream peer pad has no chain function. Emit a
18588           custom error message in this case instead of letting the
18589           core generate one implying that this is some sort of core
18590           bug. It's not, it just means that whatever got plugged
18591           into the pipeline downstream when we announced the type
18592           can only operate pull-based, while our source can only
18593           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18594           Error string has not been marked for translation yet, as
18595           it probably needs some more work first.
18596
18597         (gst_type_find_element_get_best_possibility):
18598           Add helper function to find the best of all available
18599           found possibilities that qualify given the min. threshold.
18600
18601         (gst_type_find_element_handle_event):
18602           Fix the case where we get an EOS while still in TYPEFIND
18603           mode (we want to chose the best of all possible types,
18604           not just the first type that happens to be in our unsorted
18605           list of possible types).
18606
18607         (gst_type_find_element_chain):
18608           Make sure we return GST_FLOW_ERROR when we errored out
18609           in stop_typefinding(); also, don't just find the best of
18610           all found type entries and then use the last examined
18611           type entry, but actually use the best entry.
18612
18613 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18614
18615         * tests/examples/typefind/typefind.c: (type_found):
18616         * tests/examples/xml/runxml.c: (xml_loaded):
18617           More gcc4 fixes and a mem leak fix.
18618
18619 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18620
18621         * tests/examples/xml/createxml.c: (object_saved):
18622           gcc 4 fixes
18623
18624 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18625
18626         * tests/Makefile.am:
18627           enable the examples even more
18628
18629 2005-12-12  Andy Wingo  <wingo@pobox.com>
18630
18631         * libs/gst/net/gstnettimeprovider.c
18632         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18633         (gst_net_time_provider_set_property)
18634         (gst_net_time_provider_get_property):
18635         API addition: Export "active" as a GObject property.
18636         (gst_net_time_provider_thread): Only respond to time queries if
18637         the time provider is active.
18638
18639         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18640         NetTimeProvider, preserving binary compat.
18641
18642 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18643
18644         * tests/examples/controller/audio-example.c: (main):
18645         * tests/examples/launch/Makefile.am:
18646           convert comments again
18647
18648 2005-12-12  Wim Taymans  <wim@fluendo.com>
18649
18650         * libs/gst/base/gstpushsrc.c:
18651         Fix typo.
18652
18653 2005-12-12  Wim Taymans  <wim@fluendo.com>
18654
18655         * docs/libs/gstreamer-libs-sections.txt:
18656         Added new symbol to docs.
18657
18658         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18659         (gst_base_src_init), (gst_base_src_set_format),
18660         (gst_base_src_default_query), (gst_base_src_query),
18661         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18662         (gst_base_src_perform_seek), (gst_base_src_send_event),
18663         (gst_base_src_default_event), (gst_base_src_event_handler),
18664         (gst_base_src_set_property), (gst_base_src_get_property),
18665         (gst_base_src_wait), (gst_base_src_do_sync),
18666         (gst_base_src_update_length), (gst_base_src_get_range),
18667         (gst_base_src_check_get_range), (gst_base_src_loop),
18668         (gst_base_src_default_negotiate), (gst_base_src_start),
18669         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18670         (gst_base_src_change_state):
18671         * libs/gst/base/gstbasesrc.h:
18672         Implement seeking to other formats than _BYTES.
18673         Implement more seeking methods correctly.
18674         Doc updates.
18675         Added query vmethod.
18676         Added do_seek vmethod to make life easier for subclasses
18677         when seeking.
18678         API addition: gst_base_src_set_format()
18679
18680 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18681
18682         * tests/examples/Makefile.am:
18683           added that too
18684
18685 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18686
18687         * configure.ac:
18688         * docs/random/ensonic/media-device-daemon.txt:
18689         * tests/examples/controller/.cvsignore:
18690         * tests/examples/controller/Makefile.am:
18691         * tests/examples/controller/audio-example.c: (main):
18692         * tests/examples/helloworld/.cvsignore:
18693         * tests/examples/helloworld/Makefile.am:
18694         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18695         * tests/examples/launch/.cvsignore:
18696         * tests/examples/launch/Makefile.am:
18697         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18698         * tests/examples/metadata/.cvsignore:
18699         * tests/examples/metadata/Makefile.am:
18700         * tests/examples/metadata/read-metadata.c: (message_loop),
18701         (make_pipeline), (print_tag), (main):
18702         * tests/examples/queue/.cvsignore:
18703         * tests/examples/queue/Makefile.am:
18704         * tests/examples/queue/queue.c: (event_loop), (main):
18705         * tests/examples/typefind/.cvsignore:
18706         * tests/examples/typefind/Makefile.am:
18707         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18708         (main):
18709         * tests/examples/xml/.cvsignore:
18710         * tests/examples/xml/Makefile.am:
18711         * tests/examples/xml/createxml.c: (object_saved), (main):
18712         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18713         * tests/old/examples/Makefile.am:
18714         * tests/old/examples/TODO:
18715         * tests/old/examples/controller/.cvsignore:
18716         * tests/old/examples/controller/Makefile.am:
18717         * tests/old/examples/controller/audio-example.c:
18718         * tests/old/examples/helloworld/.cvsignore:
18719         * tests/old/examples/helloworld/Makefile.am:
18720         * tests/old/examples/helloworld/helloworld.c:
18721         * tests/old/examples/launch/.cvsignore:
18722         * tests/old/examples/launch/Makefile.am:
18723         * tests/old/examples/launch/mp3parselaunch.c:
18724         * tests/old/examples/launch/mp3play:
18725         * tests/old/examples/manual/Makefile.am:
18726         * tests/old/examples/metadata/Makefile.am:
18727         * tests/old/examples/metadata/read-metadata.c:
18728         * tests/old/examples/queue/.cvsignore:
18729         * tests/old/examples/queue/Makefile.am:
18730         * tests/old/examples/queue/queue.c:
18731         * tests/old/examples/typefind/.cvsignore:
18732         * tests/old/examples/typefind/Makefile.am:
18733         * tests/old/examples/typefind/typefind.c:
18734         * tests/old/examples/xml/.cvsignore:
18735         * tests/old/examples/xml/Makefile.am:
18736         * tests/old/examples/xml/createxml.c:
18737         * tests/old/examples/xml/runxml.c:
18738           applied some simple fixing to some examples
18739           re-enabled the working examples
18740
18741 2005-12-12  Wim Taymans  <wim@fluendo.com>
18742
18743         * gst/gstsegment.c: (gst_segment_init),
18744         (gst_segment_set_last_stop), (gst_segment_set_seek),
18745         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18746         (gst_segment_to_running_time):
18747         Added more documentation.
18748         Make sure the last_pos value is updated properly.
18749         Make sure to_stream_time and to_running_time don't
18750         operate on wrong values.
18751
18752         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18753         Update check.
18754
18755 2005-12-12  Michael Smith  <msmith@fluendo.com>
18756
18757         * plugins/elements/gsttypefindelement.c: (free_entry),
18758         (gst_type_find_element_chain):
18759           Now that we're not leaking factories, make sure we keep references
18760           to them while we need them.
18761
18762 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18763
18764         * tests/check/gst/struct_i386.h:
18765           ifdef out the XML structs
18766
18767 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18768
18769         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18770           floor is not needed, F is always positive; this obviates the
18771           need for adding -lm when building without libxml
18772
18773 2005-12-12  Wim Taymans  <wim@fluendo.com>
18774
18775         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18776         Take current playback rate into account when reporting
18777         the position.
18778
18779 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18780
18781         * docs/manual/mime-world.fig:
18782           Let's try this again, this time with a file that is
18783           actually in XFig format.
18784
18785 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18786
18787         * docs/manual/mime-world.fig:
18788           Add audioconvert element to diagram so that it
18789           matches the text and the code (fixes #319526).
18790
18791 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18792
18793         * docs/pwg/building-chainfn.xml:
18794         * docs/pwg/building-pads.xml:
18795         * docs/pwg/building-state.xml:
18796         * docs/pwg/other-source.xml:
18797           Update state change stuff for 0.10 (fixes #322969).
18798
18799 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18800
18801         * docs/manual/advanced-dataaccess.xml:
18802         * docs/manual/appendix-checklist.xml:
18803         * docs/manual/appendix-programs.xml:
18804         * docs/manual/basics-pads.xml:
18805         * docs/manual/highlevel-components.xml:
18806         * docs/manual/manual.xml:
18807           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18808           add converters in front of pipelines; remove curly
18809           brackets for threads stuff, they no longer exist; use
18810           GST_TYPE_FRACTION for framerates; update some pieces of
18811           code to 0.10, but there's plenty more to do.
18812
18813         * docs/manual/appendix-porting.xml:
18814           Expand on asynchroneous state changes; s/0.9/0.10/;
18815           mention disappearance of gst_init_get_popt_table()
18816           (fixes #322916).
18817
18818 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18819
18820         * docs/faq/using.xml:
18821           Spider no longer exists, and neither does gst-launch-ext.
18822           Update examples to use decodebin and playbin and put
18823           converters in front of sinks (fixes #323726).
18824
18825 2005-12-09  Michael Smith  <msmith@fluendo.com>
18826
18827         * plugins/elements/gsttypefindelement.c: (find_peek),
18828         (gst_type_find_element_chain):
18829           Fix leaking element factories in typefinding.
18830           Fix problem where we forgot about a probable type on non-seekable
18831           files, and thus later mis-typefound it.
18832
18833 2005-12-09  Michael Smith  <msmith@fluendo.com>
18834
18835         * common/m4/gst-makecontext.m4:
18836         * common/m4/gst-mcsc.m4:
18837         * configure.ac:
18838         * win32/common/config.h:
18839         * win32/common/config.h.in:
18840           Remove makecontext stuff; not used in 0.10 and causes problems on
18841           HPUX according to bug #322441
18842
18843 2005-12-07  Wim Taymans  <wim@fluendo.com>
18844
18845         * tests/check/Makefile.am:
18846         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18847         (main):
18848         * tests/check/libs/struct_i386.h:
18849         Added ABI check for libs
18850
18851 2005-12-07  Wim Taymans  <wim@fluendo.com>
18852
18853         * tests/check/Makefile.am:
18854         And add the struct_i386.h to dist.
18855
18856 2005-12-07  Wim Taymans  <wim@fluendo.com>
18857
18858         * tests/check/Makefile.am:
18859         * tests/check/gst/.cvsignore:
18860         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18861         (main):
18862         * tests/check/gst/struct_i386.h:
18863         Added check for ABI compatibility.
18864
18865 2005-12-07  Wim Taymans  <wim@fluendo.com>
18866
18867         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18868         (gst_fake_src_get_times), (gst_fake_src_create):
18869         Fix broken sync option, fixes #323259
18870
18871 2005-12-07  Wim Taymans  <wim@fluendo.com>
18872
18873         * gst/gstbuffer.c:
18874         Small docs update.
18875
18876         * gst/gstcaps.c: (gst_caps_is_equal):
18877         Don't assert on NULL <--> X. Fixes #323260
18878
18879         * gst/gstminiobject.c: (gst_mini_object_replace):
18880         If we're doing atomic operations, we might just as well use
18881         the proper way to get an atomic pointer.
18882
18883         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18884         Clean up debugging.
18885
18886 2005-12-07  Michael Smith  <msmith@fluendo.com>
18887
18888         * gst/parse/grammar.y:
18889           Remove handling of { } for threads.
18890
18891 2005-12-06  David Schleef  <ds@schleef.org>
18892
18893         * libs/gst/base/gstbasetransform.c: speling fix.
18894
18895 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18896
18897         * docs/libs/tmpl/gstdataprotocol.sgml:
18898         * docs/random/omega/testing/gstobject.c:
18899         * gst/gst.c:
18900         * gst/gstclock.c:
18901         * gst/gstelement.c:
18902         * gst/gstelementfactory.c:
18903         * gst/gsterror.c:
18904         * gst/gstevent.c:
18905         * gst/gstghostpad.c:
18906         * gst/gstinfo.c:
18907         * gst/gstpadtemplate.c:
18908         * gst/gstregistryxml.c:
18909         * gst/gsttaglist.c:
18910         * gst/gsttagsetter.c:
18911         * gst/gsttypefind.c:
18912         * gst/gstvalue.c:
18913         * libs/gst/base/gstbasesrc.c:
18914         * libs/gst/net/gstnetclientclock.c:
18915         * libs/gst/net/gstnettimeprovider.c:
18916         * plugins/elements/gstfakesrc.c:
18917         * plugins/elements/gstfdsrc.c:
18918         * plugins/elements/gstfilesrc.c:
18919         * plugins/elements/gstidentity.c:
18920         * plugins/elements/gstqueue.c:
18921         * plugins/elements/gsttypefindelement.c:
18922         * plugins/indexers/gstfileindex.c:
18923         * plugins/indexers/gstmemindex.c:
18924         * tests/check/gst/gsttag.c:
18925         * tests/old/examples/cutter/cutter.c:
18926         * tests/old/examples/mixer/mixer.c:
18927         * tests/old/examples/xml/runxml.c: (main):
18928         * tests/old/testsuite/caps/normalisation.c:
18929         * tests/old/testsuite/debug/global.c:
18930         * tests/old/testsuite/parse/parse1.c:
18931         * tools/gst-xmlinspect.c:
18932         * win32/common/dirent.c:
18933           expand tabs
18934
18935 === release 0.10.0 ===
18936
18937 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18938
18939         * configure.ac:
18940           releasing 0.10.0, "Maroilles"
18941
18942 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18943
18944         submitted by: Funda Wang <fundawang@linux.net.cn>
18945
18946         * po/LINGUAS:
18947         * po/zh_CN.po:
18948           added Chinese (Traditional) translation
18949
18950 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18951
18952         * docs/gst/gstreamer-sections.txt:
18953         * docs/libs/tmpl/gstdataprotocol.sgml:
18954         * docs/random/thomasvs/TODO:
18955         * gst/gstutils.c:
18956         * gst/gstutils.h:
18957           fix docs
18958
18959 2005-12-05  Andy Wingo  <wingo@pobox.com>
18960
18961         patch by: Wim Taymans <wim@fluendo.com>
18962
18963         * libs/gst/base/gstbasetransform.c
18964         (gst_base_transform_prepare_output_buf)
18965         (gst_base_transform_buffer_alloc):
18966         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18967         alloc_buffer_and_set_caps.
18968
18969         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18970         set_caps on the source pad.
18971         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18972         alloc_buffer used to do. Fixes #322874.
18973
18974         * docs/gst/gstreamer-sections.txt: 
18975         * docs/design/part-negotiation.txt: 
18976         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18977         changes.
18978
18979 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18980
18981         patch by: Sebastien Moutte
18982
18983         * win32/MANIFEST:
18984         * win32/common/config.h.in:
18985         * win32/vs6/libgstcontroller.dsp:
18986           win32 build fixes
18987
18988 2005-12-05  Wim Taymans  <wim@fluendo.com>
18989
18990         * gst/gstcaps.c: (gst_caps_is_equal):
18991         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18992         (gst_fake_src_create):
18993         Back out previous code changes, leave doc updates, file bugs 
18994         instead. 
18995
18996 2005-12-05  Wim Taymans  <wim@fluendo.com>
18997
18998         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18999         (gst_fake_src_get_times), (gst_fake_src_create):
19000         * plugins/elements/gstfakesrc.h:
19001         Fix broken sync code.
19002
19003 2005-12-05  Wim Taymans  <wim@fluendo.com>
19004
19005         * gst/gstcaps.c: (gst_caps_is_equal):
19006         Comparing NULL against !NULL yields different caps, not a
19007         failure.
19008
19009 2005-12-05  Wim Taymans  <wim@fluendo.com>
19010
19011         * gst/gstpipeline.c:
19012         Fix small typo in docs.
19013
19014 2005-12-05  Andy Wingo  <wingo@pobox.com>
19015
19016         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19017
19018         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19019         registries/plugins with a MAJORMINOR one.
19020         (plugin_desc): Rename library from gstcoreleements to
19021         staticelements. Fixes #323222.
19022
19023 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19024
19025         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19026           Change debug category to 'collectpads' from 'collect_pads'
19027           (fixes #323250).
19028
19029 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19030
19031         patch by: Sebastien Moutte
19032
19033         * libs/gst/controller/gstinterpolation.c:
19034           use convert function for uint64/double
19035         * win32/vs6/libgstcontroller.dsp:
19036           link to GLib
19037
19038 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19039
19040         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19041         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19042         * gst/gstutils.h:
19043         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19044           add tests that seem to show that the guint64/gdouble conversions
19045           are correct.
19046
19047 2005-12-02  Wim Taymans  <wim@fluendo.com>
19048
19049         * gst/gstregistry.c: (gst_registry_add_path):
19050         * gst/gstregistry.h:
19051         * gst/gstregistryxml.c:
19052         Fix docs again.
19053
19054 2005-12-02  Wim Taymans  <wim@fluendo.com>
19055
19056         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19057         (gst_util_uint64_scale_int):
19058         Small cleanup.
19059
19060         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19061         Add debug log line.
19062
19063         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19064         Add FIXME.
19065
19066 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19067
19068         * win32/MANIFEST:
19069         * win32/common/config.h:
19070         * win32/vs6/gstreamer.dsw:
19071         * win32/vs6/libgstcoreelements.dsp:
19072         * win32/vs6/libgstelements.dsp:
19073           renamed core elements plugin
19074
19075 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19076
19077         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19078         (get_candidates):
19079           do piece-wise major/minor comparison so 0.9 < 0.10
19080           also allow .exe extensions for tools
19081
19082 2005-12-02  Michael Smith  <msmith@fluendo.com>
19083
19084         * gst/gst.c:
19085           Escape a % to make gtkdoc happier; bug 322958.
19086
19087 === release 0.9.7 ===
19088
19089 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19090
19091         * configure.ac:
19092           releasing 0.9.7, "My Dog Has No Nose"
19093
19094 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19095
19096         * common/gst-xmlinspect.py:
19097         * configure.ac:
19098         * docs/libs/tmpl/gstdataprotocol.sgml:
19099         * docs/random/release:
19100         * po/af.po:
19101         * po/az.po:
19102         * po/bg.po:
19103         * po/ca.po:
19104         * po/cs.po:
19105         * po/de.po:
19106         * po/en_GB.po:
19107         * po/fr.po:
19108         * po/it.po:
19109         * po/nb.po:
19110         * po/nl.po:
19111         * po/ru.po:
19112         * po/sq.po:
19113         * po/sr.po:
19114         * po/sv.po:
19115         * po/tr.po:
19116         * po/uk.po:
19117         * po/vi.po:
19118         * win32/common/config.h:
19119         * win32/common/config.h.in:
19120         * win32/vs6/gst_inspect.dsp:
19121         * win32/vs6/gst_launch.dsp:
19122         * win32/vs6/libgstbase.dsp:
19123         * win32/vs6/libgstelements.dsp:
19124         * win32/vs6/libgstreamer.dsp:
19125         * win32/vs7/GStreamer.vcproj:
19126         * win32/vs7/gst-inspect.vcproj:
19127         * win32/vs7/gst-launch.vcproj:
19128         * win32/vs7/libgstbase.vcproj:
19129           bump GST_MAJORMINOR to 0.10
19130           reset libtool version
19131
19132 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19133
19134         * po/LINGUAS:
19135         * po/bg.po:
19136           Added Bulgarian translation by (Alexander Shopov)
19137
19138 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19139
19140         * tests/check/gst/gstplugin.c:
19141           fix test
19142
19143 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19144
19145         * common/gst-xmlinspect.py:
19146         * common/gtk-doc-plugins.mak:
19147         * configure.ac:
19148         * docs/Makefile.am:
19149         * docs/gst/Makefile.am:
19150         * docs/gst/gstreamer-docs.sgml:
19151         * docs/gst/gstreamer-sections.txt:
19152         * docs/gst/gstreamer.types:
19153         * docs/gst/gstreamer.types.in:
19154         * docs/plugins/Makefile.am:
19155         * docs/plugins/gstreamer-plugins-docs.sgml:
19156         * docs/plugins/gstreamer-plugins-sections.txt:
19157         * docs/plugins/gstreamer-plugins.types:
19158         * docs/plugins/inspect.stamp:
19159         * docs/plugins/inspect/plugin-coreelements.xml:
19160         * docs/plugins/inspect/plugin-coreindexers.xml:
19161         * docs/plugins/scanobj-build.stamp:
19162         * gstreamer.spec.in:
19163         * plugins/elements/Makefile.am:
19164         * plugins/elements/gstelements.c:
19165         * plugins/elements/gstfakesink.c:
19166         * plugins/elements/gstfakesrc.c:
19167         * plugins/elements/gstfilesink.c:
19168         * plugins/elements/gstfilesrc.c:
19169         * plugins/elements/gstqueue.c:
19170         * plugins/indexers/Makefile.am:
19171         * plugins/indexers/gstindexers.c:
19172           document core plugins in a separate document just like all the
19173           others
19174           rename these plugins to something starting with core
19175
19176 2005-12-01  Andy Wingo  <wingo@pobox.com>
19177
19178         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19179         padding here before, but it missed the commit.
19180
19181 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19182
19183         * libs/gst/controller/gstinterpolation.c:
19184           whitespace prices have crashed, we should feel free to use some now
19185           use gst_guint64_to_gdouble
19186
19187 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19188
19189         * libs/gst/controller/gstcontroller.c:
19190         * libs/gst/controller/gsthelper.c:
19191         * libs/gst/controller/gstinterpolation.c:
19192         * libs/gst/controller/lib.c:
19193           wrap config.h include
19194
19195 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19196
19197         * docs/gst/gstreamer-sections.txt:
19198           update docs
19199
19200 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19201
19202         * plugins/elements/gstelements.c:
19203         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19204         (gst_fd_sink__class_init), (gst_fd_sink__init),
19205         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19206         (gst_fd_sink__get_property):
19207         * plugins/elements/gstfdsink.h:
19208         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19209         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19210         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19211         (gst_fd_src_unlock), (gst_fd_src_set_property),
19212         (gst_fd_src_get_property), (gst_fd_src_create),
19213         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19214         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19215         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19216         (gst_fd_src_uri_handler_init):
19217         * plugins/elements/gstfdsrc.h:
19218         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19219           more anal cleanup
19220
19221 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19222
19223         * docs/gst/Makefile.am:
19224         * docs/gst/gstreamer.types.in:
19225         * gst/Makefile.am:
19226           fix the docs build
19227
19228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19229
19230         * configure.ac:
19231         * gst/Makefile.am:
19232         * gst/gst.c:
19233         * gst/gstplugin.h:
19234         * gst/gstregistry.h:
19235         * tests/benchmarks/complexity.c:
19236         * tests/benchmarks/mass-elements.c:
19237         * tests/check/Makefile.am:
19238         * tools/Makefile.am:
19239         * tools/gst-inspect.c:
19240         * tools/gst-xmlinspect.c:
19241           various fixes to make
19242           --disable-nls --disable-registry --disable-loadsave
19243           --disable-parse --disable-gst-debug
19244           work and get the core .so down to 360444 bytes after stripping
19245
19246 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19247
19248         * Makefile.am:
19249         * configure.ac:
19250           descend into tests
19251         * docs/random/thomasvs/TODO:
19252         * tests/Makefile.am:
19253         * tests/README:
19254           add a README
19255
19256 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19257
19258         * win32/GStreamer.vcproj:
19259         * win32/MANIFEST:
19260         * win32/Makefile:
19261         * win32/Makefile.inspect:
19262         * win32/Makefile.launch:
19263         * win32/Makefile.register:
19264         * win32/README.txt:
19265         * win32/gst-inspect.vcproj:
19266         * win32/gst-launch.vcproj:
19267         * win32/gst-register.vcproj:
19268         * win32/gstelements.vcproj:
19269         * win32/gstgetbits.def:
19270         * win32/gstgetbits.vcproj:
19271         * win32/gstreamer-dbg.def:
19272         * win32/gstreamer.def:
19273         * win32/libgstbase.def:
19274         * win32/libgstbase.vcproj:
19275         * win32/link_oldruntime.c:
19276         * win32/mman.c:
19277         * win32/mman.h:
19278         * win32/mman.inl:
19279         * win32/msvc71.sln:
19280           move even more stuff, win32/ is nice and clean now
19281
19282 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19283
19284         * libs/gst/control/.cvsignore:
19285         * win32/MANIFEST:
19286         * win32/config.h:
19287         * win32/dirent.c:
19288         * win32/dirent.h:
19289         * win32/gstbytestream.def:
19290         * win32/gstbytestream.vcproj:
19291         * win32/gstconfig.h:
19292         * win32/gstenumtypes.c:
19293         * win32/gstenumtypes.h:
19294         * win32/gstoptimalscheduler.vcproj:
19295         * win32/gstversion.h:
19296         * win32/gtchar.h:
19297         * win32/testsuite/bins.vcproj:
19298         * win32/testsuite/bytestream.vcproj:
19299         * win32/testsuite/caps.vcproj:
19300         * win32/testsuite/cleanup.vcproj:
19301         * win32/testsuite/clock.vcproj:
19302         * win32/testsuite/debug.vcproj:
19303         * win32/testsuite/dlopen.vcproj:
19304         * win32/testsuite/dynparams.vcproj:
19305         * win32/testsuite/elements.vcproj:
19306         * win32/testsuite/ghostpads.vcproj:
19307         * win32/testsuite/indexers.vcproj:
19308         * win32/testsuite/negotiation.vcproj:
19309         * win32/testsuite/parse.vcproj:
19310         * win32/testsuite/plugin.vcproj:
19311         * win32/testsuite/refcounting.vcproj:
19312         * win32/testsuite/schedulers.vcproj:
19313         * win32/testsuite/states.vcproj:
19314         * win32/testsuite/tags.vcproj:
19315         * win32/testsuite/threads.vcproj:
19316           remove old win32 stuff that isn't maintained and should be
19317           reorganized
19318
19319 2005-11-30  Andy Wingo  <wingo@pobox.com>
19320
19321         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19322         loading the gst.interfaces python module bork.
19323
19324         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19325         available since GLib 2.2. Fixes #318031.
19326
19327 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19328
19329         * Makefile.am:
19330         * check/.cvsignore:
19331         * check/Makefile.am:
19332         * check/elements/.cvsignore:
19333         * check/elements/fakesrc.c:
19334         * check/elements/fdsrc.c:
19335         * check/elements/identity.c:
19336         * check/generic/.cvsignore:
19337         * check/generic/states.c:
19338         * check/gst-libs/.cvsignore:
19339         * check/gst-libs/controller.c:
19340         * check/gst-libs/gdp.c:
19341         * check/gst/.cvsignore:
19342         * check/gst/capslist.h:
19343         * check/gst/gst.c:
19344         * check/gst/gstbin.c:
19345         * check/gst/gstbuffer.c:
19346         * check/gst/gstbus.c:
19347         * check/gst/gstcaps.c:
19348         * check/gst/gstelement.c:
19349         * check/gst/gstevent.c:
19350         * check/gst/gstghostpad.c:
19351         * check/gst/gstiterator.c:
19352         * check/gst/gstmessage.c:
19353         * check/gst/gstminiobject.c:
19354         * check/gst/gstobject.c:
19355         * check/gst/gstpad.c:
19356         * check/gst/gstpipeline.c:
19357         * check/gst/gstplugin.c:
19358         * check/gst/gstsegment.c:
19359         * check/gst/gststructure.c:
19360         * check/gst/gstsystemclock.c:
19361         * check/gst/gsttag.c:
19362         * check/gst/gstutils.c:
19363         * check/gst/gstvalue.c:
19364         * check/net/.cvsignore:
19365         * check/net/gstnetclientclock.c:
19366         * check/net/gstnettimeprovider.c:
19367         * check/pipelines/.cvsignore:
19368         * check/pipelines/cleanup.c:
19369         * check/pipelines/simple_launch_lines.c:
19370         * check/pipelines/stress.c:
19371         * check/states/.cvsignore:
19372         * check/states/sinks.c:
19373         * configure.ac:
19374         * examples/Makefile.am:
19375         * examples/appreader/.cvsignore:
19376         * examples/appreader/Makefile.am:
19377         * examples/appreader/appreader.c:
19378         * examples/controller/.cvsignore:
19379         * examples/controller/Makefile.am:
19380         * examples/controller/audio-example.c:
19381         * examples/cutter/.cvsignore:
19382         * examples/cutter/Makefile.am:
19383         * examples/cutter/cutter.c:
19384         * examples/cutter/cutter.h:
19385         * examples/events/Makefile.am:
19386         * examples/events/seek.c:
19387         * examples/helloworld/.cvsignore:
19388         * examples/helloworld/Makefile.am:
19389         * examples/helloworld/helloworld.c:
19390         * examples/helloworld2/.cvsignore:
19391         * examples/helloworld2/Makefile.am:
19392         * examples/helloworld2/helloworld2.c:
19393         * examples/launch/.cvsignore:
19394         * examples/launch/Makefile.am:
19395         * examples/launch/mp3parselaunch.c:
19396         * examples/launch/mp3play:
19397         * examples/manual/.cvsignore:
19398         * examples/manual/Makefile.am:
19399         * examples/manual/extract.pl:
19400         * examples/metadata/Makefile.am:
19401         * examples/metadata/read-metadata.c:
19402         * examples/mixer/.cvsignore:
19403         * examples/mixer/Makefile.am:
19404         * examples/mixer/mixer.c:
19405         * examples/mixer/mixer.h:
19406         * examples/pingpong/.cvsignore:
19407         * examples/pingpong/Makefile.am:
19408         * examples/pingpong/pingpong.c:
19409         * examples/plugins/.cvsignore:
19410         * examples/plugins/Makefile.am:
19411         * examples/plugins/example.c:
19412         * examples/plugins/example.h:
19413         * examples/pwg/.cvsignore:
19414         * examples/pwg/Makefile.am:
19415         * examples/pwg/extract.pl:
19416         * examples/queue/.cvsignore:
19417         * examples/queue/Makefile.am:
19418         * examples/queue/queue.c:
19419         * examples/queue2/.cvsignore:
19420         * examples/queue2/Makefile.am:
19421         * examples/queue2/queue2.c:
19422         * examples/queue3/.cvsignore:
19423         * examples/queue3/Makefile.am:
19424         * examples/queue3/queue3.c:
19425         * examples/queue4/.cvsignore:
19426         * examples/queue4/Makefile.am:
19427         * examples/queue4/queue4.c:
19428         * examples/retag/.cvsignore:
19429         * examples/retag/Makefile.am:
19430         * examples/retag/retag.c:
19431         * examples/retag/transcode.c:
19432         * examples/thread/.cvsignore:
19433         * examples/thread/Makefile.am:
19434         * examples/thread/thread.c:
19435         * examples/typefind/.cvsignore:
19436         * examples/typefind/Makefile.am:
19437         * examples/typefind/typefind.c:
19438         * examples/xml/.cvsignore:
19439         * examples/xml/Makefile.am:
19440         * examples/xml/createxml.c:
19441         * examples/xml/runxml.c:
19442         * tests/Makefile.am:
19443         * tests/check/Makefile.am:
19444         * testsuite/.cvsignore:
19445         * testsuite/Makefile.am:
19446         * testsuite/Rules:
19447         * testsuite/caps/.cvsignore:
19448         * testsuite/caps/Makefile.am:
19449         * testsuite/caps/app_fixate.c:
19450         * testsuite/caps/audioscale.c:
19451         * testsuite/caps/caps.c:
19452         * testsuite/caps/caps.h:
19453         * testsuite/caps/caps_strings:
19454         * testsuite/caps/compatibility.c:
19455         * testsuite/caps/deserialize.c:
19456         * testsuite/caps/enumcaps.c:
19457         * testsuite/caps/eratosthenes.c:
19458         * testsuite/caps/filtercaps.c:
19459         * testsuite/caps/fixed.c:
19460         * testsuite/caps/fraction-convert.c:
19461         * testsuite/caps/fraction-multiply-and-zero.c:
19462         * testsuite/caps/intersect2.c:
19463         * testsuite/caps/intersection.c:
19464         * testsuite/caps/normalisation.c:
19465         * testsuite/caps/random.c:
19466         * testsuite/caps/renegotiate.c:
19467         * testsuite/caps/sets.c:
19468         * testsuite/caps/simplify.c:
19469         * testsuite/caps/string-conversions.c:
19470         * testsuite/caps/structure.c:
19471         * testsuite/caps/subtract.c:
19472         * testsuite/caps/union.c:
19473         * testsuite/debug/.cvsignore:
19474         * testsuite/debug/Makefile.am:
19475         * testsuite/debug/category.c:
19476         * testsuite/debug/commandline.c:
19477         * testsuite/debug/global.c:
19478         * testsuite/debug/output.c:
19479         * testsuite/debug/printf_extension.c:
19480         * testsuite/dlopen/.cvsignore:
19481         * testsuite/dlopen/Makefile.am:
19482         * testsuite/dlopen/dlopen_gst.c:
19483         * testsuite/dlopen/loadgst.c:
19484         * testsuite/elements/.cvsignore:
19485         * testsuite/elements/Makefile.am:
19486         * testsuite/elements/gst-inspect-check.in:
19487         * testsuite/elements/struct_i386.h:
19488         * testsuite/elements/struct_size.c:
19489         * testsuite/indexers/.cvsignore:
19490         * testsuite/indexers/Makefile.am:
19491         * testsuite/indexers/cache1.c:
19492         * testsuite/indexers/indexdump.c:
19493         * testsuite/parse/.cvsignore:
19494         * testsuite/parse/Makefile.am:
19495         * testsuite/parse/parse1.c:
19496         * testsuite/parse/parse2.c:
19497         * testsuite/plugin/.cvsignore:
19498         * testsuite/plugin/Makefile.am:
19499         * testsuite/plugin/README:
19500         * testsuite/plugin/dynamic.c:
19501         * testsuite/plugin/linked.c:
19502         * testsuite/plugin/loading.c:
19503         * testsuite/plugin/registry.c:
19504         * testsuite/plugin/static.c:
19505         * testsuite/plugin/static2.c:
19506         * testsuite/plugin/testplugin.c:
19507         * testsuite/plugin/testplugin2.c:
19508         * testsuite/plugin/testplugin2_s.c:
19509         * testsuite/plugin/testplugin_s.c:
19510         * testsuite/refcounting/.cvsignore:
19511         * testsuite/refcounting/Makefile.am:
19512         * testsuite/refcounting/bin.c:
19513         * testsuite/refcounting/element.c:
19514         * testsuite/refcounting/element_pad.c:
19515         * testsuite/refcounting/mainloop.c:
19516         * testsuite/refcounting/mem.c:
19517         * testsuite/refcounting/mem.h:
19518         * testsuite/refcounting/object.c:
19519         * testsuite/refcounting/pad.c:
19520         * testsuite/refcounting/sched.c:
19521         * testsuite/refcounting/thread.c:
19522         * testsuite/states/.cvsignore:
19523         * testsuite/states/Makefile.am:
19524         * testsuite/states/bin.c:
19525         * testsuite/states/locked.c:
19526         * testsuite/states/parent.c:
19527         * testsuite/threads/.cvsignore:
19528         * testsuite/threads/159566.c:
19529         * testsuite/threads/159852.c:
19530         * testsuite/threads/Makefile.am:
19531         * testsuite/threads/queue.c:
19532         * testsuite/threads/signals.c:
19533         * testsuite/threads/staticrec.c:
19534         * testsuite/threads/thread.c:
19535         * testsuite/threads/threadb.c:
19536         * testsuite/threads/threadc.c:
19537         * testsuite/threads/threadd.c:
19538         * testsuite/threads/threade.c:
19539         * testsuite/threads/threadf.c:
19540         * testsuite/threads/threadg.c:
19541         * testsuite/threads/threadh.c:
19542         * testsuite/threads/threadi.c:
19543           move all of these under tests
19544
19545 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19546
19547         * configure.ac:
19548         * tests/Makefile.am:
19549           fix distcheck
19550
19551 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19552
19553         * docs/gst/gstreamer-sections.txt:
19554         * tests/sched/.cvsignore:
19555         * tests/sched/Makefile.am:
19556         * tests/sched/cases/(fs-fs).xml:
19557         * tests/sched/cases/(fs-i-fs).xml:
19558         * tests/sched/cases/(fs-i-i-fs).xml:
19559         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19560         * tests/sched/dynamic-pipeline.c:
19561         * tests/sched/interrupt1.c:
19562         * tests/sched/interrupt2.c:
19563         * tests/sched/interrupt3.c:
19564         * tests/sched/runtestcases:
19565         * tests/sched/runxml.c:
19566         * tests/sched/sched-stress.c:
19567         * tests/sched/sort.c:
19568         * tests/sched/testcases:
19569         * tests/sched/testcases1.tc:
19570         * tests/seeking/.cvsignore:
19571         * tests/seeking/Makefile.am:
19572         * tests/seeking/seeking1.c:
19573         * tests/threadstate/.cvsignore:
19574         * tests/threadstate/Makefile.am:
19575         * tests/threadstate/test1.c:
19576         * tests/threadstate/test2.c:
19577         * tests/threadstate/threadstate1.c:
19578         * tests/threadstate/threadstate2.c:
19579         * tests/threadstate/threadstate3.c:
19580         * tests/threadstate/threadstate4.c:
19581         * tests/threadstate/threadstate5.c:
19582           remove obsolete tests
19583         * configure.ac:
19584         * tests/bench-complexity.scm:
19585         * tests/bench-mass_elements.scm:
19586         * tests/complexity.c:
19587         * tests/complexity.gnuplot:
19588         * tests/instantiate/.cvsignore:
19589         * tests/instantiate/Makefile.am:
19590         * tests/instantiate/caps.c:
19591         * tests/mass_elements.c:
19592         * tests/network-clock-utils.scm:
19593         * tests/network-clock.scm:
19594         * tests/plot-data:
19595         First pass at cleaning up tests/ dir before moving the rest
19596         Combined with CVS surgery
19597
19598 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19599
19600         * po/POTFILES.in:
19601           queue has moved, update
19602
19603 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19604
19605         * docs/gst/gstreamer-sections.txt:
19606           remove double entries from the docs
19607         * gst/gst_private.h:
19608         * gst/gstinfo.c: (_gst_debug_init):
19609           remove the THREAD debug category
19610         * gst/Makefile.am:
19611         * gst/gstqueue.c:
19612         * gst/gstqueue.h:
19613         * docs/gst/gstreamer.types:
19614         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19615         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19616           completely move queue and fix up debugging categories
19617
19618 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19619
19620         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19621           make initialization portable, using LL is not
19622
19623 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19624
19625         * win32/common/gstconfig.h:
19626           add large padding
19627
19628 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19629
19630         * win32/common/libgstreamer.def:
19631           rename symbols; sort base section
19632
19633 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19634
19635         * gst/gstclock.c: (do_linear_regression):
19636           remove crack non-portable handrolled DEBUG macro
19637
19638 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19639
19640         * docs/random/release:
19641           update notes
19642         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19643         (gst_object_flags_get_type), (register_gst_bin_flags),
19644         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19645         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19646         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19647         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19648         (gst_caps_flags_get_type), (register_gst_clock_return),
19649         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19650         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19651         (gst_clock_flags_get_type), (register_gst_state),
19652         (gst_state_get_type), (register_gst_state_change_return),
19653         (gst_state_change_return_get_type), (register_gst_state_change),
19654         (gst_state_change_get_type), (register_gst_element_flags),
19655         (gst_element_flags_get_type), (register_gst_core_error),
19656         (gst_core_error_get_type), (register_gst_library_error),
19657         (gst_library_error_get_type), (register_gst_resource_error),
19658         (gst_resource_error_get_type), (register_gst_stream_error),
19659         (gst_stream_error_get_type), (register_gst_event_type_flags),
19660         (gst_event_type_flags_get_type), (register_gst_event_type),
19661         (gst_event_type_get_type), (register_gst_seek_type),
19662         (gst_seek_type_get_type), (register_gst_seek_flags),
19663         (gst_seek_flags_get_type), (register_gst_format),
19664         (gst_format_get_type), (register_gst_index_certainty),
19665         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19666         (gst_index_entry_type_get_type),
19667         (register_gst_index_lookup_method),
19668         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19669         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19670         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19671         (gst_index_flags_get_type), (register_gst_debug_level),
19672         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19673         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19674         (gst_iterator_result_get_type), (register_gst_iterator_item),
19675         (gst_iterator_item_get_type), (register_gst_message_type),
19676         (gst_message_type_get_type), (register_gst_mini_object_flags),
19677         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19678         (gst_pad_link_return_get_type), (register_gst_flow_return),
19679         (gst_flow_return_get_type), (register_gst_activate_mode),
19680         (gst_activate_mode_get_type), (register_gst_pad_direction),
19681         (gst_pad_direction_get_type), (register_gst_pad_flags),
19682         (gst_pad_flags_get_type), (register_gst_pad_presence),
19683         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19684         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19685         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19686         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19687         (gst_plugin_flags_get_type), (register_gst_rank),
19688         (gst_rank_get_type), (register_gst_query_type),
19689         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19690         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19691         (gst_tag_flag_get_type), (register_gst_task_state),
19692         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19693         (gst_alloc_trace_flags_get_type),
19694         (register_gst_type_find_probability),
19695         (gst_type_find_probability_get_type), (register_gst_uri_type),
19696         (gst_uri_type_get_type), (register_gst_parse_error),
19697         (gst_parse_error_get_type):
19698         * win32/common/gstenumtypes.h:
19699         * win32/common/gstversion.h:
19700           update visual studio generated files
19701
19702 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19703
19704         * win32/vs6/libgstbase.dsp:
19705         * win32/vs6/libgstelements.dsp:
19706           update project files for new locations
19707
19708 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19709
19710         * Makefile.am:
19711           remove some files
19712         * README:
19713           reinstate and update
19714         * DEVEL:
19715         * REQUIREMENTS:
19716           removed
19717         * LICENSE:
19718         * docs/random/LICENSE:
19719           moved to random
19720
19721 2005-11-30  Edward Hervey  <edward@fluendo.com>
19722
19723         * gst/gsttypefind.c: (gst_type_find_register):
19724         * gst/gsttypefind.h:
19725         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19726         (gst_type_find_factory_dispose):
19727         * gst/gsttypefindfactory.h:
19728         Fix memory leak in GstTypeFindFactory.
19729
19730 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19731
19732         * gst/gst.c:
19733         * plugins/elements/Makefile.am:
19734         * plugins/elements/gstelements.c:
19735         * plugins/elements/gstqueue.c:
19736           move queue from core to the elements plugin
19737
19738 2005-11-29  Andy Wingo  <wingo@pobox.com>
19739
19740         * libs/gst/base/gstbasetransform.h: 
19741         * libs/gst/base/gstbasesrc.h: 
19742         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19743
19744         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19745         of pointers by which to pad very extensible base classes (like the
19746         ones in libs/gst/base).
19747
19748 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19749
19750         * docs/gst/gstreamer-docs.sgml:
19751         * docs/gst/gstreamer-sections.txt:
19752         * docs/libs/gstreamer-libs-docs.sgml:
19753         * docs/libs/gstreamer-libs-sections.txt:
19754           moving documentation from core to lib
19755
19756 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19757
19758         * check/Makefile.am:
19759         * configure.ac:
19760         * docs/gst/Makefile.am:
19761         * gst/Makefile.am:
19762         * gst/base/.cvsignore:
19763         * gst/base/Makefile.am:
19764         * gst/base/README:
19765         * gst/base/gstadapter.c:
19766         * gst/base/gstadapter.h:
19767         * gst/base/gstbasesink.c:
19768         * gst/base/gstbasesink.h:
19769         * gst/base/gstbasesrc.c:
19770         * gst/base/gstbasesrc.h:
19771         * gst/base/gstbasetransform.c:
19772         * gst/base/gstbasetransform.h:
19773         * gst/base/gstcollectpads.c:
19774         * gst/base/gstcollectpads.h:
19775         * gst/base/gstpushsrc.c:
19776         * gst/base/gstpushsrc.h:
19777         * gst/base/gsttypefindhelper.c:
19778         * gst/base/gsttypefindhelper.h:
19779         * gst/check/Makefile.am:
19780         * gst/check/gstcheck.c:
19781         * gst/check/gstcheck.h:
19782         * gst/net/Makefile.am:
19783         * gst/net/gstnet.h:
19784         * gst/net/gstnetclientclock.c:
19785         * gst/net/gstnetclientclock.h:
19786         * gst/net/gstnettimepacket.c:
19787         * gst/net/gstnettimepacket.h:
19788         * gst/net/gstnettimeprovider.c:
19789         * gst/net/gstnettimeprovider.h:
19790         * libs/gst/Makefile.am:
19791         * libs/gst/base/Makefile.am:
19792         * libs/gst/base/gstbasetransform.c:
19793         * libs/gst/check/Makefile.am:
19794         * plugins/elements/Makefile.am:
19795         * po/POTFILES.in:
19796           CVS surgery + support to move base, check, and net out of gst
19797           and into libs/gst
19798
19799 2005-11-29  Andy Wingo  <wingo@pobox.com>
19800
19801         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19802
19803         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19804         padding.
19805
19806         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19807
19808         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19809
19810         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19811
19812         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19813         padding; reduces object size by about 30%. We don't expect
19814         anything else to go into gstobject.
19815
19816         * gst/gstminiobject.h (struct _GstMiniObject)
19817         (struct _GstMiniObjectClass): Only one pointer of padding; the
19818         payload is only a pointer and two ints anyway. For the class there
19819         are only two methods as well.
19820         
19821         * gst/gstelement.h (struct _GstElementClass): Removed
19822         the state_changed signal callback, it is not used.
19823
19824 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19825
19826         * docs/gst/gstreamer.types:
19827           fix includes, though they are a little dinky
19828
19829 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19830
19831         * check/Makefile.am:
19832           look in the right place for elements, a lot more chance of
19833           success
19834         * gst/Makefile.am:
19835           remove indexers and elements subdirs
19836         * plugins/Makefile.am:
19837           make indexers conditional
19838
19839 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19840
19841         * Makefile.am:
19842         * configure.ac:
19843         * plugins/elements/Makefile.am:
19844         * plugins/elements/gstcapsfilter.c:
19845         * plugins/elements/gstfilesink.c:
19846         * plugins/elements/gstfilesrc.c:
19847         * plugins/elements/gstidentity.c:
19848         * plugins/indexers/Makefile.am:
19849           do CVS surgery and related build fixery to move elements
19850           and indexers in a new gstreamer/plugins directory, out of the
19851           gst/ directory
19852
19853 2005-11-29  Andy Wingo  <wingo@pobox.com>
19854
19855         * check/Makefile.am:
19856         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19857         * pkgconfig/gstreamer-net.pc.in:
19858         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19859         #322257.
19860
19861 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19862
19863         * tools/Makefile.am:
19864         * tools/gst-complete.1.in:
19865         * tools/gst-complete.c:
19866         * tools/gst-compprep.1.in:
19867         * tools/gst-compprep.c:
19868           removing -compprep and -complete
19869
19870 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19871
19872         * gst/gstevent.c: (gst_event_new_new_segment),
19873         (gst_event_parse_new_segment):
19874         * gst/gstevent.h:
19875           fix #320529 - clean up new_segment API and structure.
19876           Let's hope everyone was using the methods, and not the structure.
19877
19878 2005-11-29  Edward Hervey  <edward@fluendo.com>
19879
19880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19881         (gst_base_sink_event), (gst_base_sink_do_sync),
19882         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19883         Properly handle non GST_FORMAT_TIME segment
19884         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19885         Properly handle non GST_FORMAT_TIME segment
19886         * gst/gstsegment.c:
19887         This function is valid if the accumulator is 0 and the format
19888         is different from the requested format.
19889         
19890 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19891
19892         * docs/gst/gstreamer-sections.txt:
19893         Add gst_query_new_seeking and gst_query_parse_seeking to the
19894         docs.
19895
19896 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19897
19898         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19899           Treat a pad alloc with new caps the same as if we were not
19900           negotiated, in order to allow a changing upstream output
19901           to produce a new format of data.
19902
19903 2005-11-29  Edward Hervey  <edward@fluendo.com>
19904
19905         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19906         (gst_base_transform_event), (gst_base_transform_eventfunc):
19907         The event virtual method is now properly implemented, with a default
19908         handler
19909         Sub classes should call the parent_class event method. They should
19910         return FALSE if they had a problem handling the given event, or don't
19911         want GstBaseTransform to send that even downstream
19912         * gst/elements/gstidentity.c: (gst_identity_class_init),
19913         (gst_identity_init), (gst_identity_event),
19914         (gst_identity_transform_ip), (gst_identity_set_property),
19915         (gst_identity_get_property):
19916         * gst/elements/gstidentity.h:
19917         Added the single-segment boolean property.
19918         If set to TRUE, it will output a single segment of data, starting from
19919         0, will eat up all incoming newsegment, and modify the timestamp of the
19920         buffers accordingly
19921
19922 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19923
19924         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19925           Don't ref NULL target pad (#322751). Improve docs.
19926
19927 2005-11-29  Michael Smith  <msmith@fluendo.com>
19928
19929         * gst/gstregistryxml.c: (load_plugin):
19930           Don't crash if we failed to load a feature from a plugin. 
19931
19932 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19933
19934         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19935         (GST_START_TEST):
19936           use more check API and less GLib API
19937
19938 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19939
19940         * Makefile.am:
19941           don't run checks if we don't have check
19942         * common/check.mak:
19943           remove the registry when running make torture
19944         * docs/gst/gstreamer-sections.txt:
19945           remove second multiply
19946         * gst/gstqueue.c: (gst_queue_loop):
19947           fix a compile warning when disabling debug
19948
19949 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19950
19951         * gst/gstinfo.h:
19952         Hey! Let's print the pad name if the pointer != NULL instead
19953         of when it == NULL :-)
19954
19955 2005-11-28  Wim Taymans  <wim@fluendo.com>
19956
19957         * check/gst/gstutils.c: (GST_START_TEST):
19958         Updated check, add some scaling accuracy checking code.
19959
19960         * gst/gstutils.c: (gst_util_div128_64),
19961         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19962         (gst_util_uint64_scale_int):
19963         Fix 6 times faster division code. Optimize for common 
19964         1/1 and less common X/1 cases.
19965
19966 2005-11-28  Wim Taymans  <wim@fluendo.com>
19967
19968         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19969         More checks.
19970
19971         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19972         (do_linear_regression), (gst_clock_add_observation):
19973         Cleanups.
19974         Release lock when the clock cannot be slaved.
19975         Catch the case where the regression returned an invalid denominator.
19976
19977         * gst/gstutils.c: (gst_util_div128_64_iterate),
19978         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19979         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19980         Add protentially more performant non-iterative 128/64 divide function
19981         that unfortunatly does not work yet.
19982         Shortcut the trivial 0/X = 0 case.
19983         Remove the warnings on overflow.
19984
19985 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19986
19987         * gst/gstplugin.c: (gst_plugin_register_func):
19988           everything causing a plugin not to load should be at least a WARNING
19989
19990 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19991
19992         * docs/random/ensonic/dparams.txt:
19993           some TODOs for the next dev cycle
19994         * libs/gst/controller/gstcontroller.c:
19995         (gst_controlled_property_set_interpolation_mode),
19996         (gst_controlled_property_new):
19997         * libs/gst/controller/gstcontroller.h:
19998           use base type to assign acccessor functions
19999
20000 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20001
20002         * check/Makefile.am:
20003         Oops, that should have been top_srcdir
20004
20005 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20006
20007         * check/Makefile.am:
20008         * check/elements/fdsrc.c: (GST_START_TEST):
20009         Use a cmdline define to specify the location of a file to use for
20010         testing, to avoid breaking distcheck.
20011
20012 2005-11-28  Andy Wingo  <wingo@pobox.com>
20013
20014         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20015
20016 2005-11-28  Edward Hervey  <edward@fluendo.com>
20017
20018         * tools/gst-launch.c: (main):
20019         Clarify the output strings, makes it easier to translate.
20020         Fixes #322626
20021
20022 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20023
20024         * gst/Makefile.am:
20025           don't try and build net if we don't even have <sys/socket.h>
20026
20027 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20028
20029         * check/Makefile.am:
20030         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20031         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20032           Add tests for fdsrc seekability
20033
20034         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20035         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20036         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20037         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20038         * gst/elements/gstfdsrc.h:
20039           fdsrc should not be a 'live' source.
20040           Implement seeking on seekable fd's.
20041
20042         * gst/gstquery.c: (gst_query_new_seeking),
20043         (gst_query_parse_seeking):
20044         * gst/gstquery.h:
20045           Implement SEEKING query functions: 
20046             *_new_seeking and *_parse_seeking
20047
20048 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20049
20050         * gst/gstelement.c: (gst_element_dispose):
20051           don't loop forever
20052
20053         * gst/gstiterator.c:
20054         * gst/gststructure.c:
20055           doc fixes
20056
20057         * libs/gst/controller/gstcontroller.c:
20058         (gst_controlled_property_set_interpolation_mode):
20059         * libs/gst/controller/gstcontroller.h:
20060         * libs/gst/controller/gstinterpolation.c:
20061         (interpolate_none_get_enum_value_array):
20062           support controlling enums
20063
20064 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20065
20066         * gst/gstvalue.c:
20067           Improve documentation for gst_value_union().
20068
20069         * gst/gstvalue.h:
20070           Change return value for union, intersect and subtract functions
20071           from gint to gboolean.
20072
20073 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20074
20075         * gst/gstvalue.c: (gst_value_serialize_any_list),
20076         (gst_value_transform_any_list_string),
20077         (gst_value_deserialize_list), (gst_value_deserialize_array),
20078         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20079         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20080         (gst_value_set_fraction_range_full),
20081         (gst_value_deserialize_fraction_range),
20082         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20083         (gst_value_deserialize_boolean),
20084         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20085         (gst_value_serialize_float), (gst_value_deserialize_float),
20086         (gst_string_wrap), (gst_value_deserialize_string),
20087         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20088         (gst_value_union_int_range_int_range),
20089         (gst_value_intersect_int_range_int_range),
20090         (gst_value_intersect_double_range_double_range),
20091         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20092         (gst_value_subtract_int_range_int_range),
20093         (gst_value_subtract_double_double_range),
20094         (gst_value_subtract_double_range_double_range),
20095         (gst_value_deserialize_fraction):
20096         * gst/gstvalue.h:
20097           Use gint, gdouble and gchar in our API instead of int, double and
20098           char (and make usage in gstvalue.c more consistent).
20099
20100 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20101
20102         * check/Makefile.am:
20103         * libs/gst/controller/Makefile.am:
20104         * libs/gst/dataprotocol/Makefile.am:
20105           fix up Makefile.am and remove GST_ENABLE_NEW
20106
20107 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20108
20109         * configure.ac:
20110         * gst/Makefile.am:
20111         * gst/base/Makefile.am:
20112         * gst/check/Makefile.am:
20113         * gst/elements/Makefile.am:
20114         * gst/net/Makefile.am:
20115           update LDFLAGS use some more
20116
20117 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20118
20119         * common/m4/gst-doc.m4:
20120           Fixes #312589
20121
20122 2005-11-26  Edward Hervey  <edward@fluendo.com>
20123
20124         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20125         This shouldn't issue a g_warning since it returns NULL if it
20126         couldn't find the plugin, and all functions using this behave
20127         properly on a NULL return. Switching to a GST_WARNING.
20128
20129 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20130
20131         * gst/gstbin.c: (gst_bin_handle_message_func):
20132         Don't leak clock messages.
20133
20134 2005-11-25  Wim Taymans  <wim@fluendo.com>
20135
20136         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20137         (gst_util_uint64_scale_int):
20138         Optimisations, remove unneeded vars.
20139
20140 2005-11-25  Wim Taymans  <wim@fluendo.com>
20141
20142         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20143         Added more checks for the high precision uint64 cases.
20144
20145         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20146         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20147         Implement high precision (guint64 * guint64) / guint64.
20148
20149 2005-11-24  Wim Taymans  <wim@fluendo.com>
20150
20151         * gst/base/gstbasesrc.c: (gst_base_src_query):
20152         Fix wrong percentage query.
20153
20154         * gst/gstutils.c: (gst_util_uint64_scale),
20155         (gst_util_uint64_scale_int):
20156         Add some more common cases that can be handled 
20157         efficiently to _scale.
20158
20159 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20160
20161         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20162         (gst_mini_object_suite):
20163           don't use check calls from threads; check probably isn't
20164           threadsafe and using a lock to make it threadsafe would
20165           defeat the purpose of this check
20166         * gst/check/gstcheck.c:
20167         * gst/check/gstcheck.h:
20168           use GST_DEBUG some more
20169
20170 2005-11-24  Wim Taymans  <wim@fluendo.com>
20171
20172         * gst/gstutils.c: (gst_util_uint64_scale),
20173         (gst_util_uint64_scale_int):
20174         Chain trivial case to _scale_int.
20175
20176 2005-11-24  Wim Taymans  <wim@fluendo.com>
20177
20178         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20179         Added test for scaling.
20180
20181         * gst/gstclock.h:
20182         Small doc fix.
20183
20184         * gst/gstutils.c: (gst_util_uint64_scale_int):
20185         Implemented high precision scaling code.
20186
20187 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20188
20189         * gst/gstinfo.h:
20190           do not crash on pad==NULL
20191
20192 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20193
20194         Patch by: Stefan Kost
20195
20196         * common/gtk-doc.mak:
20197         * docs/gst/Makefile.am:
20198         * docs/libs/Makefile.am:
20199           Fix distcheck issues for the libraries docs build
20200           Closes #319599.
20201
20202 2005-11-24  Michael Smith <msmith@fluendo.com>
20203
20204         * docs/manual/basics-helloworld.xml:
20205           Fix bug #315027: memory leak in example code in docs.
20206
20207 2005-11-24  Michael Smith <msmith@fluendo.com>
20208
20209         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20210           Unlock the PREROLL_LOCK in a failure case.
20211
20212 2005-11-24  Wim Taymans  <wim@fluendo.com>
20213
20214         * docs/gst/gstreamer-sections.txt:
20215         * gst/base/gstadapter.h:
20216         * gst/base/gstbasesink.h:
20217         * gst/base/gstbasesrc.h:
20218         * gst/base/gstbasetransform.h:
20219         * gst/base/gstpushsrc.h:
20220         * gst/elements/gstfakesink.h:
20221         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20222         * gst/elements/gstfakesrc.h:
20223         * gst/elements/gstfilesink.h:
20224         * gst/elements/gstfilesrc.h:
20225         * gst/gst.c:
20226         * gst/gstbin.c:
20227         * gst/gstbuffer.c: (_gst_buffer_copy):
20228         * gst/gstbus.h:
20229         * gst/gstcaps.c:
20230         * gst/gstchildproxy.c:
20231         * gst/gstclock.c:
20232         * gst/gstelement.c:
20233         * gst/gstelementfactory.c:
20234         * gst/gstelementfactory.h:
20235         * gst/gstevent.c:
20236         * gst/gstghostpad.h:
20237         * gst/gstindex.h:
20238         * gst/gstinterface.h:
20239         * gst/gstminiobject.c:
20240         * gst/gstminiobject.h:
20241         * gst/gstpad.c:
20242         * gst/gstpad.h:
20243         * gst/gstpadtemplate.h:
20244         * gst/gstpipeline.h:
20245         * gst/gstpluginfeature.h:
20246         * gst/gstquery.h:
20247         * gst/gstqueue.h:
20248         * gst/gsttaglist.c:
20249         * gst/gsttaglist.h:
20250         * gst/gsttagsetter.c:
20251         * gst/gsttagsetter.h:
20252         * gst/gsttrace.c:
20253         * gst/gsttrace.h:
20254         * gst/gsttypefind.h:
20255         * gst/gsturi.h:
20256         * gst/gstvalue.c:
20257         * gst/net/gstnetclientclock.c:
20258         * gst/net/gstnetclientclock.h:
20259         * gst/net/gstnettimepacket.c:
20260         * gst/net/gstnettimeprovider.c:
20261         * gst/net/gstnettimeprovider.h:
20262         Doc fixes.
20263
20264 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20265
20266         * configure.ac: back to HEAD
20267
20268 === release 0.9.6 ===
20269
20270 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20271
20272         * configure.ac:
20273           releasing 0.9.6, "Always On Time"
20274
20275 2005-11-23  Wim Taymans  <wim@fluendo.com>
20276
20277         * docs/gst/gstreamer-sections.txt:
20278         * gst/glib-compat.c:
20279         * gst/gsttagsetter.c:
20280         * gst/gstvalue.c:
20281         * gst/net/gstnetclientclock.c:
20282         * gst/net/gstnettimepacket.h:
20283         Doc updates.
20284
20285 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20286
20287         * docs/faq/using.xml:
20288         * docs/libs/tmpl/gstcontrol.sgml:
20289         * docs/manual/advanced-dparams.xml:
20290         * docs/manual/appendix-checklist.xml:
20291         * docs/manual/basics-elements.xml:
20292         * docs/pwg/other-source.xml:
20293         * docs/random/moving-plugins:
20294         * gst/gstpad.c:
20295         * tools/gst-launch.1.in:
20296           remove mentions of sinesrc
20297
20298 2005-11-23  Michael Smith <msmith@fluendo.com>
20299
20300         * docs/gst/gstreamer-sections.txt:
20301           Update for new API and API changes.
20302         * gst/gstobject.h:
20303           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20304         * gst/gstvalue.c:
20305           Documentation typo fix.
20306         * gst/net/gstnettimepacket.c:
20307           Documentation fixes for arguments.
20308
20309 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20310
20311         * gst/gststructure.c: (gst_structure_get_fraction),
20312         (gst_structure_parse_value),
20313         (gst_structure_fixate_field_nearest_fraction):
20314         * gst/gststructure.h:
20315         * gst/gstutils.c: (gst_util_uint64_scale_int):
20316         * gst/gstutils.h:
20317         * scripts/update-funcnames:
20318         API Changes. 
20319         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20320         Make gst_structure_fixate_field_nearest_fraction take a numerator
20321         and denominator argument instead of a GValue
20322         add gst_structure_get_fraction helper function.
20323
20324 2005-11-23  Wim Taymans  <wim@fluendo.com>
20325
20326         * docs/design/part-TODO.txt:
20327         Update TODO.
20328
20329         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20330         * gst/net/gstnetclientclock.h:
20331         Use parent fields for timeout and window_size.
20332
20333 2005-11-23  Andy Wingo  <wingo@pobox.com>
20334
20335         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20336         rate_num/rate_denom change.
20337
20338         * gst/net/gstnetclientclock.c
20339         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20340         OBJECT_LOCK. Don't call add_observation with the lock.
20341
20342         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20343         fraction.
20344         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20345         rate fraction.
20346         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20347         deal with rate as a fraction whose numerator and denominator are
20348         GstClockTime values.
20349         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20350         master; the other fields are protected by the SLAVE_LOCK.
20351         (do_linear_regression): Note that this must be called with the
20352         SLAVE_LOCK.
20353         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20354         OBJECT_LOCK. Call set_calibration instead of touching the
20355         variables directly.
20356         (gst_clock_set_property, gst_clock_get_property): Protect
20357         master/slave parameters with the SLAVE_LOCK.
20358
20359         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20360         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20361         note that all of the instance variables that add_observation and
20362         the set_master functions use are protected by that lock and not
20363         the OBJECT_LOCK.
20364         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20365
20366         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20367         the caller to take the object lock.
20368
20369 2005-11-23  Wim Taymans  <wim@fluendo.com>
20370
20371         * gst/gsterror.c: (_gst_core_errors_init):
20372         * gst/gsterror.h:
20373         Add error for clock stuff.
20374
20375         * gst/gstpipeline.c: (gst_pipeline_change_state),
20376         (gst_pipeline_set_clock):
20377         Post clock error when clock cannot be used in a pipeline.
20378
20379 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20380
20381         * docs/gst/gstreamer-sections.txt:
20382           make two symbols from gstinfo private for the docs
20383         * gst/base/gstcollectpads.h:
20384         * gst/gstutils.c:
20385           fix doc typos, update docs
20386
20387 2005-11-22  Wim Taymans  <wim@fluendo.com>
20388
20389         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20390         (gst_base_sink_wait), (gst_base_sink_do_sync),
20391         (gst_base_sink_handle_event):
20392         * gst/base/gstbasesink.h:
20393         No need to store the clock, the parent element class already
20394         has it.
20395
20396         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20397         Updates for clock_set returning a gboolean
20398
20399         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20400         (gst_clock_id_wait_async), (gst_clock_class_init),
20401         (gst_clock_init), (gst_clock_finalize),
20402         (gst_clock_get_internal_time), (gst_clock_get_time),
20403         (gst_clock_slave_callback), (gst_clock_set_master),
20404         (gst_clock_get_master), (do_linear_regression),
20405         (gst_clock_add_observation), (gst_clock_set_property),
20406         (gst_clock_get_property):
20407         * gst/gstclock.h:
20408         Implement master/slave. When setting a clock as a slave, a
20409         periodic timeout is scheduled to sample master and slave times.
20410         Then the slave clock is recalibrated to match offset and rate
20411         of the master clock.
20412         Update logging a bit.
20413         Add flag so that a clock can state that is cannot be slaved to
20414         another clock.
20415
20416         * gst/gstelement.c: (gst_element_set_clock):
20417         * gst/gstelement.h:
20418         The set clock returns a gboolean for when an element cannot
20419         deal with the selected clock in the pipeline. 
20420
20421         * gst/gstpipeline.c: (gst_pipeline_change_state),
20422         (gst_pipeline_set_clock):
20423         * gst/gstpipeline.h:
20424         Handle the case where the selected clock cannot be set on
20425         the pipeline.
20426
20427         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20428         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20429         (gst_net_client_clock_set_property),
20430         (gst_net_client_clock_get_property),
20431         (gst_net_client_clock_observe_times):
20432         * gst/net/gstnetclientclock.h:
20433         Use regression code in GstClock parent, remove duplicated
20434         functionality.
20435
20436 2005-11-22  Michael Smith <msmith@fluendo.com>
20437
20438         * gst/gstutils.c: (gst_util_clock_time_scale):
20439         * gst/gstutils.h:
20440         * docs/gst/gstreamer-sections.txt:
20441           Rename method to have extra underscore.
20442
20443 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20444
20445         * gst/elements/Makefile.am:
20446         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20447         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20448         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20449         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20450         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20451         * gst/elements/gstfakesrc.h:
20452         * gst/gstqueue.c: (queue_leaky_get_type):
20453           correctly fix GEnumValues so that nick is the short lowercase
20454           dashed tag
20455         * tools/gst-inspect.c: (print_element_properties_info):
20456           also show the nick, since it's useful to use from parse_launch
20457           syntax
20458           Fixes #322139
20459
20460 2005-11-22  Michael Smith <msmith@fluendo.com>
20461
20462         * gst/gstutils.c: (gst_util_clocktime_scale):
20463         * gst/gstutils.h:
20464         * docs/gst/gstreamer-sections.txt:
20465           Add util method for scaling a clocktime by a fraction. Useful 
20466           implementation is left as an exercise for the reader.
20467
20468 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20469
20470         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20471         If needed, allocate storage in the destination value during
20472         collection.
20473
20474 2005-11-22  Edward Hervey  <edward@fluendo.com>
20475
20476         * docs/gst/gstreamer-sections.txt:
20477         * gst/Makefile.am:
20478         * gst/gst.h:
20479         * gst/gsturitype.c:
20480         * gst/gsturitype.h:
20481         * gst/gstutils.c: (gst_util_set_object_arg):
20482         * tools/gst-compprep.c: (main):
20483         * tools/gst-inspect.c: (print_element_properties_info):
20484         Removed GstURI, closes bug #321061
20485
20486 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20487
20488         * check/gst/gststructure.c: (GST_START_TEST):
20489         * gst/gststructure.c: (gst_structure_parse_value):
20490           Oops, broke automatic string type parsing.
20491           Add a test to catch it in future.
20492
20493 2005-11-22  Andy Wingo  <wingo@pobox.com>
20494
20495         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20496         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20497         Actually rename the function implementations. Grr.
20498
20499 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20500
20501         * check/gst/capslist.h:
20502           Comment test cases
20503         * check/gst/gststructure.c: (GST_START_TEST),
20504         (gst_structure_suite):
20505           Test automatic value type detection in gst_structure_from_string.
20506         * gst/gststructure.c: (gst_structure_parse_value):
20507           Add fraction as a type we try and guess automatically in
20508           caps/structure strings.
20509
20510 2005-11-22  Andy Wingo  <wingo@pobox.com>
20511
20512         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20513
20514         * gst/gsttagsetter.h:
20515         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20516         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20517         (gst_tag_setter_add_tag_valist)
20518         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20519         _add_values, _add_valist, and _add_valist_values. Since this is an
20520         interface the function suffixes should be more explicit so
20521         language binding don't end up with element.add_valist ->
20522         gst_tag_setter_add_valist, for example. Fixes #322069.
20523
20524 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20525
20526         * check/gst/gstcaps.c: (GST_START_TEST):
20527           Extend caps string tests to check that a caps to string
20528           conversion is reversible and produces the same caps.
20529
20530         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20531           Output "fraction" as the generic type fraction range, so caps
20532           serialisation and deserialisation works.
20533         * check/gst/capslist.h:
20534         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20535           Support 'MIN' and 'MAX' for deserialising fractions.
20536
20537 2005-11-22  Andy Wingo  <wingo@pobox.com>
20538
20539         * gst/gstevent.h (gst_event_new_new_segment)
20540         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20541         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20542         Renamed from *_newsegment, *_buffersize, *_notarget.
20543
20544         * scripts/update-funcnames: New script, performs the changes
20545         listed above.
20546
20547 2005-11-22  Wim Taymans  <wim@fluendo.com>
20548
20549         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20550         Make sure the GstFlowReturn is returned.
20551
20552         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20553         (gst_bus_add_signal_watch):
20554         * gst/gstbus.h:
20555         add gst_bus_add_signal_watch_full.
20556
20557         * gst/gstplugin.c: (gst_plugin_load_file):
20558         Small style cleanup.
20559
20560 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20561
20562         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20563           Block the fakesrc srcpad when we send an event, to avoid
20564           contention on the stream_lock causing random test failures.
20565
20566 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20567
20568         * check/gst/gstvalue.c: (GST_START_TEST):
20569         * gst/gstvalue.c: (gst_value_fraction_subtract):
20570           Fix subtraction.
20571
20572 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20573
20574         * gst/gst.h:
20575           include "gstchildproxy.h"
20576         * gst/gstchildproxy.h:
20577         * libs/gst/controller/gstcontroller.h:
20578           use G_GNUC_NULL_TERMINATED
20579
20580 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20581
20582         * check/gst/capslist.h:
20583         * check/gst/gstcaps.c: (GST_START_TEST):
20584         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20585         * gst/gststructure.c: (gst_structure_parse_range),
20586         (gst_structure_fixate_field_nearest_fraction):
20587         * gst/gststructure.h:
20588         * gst/gstvalue.c: (gst_value_init_fraction_range),
20589         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20590         (gst_value_collect_fraction_range),
20591         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20592         (gst_value_set_fraction_range_full),
20593         (gst_value_get_fraction_range_min),
20594         (gst_value_get_fraction_range_max),
20595         (gst_value_serialize_fraction_range),
20596         (gst_value_transform_fraction_range_string),
20597         (gst_value_compare_fraction_range),
20598         (gst_value_deserialize_fraction_range),
20599         (gst_value_intersect_fraction_fraction_range),
20600         (gst_value_intersect_fraction_range_fraction_range),
20601         (gst_value_subtract_fraction_fraction_range),
20602         (gst_value_subtract_fraction_range_fraction),
20603         (gst_value_subtract_fraction_range_fraction_range),
20604         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20605         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20606         (gst_value_transform_string_fraction), (_gst_value_initialize):
20607         * gst/gstvalue.h:
20608           Implement fraction ranges and extend GstFraction to support
20609           arithmetic subtraction, as well as deserialization from integer
20610           strings such as "100"
20611           Add a testsuite as for int and double range set operations
20612
20613 2005-11-21  Andy Wingo  <wingo@pobox.com>
20614
20615         * gst/gsttaglist.h: 
20616         * gst/gstcaps.h: 
20617         * gst/gststructure.h: Add glib-compat.h.
20618
20619 2005-11-21  Wim Taymans  <wim@fluendo.com>
20620
20621         * gst/gstbin.c: (gst_bin_change_state_func):
20622         Fix for #321595
20623
20624 2005-11-21  Wim Taymans  <wim@fluendo.com>
20625
20626         * gst/gstsegment.h:
20627         And add a nice define too.
20628
20629 2005-11-21  Wim Taymans  <wim@fluendo.com>
20630
20631         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20632         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20633         (gst_segment_set_duration), (gst_segment_set_last_stop),
20634         (gst_segment_set_seek), (gst_segment_set_newsegment),
20635         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20636         (gst_segment_clip):
20637         * gst/gstsegment.h:
20638         Make binding friendly.
20639
20640 2005-11-21  Andy Wingo  <wingo@pobox.com>
20641
20642         * gst/gsttagsetter.h: 
20643         * gst/gsttaglist.h: 
20644         * gst/gststructure.h: 
20645         * gst/gstcaps.h: 
20646         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20647         #319940.
20648
20649         * gst/gsterror.c (_gst_core_errors_init):
20650         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20651         category.
20652
20653         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20654         (noinst_HEADERS): noinst the -private.
20655
20656 2005-11-21  Michael Smith <msmith@fluendo.com>
20657
20658         * gst/gstplugin.h:
20659         * gst/gstregistry.h:
20660           Remove unimplemented declarations for which we can see no sensible
20661           use.
20662
20663 2005-11-21  Andy Wingo  <wingo@pobox.com>
20664
20665         * gst/gst.h: Include glib-compat.h.
20666
20667         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20668
20669         * gst/glib-compat.c: Include the public and the private header.
20670
20671         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20672
20673         * gst/gstvalue.c: 
20674         * gst/gstpad.c: 
20675         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20676
20677         * check/gst/gstevent.c (create_custom_events): Check that
20678         FLUSH_STOP is serialized.
20679
20680         * check/elements/identity.c (event_func): 
20681         * check/elements/fakesrc.c (event_func): No stream lock, the core
20682         takes it.
20683
20684         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20685         stream lock taking, yay.
20686
20687         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20688         ensure that core takes the stream lock.
20689
20690         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20691         lock name change.
20692
20693         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20694         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20695         it already. For the flush start we do take it though so we get the
20696         right preroll state change messages.
20697
20698         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20699         the stream lock here, the core does it for us.
20700
20701         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20702         GST_STREAM_GET_LOCK.
20703         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20704         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20705         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20706         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20707         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20708         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20709
20710         * gst/gstpad.c: Update for stream lock name change.
20711
20712         * gst/base/gstbasesink.c: Update for preroll lock name change.
20713
20714 2005-11-21  Wim Taymans  <wim@fluendo.com>
20715
20716         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20717         (gst_clock_get_master):
20718         * gst/gstclock.h:
20719         * gst/gstsystemclock.c: (gst_system_clock_init):
20720         Convert Clock flags to object flags.
20721         Added methods to manage master/slave clocks.
20722
20723 2005-11-21  Wim Taymans  <wim@fluendo.com>
20724
20725         * check/gst/gstsegment.c: (GST_START_TEST):
20726         * docs/design/part-TODO.txt:
20727         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20728         (gst_base_sink_event), (gst_base_sink_do_sync),
20729         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20730         (gst_base_sink_query), (gst_base_sink_change_state):
20731         * gst/base/gstbasesink.h:
20732         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20733         (gst_base_src_default_newsegment),
20734         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20735         (gst_base_src_get_range), (gst_base_src_loop),
20736         (gst_base_src_change_state):
20737         * gst/base/gstbasesrc.h:
20738         * gst/base/gstbasetransform.c:
20739         (gst_base_transform_prepare_output_buf),
20740         (gst_base_transform_event), (gst_base_transform_change_state):
20741         * gst/base/gstbasetransform.h:
20742         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20743         (gst_collect_pads_event):
20744         * gst/base/gstcollectpads.h:
20745         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20746         (gst_fake_src_create):
20747         * gst/elements/gstfakesrc.h:
20748         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20749         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20750         (gst_segment_set_last_stop), (gst_segment_set_seek),
20751         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20752         (gst_segment_to_running_time), (gst_segment_clip):
20753         * gst/gstsegment.h:
20754         More segment updates, replace code in plugins with segment
20755         helper functions.
20756
20757 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20758
20759         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20760         Don't ignore sscanf results
20761
20762 2005-11-21  Andy Wingo  <wingo@pobox.com>
20763
20764         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20765
20766         * *.h:
20767         * *.c: Ran scripts/update-macros. Oh yes.
20768
20769         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20770         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20771         GST_GET_LOCK, etc.
20772
20773         * scripts/update-macros: New script. Run it on your files to
20774         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20775         well.
20776
20777 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20778
20779         * docs/gst/Makefile.am:
20780         * docs/gst/gstreamer-docs.sgml:
20781         * docs/gst/gstreamer-sections.txt:
20782         * docs/gst/gstreamer.types:
20783         * gst/gstinfo.h:
20784           more docs fixes, add new api to the docs
20785
20786 2005-11-21  Andy Wingo  <wingo@pobox.com>
20787
20788         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20789         state_broadcast call.
20790
20791         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20792
20793 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20794
20795         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20796         function calls for arrays.
20797
20798 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20799
20800         * docs/random/ensonic/media-device-daemon.txt:
20801           wild idea, can this be done?
20802         * docs/gst/gstreamer-sections.txt:
20803         * gst/gsterror.h:
20804         * gst/gstfilter.c:
20805         * gst/gstfilter.h:
20806         * gst/gstplugin.h:
20807         * gst/gstpluginfeature.c:
20808         * gst/gsttrace.c:
20809         * gst/gstvalue.c:
20810         * gst/gstvalue.h:
20811           doc fixes and additions
20812
20813 2005-11-21  Andy Wingo  <wingo@pobox.com>
20814
20815         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20816         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20817         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20818         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20819         private to the basesrc implementation.
20820
20821         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20822         behalf of event function if necessary. It should no longer be
20823         necessary to take the stream lock in pad's event functions. Fixes
20824         #320299.
20825
20826 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20827         * docs/gst/gstreamer-sections.txt:
20828         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20829         (gst_structure_fixate_field_nearest_double),
20830         (gst_structure_fixate_field_boolean):
20831         * gst/gststructure.h:
20832         * win32/common/libgstreamer.def:
20833         * win32/gstreamer.def:
20834
20835         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20836         (#322027)
20837
20838 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20839
20840         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20841         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20842         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20843         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20844         (gst_fdsrc_uri_handler_init):
20845         * gst/elements/gstfdsrc.h:
20846           Port fd:// URI handler from 0.8 to fdsrc
20847
20848 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20849
20850         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20851         (gst_value_serialize_fourcc):
20852         * gst/gstvalue.h:
20853           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20854           consistent with our other format defines (#320324).
20855
20856 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20857
20858         * gst/gstvalue.c: (gst_value_is_fixed):
20859           Revert previous commit. Value lists are by definition
20860           not fixed, as they are a list of possible values.
20861
20862 2005-11-21  Andy Wingo  <wingo@pobox.com>
20863
20864         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20865         during the stable series if we need it. Fixes #319178.
20866
20867         * gst/gstevent.c (gst_event_new_filler): Removed.
20868
20869         * check/gst/gstevent.c: Update comment about filler events.
20870
20871 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20872
20873         * gst/gstvalue.c: (gst_value_is_fixed):
20874           Should handle both value arrays and value lists.
20875
20876 2005-11-21  Andy Wingo  <wingo@pobox.com>
20877
20878         patch by: Alessandro Dessina <alessandro nnva org>
20879
20880         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20881         functions to access arrays. Fixes #321962.
20882
20883 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20884
20885         * docs/gst/gstreamer.types:
20886           gst_collectpads_get_type => gst_collect_pads_get_type.
20887           
20888         * gst/base/gstbasetransform.c:
20889           Remove unused SIGNAL_HANDOFF enum.
20890
20891 2005-11-21  Andy Wingo  <wingo@pobox.com>
20892
20893         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20894         the event type (upstream, downstream, serialized). Renamed
20895         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20896         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20897         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20898
20899         * gst/gstevent.c: Update for new CUSTOM event names.
20900
20901         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20902
20903         * gst/gstevent.h:
20904         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20905         bug #319392.
20906
20907 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20908
20909         * docs/gst/gstreamer-sections.txt:
20910         * win32/common/libgstbase.def:
20911         * win32/libgstbase.def:
20912         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20913         (gst_collect_pads_class_init), (gst_collect_pads_init),
20914         (gst_collect_pads_finalize), (gst_collect_pads_new),
20915         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20916         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20917         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20918         (gst_collect_pads_start), (gst_collect_pads_stop),
20919         (gst_collect_pads_peek), (gst_collect_pads_pop),
20920         (gst_collect_pads_available), (gst_collect_pads_read),
20921         (gst_collect_pads_flush), (gst_collect_pads_event),
20922         (gst_collect_pads_chain):
20923         * gst/base/gstcollectpads.h:
20924           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20925           unimplemented functions as unimplemented. Add padding to
20926           GstCollectData. (#320766, #320423)
20927
20928 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20929
20930         * gst/gstmessage.c:
20931           Improve docs for DURATION message (usage of duration parameter)
20932           (#320113)
20933
20934 2005-11-20  Wim Taymans  <wim@fluendo.com>
20935
20936         * check/Makefile.am:
20937         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20938         (main):
20939         * gst/Makefile.am:
20940         * gst/gst.h:
20941         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20942         (gst_segment_set_seek), (gst_segment_set_newsegment),
20943         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20944         (gst_segment_clip):
20945         * gst/gstsegment.h:
20946         Added segment helper structure and methods. Not fully implemented
20947         yet.
20948         Added segment check.
20949
20950 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20951
20952         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20953           Add a deserialisation test for fractions
20954         * examples/metadata/read-metadata.c: (message_loop),
20955         (make_pipeline), (main):
20956           Fix up metadata reading sample.
20957         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20958           Debug format fix
20959         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20960           Don't try and fixate empty caps
20961         * gst/gst_private.h:
20962           Wrap in G_BEGIN_DECLS/G_END_DECLS
20963         * gst/gstvalue.c: (gst_value_collect_fraction),
20964         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20965         (gst_value_transform_string_fraction),
20966         (gst_value_compare_fraction):
20967           Add some extra guards to ensure that we don't end up 
20968           with an invalid denominator of 0 in a gstfraction and
20969           that fractions always get reduced.
20970
20971 2005-11-20  Wim Taymans  <wim@fluendo.com>
20972
20973         * docs/gst/gstreamer-sections.txt:
20974         * gst/gstbuffer.h:
20975         * gst/gstelement.c:
20976         * gst/gstformat.c:
20977         * gst/gstformat.h:
20978         * gst/gstindex.h:
20979         * gst/gstquery.c:
20980         * gst/gstquery.h:
20981         * gst/gstvalue.c:
20982         Doc fixes.
20983
20984 2005-11-20  Wim Taymans  <wim@fluendo.com>
20985
20986         * docs/design/part-TODO.txt:
20987         * gst/gstcaps.h:
20988         Make a proper enum of the flag.
20989
20990 2005-11-19  Wim Taymans  <wim@fluendo.com>
20991
20992         * docs/design/part-TODO.txt:
20993         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20994         (gst_format_to_quark), (gst_format_register):
20995         * gst/gstformat.h:
20996         * gst/gstquery.c: (_gst_query_initialize),
20997         (gst_query_type_get_name), (gst_query_type_to_quark),
20998         (gst_query_type_register):
20999         * gst/gstquery.h:
21000         Add type to quark and type to string conversions.
21001
21002 2005-11-19  Andy Wingo  <wingo@pobox.com>
21003
21004         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21005         #320097.
21006
21007 2005-11-19  Wim Taymans  <wim@fluendo.com>
21008
21009         * docs/design/part-TODO.txt:
21010         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21011         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21012         (gst_bin_handle_message_func):
21013         * gst/gstbin.h:
21014         Make message handling overridable.
21015
21016 2005-11-19  Andy Wingo  <wingo@pobox.com>
21017
21018         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21019
21020         * gst/gstclock.h:
21021         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21022         be a GstClockTime.
21023         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21024         is a GstClockTime. Fixes #321710.
21025
21026         * gst/gstclock.h (GstClock): Remove offset property. Add
21027         internal_calibration and external_calibration. Fix padding. Pad
21028         also by GstClockTime so we don't run into problems.
21029
21030         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21031         (gst_clock_get_rate_offset): Remove.
21032         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21033
21034         * gst/gstutils.h:
21035         * gst/gstutils.c (g_static_rec_cond_wait)
21036         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21037
21038         * gst/gstbin.c: Remove terrible continue_state prototype.
21039
21040         * gst/gstelement.h (gst_element_continue_state): Make public.
21041
21042         * gst/gstelement.h:
21043         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21044         by continue_state. Fixes #319389.
21045
21046         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21047         Really fixes #168438. However I don't see anywhere where the
21048         filter function is called... stupid GStreamer...
21049         
21050         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21051         don't have a dispose function, so it won't get called when the
21052         object is unreffed, but oh well!
21053
21054         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21055         allows a destroy function to be set so user_data can be freed.
21056         Fixes #168438.
21057         (gst_index_set_filter): Call gst_index_set_filter_full.
21058
21059         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21060
21061         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21062         string should produce an error, given the lack of a way to
21063         represent NULL strings. Fixes #165650.
21064         
21065         * gst/gstvalue.h: 
21066         * gst/gstvalue.c (gst_value_array_append_value) 
21067         (gst_value_array_prepend_value, gst_value_array_get_size) 
21068         (gst_value_array_get_value): New API, copied from
21069         gst_value_list_*, only operates on arrays.
21070         (gst_value_list_append_value, gst_value_list_prepend_value) 
21071         (gst_value_list_concat, gst_value_list_get_size) 
21072         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21073
21074         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21075         init_list, because it works on both.
21076         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21077         (gst_value_copy_list_or_array): Renamed from copy_list.
21078         (gst_value_free_list_or_array): Renamed from free_list.
21079         (gst_value_collect_list_or_array): Renamed from collect_list.
21080         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21081         (gst_value_list_or_array_peek_pointer): Renamed from
21082         list_peek_pointer.
21083         (_gst_value_array_value_table, _gst_value_list_value_table):
21084         Update value table functions.
21085         (gst_value_compare_list_or_array): Renamed from compare_list.
21086
21087         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21088         some constness.
21089
21090         * gst/gsttaglist.c:
21091         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21092         GstTagList*. Fixes #143472.
21093
21094         * gst/gststructure.h: Clarify what the foreach/map functions can
21095         or can't do to their arguments.
21096
21097 2005-11-18  Wim Taymans  <wim@fluendo.com>
21098
21099         * gst/gstclock.c: (gst_clock_set_calibration),
21100         (gst_clock_get_calibration):
21101         Doc and API fixes.
21102         Calibration can be set with internal time equal to current
21103         internal time too.
21104
21105 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21106
21107         * gst/gsterror.c:
21108         * gst/gsterror.h:
21109           document
21110
21111 2005-11-18  Andy Wingo  <wingo@pobox.com>
21112
21113         * configure.ac: 
21114         * pkgconfig/gstreamer-net.pc.in:
21115         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21116         * pkgconfig/Makefile.am: Add net pkgconfig files.
21117
21118 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21119
21120         * gst/gstcaps.c:
21121         * gst/gstghostpad.c:
21122         * gst/gsttrace.c:
21123         * gst/gstvalue.c:
21124         * gst/gstvalue.h:
21125           docs fixes
21126
21127 2005-11-18  Andy Wingo  <wingo@pobox.com>
21128
21129         * gst/net/gstnetclientclock.c: Turn off debugging.
21130
21131         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21132         times connverge somewhat. Can't make a real test.
21133
21134         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21135         integer arithmetic. Return the minimum of the domain, which can be
21136         set as "internal" for gst_clock_set_calibration.
21137         (gst_net_client_clock_observe_times): Call _set_calibration.
21138         (gst_net_client_clock_new): Call _set_calibration instead of
21139         rate_offset.
21140
21141         * check/net/gstnetclientclock.c (test_functioning): Use the right
21142         adjustment api.
21143
21144         * gst/gstclock.h:
21145         * gst/gstclock.c (gst_clock_get_calibration) 
21146         (gst_clock_set_calibration): New functions, obsolete the ones I
21147         added yesterday. Doh. Precision issues mean we have to extrapolate
21148         from a point in the more recent past than 1970.
21149         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21150         obsolete.
21151         (gst_clock_adjust_unlocked): Use the right calibration data.
21152
21153 2005-11-18  Edward Hervey  <edward@fluendo.com>
21154
21155         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21156         Also reset the ->current_* values in READY->PAUSED
21157
21158 2005-11-18  Andy Wingo  <wingo@pobox.com>
21159
21160         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21161         Whoops, check the right fd. Also add some debugging.
21162         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21163         (do_linear_regression): Add a crapload of debugging. Subtract off
21164         the minimum values from the input series to discard unneeded bits.
21165         Use only int arithmetic. There is still double arithmetic when
21166         calculating the intercept that needs fixing. Return boolean to
21167         indicate success; FALSE would mean the domain or range is too
21168         great. Still needs fixes.
21169
21170 2005-11-18  Wim Taymans  <wim@fluendo.com>
21171
21172         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21173         For the current position in stream time, we need to subtract
21174         accumulated time.
21175         
21176         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21177         Release lock before calling the callback function of async
21178         entries.
21179
21180 2005-11-18  Andy Wingo  <wingo@pobox.com>
21181
21182         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21183         Port goes all the way to MAXUINT16.
21184
21185         * gst/net/gstnettimeprovider.c: Make the port range the same as
21186         for the kernel: 0 assigns, otherwise ports are less than
21187         MAXUINT16.
21188
21189         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21190         port change.
21191
21192         * check/net/gstnetclientclock.c (test_functioning): Add the start
21193         of another test. 
21194
21195 2005-11-18  Wim Taymans  <wim@fluendo.com>
21196
21197         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21198         (gst_bin_remove_func), (bin_bus_handler):
21199         * gst/gstbin.h:
21200         Removing a clock provider from a bin, triggers a clock lost message
21201         so that a new clock will be selected.
21202         Adding a clock to a bin triggers a clock provider message.
21203         Make sure we reselect a clock when we received a clock lost message.
21204         Keep a reference to the element that provided the clock.
21205
21206 2005-11-18  Andy Wingo  <wingo@pobox.com>
21207
21208         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21209         the clock initially so it produces values around the base time.
21210         (gst_net_client_clock_class_init): Typo fix.
21211         (gst_net_client_clock_thread): Add note on when the socket gets
21212         closed.
21213
21214 2005-11-17  Wim Taymans  <wim@fluendo.com>
21215
21216         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21217         Free remote and local time arrays.
21218
21219 2005-11-17  Wim Taymans  <wim@fluendo.com>
21220
21221         * gst/net/gstnetclientclock.c: (do_linear_regression),
21222         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21223         Fix compilation, uninitialized vars and a forgotten continue.
21224
21225 2005-11-17  Andy Wingo  <wingo@pobox.com>
21226
21227         * check/Makefile.am (check_PROGRAMS): 
21228         * check/net/gstnetclientclock.c: Add a most minimal test for the
21229         net client clock. More to come later.
21230
21231         * gst/net/gstnet.h: 
21232         * gst/net/Makefile.am: Add netclientclock.
21233
21234         * gst/net/gstnetclientclock.h:
21235         * gst/net/gstnetclientclock.c: New files, implement an untested
21236         GstClock that takes its time from a network time provider.
21237         Implements the algorithm in network-clock.scm.
21238
21239         * tests/network-clock.scm (*window-size*): Rename from
21240         *queue-length*.
21241         * tests/network-clock.scm (network-time): 
21242         * tests/network-clock-utils.scm (q-push): Update callers.
21243
21244 2005-11-17  Wim Taymans  <wim@fluendo.com>
21245
21246         * gst/gstbin.c: (gst_bin_provide_clock_func),
21247         (gst_bin_sort_iterator_new):
21248         And unref the child too..
21249
21250 2005-11-17  Wim Taymans  <wim@fluendo.com>
21251
21252         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21253         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21254         Refactor the sort iterator so it can be used while holding the
21255         LOCK too.
21256         Make clock selection select a clock closest to the source.
21257
21258 2005-11-17  Michael Smith <msmith@fluendo.com>
21259
21260         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21261         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21262         * gst/gstclock.h:
21263           Anonymous structs are a gcc (and some other compilers) extension, so
21264           don't use them. Since this is only for ABI-compatibility, and our
21265           API/ABI freeze is over in a few days, this whole thing will only
21266           last a few days, so don't bother trying to think up a meaningful
21267           name for the struct.
21268
21269 2005-11-17  Andy Wingo  <wingo@pobox.com>
21270
21271         * gst/gstclock.h (GstClock): Add rate and offset properties,
21272         preserving ABI stability. Add rate/offset accessors. Will file bug
21273         for the freeze break.
21274
21275         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21276         and offset, trying to keep precision and avoiding
21277         underflow/overflow.
21278         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21279         functions. Make gst_clock_set_time_adjust obsolete.
21280         (gst_clock_set_time_adjust): Note that this function is obsolete.
21281         Will file bug soon.
21282
21283         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21284         greppable by using GST_PADDING-1+1.
21285
21286 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21287
21288         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21289
21290         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21291           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21292
21293         * gst/gstpadtemplate.h:
21294         * gst/gstpluginfeature.h:
21295           Don't use c++ style comments in headers (#321638).
21296
21297 2005-11-16  Andy Wingo  <wingo@pobox.com>
21298
21299         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21300         buffer.
21301
21302         * check/net/gstnettimeprovider.c: Check to see that the time
21303         provider actually provides times. Works, yo!
21304
21305 2005-11-16  Wim Taymans  <wim@fluendo.com>
21306
21307         * check/Makefile.am:
21308         Enable more tests.
21309
21310         * check/elements/fakesrc.c: (GST_START_TEST):
21311         Set element to NULL before disposing it.
21312
21313 2005-11-16  Andy Wingo  <wingo@pobox.com>
21314
21315         * gst/net/Makefile.am:
21316         * gst/net/gstnet.h:
21317         * gst/net/gstnettimeprovider.c: 
21318         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21319         provider, include it from gstnet.h, and add it to the build.
21320
21321         * gst/net/gstnettimepacket.h: 
21322         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21323         sending and receiving.
21324
21325 2005-11-16  Wim Taymans  <wim@fluendo.com>
21326
21327         * check/Makefile.am:
21328         Enable valgrind check.
21329
21330         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21331         (gst_fake_src_alloc_buffer):
21332         Fix memleak.
21333
21334 2005-11-16  Wim Taymans  <wim@fluendo.com>
21335
21336         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21337         Call parent finalize too.
21338
21339 2005-11-16  Wim Taymans  <wim@fluendo.com>
21340
21341         * check/Makefile.am:
21342         Enable valgrind check that should work fine now.
21343
21344         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21345         * gst/gstqueue.c: (gst_queue_init):
21346         Fix memleaks in pad allocation.
21347
21348 2005-11-16  Andy Wingo  <wingo@pobox.com>
21349
21350         * gst/net/Makefile.am:
21351         * gst/net/gstnet.h: New part of core to hold network elements and
21352         objects. Put in core because it exposes API that applications want
21353         to use. The library is named libgstnet-tempname right now because
21354         of the existing libgstnet in gst-plugins-base. Solution is
21355         probably to rename the one in plugins-base; will file a bug for
21356         the freeze break.
21357
21358         * gst/net/gstnettimeprovider.c: 
21359         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21360         get_time call over the network.
21361
21362         * configure.ac: 
21363         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21364
21365         * check/Makefile.am:
21366         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21367         get additions shortly.
21368
21369 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21370
21371         * gst/gstpad.c: (gst_pad_new_from_static_template):
21372         * gst/gstpad.h:
21373           add gst_pad_new_from_static_template functions
21374         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21375         (gst_check_setup_sink_pad):
21376         * gst/elements/gsttee.c: (gst_tee_init):
21377           and use them
21378
21379 2005-11-16  Wim Taymans  <wim@fluendo.com>
21380
21381         * gst/gstpad.c: (gst_pad_pause_task):
21382         Removed warning, it's not really an error either.
21383
21384 2005-11-16  Wim Taymans  <wim@fluendo.com>
21385
21386         * gst/base/gstbasetransform.c:
21387         (gst_base_transform_prepare_output_buf),
21388         (gst_base_transform_event):
21389         Check if the caps are NULL, this can happen if the element
21390         is shutting down and the pad caps are set to NULL.
21391
21392 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21393
21394         * gst/elements/gsttee.c: (gst_tee_init):
21395           fix pad template leak in tee
21396
21397 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21398
21399         * gst/glib-compat.c: (g_value_dup_gst_object):
21400         * gst/glib-compat.h:
21401         * gst/gstpad.c: (gst_pad_set_property):
21402           use gst_object_ref when setting the pad template; this will
21403           trigger the pad template leaks on GLib 2.6 and the slaves
21404
21405 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21406
21407         * gst/glib-compat.c: (gst_flags_get_first_value):
21408         * gst/glib-compat.h:
21409         * gst/gstregistryxml.c:
21410           remove functions copied from GLib 2.6
21411
21412 2005-11-16  Michael Smith <msmith@fluendo.com>
21413
21414         * gst/Makefile.am:
21415           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21416           do, but only breaks with newer valgrind versions. We're not a
21417           valgrind tool, we have no link-time dependencies on libcoregrind.
21418
21419 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21420
21421         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21422           some debug changes
21423         * gst/gstmessage.h:
21424           typo fixes
21425
21426 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21427
21428         * gst/base/gstbasesrc.c: (gst_base_src_init):
21429         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21430         * gst/gstqueue.c: (gst_queue_init):
21431         * gst/gstregistryxml.c: (load_feature):
21432           Revert all these unrefs, they don't even pass make check !
21433
21434 2005-11-15  Johan Dahlin  <johan@gnome.org>
21435
21436         * gst/base/gstbasesrc.c: (gst_base_src_init):
21437         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21438         * gst/gstqueue.c: (gst_queue_init): 
21439         Free pad templates, fixes a couple of leaks.
21440
21441 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21442
21443         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21444
21445         * gst/gstpad.c: (gst_pad_get_property):
21446           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21447           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21448           (#321452)
21449
21450 2005-11-15  Wim Taymans  <wim@fluendo.com>
21451
21452         * gst/gstevent.c:
21453         Small doc update.
21454
21455 2005-11-15  Andy Wingo  <wingo@pobox.com>
21456
21457         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21458
21459         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21460         using GST_CLOCK_TIME_NONE to disable base time management.
21461         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21462         time if it was NONE before.
21463         (gst_pipeline_change_state): Only munge the base time if
21464         stream_time != GST_CLOCK_TIME_NONE.
21465
21466         * check/gst/gstpipeline.c (test_base_time): Punt around the
21467         problem of the probe not being called, because that's not the
21468         issue I'm looking at. Add a check that setting stream_time to NONE
21469         disables base time management.
21470         
21471 2005-11-15  Wim Taymans  <wim@fluendo.com>
21472
21473         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21474         segment_stop == -1 at startup.
21475
21476         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21477         (gst_base_transform_change_state):
21478         Init segment values at start.
21479
21480 2005-11-15  Wim Taymans  <wim@fluendo.com>
21481
21482         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21483         0 segment values are 0 in any format.
21484
21485         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21486         * gst/base/gstbasetransform.h:
21487         Parse newsegment correctly in basetransform
21488
21489         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21490         Sync to clock using updated segment values.
21491
21492 2005-11-15  Andy Wingo  <wingo@pobox.com>
21493
21494         * check/gst/gstpipeline.c (test_base_time): Add check that the
21495         base time and stream time are reset correctly.
21496
21497 2005-11-15  Wim Taymans  <wim@fluendo.com>
21498
21499         * docs/design/part-TODO.txt:
21500         Some more TODO items.
21501
21502 2005-11-15  Andy Wingo  <wingo@pobox.com>
21503
21504         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21505         error if the user selected "no clock" as the clocking method.
21506
21507         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21508         timestamps with live capture.
21509
21510         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21511         is 0 but we are a live source, timestamp the buffers using the
21512         element's clock.
21513
21514 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21515
21516         * docs/gst/gstreamer-sections.txt:
21517         * gst/gsterror.c:
21518         * gst/gstghostpad.c:
21519         * gst/gstobject.h:
21520         * gst/gstxml.c:
21521           more section docs
21522
21523 2005-11-14  Wim Taymans  <wim@fluendo.com>
21524
21525         * common/gst.supp:
21526           add suppressions from Wim's Debian machine
21527
21528 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21529
21530         * common/gst.supp:
21531           add suppressions from Andy's AMD64 Ubuntu machine
21532
21533 2005-11-14  Andy Wingo  <wingo@pobox.com>
21534
21535         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21536         STATE_LOCK not necessary. Fixes #311489.
21537
21538         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21539         #305291.
21540
21541         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21542         this function is not implemented.
21543
21544 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21545
21546         * gst/base/gstbasetransform.c:
21547         (gst_base_transform_prepare_output_buf):
21548         Ref the source pad caps while we need them.
21549         Fixes (#321386)
21550
21551 2005-11-11  Wim Taymans  <wim@fluendo.com>
21552
21553         * docs/gst/gstreamer-sections.txt:
21554         Added some docs for GstCollectData.
21555
21556         * gst/base/gstadapter.c:
21557         Some small code example fix.
21558
21559         * gst/base/gstcollectpads.c:
21560         * gst/base/gstcollectpads.h:
21561         Document some more.
21562
21563 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21564
21565         * configure.ac: back to HEAD
21566
21567 === release 0.9.5 ===
21568
21569 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21570
21571         * configure.ac:
21572           releasing 0.9.5, "Bike Lunch Day"
21573
21574 2005-11-11  Wim Taymans  <wim@fluendo.com>
21575
21576         * gst/gstbuffer.c: (_gst_buffer_copy):
21577         Copy more flags.
21578
21579         * gst/gstcaps.c: (gst_caps_is_equal):
21580         Fix some docs.
21581         Make _is_equal fast in the trivial cases.
21582
21583         * gst/gstminiobject.c:
21584         * gst/gstminiobject.h:
21585         More docs. Spifify .h file.
21586
21587         * gst/gstutils.c:
21588         Small doc update.
21589
21590 2005-11-11  Wim Taymans  <wim@fluendo.com>
21591
21592         * gst/base/gstbasetransform.c:
21593         (gst_base_transform_prepare_output_buf),
21594         (gst_base_transform_handle_buffer):
21595         Small cleanups.
21596         If we're processing a buffer and need to allocate an output
21597         buffer, we cannot accept a format change. If we did get a 
21598         format change, we have to alloc a buffer ourselves of the 
21599         right size.
21600
21601 2005-11-11  Wim Taymans  <wim@fluendo.com>
21602
21603         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21604         While checking the flag for reentrancy in the gstcaps function
21605         is nice to detect recursive invocations, it also makes it 
21606         impossible to call getcaps from multiple threads, which must be
21607         possible. So, checking for recursive calls has to go.
21608
21609 2005-11-11  Michael Smith <msmith@fluendo.com>
21610
21611         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21612           Don't sync on buffers that fall partially outside our current
21613           segment. Prevents an assertion failure/abort playing some files.
21614
21615 2005-11-10  Andy Wingo  <wingo@pobox.com>
21616
21617         * check/gst/gstbin.c (test_message_state_changed_children): Style
21618         fix..
21619
21620         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21621         gst_bus_poll with the signal watch. Ensures that poll and a signal
21622         watch see the same messages.
21623
21624         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21625         a poll and a watch at the same time get the same messages.
21626
21627 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21628
21629         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21630         * gst/gstcaps.c: (gst_caps_intersect):
21631           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21632           and it's not needed.
21633
21634 2005-11-10  Wim Taymans  <wim@fluendo.com>
21635
21636         * docs/design/part-TODO.txt:
21637         Updated todo.
21638
21639 2005-11-10  Wim Taymans  <wim@fluendo.com>
21640
21641         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21642         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21643         (gst_base_src_do_sync), (gst_base_src_get_range):
21644         Implement clock sync in base class.
21645
21646 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21647
21648         patch by: Tim-Philipp Müller <tim at centricular dot net>
21649
21650         * gst/gststructure.c: (gst_structure_parse_field),
21651         (gst_structure_from_string):
21652           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21653           so that gst_parse_launch() can deal with spaces in filtered link
21654           caps (fixes #164479)
21655         * check/gst/capslist.h:
21656         * check/gst/gststructure.c: (GST_START_TEST):
21657           add unit tests for this change
21658
21659 2005-11-10  Wim Taymans  <wim@fluendo.com>
21660
21661         * docs/gst/gstreamer-sections.txt:
21662         * gst/gstelement.c:
21663         * gst/gstelement.h:
21664         Fix docs, move some STATE macros to private.
21665
21666 2005-11-10  Wim Taymans  <wim@fluendo.com>
21667
21668         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21669         Added check for bug #317341
21670
21671         * gst/gstbuffer.c:
21672         * gst/gstbuffer.h:
21673         Some more spiffifying.
21674
21675         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21676         Call peer linkfunction if we are a source pad. Totally fixes
21677         #317341
21678
21679         * gst/gstpad.c:
21680         Update docs, source pads should call the peer linkfunction
21681         so they can atomically perform the pad link.
21682
21683 2005-11-09  Wim Taymans  <wim@fluendo.com>
21684
21685         * gst/gstbuffer.c:
21686         * gst/gstbuffer.h:
21687         Uber-spiffy-spiffify some more.
21688
21689 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21690
21691         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21692         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21693         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21694         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21695         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21696         * gst/gstpad.c: (gst_pad_init):
21697           Use GST_DEBUG_FUNCPTR() more extensively.
21698
21699 2005-11-09  Wim Taymans  <wim@fluendo.com>
21700
21701         * gst/gstobject.c: (gst_object_class_init):
21702         * gst/gstobject.h:
21703         Documentation fixes.
21704
21705 2005-11-09  Edward Hervey  <edward@fluendo.com>
21706
21707         * gst/gsttypefindfactory.c:
21708         Fix docs.
21709         
21710 2005-11-09  Edward Hervey  <edward@fluendo.com>
21711
21712         * gst/base/gsttypefindhelper.c:
21713         * gst/gsttypefind.c:
21714         * gst/gsttypefind.h:
21715         Fix docs.
21716
21717 2005-11-09  Wim Taymans  <wim@fluendo.com>
21718
21719         * gst/gstiterator.c:
21720         Fix revision data.
21721
21722         * gst/gsttask.c:
21723         * gst/gsttask.h:
21724         Fix docs.
21725
21726 2005-11-09  Wim Taymans  <wim@fluendo.com>
21727
21728         * gst/gstevent.h:
21729         * gst/gsturi.h:
21730         Fix docs.
21731
21732 2005-11-09  Wim Taymans  <wim@fluendo.com>
21733
21734         * docs/gst/gstreamer-sections.txt:
21735         Moved the message async delivery private lock and cond
21736         to the private section.
21737
21738         * gst/gstmessage.c:
21739         * gst/gstmessage.h:
21740         Fixed docs.
21741
21742 2005-11-09  Edward Hervey  <edward@fluendo.com>
21743
21744         * docs/gst/gstreamer-sections.txt:
21745         * gst/gsturi.c:
21746         * gst/gsturi.h:
21747         Document GstURIHandler
21748
21749 2005-11-09  Wim Taymans  <wim@fluendo.com>
21750
21751         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21752         (gst_iterator_find_custom):
21753         * gst/gstiterator.h:
21754         Fix iterator docs.
21755
21756 2005-11-09  Wim Taymans  <wim@fluendo.com>
21757
21758         * gst/gstbin.h:
21759         Document another field.
21760
21761         * gst/gststructure.c:
21762         * gst/gststructure.h:
21763         Document.
21764
21765 2005-11-09  Wim Taymans  <wim@fluendo.com>
21766
21767         * gst/gstbin.h:
21768         Documented structs.
21769
21770 2005-11-09  Wim Taymans  <wim@fluendo.com>
21771
21772         * docs/gst/gstreamer-sections.txt:
21773         Added some new macros.
21774
21775         * gst/gstclock.c:
21776         * gst/gstclock.h:
21777         * gst/gstobject.h:
21778         Docs updates.
21779
21780 2005-11-09  Wim Taymans  <wim@fluendo.com>
21781
21782         * docs/design/part-TODO.txt:
21783         Some more items for the TODO
21784
21785         * gst/gstcaps.c:
21786         * gst/gstcaps.h:
21787         Document GstCaps.
21788
21789 2005-11-09  Andy Wingo  <wingo@pobox.com>
21790
21791         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21792         to work on something else now tho...
21793
21794         * gst/base/gstadapter.c: More adapter docs.
21795
21796         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21797         (gst_file_sink_stop): New functions, replace the state change
21798         handler.
21799         (gst_file_sink_class_init): Hook up the start and stop functions.
21800         (gst_file_sink_base_init): Don't set the state change handler any
21801         more. It was a bit ugly too, being set from here...
21802         (gst_file_sink_get_property, gst_file_sink_set_property):
21803         Cleanups...
21804         (gst_file_sink_set_location): More robust check that doesn't call
21805         GST_STATE. Ugggggg.
21806
21807 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21808
21809         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21810           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21811
21812 2005-11-08  Wim Taymans  <wim@fluendo.com>
21813
21814         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21815         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21816         (gst_base_sink_chain), (gst_base_sink_change_state):
21817         * gst/base/gstbasesink.h:
21818         * gst/base/gstbasesrc.h:
21819         * gst/gstelement.h:
21820         * gst/gstevent.h:
21821         Avoid excessive typechecking in macros.
21822
21823         * gst/gstminiobject.c: (gst_mini_object_get_type),
21824         (gst_mini_object_init), (gst_mini_object_new),
21825         (gst_mini_object_free):
21826         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21827         (gst_object_finalize):
21828         Remove cruft code, optimize alloc_trace.
21829
21830 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21831
21832         * docs/faq/gst-uninstalled:
21833           fix up PS1 for systems that try to reset it
21834
21835 2005-11-07  Wim Taymans  <wim@fluendo.com>
21836
21837         * gst/base/gstbasesrc.c: (gst_base_src_init),
21838         (gst_base_src_get_range):
21839         Set the segment_end to -1 initially. Fixed typefind.
21840
21841 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21842
21843         * gst/base/gstadapter.c:
21844           Debug category should be 'adapter', not 'GstAdapter'.
21845           
21846         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21847         (gst_collectpads_class_init), (gst_collectpads_init),
21848         (gst_collectpads_peek), (gst_collectpads_pop),
21849         (gst_collectpads_event), (gst_collectpads_chain):
21850           Add debug category and some debugging output. Use boilerplate
21851           macros. Remove some extraneous words from docs.
21852
21853 2005-11-05  Andy Wingo  <wingo@pobox.com>
21854
21855         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21856         macro.
21857
21858 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21859
21860         * docs/gst/gstreamer-sections.txt:
21861         * gst/gstcaps.h:
21862         * gst/gstinfo.c:
21863         * gst/gstminiobject.h:
21864         * gst/gstobject.h:
21865         * gst/gstutils.h:
21866           more docs added
21867
21868 2005-11-04  Wim Taymans  <wim@fluendo.com>
21869
21870         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21871         Small update to stop at the configured segment_end
21872         position.
21873
21874 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21875
21876         * gst/gstregistry.c:
21877         * gst/gstregistry.h:
21878           added missing docs
21879
21880 2005-11-04  Edward Hervey  <edward@fluendo.com>
21881
21882         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21883         Check if we are doing a segment seek and have arrived at the
21884         end of that segment.
21885
21886 2005-11-04  Wim Taymans  <wim@fluendo.com>
21887
21888         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21889         Don't leak a mutex unlock in case of an error.
21890
21891         * gst/gstbus.h:
21892         Doc fixes.
21893
21894 2005-11-04  Wim Taymans  <wim@fluendo.com>
21895
21896         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21897         (gst_bus_post):
21898         Get the context to wake up only once.
21899
21900 2005-11-03  Wim Taymans  <wim@fluendo.com>
21901
21902         * check/states/sinks.c: (GST_START_TEST):
21903         Uncomment fixed check.
21904
21905         * docs/design/part-TODO.txt:
21906         Updated TODO.
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         If we are going to PLAYING, post the right pending state
21912         when we post the intermediate paused message.
21913
21914         * gst/gstelement.c: (gst_element_continue_state),
21915         (gst_element_set_state_func), (gst_element_change_state):
21916         Don't post state changes that were between the same state
21917         and were not ASYNC.
21918
21919 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21920
21921         * docs/gst/gstreamer-sections.txt:
21922         * gst/gstcaps.h:
21923         * gst/gstinfo.c:
21924         * gst/gstminiobject.h:
21925         * gst/gstobject.h:
21926         * gst/gstutils.h:
21927           more docs and doc style fixes
21928
21929 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21930
21931         * docs/gst/gstreamer-sections.txt:
21932         * gst/gstelement.c:
21933         * gst/gstminiobject.c:
21934         doc fixes
21935
21936 2005-11-03  Andy Wingo  <wingo@pobox.com>
21937
21938         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21939         state-changed messages actually have the right order and the right
21940         values.
21941
21942 2005-11-03  Wim Taymans  <wim@fluendo.com>
21943
21944         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21945         Added some more checks. Specifically the case where NO_PREROLL
21946         elements are in the pipeline.
21947
21948         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21949         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21950         (gst_base_sink_get_position):
21951         Post READY->PAUSED state change messages too.
21952         Fix bug where VOID was posted as pending state...
21953
21954         * gst/gstbin.c: (gst_bin_recalc_state):
21955         use _element_continue_state() to continue the state change.
21956
21957         * gst/gstelement.c: (gst_element_continue_state),
21958         (gst_element_commit_state), (gst_element_set_state_func),
21959         (gst_element_change_state), (gst_element_change_state_func):
21960         Lots of state change cleanups, assign the STATE_RETURN in
21961         a new continue_state() function that also propagates the
21962         last return value from a state change to the app.
21963         Update some debug statements with proper category.
21964
21965 2005-11-03  Wim Taymans  <wim@fluendo.com>
21966
21967         * docs/design/part-events.txt:
21968         * docs/design/part-gstpipeline.txt:
21969         * docs/design/part-messages.txt:
21970         * docs/design/part-overview.txt:
21971         * docs/design/part-seeking.txt:
21972         * docs/design/part-states.txt:
21973         * docs/design/part-trickmodes.txt:
21974         * docs/manual/advanced-position.xml:
21975         Small docs updates.
21976
21977         * gst/gstobject.h:
21978         People think !! is ugly, this looks better.
21979
21980         * gst/gstpad.c: (gst_pad_set_blocked_async):
21981         Remove !! since it's fixed elsewhere now.
21982
21983 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21984
21985         * gst/gstminiobject.h:
21986         * gst/gstobject.h:
21987           Add !! to _FLAG_IS_SET macros to make the result boolean.
21988
21989 2005-11-03  Edward Hervey  <edward@fluendo.com>
21990
21991         * gst/gstpad.c: (gst_pad_set_blocked_async):
21992         comparing a flag and a gboolean rarely returns coherent results...
21993         Added two characters (!!) to make that work correctly.
21994         
21995 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21996
21997         * gst/gstbus.c: (gst_bus_class_init):
21998           Fix some typos.
21999           
22000         * gst/gstqueue.c: (gst_queue_loop):
22001           Don't assume a miniobject that isn't a buffer is an
22002           event (it could be that there is a refcounting
22003           problem somewhere and the pointer is stale and
22004           refers to an already destroyed miniobject).
22005
22006 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22007
22008         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22009
22010 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22011
22012         * docs/manual/advanced-position.xml:
22013           Update seek example and explanations to current 0.9 API.
22014
22015         * gst/elements/gsttypefindelement.c:
22016         (gst_type_find_element_activate):
22017           Remove FIXME comment now that the found caps
22018           are unreffed.
22019
22020 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22021
22022         * gst/gstregistryxml.c: (load_feature):
22023           Add another GST_STR_NULL instance
22024
22025 2005-11-02  Edward Hervey  <edward@fluendo.com>
22026
22027         * gst/gstpad.c: (handle_pad_block):
22028         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22029         
22030 2005-11-02  Wim Taymans  <wim@fluendo.com>
22031
22032         * gst/gstbin.c:
22033         Fix typo in docs.
22034
22035         * gst/gstelement.c: (gst_element_commit_state):
22036         Remove unused value.
22037
22038         * gst/gstiterator.c:
22039         Mention that the returned element is reffed in the docs.
22040
22041 2005-11-02  Wim Taymans  <wim@fluendo.com>
22042
22043         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22044         (gst_pad_push), (gst_pad_push_event):
22045         Unlock blocked pads when they are flushed.
22046
22047 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22048
22049         * docs/README:
22050         * docs/gst/gstreamer-sections.txt:
22051         * gst/gstbin.c:
22052           doc updates
22053         * gst/gstregistry.c: (gst_registry_scan_path_level):
22054           fix for a nasty little missed situation where an installed plug-in
22055           which was in the cache did not get overridden by an uninstalled one
22056           which was earlier in the plugin path because the newly created plugin
22057           for the uninstalled one (not in the registry) didn't get its
22058           ->registered set to TRUE
22059
22060 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22061
22062         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22063         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22064         (gst_collectpads_is_active), (gst_collectpads_collect),
22065         (gst_collectpads_collect_range), (gst_collectpads_start),
22066         (gst_collectpads_stop), (gst_collectpads_peek),
22067         (gst_collectpads_pop), (gst_collectpads_available),
22068         (gst_collectpads_read), (gst_collectpads_flush):
22069           Guard public API with assertions.
22070         
22071         * gst/gstpad.c:
22072           Fix docs for gst_pad_set_link_function().
22073
22074 2005-11-02  Johan Dahlin  <johan@gnome.org>
22075
22076         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22077         Unref found_caps after we used it.
22078
22079 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22080
22081         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22082           Don't try to ref NULL.
22083
22084 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22085
22086         * win32/common/config.h.in:
22087           provide a GST_FUNCTION that just gives a string for now
22088
22089 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22090
22091         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22092         (gst_object_flags_get_type), (register_gst_bin_flags),
22093         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22094         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22095         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22096         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22097         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22098         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22099         (gst_clock_flags_get_type), (register_gst_state),
22100         (gst_state_get_type), (register_gst_state_change_return),
22101         (gst_state_change_return_get_type), (register_gst_state_change),
22102         (gst_state_change_get_type), (register_gst_element_flags),
22103         (gst_element_flags_get_type), (register_gst_core_error),
22104         (gst_core_error_get_type), (register_gst_library_error),
22105         (gst_library_error_get_type), (register_gst_resource_error),
22106         (gst_resource_error_get_type), (register_gst_stream_error),
22107         (gst_stream_error_get_type), (register_gst_event_type),
22108         (gst_event_type_get_type), (register_gst_seek_type),
22109         (gst_seek_type_get_type), (register_gst_seek_flags),
22110         (gst_seek_flags_get_type), (register_gst_format),
22111         (gst_format_get_type), (register_gst_index_certainty),
22112         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22113         (gst_index_entry_type_get_type),
22114         (register_gst_index_lookup_method),
22115         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22116         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22117         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22118         (gst_index_flags_get_type), (register_gst_debug_level),
22119         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22120         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22121         (gst_iterator_result_get_type), (register_gst_iterator_item),
22122         (gst_iterator_item_get_type), (register_gst_message_type),
22123         (gst_message_type_get_type), (register_gst_mini_object_flags),
22124         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22125         (gst_pad_link_return_get_type), (register_gst_flow_return),
22126         (gst_flow_return_get_type), (register_gst_activate_mode),
22127         (gst_activate_mode_get_type), (register_gst_pad_direction),
22128         (gst_pad_direction_get_type), (register_gst_pad_flags),
22129         (gst_pad_flags_get_type), (register_gst_pad_presence),
22130         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22131         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22132         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22133         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22134         (gst_plugin_flags_get_type), (register_gst_rank),
22135         (gst_rank_get_type), (register_gst_query_type),
22136         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22137         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22138         (gst_tag_flag_get_type), (register_gst_task_state),
22139         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22140         (gst_alloc_trace_flags_get_type),
22141         (register_gst_type_find_probability),
22142         (gst_type_find_probability_get_type), (register_gst_uri_type),
22143         (gst_uri_type_get_type), (register_gst_parse_error),
22144         (gst_parse_error_get_type):
22145         * win32/common/gstversion.h:
22146           update win32 copies
22147
22148 2005-11-01  Luca Ognibene  <luogni@tin.it>
22149
22150         * gst/gst.c:
22151           fix docs. popt is dead, long live GOption.
22152
22153 2005-10-31  Wim Taymans  <wim@fluendo.com>
22154
22155         * gst/gstbuffer.h:
22156         Small doc fix.
22157
22158 2005-10-31  Andy Wingo  <wingo@pobox.com>
22159
22160         * Boo!
22161
22162         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22163
22164         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22165         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22166         the possibility of deadlocks here if code calling notify() or
22167         set() has a lock that can be taken in another notify handler (ABBA
22168         with class lock and e.g. python GIL state lock).
22169
22170 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22171
22172         * gst/gstbus.c: Doc updates.
22173
22174 2005-10-28  Wim Taymans  <wim@fluendo.com>
22175
22176         * docs/design/part-TODO.txt:
22177         * gst/gstiterator.c:
22178         * gst/gstsystemclock.c:
22179         * gst/gstsystemclock.h:
22180         Doc updates.
22181
22182 2005-10-28  Edward Hervey  <edward@fluendo.com>
22183
22184         * docs/gst/gstreamer-docs.sgml:
22185         * docs/gst/gstreamer-sections.txt:
22186         the GstURIType documentation page is private, it only defines GstURIType
22187         which should be defined in the GstURIHandler page
22188         
22189 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22190
22191         * gst/gstbin.c: (gst_bin_class_init):
22192         * gst/gstbin.h:
22193         * gst/gstutils.c:
22194         Documentation updates.
22195
22196 2005-10-28  Wim Taymans  <wim@fluendo.com>
22197
22198         * docs/gst/gstreamer-sections.txt:
22199         * gst/gstclock.c:
22200         * gst/gstclock.h:
22201         Documented the clocks.
22202
22203 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22204
22205         * docs/gst/gstreamer-sections.txt:
22206           move some macros to private sections
22207         * gst/gstminiobject.c:
22208         * gst/gstminiobject.h:
22209           add descriptions provided by ds and some more
22210         * gst/gstpad.h:
22211           mark macro as to be removed
22212
22213 2005-10-28  Wim Taymans  <wim@fluendo.com>
22214
22215         * docs/design/part-TODO.txt:
22216         Add an item to TODO.
22217
22218         * gst/gstiterator.c: (gst_iterator_fold),
22219         (gst_iterator_find_custom):
22220         * gst/gstiterator.h:
22221         Add iterator docs.
22222
22223 2005-10-28  Wim Taymans  <wim@fluendo.com>
22224
22225         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22226         (gst_base_transform_init):
22227         Don't leak class.
22228
22229         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22230         An EOS event marks the queue as completely filled.
22231
22232 2005-10-27  Wim Taymans  <wim@fluendo.com>
22233
22234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22235         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22236         Some more debugging.
22237
22238         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22239         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22240         (gst_base_transform_event), (gst_base_transform_getrange),
22241         (gst_base_transform_chain):
22242         * gst/base/gstbasetransform.h:
22243         Fix debugging,
22244         Protect transform and concurrent buffer alloc with a new lock.
22245         Try not to break ABI/API.
22246
22247 2005-10-27  Wim Taymans  <wim@fluendo.com>
22248
22249         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22250         (gst_base_src_init), (gst_base_src_query),
22251         (gst_base_src_default_newsegment),
22252         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22253         (gst_base_src_send_event), (gst_base_src_event_handler),
22254         (gst_base_src_pad_get_range), (gst_base_src_loop),
22255         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22256         (gst_base_src_start), (gst_base_src_deactivate),
22257         (gst_base_src_activate_push), (gst_base_src_change_state):
22258         Move some stuff around and cleanup things.
22259
22260 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22261
22262         * gst/base/gstbasesrc.c: (gst_base_src_query):
22263           Add missing break statements.
22264
22265 2005-10-27  Wim Taymans  <wim@fluendo.com>
22266
22267         * check/gst/gstbin.c: (GST_START_TEST):
22268         An extra refcount is taken in basesrc.
22269
22270         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22271         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22272         (gst_base_src_loop):
22273         Small cleanups, check for flushing after being unlocked from the 
22274         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22275         Don't send out EOS when going to READY.
22276
22277 2005-10-27  Wim Taymans  <wim@fluendo.com>
22278
22279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22280         (gst_base_sink_get_position):
22281         Some more debug.
22282
22283         * gst/gstbin.c: (message_check), (bin_replace_message),
22284         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22285         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22286         (bin_query_duration_init), (bin_query_duration_fold),
22287         (bin_query_duration_done), (bin_query_generic_fold),
22288         (gst_bin_query):
22289         * tools/gst-launch.c: (main):
22290         Remove old option.
22291
22292 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22293
22294         * examples/controller/audio-example.c: (main):
22295         * examples/queue/queue.c: (event_loop):
22296         * gst/base/gstbasetransform.h:
22297         * gst/gstelement.c: (gst_element_send_event):
22298         * gst/gstevent.h:
22299         * gst/gstpad.c: (gst_pad_send_event):
22300           fixing examples
22301           fixing docs typos
22302           changing log priority in error situations
22303
22304 2005-10-25  Wim Taymans  <wim@fluendo.com>
22305
22306         * gst/gstbin.c: (message_check), (bin_replace_message),
22307         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22308         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22309         (bin_query_duration_init), (bin_query_duration_fold),
22310         (bin_query_duration_done), (bin_query_generic_fold),
22311         (gst_bin_query):
22312         Some doc and debug updates.
22313         Cache previously requested query DURATION for speed. invalidate
22314         cached duration if element posts a DURATION message.
22315
22316 2005-10-25  Wim Taymans  <wim@fluendo.com>
22317
22318         * docs/design/part-TODO.txt:
22319         Update TODO.
22320
22321         * gst/gstbin.c: (message_check), (bin_replace_message),
22322         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22323         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22324         (bin_query_duration_init), (bin_query_duration_fold),
22325         (bin_query_duration_done), (bin_query_generic_fold),
22326         (gst_bin_query):
22327         Handle SEGMENT_START/DONE messages correctly.
22328         More evolved query algorithm that handles duration queries
22329         correctly.
22330
22331         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22332         (gst_element_get_state_func), (gst_element_abort_state),
22333         (gst_element_commit_state), (gst_element_lost_state):
22334         Some more debugging.
22335
22336         * gst/gstmessage.h:
22337         Added doc.
22338
22339 2005-10-25  Wim Taymans  <wim@fluendo.com>
22340
22341         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22342         Don't use invalid stream_time.
22343
22344         * gst/gstevent.c: (gst_event_new_newsegment):
22345         stream_time in newsegment cannot be undefined.
22346
22347 2005-10-24  Wim Taymans  <wim@fluendo.com>
22348
22349         * gst/gstbus.c:
22350         Doc fix.
22351
22352         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22353         (gst_queue_loop):
22354         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22355
22356 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22357
22358         * docs/libs/tmpl/gstdparam.sgml:
22359         * docs/libs/tmpl/gstdplinint.sgml:
22360         * docs/libs/tmpl/gstdpman.sgml:
22361         * docs/libs/tmpl/gstdpsmooth.sgml:
22362         * docs/libs/tmpl/gstunitconvert.sgml:
22363           these are obsolete
22364
22365 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22366
22367         * configure.ac:
22368           back to HEAD
22369
22370 === release 0.9.4 ===
22371
22372 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22373
22374         * configure.ac:
22375           releasing 0.9.4, "Tyrannosaurus Rex"
22376
22377 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22378
22379         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22380         (gst_file_sink_get_current_offset):
22381           Use fseeko() and ftello() if available. When falling back on
22382           lseek() to get the current offset, fflush() first to make sure
22383           everything is up-to-date and we get the right offset.
22384
22385 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22386
22387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22388         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22389         * gst/gsterror.c: (_gst_stream_errors_init):
22390         * gst/gsterror.h:
22391         * gst/gstqueue.c: (gst_queue_loop):
22392         * po/POTFILES.in:
22393           remove prematurely added error category and clean up the instances
22394
22395 2005-10-21  Wim Taymans  <wim@fluendo.com>
22396
22397         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22398         (gst_base_sink_get_position), (gst_base_sink_query),
22399         (gst_base_sink_change_state):
22400         Simply set the right flag when going to playing, that's all
22401         we need to do instead of calling a function inside the object
22402         lock (that could take the lock as well and deadlock)
22403
22404 2005-10-21  Wim Taymans  <wim@fluendo.com>
22405
22406         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22407         (gst_base_src_loop):
22408         Don't warn, the peer element knows what to do best when
22409         the seek failed, it might try something else.
22410
22411 2005-10-21  Wim Taymans  <wim@fluendo.com>
22412
22413         * gst/base/gstbasesrc.c: (gst_base_src_init),
22414         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22415         Fix seeking.
22416
22417 2005-10-21  Wim Taymans  <wim@fluendo.com>
22418
22419         * docs/design/part-segments.txt:
22420         More docs.
22421
22422         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22423         Correctly set caps, even on the subbufer.
22424
22425 2005-10-21  Wim Taymans  <wim@fluendo.com>
22426
22427         * docs/gst/gstreamer-docs.sgml:
22428         * docs/gst/gstreamer-sections.txt:
22429         * gst/gstelement.h:
22430         * gst/gstevent.c:
22431         * gst/gstevent.h:
22432         * gst/gstmessage.h:
22433         * gst/gstpad.h:
22434         * gst/gstparse.h:
22435         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22436         * gst/gsttask.h:
22437         * gst/gstutils.c:
22438         * gst/gstutils.h:
22439         And 2% more doc coverage.
22440
22441 2005-10-21  Andy Wingo  <wingo@pobox.com>
22442
22443         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22444         position reporting.
22445
22446 2005-10-20  Wim Taymans  <wim@fluendo.com>
22447
22448         * gst/gsterror.c: (gst_error_get_message):
22449         * gst/gstparse.h:
22450         * gst/gstquery.h:
22451         * gst/gststructure.c:
22452         * gst/gsttrace.c:
22453         * gst/gstutils.c:
22454         More docs.
22455
22456 2005-10-20  Wim Taymans  <wim@fluendo.com>
22457
22458         * gst/gstbuffer.h:
22459         * gst/gstpad.c:
22460         * gst/gstparse.c:
22461         Another 1% more coverage.
22462
22463 2005-10-20  Wim Taymans  <wim@fluendo.com>
22464
22465         * docs/gst/gstreamer-sections.txt:
22466         * gst/gstelement.c: (gst_element_get_state_func),
22467         (gst_element_abort_state), (gst_element_commit_state),
22468         (gst_element_lost_state):
22469         * gst/gstevent.h:
22470         * gst/gstquery.c: (gst_query_set_position),
22471         (gst_query_parse_position), (gst_query_set_duration),
22472         (gst_query_parse_duration), (gst_query_new_convert):
22473         * gst/gstutils.c:
22474         Yay! 1% more docs coverage.
22475
22476 2005-10-20  Wim Taymans  <wim@fluendo.com>
22477
22478         * gst/gstpad.h:
22479         * gst/gstquery.c: (gst_query_set_position),
22480         (gst_query_parse_position), (gst_query_set_duration),
22481         (gst_query_parse_duration), (gst_query_new_convert):
22482         * gst/gstquery.h:
22483         * gst/gstutils.c: (gst_element_query_convert):
22484         * gst/gstutils.h:
22485         Docs and consistency fixes.
22486
22487 2005-10-20  Wim Taymans  <wim@fluendo.com>
22488
22489         * gst/gsttask.c:
22490         * gst/gsttask.h:
22491         More docs.
22492
22493 2005-10-20  Wim Taymans  <wim@fluendo.com>
22494
22495         * gst/gstbin.c: (message_check), (bin_replace_message),
22496         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22497         (update_degree), (gst_bin_sort_iterator_next),
22498         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22499         Reworked the message handling a bit, cache the messages instead of
22500         only the senders. alows us to do more in the future.
22501
22502 2005-10-20  Wim Taymans  <wim@fluendo.com>
22503
22504         * docs/design/part-TODO.txt:
22505         Update TODO
22506
22507         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22508         (gst_base_sink_query):
22509         Don't use clock time to report position when in EOS.
22510
22511 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22512
22513         * tools/gst-inspect.c: (print_interfaces),
22514         (print_element_properties_info), (print_element_info):
22515           Fix interface output with gst-inspect -a; don't print
22516           newlines after double/float properties.
22517
22518 2005-10-20  Wim Taymans  <wim@fluendo.com>
22519
22520         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22521         (gst_base_sink_query):
22522         Speed up current position calculation.
22523
22524         * gst/base/gstbasesrc.c: (gst_base_src_query),
22525         (gst_base_src_default_newsegment):
22526         Correctly set stream position in newsegment.
22527
22528         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22529         (update_degree), (gst_bin_sort_iterator_next),
22530         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22531         * gst/gstmessage.c: (gst_message_new_custom):
22532         Clean up debugging info
22533
22534         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22535         (gst_queue_loop), (gst_queue_handle_src_query):
22536         Pause task faster.
22537
22538 2005-10-19  Wim Taymans  <wim@fluendo.com>
22539
22540         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22541         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22542         Fix query handling again.
22543
22544 2005-10-19  Wim Taymans  <wim@fluendo.com>
22545
22546         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22547         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22548         * gst/base/gstbasesrc.c: (gst_base_src_query):
22549         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22550         * gst/elements/gsttypefindelement.c:
22551         (gst_type_find_handle_src_query), (find_element_get_length),
22552         (gst_type_find_element_activate):
22553         API change fix.
22554
22555         * gst/gstquery.c: (gst_query_new_position),
22556         (gst_query_set_position), (gst_query_parse_position),
22557         (gst_query_new_duration), (gst_query_set_duration),
22558         (gst_query_parse_duration), (gst_query_set_segment),
22559         (gst_query_parse_segment):
22560         * gst/gstquery.h:
22561         Bundling query position/duration is not a good idea since duration
22562         does not change much and we don't want to recalculate it for every
22563         position query, so they are separated again..
22564         Base value in segment query is not needed.
22565
22566         * gst/gstqueue.c: (gst_queue_handle_src_query):
22567         * gst/gstutils.c: (gst_element_query_position),
22568         (gst_element_query_duration), (gst_pad_query_position),
22569         (gst_pad_query_duration):
22570         * gst/gstutils.h:
22571         Updates for query API change.
22572         Added some docs here and there.
22573
22574 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22575
22576         * check/gst/gstbin.c: (GST_START_TEST):
22577         * check/gst/gstghostpad.c: (GST_START_TEST):
22578         * check/pipelines/cleanup.c: (GST_START_TEST):
22579           wait on thread to die so we can check refcount correctly
22580
22581 2005-10-18  Wim Taymans  <wim@fluendo.com>
22582
22583         * check/pipelines/stress.c: (GST_START_TEST):
22584         Make check a little more time consuming.
22585
22586 2005-10-18  Wim Taymans  <wim@fluendo.com>
22587
22588         * check/Makefile.am:
22589         * check/pipelines/stress.c: (GST_START_TEST),
22590         (simple_launch_lines_suite), (main):
22591         Small state change torture test.
22592
22593         * docs/design/part-states.txt:
22594         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22595         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22596         (gst_base_sink_change_state):
22597         Never take state lock from streaming thread, clean up ugly
22598         hacks. Unfortunatly core does not yet support nice ways to
22599         async commit state.
22600         
22601         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22602         (bin_bus_handler):
22603         Start state recalc if a STATE_DIRTY message is posted, but only
22604         on the toplevel bin.
22605
22606         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22607         (gst_element_get_state_func), (gst_element_abort_state),
22608         (gst_element_commit_state), (gst_element_lost_state),
22609         (gst_element_set_state_func), (gst_element_change_state):
22610         * gst/gstelement.h:
22611         State variables are now protected with the LOCK, the state
22612         lock is only used to serialize _set_state().
22613
22614 2005-10-18  Wim Taymans  <wim@fluendo.com>
22615
22616         * check/gst/gstbin.c: (GST_START_TEST):
22617         * check/gst/gstmessage.c: (GST_START_TEST):
22618         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22619         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22620         (bin_bus_handler):
22621         * gst/gstelement.c: (gst_element_abort_state),
22622         (gst_element_commit_state), (gst_element_lost_state):
22623         * gst/gstmessage.c: (gst_message_new_state_changed),
22624         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22625         (gst_message_new_segment_done), (gst_message_new_duration),
22626         (gst_message_parse_state_changed),
22627         (gst_message_parse_segment_start),
22628         (gst_message_parse_segment_done), (gst_message_parse_duration):
22629         * gst/gstmessage.h:
22630         * tools/gst-launch.c: (event_loop):
22631         Seriously, this is better than a previous commit as we only need
22632         to notify the fact that an element changed state in a streaming
22633         thread, marking the state of the parents dirty, hence the 
22634         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22635         message.
22636
22637 2005-10-18  Wim Taymans  <wim@fluendo.com>
22638
22639         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22640         (gst_bin_recalc_func):
22641         * gst/gstelement.c: (gst_element_set_clock),
22642         (gst_element_abort_state), (gst_element_lost_state):
22643         Cleanups, prepare for state change fixes.
22644
22645 2005-10-18  Wim Taymans  <wim@fluendo.com>
22646
22647         * gst/gstbin.h:
22648         * gst/gstelement.c: (gst_element_class_init),
22649         (gst_element_set_state), (gst_element_set_state_func):
22650         * gst/gstelement.h:
22651         Pending ABI changes.
22652         GThreadPool in GstBinClass to monitor async state changes.
22653         state_cookie in GstElement to detect concurrent gst/set state.
22654         set_state is now virtual too in case a very complicated element
22655         has to be constructed.
22656
22657 2005-10-18  Wim Taymans  <wim@fluendo.com>
22658
22659         * check/gst/gstbin.c: (GST_START_TEST):
22660         * check/gst/gstmessage.c: (GST_START_TEST):
22661         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22662         * gst/gstbin.c: (bin_bus_handler):
22663         * gst/gstelement.c: (gst_element_commit_state),
22664         (gst_element_lost_state):
22665         * gst/gstmessage.c: (gst_message_new_state_changed),
22666         (gst_message_new_segment_start), (gst_message_new_segment_done),
22667         (gst_message_new_duration), (gst_message_parse_state_changed),
22668         (gst_message_parse_segment_start),
22669         (gst_message_parse_segment_done), (gst_message_parse_duration):
22670         * gst/gstmessage.h:
22671         * tools/gst-launch.c: (event_loop):
22672         Make messages future proof.
22673         state-change gets a flag if it was a message comming from the
22674         streaming thread.
22675         segment-start/stop can also be specified in other formats.
22676         A message to notify an app that a pipeline changed playback 
22677         duration.
22678         Also fix a GstMessage leak in -launch
22679
22680 2005-10-18  Andy Wingo  <wingo@pobox.com>
22681
22682         * gst/gstelement.c (gst_element_dispose): More helpful message.
22683
22684 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22685
22686         reviewed by: <delete if not using a buddy>
22687
22688         * common/gtk-doc.mak:
22689
22690 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22691
22692         * gst/gstregistry.c: (gst_registry_scan_path_level):
22693           unref a plug-in we get that was already initialized
22694
22695 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22696
22697         * docs/gst/gstreamer-sections.txt:
22698         * docs/libs/gstreamer-libs-sections.txt:
22699         * gst/gstelement.h:
22700           add new api entries
22701           hide internal macro
22702
22703 2005-10-17  Andy Wingo  <wingo@pobox.com>
22704
22705         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22706         cleanup.
22707
22708         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22709
22710         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22711
22712         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22713         (gst_element_get_state_func): Better debug message.
22714         (gst_element_commit_state): s/INFO/DEBUG/.
22715         (gst_element_lost_state, gst_element_change_state): 
22716
22717         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22718         (gst_message_new_custom): s/INFO/LOG/.
22719
22720 2005-10-17  Michael Smith <msmith@fluendo.com>
22721
22722         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22723           Check if end time is valid using end time, not start time.
22724
22725 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22726
22727         * check/gst-libs/controller.c: (GST_START_TEST),
22728         (gst_controller_suite):
22729         * libs/gst/controller/gstcontroller.c:
22730         (gst_controlled_property_set_interpolation_mode):
22731         * libs/gst/controller/gstcontroller.h:
22732         * libs/gst/controller/gstinterpolation.c:
22733         * testsuite/controller/.cvsignore:
22734         * testsuite/controller/Makefile.am:
22735         * testsuite/controller/interpolator.c:
22736           merge controller testsuites
22737           fix broken tests
22738           remove mem-chunk from docs
22739
22740 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22741
22742         * gst/gstmemchunk.c:
22743         * gst/gstmemchunk.h:
22744         * gst/gsttrashstack.c:
22745         * gst/gsttrashstack.h:
22746           out.  get out.  you're fired.  to the Attic !
22747
22748 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22749
22750         * gst/gstcaps.c: (gst_caps_intersect):
22751           fix signedness issues in a (hopefully) correct way
22752         * gst/gstelement.c: (gst_element_pads_activate):
22753           some debugging
22754         * gst/gstobject.c: (gst_object_set_parent):
22755           some debugging
22756
22757 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22758
22759         * gst/gstvalue.h: Fix prototypes.
22760
22761 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22762
22763         * docs/gst/gstreamer-sections.txt:
22764         * gst/gst.c: (gst_version_string):
22765         * gst/gst.h:
22766         * gst/gstversion.h.in:
22767         * win32/common/libgstreamer.def:
22768           add gst_version_string ()
22769
22770 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22771
22772         * configure.ac:
22773           clean up further
22774         * gst/gst.c: (init_post):
22775         * win32/common/config.h.in:
22776           it's PLUGINDIR now
22777         * gst/gstcaps.c: (gst_caps_intersect):
22778           use gint64, the range could be bigger than a guint
22779
22780 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22781
22782         * gst/gstclock.h:
22783           document potential problem in 2038
22784
22785 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22786
22787         * gst/gstcaps.c: (gst_caps_intersect):
22788           Fix guint j diving under 0
22789
22790 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22791
22792         * configure.ac:
22793         * win32/common/config.h:
22794         * win32/common/config.h.in:
22795           check for process.h, declares getpid() on Windows
22796         * gst/gstinfo.c:
22797           include process.h if we have it
22798         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22799         * gst/gstmemchunk.h:
22800           fix signedness issues
22801         * win32/common/libgstreamer.def:
22802           fix get_type's
22803
22804 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22805
22806         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22807         fix. Because of unsigned ints, caps intersection was going nuts and
22808         trying to access structures with G_MAXUINT index. That fixes
22809         videotestsrc ! ffmpegcolorspace ! fakesink
22810         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22811         consistency.
22812
22813 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22814
22815         * configure.ac:
22816           use the gettext macro
22817         * gst/elements/gstelements.c:
22818         * gst/gst.c:
22819         * gst/indexers/gstindexers.c:
22820           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22821         * win32/common/config.h:
22822           updated config.h
22823         * win32/common/config.h.in:
22824           add the template to generate config.h
22825         * win32/common/gstenumtypes.c:
22826         * win32/common/gstversion.h:
22827           updated copies
22828
22829 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22830
22831         * gst/gst.c: (gst_version):
22832         * gst/gstversion.h.in:
22833           add the nano
22834
22835 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22836
22837         * gst/gstevent.h:
22838           Oops, add missing closing bracket.
22839
22840 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22841
22842         * configure.ac:
22843           use common m4's for argument checking
22844
22845 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22846
22847         * docs/gst/gstreamer-sections.txt:
22848         * gst/gstevent.h:
22849           Add GST_EVENT_TYPE_NAME() macro.
22850
22851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22852
22853         * gst/gstinfo.c:
22854         * gst/gstpluginfeature.c:
22855         * gst/gsttask.c:
22856           privatize more symbols
22857
22858 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22859
22860         * configure.ac:
22861           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22862           everything that uses GStreamer API should have the includes
22863
22864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22865
22866         * docs/gst/gstreamer-sections.txt:
22867         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22868         * gst/gstvalue.h:
22869           give each value a _get_type, removes the DATA exports
22870
22871 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22872
22873         * gst/gst.c:
22874         * gst/gst.h:
22875           remove _gst_registry_auto_load, not used anymore
22876         * gst/gstbin.c: (gst_bin_get_type):
22877         * gst/gstbin.h:
22878         * gst/gstelement.c: (gst_element_get_type):
22879         * gst/gstelement.h:
22880         * gst/gstobject.c: (gst_object_get_type):
22881         * gst/gstobject.h:
22882         * gst/gstpad.c: (gst_pad_get_type):
22883         * gst/gstpad.h:
22884           make _get_type functions similar, fixes data export from library
22885
22886 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22887
22888         * configure.ac:
22889           correctly make conditionals
22890         * gst/elements/Makefile.am:
22891         * gst/elements/gstelements.c:
22892           fix typo causing fdsrc not to build
22893
22894 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22895
22896         * testsuite/Makefile.am:
22897         * testsuite/bytestream/.cvsignore:
22898         * testsuite/bytestream/Makefile.am:
22899         * testsuite/bytestream/filepadsink.c:
22900         * testsuite/bytestream/gstbstest.c:
22901         * testsuite/bytestream/test1.c:
22902         * testsuite/bytestream/testfile1:
22903         * testsuite/caps/normalisation.c:
22904         * testsuite/caps/random.c: (main):
22905         * testsuite/cleanup/.cvsignore:
22906         * testsuite/cleanup/Makefile.am:
22907         * testsuite/cleanup/cleanup1.c:
22908         * testsuite/cleanup/cleanup2.c:
22909         * testsuite/cleanup/cleanup3.c:
22910         * testsuite/cleanup/cleanup4.c:
22911         * testsuite/cleanup/cleanup5.c:
22912         * testsuite/controller/interpolator.c:
22913         * testsuite/debug/printf_extension.c: (main):
22914         * testsuite/elements/tee.c:
22915         * testsuite/negotiation/.cvsignore:
22916         * testsuite/negotiation/Makefile.am:
22917         * testsuite/negotiation/pad_link.c:
22918         * testsuite/pad/Makefile.am:
22919         * testsuite/pad/chainnopull.c:
22920         * testsuite/pad/getnopush.c:
22921         * testsuite/pad/link.c:
22922         * testsuite/refcounting/sched.c: (create_pipeline):
22923         * testsuite/registry/Makefile.am:
22924         * testsuite/registry/gst-print-formats.c:
22925         * testsuite/schedulers/.cvsignore:
22926         * testsuite/schedulers/142183-2.c:
22927         * testsuite/schedulers/142183.c:
22928         * testsuite/schedulers/143777-2.c:
22929         * testsuite/schedulers/143777.c:
22930         * testsuite/schedulers/147713.c:
22931         * testsuite/schedulers/147819.c:
22932         * testsuite/schedulers/147894-2.c:
22933         * testsuite/schedulers/147894.c:
22934         * testsuite/schedulers/Makefile.am:
22935         * testsuite/schedulers/group_link.c:
22936         * testsuite/schedulers/queue_link.c:
22937         * testsuite/schedulers/relink.c:
22938         * testsuite/schedulers/unlink.c:
22939         * testsuite/schedulers/unref.c:
22940         * testsuite/schedulers/useless_iteration.c:
22941         * testsuite/states/bin.c:
22942           clean out/remove some stuff from the testsuite directories
22943
22944 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22945
22946         * configure.ac:
22947           check for some headers
22948         * gst/elements/Makefile.am:
22949         * gst/elements/gstelements.c:
22950           don't compile fdsrc without sys/socket.h
22951         * gst/indexers/Makefile.am:
22952         * gst/indexers/gstindexers.c: (plugin_init):
22953           don't compile fileindex without mmap
22954
22955 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22956
22957         * configure.ac:
22958           reorganize
22959           clean up
22960           document more
22961           remove cruft
22962         * check/Makefile.am:
22963         * docs/gst/Makefile.am:
22964         * examples/helloworld/Makefile.am:
22965         * gst/Makefile.am:
22966         * gst/base/Makefile.am:
22967         * gst/check/Makefile.am:
22968         * gst/elements/Makefile.am:
22969         * gst/indexers/Makefile.am:
22970         * gst/parse/Makefile.am:
22971         * libs/gst/controller/Makefile.am:
22972         * libs/gst/dataprotocol/Makefile.am:
22973         * examples/helloworld/helloworld.c: (event_loop):
22974           compile fixes, though it's not being compiled currently
22975
22976 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22977
22978         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22979           Add some simple tests for the new taglist date API.
22980
22981 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22982
22983         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22984         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22985           Beautify 'last-message' output: print 'none' for buffer timestamps
22986           and durations if none is set; improve alignment with next messages.
22987
22988 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22989
22990         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22991         * gst/gstpluginfeature.h:
22992         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22993         * gst/gstregistry.h:
22994         * docs/gst/gstreamer-sections.txt:
22995           Add new API to check plugin feature version requirements.
22996
22997         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22998           Some basic tests for the above.         
22999
23000 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23001
23002         * gst/gststructure.c: (gst_structure_to_string):
23003           guard against NULL printf - happens when for example
23004           a message structure with GstClock gets serialized
23005
23006 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23007
23008         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23009           Fix presumable copy'n'pasto.
23010
23011 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23012
23013         * gst/elements/gstfakesrc.h:
23014         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23015         * gst/elements/gsttypefindelement.c:
23016           fix some signedness
23017         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23018           I wonder if this could actually write +2GB files before
23019
23020 2005-10-13  Andy Wingo  <wingo@pobox.com>
23021
23022         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23023         Fix Timmeke Waymans bug.
23024         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23025         string of the proper length to gst_caps_from_string. There's a
23026         potential for, before this fix, that this could cause someone
23027         connecting over the network to cause a segfault if the payload is
23028         not NUL-terminated.
23029
23030 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23031
23032         * docs/design/draft-push-pull.txt:
23033         * docs/design/part-overview.txt:
23034         * docs/random/TODO-pre-0.9:
23035         * docs/random/old/ChangeLog.gstreamer:
23036         * gst/base/gstpushsrc.c:
23037         * gst/gstclock.c:
23038           fixed typos
23039
23040 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23041
23042         * gst/glib-compat.c: (gst_flags_get_first_value):
23043         * gst/glib-compat.h:
23044         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23045         (gst_value_compare_double), (gst_value_serialize_flags):
23046           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23047           infinite loop
23048
23049 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23050
23051         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23052         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23053           fix up debugging
23054         * tools/gst-launch.c: (event_loop):
23055           print out clock nicely
23056
23057 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23058
23059         * docs/gst/gstreamer-sections.txt:
23060         * gst/gsttaglist.h:
23061         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23062         (gst_tag_list_get_date_index):
23063           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23064           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23065
23066 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23067
23068         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23069         (gst_collectpads_chain):
23070         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23071         in CollectData.
23072
23073 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23074
23075         * docs/gst/gstreamer-sections.txt:
23076         * gst/gst.c:
23077         * gst/gsterror.h:
23078         * tools/gst-inspect.c: (main):
23079         * tools/gst-launch.c: (main):
23080         * tools/gst-run.c: (main):
23081         * tools/gst-xmlinspect.c: (main):
23082           fix GOption context leaks
23083           doc fixes
23084
23085 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23086
23087         * gst/gstbus.c:
23088           use HAVE_UNISTD_H
23089         * win32/common/config.h:
23090           update config
23091         * win32/vs6/grammar.dsp:
23092         * win32/vs6/libgstelements.dsp:
23093         * win32/vs6/libgstreamer.dsp:
23094           update vs6 files
23095
23096 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23097
23098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23099         * gst/base/gstbasesrc.c: (gst_base_src_query):
23100           fix more guint64<->gdouble conversions
23101
23102 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23103
23104         * Makefile.am:
23105           add win32-update target
23106         * win32/common/gstconfig.h:
23107         * win32/common/gstenumtypes.c:
23108         * win32/common/gstenumtypes.h:
23109         * win32/common/gstversion.h:
23110           add files that visual studio can't generate
23111
23112 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23113
23114         * Makefile.am:
23115           add a win32-update target
23116         * configure.ac:
23117
23118 2005-10-12  Wim Taymans  <wim@fluendo.com>
23119
23120         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23121         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23122         * gst/gstelement.c: (gst_element_commit_state),
23123         (gst_element_set_state):
23124         Protect flags with proper lock.
23125         unref provided cached clock in dispose.
23126
23127 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23128
23129         * gst/gst.c:
23130         * gst/gstminiobject.h:
23131         * gst/gstpad.h:
23132         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23133           removed unused flags from miniobject
23134           doc fixes
23135
23136 2005-10-12  Wim Taymans  <wim@fluendo.com>
23137
23138         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23139         (gst_file_sink_event), (gst_file_sink_render):
23140         Flush before seeking.
23141
23142 2005-10-12  Andy Wingo  <wingo@pobox.com>
23143
23144         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23145         always been the case.
23146
23147 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23148
23149         * check/gst/gstbin.c: (GST_START_TEST):
23150         * docs/gst/gstreamer-sections.txt:
23151         * gst/base/gstbasesink.c: (gst_base_sink_init):
23152         * gst/base/gstbasesrc.c: (gst_base_src_init),
23153         (gst_base_src_get_range), (gst_base_src_check_get_range),
23154         (gst_base_src_start), (gst_base_src_stop):
23155         * gst/base/gstbasesrc.h:
23156         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23157         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23158         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23159         (bin_bus_handler):
23160         * gst/gstbin.h:
23161         * gst/gstbuffer.h:
23162         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23163         * gst/gstbus.h:
23164         * gst/gstelement.c: (gst_element_is_locked_state),
23165         (gst_element_set_locked_state), (gst_element_commit_state),
23166         (gst_element_set_state):
23167         * gst/gstelement.h:
23168         * gst/gstindex.c: (gst_index_init):
23169         * gst/gstindex.h:
23170         * gst/gstminiobject.h:
23171         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23172         (gst_object_set_parent):
23173         * gst/gstobject.h:
23174         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23175         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23176         * gst/gstpad.h:
23177         * gst/gstpadtemplate.h:
23178         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23179         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23180         * gst/gstpipeline.h:
23181         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23182         (gst_file_index_commit):
23183         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23184         * testsuite/pad/link.c: (gst_test_src_init),
23185         (gst_test_filter_init), (gst_test_sink_init):
23186         * testsuite/states/locked.c: (main):
23187           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23188           moved bitshift from macro to enum definition
23189
23190 2005-10-12  Wim Taymans  <wim@fluendo.com>
23191
23192         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23193         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23194         (gst_file_sink_render):
23195         Some more debugging info.
23196
23197 2005-10-12  Wim Taymans  <wim@fluendo.com>
23198
23199         * docs/design/part-states.txt:
23200         * tools/gst-launch.c: (main):
23201         Some doc updates.
23202         Revert non-intentional change.
23203
23204 2005-10-12  Wim Taymans  <wim@fluendo.com>
23205
23206         * check/gst/gstbin.c: (GST_START_TEST):
23207         * check/gst/gstelement.c: (GST_START_TEST):
23208         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23209         * check/gst/gstghostpad.c: (GST_START_TEST):
23210         * check/gst/gstpipeline.c: (GST_START_TEST):
23211         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23212         * check/states/sinks.c: (GST_START_TEST):
23213         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23214         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23215         (gst_bin_remove_func), (gst_bin_get_state_func),
23216         (gst_bin_recalc_state), (gst_bin_change_state_func),
23217         (bin_bus_handler):
23218         * gst/gstelement.c: (gst_element_get_state_func),
23219         (gst_element_get_state), (gst_element_abort_state),
23220         (gst_element_commit_state), (gst_element_set_state),
23221         (gst_element_change_state), (gst_element_change_state_func):
23222         * gst/gstelement.h:
23223         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23224         (gst_pipeline_provide_clock_func):
23225         * gst/gstutils.c: (gst_element_link_pads_filtered):
23226         * tools/gst-launch.c: (main):
23227         * tools/gst-typefind.c: (main):
23228         Use GstClockTime in _get_state() instead of GTimeVal.
23229         Remove old code in gstutils.c
23230
23231 2005-10-12  Andy Wingo  <wingo@pobox.com>
23232
23233         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23234         removed.
23235
23236         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23237         there is no task. Shouldn't affect any code, as nothing in our
23238         plugins checks this return value.
23239         (gst_pad_stop_task): Also take the stream lock if the pad has no
23240         task. Docs updated.
23241
23242 2005-10-12  Wim Taymans  <wim@fluendo.com>
23243
23244         * gst/gstpad.c: (pre_activate), (post_activate),
23245         (gst_pad_activate_pull), (gst_pad_activate_push):
23246         Cleanup activation code. Reset old state if
23247         activation failed.
23248
23249 2005-10-12  Wim Taymans  <wim@fluendo.com>
23250
23251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23252         (gst_base_sink_change_state):
23253         No need to prerol after receiving EOS.
23254
23255         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23256         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23257         * gst/elements/gstidentity.c: (gst_identity_event):
23258         Print events more verbosely.
23259
23260 2005-10-12  Wim Taymans  <wim@fluendo.com>
23261
23262         * check/Makefile.am:
23263         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23264         * check/states/sinks2.c:
23265         Moved sinks2 testcode in sinks check.
23266
23267         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23268         (gst_bin_remove_func), (gst_bin_recalc_state),
23269         (gst_bin_change_state_func), (bin_bus_handler):
23270         Fix potential race condition when _get_state() iterated over an
23271         ASYNC element right before it posted a state completion.
23272
23273         * gst/gstclock.h:
23274         Do proper cast here.
23275
23276         * gst/gstevent.c: (gst_event_new_newsegment),
23277         (gst_event_parse_newsegment):
23278         A playback rate of 0.0 is not allowed.
23279
23280 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23281
23282         * win32/common/config.h:
23283         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23284         (_trewinddir), (_ttelldir), (_tseekdir):
23285         * win32/common/dirent.h:
23286         * win32/common/gtchar.h:
23287         * win32/common/libgstbase.def:
23288         * win32/common/libgstreamer.def:
23289         * win32/vs6/grammar.dsp:
23290         * win32/vs6/gst_inspect.dsp:
23291         * win32/vs6/gst_launch.dsp:
23292         * win32/vs6/gstreamer.dsw:
23293         * win32/vs6/libgstbase.dsp:
23294         * win32/vs6/libgstelements.dsp:
23295         * win32/vs6/libgstreamer.dsp:
23296           Visual Studio 6 project files, and a new common directory.
23297           Phear.
23298
23299 2005-10-11  Wim Taymans  <wim@fluendo.com>
23300
23301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23302         (gst_base_sink_do_sync), (gst_base_sink_query),
23303         (gst_base_sink_change_state):
23304         * gst/base/gstbasesink.h:
23305         Correctly parse newsegment info.
23306
23307 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23308
23309         * gst/gst.c: (init_post):
23310           split plugin paths correctly
23311
23312 2005-10-11  Wim Taymans  <wim@fluendo.com>
23313
23314         * check/gst/gstevent.c: (GST_START_TEST):
23315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23316         (gst_base_sink_change_state):
23317         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23318         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23319         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23320         * gst/gstevent.c: (gst_event_new_newsegment),
23321         (gst_event_parse_newsegment):
23322         * gst/gstevent.h:
23323         Added extra flag to newsegment for future API freeze.
23324         Updated check and base elements.
23325
23326 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23327
23328         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23329         (gst_collectpads_add_pad), (gst_collectpads_pop),
23330         (gst_collectpads_event), (gst_collectpads_chain):
23331         * gst/base/gstcollectpads.h: Handle EOS correctly.
23332
23333 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23334
23335         * tools/gst-launch.c: (main):
23336           more null protecting
23337
23338 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23339
23340         * gst/gst-i18n-lib.h:
23341           check for ENABLE_NLS, not GETTEXT_PACKAGE
23342         * gst/gstregistry.c: (gst_registry_add_plugin),
23343         (gst_registry_scan_path_level),
23344         (_gst_registry_remove_cache_plugins):
23345           protect possibly NULL strings
23346         * gst/parse/types.h:
23347           config.h already included before
23348         * tools/gst-inspect.c: (main):
23349           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23350           check for ENABLE_NLS, not GETTEXT_PACKAGE
23351         * tools/gst-launch.c: (main):
23352           check for ENABLE_NLS, not GETTEXT_PACKAGE
23353
23354 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23355
23356         * configure.ac:
23357           if we don't have glib, fail before testing 2.8
23358         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23359           fix a leak, should fix plugins-base testsuite
23360
23361 2005-10-11  Andy Wingo  <wingo@pobox.com>
23362
23363         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23364         take the mode we're going to as an arg. Go head and set the mode
23365         and flushing flags now, so that if the activate function starts a
23366         thread all the flags will be in the right state.
23367         (post_activate): Renamed also. Just handle making sure streaming
23368         finishes for the deactivation case, and setting the deactivated
23369         mode.
23370         (gst_pad_set_active): Complain loudly if deactivation fails.
23371         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23372         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23373         remove the terrible hack.
23374
23375 2005-10-11  Wim Taymans  <wim@fluendo.com>
23376
23377         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23378         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23379         (gst_bin_recalc_state), (gst_bin_change_state_func),
23380         (gst_bin_dispose), (bin_bus_handler):
23381         * gst/gstbin.h:
23382         Prepare to make current EOS message queue more generic.
23383         Fix some typos.
23384
23385         * gst/gstevent.c: (gst_event_new_newsegment),
23386         (gst_event_parse_newsegment):
23387         * gst/gstevent.h:
23388         Rename base to stream_time.
23389
23390         * gst/gstmessage.h:
23391         Fix typo in docs.
23392
23393 2005-10-11  Wim Taymans  <wim@fluendo.com>
23394
23395         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23396         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23397         (gst_bin_change_state_func), (bin_bus_handler):
23398         * gst/gstbin.h:
23399         Work on proper clock selection.
23400
23401 2005-10-11  Edward Hervey  <edward@fluendo.com>
23402
23403         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23404         * libs/gst/controller/gstcontroller.h:
23405         Added GList* version of _remove_properties() in order to be able to wrap
23406         it in bindings.
23407
23408 2005-10-11  Wim Taymans  <wim@fluendo.com>
23409
23410         * docs/design/part-states.txt:
23411         Some more docs.
23412
23413         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23414         (gst_bin_change_state_func), (bin_bus_handler):
23415         Doc updates. Don't distribute the same clock over and over again.
23416
23417         * gst/gstclock.c:
23418         * gst/gstclock.h:
23419         Doc updates.
23420
23421         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23422         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23423         (gst_pad_send_event):
23424         * gst/gstpad.h:
23425         Make probe emission threadsafe again.
23426         Register quarks and move _get_name() from utils.
23427         Doc updates.
23428
23429         * gst/gstpipeline.c: (gst_pipeline_class_init),
23430         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23431         Only redistribute the clock of it changed.
23432
23433         * gst/gstsystemclock.h:
23434         Doc updates. 
23435
23436         * gst/gstutils.c:
23437         * gst/gstutils.h:
23438         Moved the _flow_get_name() to GstPad.
23439
23440 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23441
23442         * check/gst-libs/gdp.c: (GST_START_TEST):
23443         * check/gst/gstcaps.c: (GST_START_TEST):
23444         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23445         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23446         (gst_dp_packet_from_caps):
23447           fix more valgrind warnings before turning up the heat
23448
23449 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23450
23451         * gst/parse/grammar.y:
23452           some cleanup before the hacking
23453
23454 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23455
23456         * gst/base/gstbasesrc.c: (gst_base_src_query):
23457           use conversions
23458         * gst/gstutils.c: (gst_guint64_to_gdouble),
23459         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23460         * gst/gstutils.h:
23461           externalize, basesrc uses it
23462           obviously the implementation needs testing
23463
23464 2005-10-10  Wim Taymans  <wim@fluendo.com>
23465
23466         * tests/sched/Makefile.am:
23467         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23468         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23469
23470 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23471
23472         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23473           apparently converting from guint64 to double is not implemented
23474           on MSVC
23475
23476 2005-10-10  Wim Taymans  <wim@fluendo.com>
23477
23478         * check/Makefile.am:
23479         * check/generic/states.c: (GST_START_TEST):
23480         * check/gst/gstbin.c: (GST_START_TEST):
23481         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23482         * check/states/sinks.c: (GST_START_TEST):
23483         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23484         (main):
23485         Check fixes, use API as stated in design docs, remove hacks.
23486
23487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23488         (gst_base_sink_change_state):
23489         Catch stopping our task while we're shutting down.
23490
23491         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23492         (gst_bin_remove_func), (gst_bin_get_state_func),
23493         (gst_bin_recalc_state), (gst_bin_change_state_func),
23494         (bin_bus_handler):
23495         * gst/gstbin.h:
23496         * gst/gstelement.c: (gst_element_init),
23497         (gst_element_get_state_func), (gst_element_abort_state),
23498         (gst_element_commit_state), (gst_element_lost_state),
23499         (gst_element_set_state), (gst_element_change_state),
23500         (gst_element_change_state_func):
23501         * gst/gstelement.h:
23502         New state change algorithm (see #318116)
23503
23504         * gst/gstpipeline.c: (gst_pipeline_class_init),
23505         (gst_pipeline_init), (gst_pipeline_set_property),
23506         (gst_pipeline_get_property), (do_pipeline_seek),
23507         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23508         * gst/gstpipeline.h:
23509         Remove crude state change hacks.
23510
23511         * gst/gstutils.h:
23512         Remove crude hacks.
23513
23514         * tools/gst-launch.c: (main):
23515         Fixes for state change. Needs some more work to fully use the
23516         new stuff.
23517
23518 2005-10-10  Andy Wingo  <wingo@pobox.com>
23519
23520         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23521
23522         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23523         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23524         issue.
23525
23526 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23527
23528         * gst/gstiterator.c: (gst_iterator_new):
23529           Fix my previous commit: GTypes passed to gst_iterator_new()
23530           can be fundamental types.
23531
23532 2005-10-10  Wim Taymans  <wim@fluendo.com>
23533
23534         * gst/gstelement.c: (gst_element_iterate_pad_list),
23535         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23536         (gst_element_iterate_sink_pads):
23537         Use src/sink pads lists for the respective iterators instead
23538         of filtering.
23539
23540 2005-10-10  Andy Wingo  <wingo@pobox.com>
23541
23542         Merged in popt removal + GOption addition patch from Ronald, bug
23543         #169772.
23544
23545         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23546         GstElement macros around, remove popt-related symbols, add goption
23547         stuff.
23548
23549         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23550         
23551         * docs/gst/Makefile.am:
23552         * docs/libs/Makefile.am: No POPT_CFLAGS.
23553         
23554         * examples/manual/Makefile.am:
23555         * docs/manual/basics-init.xml: Doc updates with an example.
23556         
23557         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23558         (gst_init), (parse_one_option), (parse_goption_arg):
23559         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23560         bit of hand merging and debugging to get the GOption stuff working
23561         tho.
23562         
23563         * tests/Makefile.am:
23564         * tools/Makefile.am:
23565         * tools/gst-inspect.c: (main):
23566         * tools/gst-launch.c: (main):
23567         * tools/gst-run.c: (main):
23568         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23569
23570 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23571
23572         * gst/gstiterator.c: (gst_iterator_new):
23573           Add assertions to make sure passed GType is likely to really
23574           be a GType (as the compiler won't catch it if the size and
23575           GType arguments get mixed up, see #318447).
23576
23577 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23578
23579         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23580
23581         * gst/gstbin.c: (gst_bin_iterate_sorted):
23582           Pass GType and size arguments to gst_iterator_new() in the right
23583           order (maybe we should make _new() take the GType as first argument
23584           just like _new_list()?) (#318447).
23585           
23586
23587 2005-10-10  Wim Taymans  <wim@fluendo.com>
23588
23589         * gst/gstelement.c: (gst_element_finalize):
23590         And free the GStaticRecMutex too
23591
23592 2005-10-10  Andy Wingo  <wingo@pobox.com>
23593
23594         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23595         Allocate and free the mutex properly.
23596
23597         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23598         New macros.
23599         (GstElement): The state_lock is now recursive. Rebuild your
23600         plugins, suckers. Old macros adapted.
23601
23602         * docs/gst/gstreamer-sections.txt: Doc updates.
23603
23604         * gst/gstutils.h:
23605         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23606         (g_static_rec_cond_wait): Ported from state changes patch, while
23607         we wait on bug #317802 to be solved in a well-distributed GLib.
23608
23609         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23610         gst_element_change_state, variable name changes.
23611         (gst_element_change_state): Split out of gst_element_set_state in
23612         preparation for the state change merge. Doesn't pay attention to
23613         the 'transition' argument.
23614         (gst_element_set_state): Updates, hopefully purely cosmetic.
23615         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23616         state change patch.
23617         (gst_element_get_state_func): Renamed from get_state, cosmetic
23618         changes.
23619
23620 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23621
23622         * gst/elements/gstelements.c:
23623         * win32/GStreamer.vcproj:
23624         * win32/config.h:
23625         * win32/dirent.c: (_tseekdir):
23626         * win32/gst-inspect.vcproj:
23627         * win32/gst-launch.vcproj:
23628         * win32/gstconfig.h:
23629         * win32/gstelements.vcproj:
23630         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23631         * win32/gstreamer.def:
23632         * win32/msvc71.sln:
23633           updates for the win32 build (patch from Sebastien Moutte)
23634
23635 2005-10-10  Andy Wingo  <wingo@pobox.com>
23636
23637         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23638         gst_bin_get_state, cleaned up (but no logic changes).
23639         (bin_element_is_sink): Comment updates.
23640         (sink_iterator_filter): Remove needless cast.
23641         (gst_bin_iterate_sinks): Doc update.
23642         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23643         cleaned up (but no logic changes).
23644
23645         * check/states/sinks.c (test_src_sink): Cleanups from the state
23646         change patch.
23647         (test_livesrc_sink): Sync on the state.
23648
23649         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23650         the state change patch.
23651
23652         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23653         change patch.
23654
23655         * check/gst/gstbin.c: Merge in some style fixes and additional
23656         checks from Wim's state change patch.
23657
23658 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23659
23660         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23661         (gst_type_find_helper):
23662           Check whether we have the requested data already in our list of
23663           cached buffers before pulling a new buffer; also make the buffer
23664           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23665
23666 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23667
23668         * gst/gstcaps.c:
23669         * gst/gstevent.c:
23670           doc updates
23671         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23672           don't use long long, it's not portable.  Replacing with
23673           gint64 seems to work; let's hope no skeletons fall out of the closet.
23674
23675 2005-10-10  Andy Wingo  <wingo@pobox.com>
23676
23677         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23678
23679 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23680
23681         * docs/gst/gstreamer-sections.txt:
23682         * gst/gstevent.c:
23683         * gst/gstevent.h:
23684         * gst/gstinfo.c:
23685         * gst/gstinfo.h:
23686         * gst/gstmessage.c: (gst_message_parse_state_changed):
23687         * gst/gstpad.c:
23688         * gst/gstpad.h:
23689           more docs, fix compilation
23690
23691 2005-10-09  Philippe Khalaf <burger@speedy.org>
23692         * gst/gstmessage.c:
23693           Fixed a few forgotten variables on previous commit
23694
23695 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23696
23697         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23698           Fix evil typefind crasher: getrange() might return a short
23699           buffer at the end of a file, but gst_type_find_peek() must
23700           either return the full data as requested or NULL, but
23701           never a short buffer.
23702
23703 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23704
23705         * gst/gstmessage.c: (gst_message_new_state_changed),
23706         (gst_message_parse_state_changed):
23707         * gst/gstmessage.h:
23708           don't use "new", it's a C++ keyword
23709
23710 2005-10-08  Wim Taymans  <wim@fluendo.com>
23711
23712         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23713         * gst/gstelement.c: (gst_element_post_message):
23714         * gst/gstpipeline.c: (gst_pipeline_change_state):
23715         Small docs and debug updates.
23716
23717 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23718
23719         * docs/gst/gstreamer-sections.txt:
23720         * gst/gstelementfactory.c:
23721         * gst/gstevent.c:
23722         * gst/gsttaglist.c:
23723           more docs
23724
23725 2005-10-08  Wim Taymans  <wim@fluendo.com>
23726
23727         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23728         (gst_bin_dispose), (bin_bus_handler):
23729         Fix typos, add comments.
23730         Clear EOS list when going to PAUSED from any direction and do it
23731         in a threadsafe way.
23732         Get base time in a threadsafe way too.
23733         Fix confusing debug in the change_state function.
23734         Various other small cleanups.
23735         
23736         * gst/gstelement.c: (gst_element_post_message):
23737         Fix very verbose bus posting code.
23738
23739         * gst/gstpipeline.c: (gst_pipeline_class_init),
23740         (gst_pipeline_set_property), (gst_pipeline_get_property),
23741         (gst_pipeline_change_state):
23742         Small ARG_ -> PROP_ cleanup
23743
23744 2005-10-08  Wim Taymans  <wim@fluendo.com>
23745
23746         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23747         Do a less CPU demanding EOS check because we can.
23748
23749 2005-10-08  Wim Taymans  <wim@fluendo.com>
23750
23751         * libs/gst/dataprotocol/dataprotocol.c:
23752         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23753         (gst_dp_packet_from_event):
23754         * libs/gst/dataprotocol/dataprotocol.h:
23755         * libs/gst/dataprotocol/dp-private.h:
23756         It's about time we bump the version number.
23757         Since event types don't fit in the guint8 anymore describing
23758         the payload type, make payload type 16 bits wide.
23759
23760 2005-10-08  Wim Taymans  <wim@fluendo.com>
23761
23762         * docs/design/part-TODO.txt:
23763         * docs/design/part-clocks.txt:
23764         * docs/design/part-events.txt:
23765         * docs/design/part-gstbin.txt:
23766         * docs/design/part-gstelement.txt:
23767         * docs/design/part-gstpipeline.txt:
23768         * docs/design/part-live-source.txt:
23769         * docs/design/part-messages.txt:
23770         * docs/design/part-overview.txt:
23771         * docs/design/part-states.txt:
23772         Many doc updates.
23773
23774 2005-10-08  Wim Taymans  <wim@fluendo.com>
23775
23776         * gst/gstevent.c:
23777         * gst/gstevent.h:
23778         Fix event quark registration.
23779         Add some space between events so we can insert them in the
23780         right groups.
23781
23782 2005-10-08  Wim Taymans  <wim@fluendo.com>
23783
23784         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23785         (gst_base_sink_handle_buffer):
23786         Better log message.
23787
23788         * gst/gstbus.h:
23789         * gst/gstelement.h:
23790         More docs.
23791
23792         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23793         (gst_queue_set_property), (gst_queue_get_property):
23794         * gst/gstqueue.h:
23795         Remove old unused properties.
23796
23797 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23798         * docs/gst/gstreamer-sections.txt:
23799         * gst/gstmessage.c:
23800         * gst/gstmessage.h:
23801         * gst/gstminiobject.c:
23802         * gst/gstminiobject.h:
23803         * gst/gstobject.h:
23804         * gst/gstpad.h:
23805         * gst/gstutils.h:
23806           lots of new docs and doc fixes
23807
23808 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23809
23810         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23811         * gst/gstplugin.h:
23812         * gst/gstregistry.c: (gst_registry_lookup_locked),
23813         (gst_registry_scan_path_level):
23814         * gst/gstregistryxml.c: (load_plugin):
23815           Only ever load one plugin for a given plugin basename.
23816           This ensures correct overriding of GST_PLUGIN_PATH over
23817           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23818           system installed plugins.
23819
23820 2005-10-08  Wim Taymans  <wim@fluendo.com>
23821
23822         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23823         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23824         Prepare for doing QOS.
23825
23826 2005-10-08  Wim Taymans  <wim@fluendo.com>
23827
23828         * check/gst/gstbin.c: (GST_START_TEST):
23829         * check/pipelines/cleanup.c: (GST_START_TEST):
23830         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23831         Allow new clock message too.
23832
23833 2005-10-08  Wim Taymans  <wim@fluendo.com>
23834
23835         * gst/gstmessage.c: (gst_message_new_error),
23836         (gst_message_new_warning), (gst_message_new_tag),
23837         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23838         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23839         (gst_message_new_segment_start), (gst_message_new_segment_done),
23840         (gst_message_parse_state_changed),
23841         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23842         (gst_message_parse_new_clock):
23843         * gst/gstmessage.h:
23844         Also carry the clock in question.
23845
23846 2005-10-08  Wim Taymans  <wim@fluendo.com>
23847
23848         * gst/gstmessage.c: (gst_message_new_custom),
23849         (gst_message_new_eos), (gst_message_new_error),
23850         (gst_message_new_warning), (gst_message_new_tag),
23851         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23852         (gst_message_new_new_clock), (gst_message_new_segment_start),
23853         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23854         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23855         * gst/gstmessage.h:
23856         Clean up.
23857         Added clock related messages.
23858
23859         * gst/gstpipeline.c: (gst_pipeline_change_state):
23860         Post message when the clock changed.
23861
23862         * tools/gst-launch.c: (event_loop):
23863         Print new clock.
23864
23865 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23866
23867         * tools/gst-inspect.c: (print_element_properties_info):
23868           Can't pass NULL strings to g_print() on windows.
23869
23870 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23871
23872         * docs/Makefile.am:
23873         * docs/gst/Makefile.am:
23874         * docs/gst/gstreamer-docs.sgml:
23875         * docs/gst/running.xml:
23876         * docs/version.entities.in:
23877           add a chapter on running GStreamer.
23878           document GST_DEBUG and GST_PLUGIN* env vars
23879
23880 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23881
23882         * Makefile.am:
23883           remove include dir
23884         * configure.ac:
23885           remove PLUGINS_BUILDDIR stuff
23886         * gst/gst.c: (init_post):
23887           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23888         * idiottest.mak:
23889           remove, it was condescending and not needed
23890
23891 2005-10-08  Wim Taymans  <wim@fluendo.com>
23892
23893         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23894         (gst_base_sink_handle_object), (gst_base_sink_event),
23895         (gst_base_sink_wait), (gst_base_sink_handle_event),
23896         (gst_base_sink_change_state):
23897         * gst/base/gstbasesink.h:
23898         Repost EOS message while going to PLAYING if still EOS.
23899         Make sure that when receiving a FLUSH_START we don't attempt
23900         to sync on the clock anymore.
23901
23902 2005-10-08  Wim Taymans  <wim@fluendo.com>
23903
23904         * tools/gst-launch.c: (event_loop):
23905         Better message printout.
23906
23907 2005-10-08  Wim Taymans  <wim@fluendo.com>
23908
23909         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23910         (gst_bin_child_proxy_get_children_count):
23911         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23912         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23913         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23914         (gst_child_proxy_set_valist):
23915         * gst/parse/grammar.y:
23916         Make ChildProxy threadsafe and fix mem leaks.
23917
23918 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23919
23920         * gst/gst.c: (init_post):
23921           debug the GST_PLUGIN_ env vars
23922
23923 2005-10-08  Wim Taymans  <wim@fluendo.com>
23924
23925         * check/gst/gstbin.c: (GST_START_TEST):
23926         * check/gst/gstmessage.c: (GST_START_TEST):
23927         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23928         * gst/gstelement.c: (gst_element_commit_state),
23929         (gst_element_lost_state):
23930         * gst/gstmessage.c: (gst_message_new_state_changed),
23931         (gst_message_parse_state_changed):
23932         * gst/gstmessage.h:
23933         * tools/gst-launch.c: (event_loop):
23934         Added extra field to STATE_CHANGE message with the pending
23935         state, which will be different from the new state soon.
23936
23937 2005-10-08  Wim Taymans  <wim@fluendo.com>
23938
23939         * gst/gstbus.c: (gst_bus_pop):
23940         * gst/gstclock.c:
23941         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23942         Small cleanups and doc updates.
23943
23944 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23945
23946         * gst/gst.c: (init_pre):
23947         * gst/gstbin.c: (gst_bin_add_func):
23948           log distributing clocks and base time
23949         * gst/gstregistry.c: (gst_registry_add_plugin),
23950         (gst_registry_scan_path_level), (gst_registry_scan_path):
23951           clean up the debugging output a little
23952         * gst/gstutils.c: (gst_element_state_get_name):
23953           warn about a memleak (I've actually seen this be used, though
23954           it was probably a bug)
23955
23956 2005-10-07  Wim Taymans  <wim@fluendo.com>
23957
23958         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23959         (gst_base_src_init), (gst_base_src_default_newsegment),
23960         (gst_base_src_newsegment), (gst_base_src_do_seek),
23961         (gst_base_src_loop), (gst_base_src_start):
23962         * gst/base/gstbasesrc.h:
23963         Make the newsegment event customizable by subclasses.
23964
23965 2005-10-07  Wim Taymans  <wim@fluendo.com>
23966
23967         * gst/gstevent.c: (gst_event_new_buffersize),
23968         (gst_event_parse_buffersize):
23969         * gst/gstevent.h:
23970         New event for future idea.
23971
23972 2005-10-07  Andy Wingo  <wingo@pobox.com>
23973
23974         * gst/gstelement.c (gst_element_post_message): Doc update.
23975
23976         * docs/gst/gstreamer-sections.txt: Update.
23977
23978         * gst/gstmessage.c (gst_message_new_application): Made into a
23979         function like honest API calls.
23980         (gst_message_new_element): New message type.
23981
23982         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23983
23984         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23985         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23986         times.
23987
23988         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23989         NO_PREROLL from gst_element_change_state to fall through.
23990
23991 2005-10-07  Wim Taymans  <wim@fluendo.com>
23992
23993         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23994         (gst_ghost_pad_do_activate_push):
23995         Activating a ghostpad with no internal pad in push mode
23996         is ok.
23997
23998 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23999
24000         * gst/gstobject.h:
24001           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24002           Fixes compilation on Windows.
24003
24004 2005-10-07  Michael Smith <msmith@fluendo.com>
24005
24006         * tools/gst-inspect.c:
24007           Print out feature and plugin count at the end when printing out
24008           all features.
24009
24010 2005-10-04  Michael Smith <msmith@fluendo.com>
24011
24012         * gst/gsterror.c: (_gst_stream_errors_init):
24013           Add another error string used in a few existing plugins.
24014
24015         * gst/gstplugin.c:
24016         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24017         * tools/gst-inspect.c: (print_element_info):
24018           When a feature disappears from a plugin (and the feature exists in
24019           the cached registry file), things went horribly wrong. This isn't a
24020           complete fix, we should actually be removing the 'missing' features
24021           from the features list when we load the actual plugin. That's not
24022           yet implemented. 
24023
24024 2005-10-04  Johan Dahlin  <johan@gnome.org>
24025
24026         * check/gst/gstiterator.c: (GST_START_TEST):
24027         * gst/gstbin.c: (gst_bin_iterate_elements),
24028         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24029         * gst/gstelement.c: (gst_element_iterate_pads):
24030         * gst/gstformat.c: (gst_format_iterate_definitions):
24031         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24032         (gst_iterator_new_list), (gst_iterator_filter):
24033         * gst/gstiterator.h:
24034         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24035         Add a GType to GstIterator, update callsites and tests.
24036
24037 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24038
24039         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24040           give events a chance to be handled by event probes when the pad
24041           is not linked
24042
24043 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24044
24045         * gst/gstevent.c: (gst_event_type_get_name),
24046         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24047         * gst/gstevent.h:
24048           add string representations for event types
24049
24050 2005-10-06  Wim Taymans  <wim@fluendo.com>
24051
24052         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24053         Don't use NULL pointers.
24054
24055 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24056
24057         * gst/gst_private.h:
24058         * gst/gstbus.c:
24059         * gst/gstelement.c:
24060         * gst/gstinfo.c:
24061         * gst/gstpluginfeature.c:
24062           widen the debug category in output to fit the biggest one we have
24063           add a bus category and use it
24064           play with the colors
24065           fix up some categories
24066
24067 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24068
24069         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24070           add push activation of sink ghost pads.
24071           Andye, please verify
24072
24073 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24074
24075         * gst/gstutils.c: (gst_element_link_pads):
24076           fix a bug in the case where neither element has a pad
24077         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24078           add a test for that case
24079
24080 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24081
24082         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24083           emit have-data before checking for peers.  This allows
24084           for probe handlers to connect elements.  This helps autopluggers.
24085         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24086         (gst_pad_suite):
24087           add six checks, linked/unlinked with no/true/false probe
24088
24089 2005-10-04  Wim Taymans  <wim@fluendo.com>
24090
24091         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24092         (gst_fake_sink_event), (gst_fake_sink_preroll),
24093         (gst_fake_sink_render), (gst_fake_sink_change_state):
24094         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24095         (gst_fake_src_get_property), (gst_fake_src_create),
24096         (gst_fake_src_stop):
24097         * gst/elements/gstidentity.c: (gst_identity_stop):
24098         Protect last_message with lock.
24099
24100 2005-10-04  Edward Hervey  <edward@fluendo.com>
24101
24102         * gst/gstformat.h: 
24103         Added precision in the comments for GST_FORMAT_DEFAULT
24104
24105 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24106
24107         * tools/gst-launch.c: (main):
24108           Don't try to run erroneous pipelines.
24109
24110 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24111
24112         * gst/gstbus.c: We don't need this header.
24113
24114 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24115
24116         * configure.ac:
24117           back to development
24118
24119 === release 0.9.3 ===
24120
24121 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24122
24123         * README:
24124         * configure.ac:
24125           Releasing 0.9.3, "Unregistered"
24126
24127 2005-10-03  Andy Wingo  <wingo@pobox.com>
24128
24129         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24130         whereby calling a pad's activatepush() function can start a thread
24131         that starts to push or pull before the pad gets the FLUSHING flag
24132         unset. Hack around it by holding the stream lock until the flag is
24133         set. Need to replace this with a proper solution. Together with
24134         the ghost pad fixes, this fixes mp3 playing/tagreading.
24135
24136         * docs/design/part-gstghostpad.txt: Add a note about activation of
24137         proxy pads outside of ghost pads.
24138
24139         * gst/gstghostpad.c: Implement the ghost pad activation design.
24140
24141 2005-10-02  Andy Wingo  <wingo@pobox.com>
24142
24143         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24144         It is volatile, after all.
24145
24146         * docs/design/part-gstghostpad.txt: Flesh out activation with
24147         ghost pads.
24148
24149         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24150         GST_DEBUG_FUNCPTR.
24151
24152 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24153
24154         * configure.ac:
24155           Fix (unused) AM_CONDITIONAL tests.
24156
24157 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24158
24159         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24160
24161         * gst/gstutils.c: (gst_pad_query_convert):
24162           Add assertion that makes sure src_val is >=0, just like
24163           gst_query_new_convert() has. (#315895)
24164
24165 2005-09-30  Edward Hervey  <edward@fluendo.com>
24166
24167         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24168         Let's not iterate pads we're not interested in, it avoids getting 
24169         sky-high refcounts on sinkpad.
24170
24171 2005-09-30  Wim Taymans  <wim@fluendo.com>
24172
24173         * gst/gstelement.c: (gst_element_set_state),
24174         (gst_element_change_state):
24175         Small tweak, element in ASYNC remains ASYNC.
24176
24177 2005-09-30  Wim Taymans  <wim@fluendo.com>
24178
24179         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24180         Only error is an error.
24181
24182         * gst/gstbin.c: (gst_bin_change_state):
24183         Better debugging.
24184
24185         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24186         Also call pad_block in pad alloc.
24187
24188         * gst/gstutils.c: (gst_flow_get_name):
24189         Better debugging.
24190
24191 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24192
24193         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24194         (gst_base_src_get_range):
24195           Fix documentation typos. Add some more debug info.
24196
24197 2005-09-29  David Schleef  <ds@schleef.org>
24198
24199         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24200           more end-user friendly.
24201         * tools/gst-inspect.c: (main): Check if command-line argument is
24202           a file and attempt to load that file as a plugin.
24203
24204 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24205
24206         * check/gst/gstbin.c:
24207         * check/states/sinks.c:
24208           fix tests for the new warning
24209         * check/gst/gstpipeline.c:
24210           add a test for pipeline and bus interaction
24211         * gst/gstelement.c:
24212           elements should be NULL if they get disposed; add a warning if not
24213
24214 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24215
24216         * gst/gstobject.c:
24217           for 2.6 refcounting, make debug log more correct by printing
24218           the actual refcounts at the time of swap (Wim)
24219
24220 2005-09-29  Andy Wingo  <wingo@pobox.com>
24221
24222         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24223         removes signal watches previously added via
24224         gst_bus_add_signal_watch.
24225         (gst_bus_add_signal_watch): Don't return the source id, just store
24226         it on the bus if there wasn't an id already.
24227
24228         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24229         add_signal_watch and remove_signal_watch.
24230
24231 2005-09-29  Edward Hervey  <edward@fluendo.com>
24232
24233         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24234         Better if we actually iterate the list :)
24235
24236 2005-09-29  Wim Taymans  <wim@fluendo.com>
24237
24238         * check/gst/gstbin.c: (GST_START_TEST):
24239         Change for new bus API.
24240
24241         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24242         (send_messages), (GST_START_TEST), (gstbus_suite):
24243         Change for new bus signal API.
24244
24245         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24246         (gst_bus_source_prepare), (gst_bus_source_check),
24247         (gst_bus_create_watch), (gst_bus_add_watch_full),
24248         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24249         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24250         * gst/gstbus.h:
24251         Remove support for multiple GSources operating on different
24252         message types as it is too complex and unneeded when using
24253         signals.
24254         Added support for receiving signals from the bus.
24255
24256 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24257
24258         * docs/libs/tmpl/gstdataprotocol.sgml:
24259         * docs/manual/advanced-dataaccess.xml:
24260         * gst/elements/gstcapsfilter.c:
24261         * gst/gstutils.c:
24262           rename filter-caps to caps property
24263
24264 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24265
24266         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24267           More robust fraction string parsing.
24268
24269         * docs/pwg/appendix-porting.xml:
24270           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24271
24272 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24273
24274         * gst/gstcaps.c: (gst_caps_do_simplify):
24275           Thou shalt not free a structure and then continue using it
24276           in the next loop iteration.
24277
24278         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24279         (gst_caps_suite):
24280           Add test case for caps simplification.
24281
24282 2005-09-29  Wim Taymans  <wim@fluendo.com>
24283
24284         * check/gst/gstbin.c: (GST_START_TEST):
24285         Oops.
24286
24287 2005-09-29  Wim Taymans  <wim@fluendo.com>
24288
24289         * check/gst/gstbin.c: (GST_START_TEST):
24290         Add bus to bin.
24291
24292         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24293         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24294         (find_element), (gst_bin_sort_iterator_next),
24295         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24296         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24297         (gst_bin_change_state), (gst_bin_dispose):
24298         A bin does not have a bus, it gets the bus from the parent.
24299
24300         * gst/gstelement.c: (gst_element_requires_clock),
24301         (gst_element_provides_clock), (gst_element_is_indexable),
24302         (gst_element_is_locked_state), (gst_element_change_state),
24303         (gst_element_set_bus_func):
24304         Small cleanups.
24305
24306         * gst/gstpipeline.c: (gst_pipeline_class_init),
24307         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24308         The pipeline provides a bus.
24309
24310 2005-09-28  Johan Dahlin  <johan@gnome.org>
24311
24312         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24313         gst_structure_get_enum instead of gst_structure_get_int
24314
24315         * gst/gststructure.c (gst_structure_get_enum): Impl.
24316
24317         * gst/gststructure.h (gst_structure_get_enum): Add
24318
24319         * docs/gst/gstreamer-sections.txt: Ditto
24320
24321         * gst/gstmessage.c (gst_message_new_state_changed): Use
24322         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24323         which does introspection.
24324         Reviewed by Christian Schaller
24325
24326 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24327
24328         * gst/gstinfo.c: (gst_debug_log_default):
24329           don't do dummy g_strdup()s
24330         * libs/gst/controller/gstcontroller.c:
24331         (on_object_controlled_property_changed),
24332         (gst_controlled_property_new), (gst_controller_new_valist),
24333         (gst_controller_new_list),
24334         (gst_controller_remove_properties_valist), (gst_controller_set),
24335         (gst_controller_get), (gst_controller_sync_values),
24336         (gst_controller_get_value_array), (_gst_controller_class_init),
24337         (gst_controller_get_type):
24338         * libs/gst/controller/gstcontroller.h:
24339         * libs/gst/controller/gstinterpolation.c:
24340         (gst_controlled_property_find_timed_value_node):
24341           convert // to /**/ comments
24342
24343 2005-09-28  Wim Taymans  <wim@fluendo.com>
24344
24345         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24346         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24347         (gst_bus_sync_signal_handler):
24348         * gst/gstbus.h:
24349         Added async-message and sync-message signals to the bus.
24350         Added helper BusFunc to emit signals for all posted messages.
24351
24352         * gst/gstmessage.c: (gst_message_type_get_name),
24353         (gst_message_type_to_quark), (gst_message_get_type):
24354         * gst/gstmessage.h:
24355         Register quarks for message names.
24356
24357 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24358
24359         * docs/libs/gstreamer-libs-sections.txt:
24360         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24361         (gst_controller_new_list):
24362         * libs/gst/controller/gstcontroller.h:
24363           added another constructor for language bindings
24364
24365 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24366
24367         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24368           add another check
24369         * gst/gstbus.c:
24370           add some doc
24371         * gst/gstinfo.c: (_gst_debug_init):
24372           slightly more readable color for refcount debugging
24373
24374 2005-09-28  Wim Taymans  <wim@fluendo.com>
24375
24376         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24377         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24378         (find_element), (gst_bin_sort_iterator_next),
24379         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24380         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24381         (gst_bin_change_state), (gst_bin_dispose):
24382         Small doc fixes. get_clock -> provide_clock.
24383
24384         * gst/gstelement.c: (gst_element_class_init),
24385         (gst_element_provides_clock), (gst_element_provide_clock),
24386         (gst_element_get_clock), (gst_element_commit_state),
24387         (gst_element_lost_state):
24388         * gst/gstelement.h:
24389         Make get/set_clock() symetric. Add provide_clock vmethod since
24390         that is actually what this function does.
24391
24392         * gst/gstpipeline.c: (gst_pipeline_class_init),
24393         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24394         (gst_pipeline_get_clock):
24395         get_clock -> provide_clock.
24396
24397 2005-09-28  Andy Wingo  <wingo@pobox.com>
24398
24399         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24400         lieu of real docs...
24401
24402         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24403
24404 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24405
24406         * gst/elements/gstcapsfilter.c:
24407         * gst/elements/gstfakesink.c:
24408         * gst/elements/gstfakesrc.c:
24409         * gst/elements/gstfdsink.c:
24410         * gst/elements/gstfdsrc.c:
24411         * gst/elements/gstfilesink.c:
24412         * gst/elements/gstfilesrc.c:
24413         * gst/elements/gstidentity.c:
24414         * gst/elements/gsttee.c:
24415         * gst/elements/gsttypefindelement.c:
24416           Make element details static.
24417
24418 2005-09-28  Wim Taymans  <wim@fluendo.com>
24419
24420         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24421         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24422         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24423         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24424         (gst_bin_change_state), (gst_bin_dispose):
24425         Some documentation updates.
24426         Clean up dispose handlers.
24427
24428         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24429         * gst/gstpad.c: (gst_pad_dispose):
24430         Clean up dispose handler.
24431
24432         * gst/gstpipeline.c: (gst_pipeline_change_state):
24433         Removed spurious UNLOCK.
24434
24435 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24436
24437         * docs/gst/gstreamer-sections.txt:
24438         * gst/base/gstbasesrc.h:
24439         * gst/gstelement.h:
24440         * gst/gstevent.h:
24441         * gst/gstobject.h:
24442         * gst/gstpad.h:
24443         * gst/gstpipeline.c:
24444         * gst/gstpipeline.h:
24445         * gst/gstutils.h:
24446         * gst/gstxml.h:
24447           added two new functions to the docs
24448                 documents all undocumented GstXXXFlags
24449                 completed some incomplete docs 
24450
24451 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24452
24453         * gst/gstbin.c: (gst_bin_dispose):
24454         * gst/gstelement.c: (gst_element_dispose):
24455           remove now useless and leaky resurrection code in dispose
24456         * gst/base/gstbasesrc.c: (gst_base_src_init):
24457         * gst/gstelementfactory.c: (gst_element_factory_create):
24458         * gst/gstobject.c: (gst_object_set_parent):
24459           add some debugging
24460
24461 2005-09-27  Wim Taymans  <wim@fluendo.com>
24462
24463         * docs/design/part-TODO.txt:
24464         Update TODO.
24465
24466         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24467         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24468         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24469         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24470         (gst_bin_change_state):
24471         * gst/gstelement.h:
24472         Remove element variable, we keep element info in the iterator now.
24473
24474 2005-09-27  Andy Wingo  <wingo@pobox.com>
24475
24476         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24477         values.
24478
24479 2005-09-27  Wim Taymans  <wim@fluendo.com>
24480
24481         * check/gst/gstbin.c: (GST_START_TEST):
24482         Enable check that works now.
24483
24484         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24485         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24486         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24487         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24488         (gst_bin_change_state):
24489         * gst/gstbin.h:
24490         Redid the state change algorithm using a topological sort algo.
24491         Handles all cases correctly.
24492         Exposed iterator for state change order.
24493
24494         * gst/gstelement.h:
24495         Temp storage for state changes. Need to get rid of this soon.
24496
24497 2005-09-27  Wim Taymans  <wim@fluendo.com>
24498
24499         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24500         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24501         (link_fold_func), (gst_pad_proxy_setcaps):
24502         Leak fixes, the fold functions need to unref the passed object and
24503         _get_parent_*() returns ref to parent.
24504
24505 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24506
24507         * check/gst/gstbuffer.c: (test_make_writable):
24508           Plug leak in test case and fix 'make check-valgrind'
24509
24510 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24511
24512         * gst/gstbuffer.c: (gst_subbuffer_init):
24513           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24514           works correctly in all circumstances (we could have just copied
24515           the parent buffer's readonly flag, but conceptually it seems
24516           cleaner to mark all subbuffers as read-only). (based on patch
24517           by Alessandro Decina, #314710).
24518         
24519         * check/gst/gstbuffer.c: (create_read_only_buffer),
24520         (test_make_writable), (test_subbuffer_make_writable),
24521         (gst_test_suite):
24522           Add some tests for gst_buffer_make_writable().
24523
24524 2005-09-27  Wim Taymans  <wim@fluendo.com>
24525
24526         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24527         use gst_object_has_ancestor().
24528
24529         * gst/gstobject.c: (gst_object_has_ancestor):
24530         * gst/gstobject.h:
24531         gst_object_has_ancestor() copied from gstbin.c as it is a
24532         useful function.
24533
24534         * tests/instantiate/create.c: (create_all_elements):
24535         * tests/lat.c: (handoff_src), (handoff_sink):
24536         * tests/sched/runxml.c: (main):
24537         * tests/seeking/seeking1.c: (main):
24538         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24539         (main):
24540         Fix compilation of some tests.
24541
24542 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24543
24544         * gst/gsterror.h:
24545           Remove comment. GST_TYPE_G_ERROR is here to stay,
24546           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24547           (#316961, #300610).
24548
24549 2005-09-26  Wim Taymans  <wim@fluendo.com>
24550
24551         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24552         Added check that shows error in state change order.
24553
24554 2005-09-26  Wim Taymans  <wim@fluendo.com>
24555
24556         * gst/gstbin.c: (gst_bin_change_state):
24557         Make state change function use 3 queues again, we were
24558         adding elements in the wrong order.
24559
24560         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24561         Some debug info,
24562
24563         * gst/gstpad.c: (gst_pad_dispose):
24564         Added some debug info first.
24565
24566 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24567
24568         * docs/design/draft-push-pull.txt:
24569         * docs/design/part-events.txt:
24570         * docs/design/part-overview.txt:
24571         * docs/design/part-scheduling.txt:
24572           Replace all _pull_region() with _pull_range()
24573           
24574 2005-09-26  Andy Wingo  <wingo@pobox.com>
24575
24576         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24577
24578         * check/gst-libs/controller.c: Update for controller api change.
24579
24580         * configure.ac: 
24581         * tests/Makefile.am:
24582         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24583         over by GLib bug 118439.
24584         
24585         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24586         routines to a function.
24587
24588         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24589
24590         * libs/gst/controller/gsthelper.c:
24591         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24592         (gst_object_sync_values): Renamed from sink_values. Ugh.
24593
24594         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24595
24596         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24597         Renamed from controller_key, as it is exported.
24598
24599         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24600
24601 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24602
24603         * gst/Makefile.am:
24604         * gst/gst.h:
24605         * gst/gstpad.h:
24606         * gst/gstpadtemplate.h:
24607         * gst/gstquery.c:
24608         * gst/gstquery.h:
24609         * gst/gstqueryutils.c:
24610         * gst/gstqueryutils.h:
24611           remove queryutils headers after moving the two used functions
24612           to gstquery.  also fixes build problem for gstsiddec
24613
24614 2005-09-26  Michael Smith <msmith@fluendo.com>
24615
24616         * tools/gst-launch.1.in:
24617         Correct documentation in manpage of debug syntax
24618
24619 2005-09-26  Wim Taymans  <wim@fluendo.com>
24620
24621         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24622         (gst_base_src_is_seekable), (gst_base_src_change_state):
24623         Some more debugging info.
24624
24625 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24626
24627         * docs/gst/gstreamer-sections.txt:
24628         * gst/base/gstbasetransform.h:
24629         * gst/gstindex.h:
24630           added more docs
24631
24632 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24633
24634         * docs/gst/.cvsignore:
24635         * docs/gst/tmpl/.cvsignore:
24636         * docs/gst/tmpl/gstpipeline.sgml:
24637         * docs/gst/tmpl/gstplugin.sgml:
24638         * gst/gstpipeline.c:
24639         * gst/gstplugin.c:
24640         * gst/gstplugin.h:
24641           inlined the last two docs files
24642           removed the tmpl directory from cvs (no more conflicts here!)
24643
24644 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24645
24646         * docs/gst/gstreamer-sections.txt:
24647         * docs/gst/tmpl/.cvsignore:
24648         * docs/gst/tmpl/gstpad.sgml:
24649         * docs/gst/tmpl/gstpadtemplate.sgml:
24650         * gst/Makefile.am:
24651         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24652         (gst_pad_finalize), (gst_pad_set_pad_template):
24653         * gst/gstpad.h:
24654         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24655         (gst_pad_template_class_init), (gst_pad_template_init),
24656         (gst_pad_template_dispose), (name_is_valid),
24657         (gst_static_pad_template_get), (gst_pad_template_new),
24658         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24659         (gst_pad_template_pad_created):
24660         * gst/gstpadtemplate.h:
24661           inlined two more docs
24662           factored gstpadtemplate out of gstpad
24663
24664 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24665
24666         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24667         (test_children_state_change_order_semi_sink):
24668           Fix test case: we can't rely on a fixed state change order when
24669           going from READY => PAUSED because the sink might commit its 
24670           new state first when the first buffer created by the source 
24671           reaches the sink before the source has finished its change state.
24672           (Test case still fails at times, see #316856, comment 5 onwards)
24673
24674 2005-09-24  Wim Taymans  <wim@fluendo.com>
24675
24676         * docs/design/part-events.txt:
24677         * docs/design/part-gstbus.txt:
24678         * docs/design/part-gstpipeline.txt:
24679         * docs/design/part-messages.txt:
24680         * docs/design/part-overview.txt:
24681         * docs/design/part-segments.txt:
24682         * gst/gstbin.c:
24683         * gst/gstbuffer.c:
24684         * gst/gstclock.c:
24685         * gst/gstelement.c:
24686         * gst/gstevent.c:
24687         * gst/gstfilter.c:
24688         * gst/gstiterator.c:
24689         Various documentation updates.
24690
24691 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24692
24693         * gst/gstclock.h:
24694           Well, that's embarassing.  Luckily we weren't using
24695           GST_CLOCK_DIFF anywhere.
24696
24697 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24698
24699         * common/gtk-doc.mak:
24700           don't fail on building XML, FC4 slave shows a bunch of doc
24701           missing bits that I don't get
24702         * gst/gstpad.c:
24703         * gst/gstpipeline.c:
24704         * gst/gststructure.c:
24705           some doc updates
24706
24707 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24708
24709         * docs/design/part-gstbin.txt:
24710         * docs/design/part-gstbus.txt:
24711         * gst/gstbus.c:
24712           Add blurb about how the bus goes into flushing mode and
24713           drops all messages when its bin goes from READY into NULL 
24714           state.
24715
24716 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24717
24718         * docs/gst/gstreamer-sections.txt:
24719         * gst/gststructure.c: (gst_structure_get_clock_time):
24720         * gst/gststructure.h:
24721           add a method to get a GstClockTime out of a structure
24722
24723 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24724
24725         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24726         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24727           Added test to check state change order in bins (can still be made
24728           to fail here under heavy disk load; bails out with 'Push on pad
24729           fakesink:sink0, but it was not activated in push mode').
24730
24731         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24732           Fix state change order when there is only a semi sink (#316856)
24733
24734         * gst/gstbus.c: (gst_bus_class_init):
24735           Use _class_peek_parent(), not _class_ref(); fix docs to say
24736           'default main context' instead of 'mainloop' where that is
24737           what's meant.
24738
24739         * gst/gstelement.c: (gst_element_commit_state),
24740         (gst_element_set_state):
24741           Fix typos in debug messages
24742
24743 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24744
24745         * docs/README:
24746         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24747         * gst/gstpluginfeature.c:
24748         * gst/gstutils.c:
24749           various doc updates
24750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24751           change an assert into an error until it gets fixed properly
24752
24753 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24754
24755         * docs/gst/gstreamer-sections.txt:
24756         * docs/gst/tmpl/.cvsignore:
24757         * docs/gst/tmpl/gstelement.sgml:
24758         * docs/gst/tmpl/gstinfo.sgml:
24759         * docs/gst/tmpl/gstobject.sgml:
24760         * gst/gstelement.c:
24761         * gst/gstelement.h:
24762         * gst/gstinfo.c:
24763         * gst/gstinfo.h:
24764         * gst/gstobject.c: (gst_object_class_init):
24765         * gst/gstobject.h:
24766           inlined 3 more biiiig doc files and added some missing docs on the fly
24767
24768 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24769
24770         * check/gst/.cvsignore:
24771         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24772         * gst/gstregistryxml.c: (load_plugin),
24773         (gst_registry_xml_save_plugin):
24774           put back source in registry.  add checks for find_plugin.
24775         * testsuite/states/bin.c: (assert_state), (empty_bin),
24776         (test_adding_one_element), (main):
24777         * testsuite/states/locked.c: (main):
24778           some compile/run fixes
24779
24780 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24781
24782         * check/gst/gstvalue.c: (GST_START_TEST):
24783           fix leaks in the test itself
24784
24785 2005-09-22  Wim Taymans  <wim@fluendo.com>
24786
24787         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24788         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24789         (gst_base_sink_query):
24790         Prepare for more accurate position reporting and query
24791         handling.
24792
24793         * gst/gstelement.c: (gst_element_send_event),
24794         (gst_element_set_state):
24795         Add some comment.
24796
24797 2005-09-22  Wim Taymans  <wim@fluendo.com>
24798
24799         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24800         (gst_query_parse_segment):
24801         * gst/gstquery.h:
24802         More documentation.
24803         Add segment query for future use.
24804
24805 2005-09-22  Wim Taymans  <wim@fluendo.com>
24806
24807         * gst/gstbin.c: (gst_bin_add_func):
24808         Some more debug info.
24809
24810         * gst/gstelement.c: (gst_element_send_event):
24811         Simplify send_event
24812
24813         * gst/gstelement.h:
24814         Don't know how flags got broken.
24815
24816         * gst/gstquery.h:
24817         Added new query.
24818
24819 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24820
24821         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24822           Add simplistic test suite for GST_TYPE_DATE serialisation and
24823           deserialisation.
24824
24825 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24826
24827         * docs/gst/gstreamer-sections.txt:
24828         * gst/gststructure.c: (gst_structure_set_valist),
24829         (gst_structure_get_date):
24830         * gst/gststructure.h:
24831         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24832         (gst_date_copy), (gst_value_compare_date),
24833         (gst_value_serialize_date), (gst_value_deserialize_date),
24834         (gst_value_transform_date_string),
24835         (gst_value_transform_string_date), (_gst_value_initialize):
24836         * gst/gstvalue.h:
24837           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24838           bunch of utility functions along with a hack that checks that
24839           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24840           is required. Part of the grand scheme in #170777.
24841
24842 2005-09-22  Andy Wingo  <wingo@pobox.com>
24843
24844         * gst/gstconfig.h.in: Psych out gtk-doc.
24845
24846         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24847
24848         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24849
24850         * tools/gst-inspect.c (print_element_list): Plug some
24851         inconsequential leaks.
24852
24853         * gst/gstregistry.c (gst_registry_get_default): Doc.
24854
24855         * check/gst/gstplugin.c: 
24856         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24857         * gst/gstelementfactory.c (gst_element_factory_create): 
24858         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24859         refcount changes.
24860
24861         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24862         (gst_plugin_feature_load): Doc, don't eat refs.
24863
24864         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24865         (gst_plugin_list_free): Doc.
24866         (gst_plugin_load_file): Doc updates.
24867
24868         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24869         accessors returning refcounted objects, return a ref.
24870
24871         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24872         accessor for caps. IDEMPOTENCE. Oh yes.
24873
24874 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24875
24876         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24877
24878         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24879         (_gst_debug_register_funcptr):
24880           Add mutex to serialise access to the hash table with
24881           the function pointer => function name string mapping;
24882           make that hash table static scope (#316809).
24883
24884         * gst/registries/.cvsignore:
24885           Remove left-over file.
24886
24887 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24888
24889         * docs/pwg/appendix-porting.xml:
24890           And something about newsegment events and caps-on-buffers to
24891           the porting guide (feel free to improve).
24892
24893 2005-09-21  Andy Wingo  <wingo@pobox.com>
24894
24895         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24896         data and event probes on the same pad.
24897         (test_buffer_probe_once): Test that removing probes from within
24898         the probe functions works.
24899
24900 2005-09-21  Andy Wingo  <wingo@pobox.com>
24901
24902         * check/gst/gstutils.c: New file.
24903         (test_buffer_probe_n_times): A simple buffer probe test. More to
24904         come, foolios.
24905
24906         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24907         have-data::buffer, not have-data.
24908         (gst_pad_add_event_probe): Likewise for have-data::event.
24909         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24910         peer' isn't quite right yet though.
24911         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24912         (gst_pad_remove_data_probe): Change to take the guint handler_id
24913         as their arg, not the function+data, which is more glib-like.
24914
24915         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24916         the signal emission to indicate if the data is a buffer or an
24917         event.
24918         (gst_pad_get_type): Initialize buffer and event quarks.
24919         (gst_pad_class_init): have-data is now a detailed signal, yes it
24920         is.
24921
24922 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24923
24924         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24925         * gst/gstutils.c: (gst_util_set_value_from_string),
24926         (gst_util_set_object_arg):
24927           Don't put functional code in g_return_if_fail() or
24928           g_return_val_if_fail() statements, otherwise things will 
24929           break when G_DISABLE_CHECKS is defined during compilation.
24930
24931 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24932
24933         * docs/gst/tmpl/.cvsignore:
24934         * docs/gst/tmpl/gstvalue.sgml:
24935         * gst/gstvalue.c:
24936         * gst/gstvalue.h:
24937           inlied another one and added  some obvious docs
24938
24939 2005-09-21  Wim Taymans  <wim@fluendo.com>
24940
24941         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24942         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24943         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24944         (gst_fdsrc_get_property), (gst_fdsrc_create):
24945         * gst/elements/gstfdsrc.h:
24946         Properly implement fdsrc. Removed signal and timeout,
24947         better implemented somewhere else.
24948
24949 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24950
24951         * docs/gst/tmpl/.cvsignore:
24952         * docs/gst/tmpl/gstimplementsinterface.sgml:
24953         * gst/gstinterface.c:
24954           inlined more docs
24955
24956 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24957
24958         * docs/gst/gstreamer-sections.txt:
24959         * docs/gst/tmpl/.cvsignore:
24960         * docs/gst/tmpl/gstenumtypes.sgml:
24961           remove obsolete doc file
24962
24963 2005-09-21  David Schleef  <ds@schleef.org>
24964
24965         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24966         little beer, fix a little leak.
24967
24968 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24969
24970         * docs/gst/gstreamer-docs.sgml:
24971         * docs/gst/gstreamer-sections.txt:
24972         * docs/gst/tmpl/.cvsignore:
24973         * gst/Makefile.am:
24974         * gst/gst.h:
24975         * gst/gstbin.c:
24976         * gst/gstelement.h:
24977         * gst/gstindex.c: (gst_index_class_init):
24978         * gst/gstindex.h:
24979         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24980         (gst_index_factory_class_init), (gst_index_factory_init),
24981         (gst_index_factory_finalize), (gst_index_factory_new),
24982         (gst_index_factory_destroy), (gst_index_factory_find),
24983         (gst_index_factory_create), (gst_index_factory_make):
24984         * gst/gstindexfactory.h:
24985         * gst/gstpluginfeature.c:
24986         * gst/gstpluginfeature.h:
24987         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24988           more docs inlined, splitted gstindex.{c,h}
24989
24990 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24991
24992         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24993           fix a leak
24994
24995 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24996
24997         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24998           Set sync to FALSE by default.
24999
25000 2005-09-20  Wim Taymans  <wim@fluendo.com>
25001
25002         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25003         (gst_base_sink_init):
25004         Make sync property settable from subclass.
25005
25006         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25007         (gst_fake_sink_change_state):
25008         Set sync to FALSE by default.
25009
25010 2005-09-20  Wim Taymans  <wim@fluendo.com>
25011
25012         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25013         * tools/gst-launch.c: (main):
25014         The timeout handler should have lower priority than the source
25015         so we don't timeout before popping a message with 0 timeout.
25016         Dump error messages after failed state change.
25017
25018 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25019
25020         * tools/gst-inspect.c: (print_element_properties_info):
25021           Fix two typos.
25022
25023 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25024
25025         * check/gst/gstevent.c:
25026         * gst/elements/gstfakesink.c:
25027         * gst/elements/gstfakesink.h:
25028           remove the sync property from fakesink.
25029           has the side effect of setting sync TRUE
25030           for fakesink, which is a change.  Anyone who knows how
25031           to fix this nicely in a GObject-y way, feel free.
25032
25033 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25034
25035         * docs/gst/gstreamer-docs.sgml:
25036           remove probe refsection
25037
25038 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25039
25040         * check/Makefile.am:
25041           disable valgrinding the controller test again
25042         * docs/gst/gstreamer-sections.txt:
25043           update for api-changes
25044
25045 2005-09-20  Wim Taymans  <wim@fluendo.com>
25046
25047         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25048         (gst_base_sink_set_property), (gst_base_sink_get_property),
25049         (gst_base_sink_do_sync):
25050         * gst/base/gstbasesink.h:
25051         Added sync property to basesink to disable clock sync.
25052
25053 2005-09-20  Andy Wingo  <wingo@pobox.com>
25054
25055         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25056         eating the caller's refcount.
25057
25058         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25059         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25060         refcount.
25061
25062         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25063         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25064         of GLib 2.8 public, so we can know which refcount to check in
25065         tests.
25066
25067         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25068         (gst_object_init): Only set the gst refcount if we're going ahead
25069         with the refcount hack.
25070
25071 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25072
25073         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25074         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25075           more leaks plumbed, added more debug-logging
25076         * gst/gstmacros.h:
25077           whitespace fix
25078
25079 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25080
25081         * gst/gstmessage.c:
25082           remove include of gstmemchunk.h
25083
25084 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25085
25086         * gst/gstclock.c: (_gst_clock_id_free):
25087           Commit from the Political Party For More Atomic CVS Commits,
25088           so that people don't waste too much of their day fishing
25089           out obvious leaks out of massive commits.
25090           Oh, and fix a pretty damn obvious leak in the memchunk
25091           removal code.
25092
25093 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25094
25095         * check/Makefile.am:
25096         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25097           plug mem-leak, re-add to valgrindable tests
25098
25099 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25100
25101         * gst/gstplugin.h:
25102           unbreak the build for those who have chronic arthritis
25103           and typing "make check" is just too taxing on the hands
25104
25105 2005-09-20  Andy Wingo  <wingo@pobox.com>
25106
25107         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25108         really want it out, you should fix plugins at the same time.
25109
25110 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25111
25112         * configure.ac:
25113         * docs/gst/gstreamer-sections.txt:
25114         * gst/gstobject.c:
25115           added missing symbols to api docs
25116           disable ref-count hack if we have glib >= 2.8
25117
25118 2005-09-19  David Schleef  <ds@schleef.org>
25119
25120         * docs/gst/Makefile.am: Ignore a few more internal headers
25121         * docs/gst/gstreamer-docs.sgml: Remove old sections
25122         * docs/gst/gstreamer-sections.txt: Remove old sections
25123         * docs/gst/tmpl/gstobject.sgml: update
25124         * docs/gst/tmpl/gstplugin.sgml: update
25125         * docs/gst/tmpl/gstpluginfeature.sgml: update
25126         * docs/random/ds/0.9-suggested-changes: update.
25127         * gst/Makefile.am: remove memchunk and trashstack, since they're
25128           not used.
25129         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25130         * gst/gst.h: don't include some headers
25131         * gst/gstchildproxy.c: add gstmarshal.h
25132         * gst/gstclock.c: Don't use memchunks
25133         * gst/gstminiobject.c: Add some docs
25134         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25135         * gst/gstobject.h: same
25136         * gst/gstplugin.c: include gstmacros.h
25137         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25138         * gst/gstquery.c: don't use memchunks
25139         * gst/gstregistry.c: rename gst_registry_deinit()
25140         * gst/gstregistry.h: same
25141
25142 2005-09-19  David Schleef  <ds@schleef.org>
25143
25144         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25145         * docs/libs/gstreamer-libs-sections.txt:
25146         * docs/libs/tmpl/gstgetbits.sgml:
25147         * docs/libs/tmpl/gstputbits.sgml:
25148
25149 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25150
25151         * win32/gstenumtypes.c:
25152         * win32/gstenumtypes.h:
25153           Update.
25154
25155 2005-09-19  Wim Taymans  <wim@fluendo.com>
25156
25157         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25158         Automatically PAUSE and RESUME a pipeline when a flushing seek
25159         is performed.
25160
25161 2005-09-19  Andy Wingo  <wingo@pobox.com>
25162
25163         * gst/gstregistry.h: Spacing fixen.
25164
25165 2005-09-19  Wim Taymans  <wim@fluendo.com>
25166
25167         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25168         Handle state change failure more correctly.
25169
25170 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25171
25172         * check/Makefile.am:
25173         * check/pipelines/cleanup.c: (run_pipeline):
25174         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25175         (GST_START_TEST):
25176           enable cleanup again after fixing the leak
25177         * docs/README:
25178           some more info on docs
25179
25180 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25181
25182         * check/Makefile.am:
25183           re-enable tests now that leaks are plugged
25184         * check/gst/gst.c:
25185         * check/gst/gstbin.c:
25186         * check/gst/gstpipeline.c:
25187           add some more tests while fixing leaks
25188         * common/check.mak:
25189           make sure binaries are uptodate when valgrinding/gdbing
25190         * gst/gst.c:
25191         * gst/gstelementfactory.c:
25192           remove a ref too many, and add a FIXME for when we get
25193           round to disposing of classes
25194         * gst/gstplugin.c:
25195           fix the refcounting when loading a plugin from a file and
25196           the code pretends that the pointer is the same even though
25197           of course it can change
25198         * gst/gstpluginfeature.c:
25199           unref plugins marked cached (a bit confusing as a name)
25200           as the docs state should be done
25201           various doc additions to explain refcounting
25202         * gst/gstregistry.c:
25203         * gst/gstregistryxml.c:
25204           debugging
25205
25206 2005-09-19  Wim Taymans  <wim@fluendo.com>
25207
25208         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25209         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25210         (send_messages), (GST_START_TEST), (gstbus_suite):
25211         * check/gst/gstpipeline.c: (GST_START_TEST):
25212         * check/pipelines/cleanup.c: (run_pipeline):
25213         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25214         (GST_START_TEST):
25215         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25216         (gst_bus_source_check), (gst_bus_source_dispatch),
25217         (gst_bus_create_watch), (gst_bus_add_watch_full),
25218         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25219         * gst/gstbus.h:
25220         * tools/gst-launch.c: (event_loop):
25221         * tools/gst-md5sum.c: (event_loop):
25222         GstBusHandler -> GstBusFunc, return value has the same meaning as
25223         any other GSource (FALSE == remove source).
25224         _add_watch() and _add_watch_full() now take a MessageType mask to
25225         only handle specific types of messages.
25226         _poll() returns the GstMessage instead of the message type to avoid
25227         race conditions.
25228         _have_pending() takes a MessageType mask now too.
25229         Added testsuite for multiple bus watches.
25230         Fix testsuites and applications for new bus API.
25231
25232 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25233
25234         * check/Makefile.am:
25235           mark a bunch of the tests as to fix until we fix them
25236
25237 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25238
25239         * common/check.mak:
25240           use GST_PLUGIN settings for valgrind tests as well, so we're
25241           valgrinding the correct thing
25242         * gst/gst.c: (init_post):
25243           plug another leak
25244
25245 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25246
25247         * gst/gst.c: (init_post), (gst_deinit):
25248         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25249         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25250         * gst/gstindex.c: (gst_index_factory_class_init),
25251         (gst_index_factory_finalize):
25252         * gst/gstobject.c: (gst_object_dispose):
25253         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25254         (gst_plugin_load_file), (gst_plugin_desc_free):
25255         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25256         (gst_plugin_feature_finalize):
25257         * gst/gstregistry.c: (gst_registry_class_init),
25258         (gst_registry_init), (gst_registry_finalize),
25259         (gst_registry_get_default), (gst_registry_deinit):
25260         * gst/gstregistry.h:
25261         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25262           various cleanups and memleak plugging.  make valgrind is happy now.
25263
25264 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25265
25266         * common/check.mak:
25267           add a check-valgrind target
25268
25269 2005-09-18  David Schleef  <ds@schleef.org>
25270
25271         * tools/gst-inspect.c: Revert the GOption code.
25272
25273 2005-09-17  David Schleef  <ds@schleef.org>
25274
25275         * check/Makefile.am: Fix environment variables.
25276         * check/gst/gstplugin.c: Fix for API changes.
25277         * tools/gst-inspect.c: Fix for API changes.
25278         * tools/gst-xmlinspect.c: Fix for API changes.
25279         * gst/gstelementfactory.c:
25280         * gst/gstplugin.c:
25281         * gst/gstplugin.h:
25282         * gst/gstpluginfeature.c:
25283         * gst/gstpluginfeature.h:
25284         * gst/gstregistry.c:
25285         * gst/gstregistry.h:
25286         * gst/gstregistryxml.c:
25287         * gst/gsttypefind.c:
25288         * gst/gsttypefindfactory.c:
25289         * gst/indexers/gstfileindex.c:
25290         * gst/indexers/gstmemindex.c:
25291         * gst/schedulers/Makefile.am:
25292           Change registry to keep track of both plugins and features,
25293           removing the feature tracking from plugins themselves.
25294
25295 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25296
25297         * check/Makefile.am:
25298         * tools/gst-register.1.in:
25299           remove gst-register
25300
25301 2005-09-15  David Schleef  <ds@schleef.org>
25302
25303         * check/gst/gstplugin.c:
25304         * gst/gstelementfactory.c:
25305         * gst/gstplugin.c:
25306         * gst/gstpluginfeature.c:
25307         * gst/gstregistry.c:
25308           Getting tired of debugging.  Disabled all the unreffing of
25309           plugins and features, which fixes the segfaults, but of
25310           course leaks like crazy.  At least playbin works.
25311
25312 2005-09-15  David Schleef  <ds@schleef.org>
25313
25314         * check/gst/gstplugin.c: (register_check_elements),
25315         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25316         More testing
25317         * gst/elements/gsttypefindelement.c: Fix refcounting.
25318         * gst/gsttypefind.c:
25319         * gst/gsttypefindfactory.c:
25320         * gst/gsttypefindfactory.h:
25321
25322 2005-09-15  David Schleef  <ds@schleef.org>
25323
25324         * gst/gstindex.c: get refcounting correct.
25325         * gst/gstregistry.c: Handle the case where a feature/plugin is
25326           not found.
25327
25328 2005-09-15  David Schleef  <ds@schleef.org>
25329
25330         * check/Makefile.am:
25331         * check/gst/gstplugin.c: Add test
25332         * gst/gstplugin.c: Fix problems noticed by testsuite
25333         * gst/gstplugin.h:
25334         * gst/gstregistry.c: 
25335         * gst/gstregistry.h:
25336
25337 2005-09-15  David Schleef  <ds@schleef.org>
25338
25339         * gst/gstplugin.c: Implement semi-decent recounting and locking
25340           in plugins and plugin features.
25341         * gst/gstplugin.h:
25342         * gst/gstpluginfeature.c:
25343         * gst/gstpluginfeature.h:
25344         * gst/gstregistry.c:
25345
25346 2005-09-15  Michael Smith <msmith@fluendo.com>
25347
25348         * gst/gstregistry.c: (gst_registry_get_feature_list):
25349           Implement this. Makes oggdemux work; decodebin still broken.
25350
25351 2005-09-14  David Schleef  <ds@schleef.org>
25352
25353         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25354           #316076)
25355         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25356         * gst/check/Makefile.am:
25357         * libs/gst/controller/Makefile.am:
25358         * libs/gst/dataprotocol/Makefile.am:
25359
25360 2005-09-14  David Schleef  <ds@schleef.org>
25361
25362         * configure.ac: Remove getbits library.  Nothing uses it, and
25363           it should be in something like liboil if someone did want
25364           to use it.
25365         * libs/gst/Makefile.am:
25366         * libs/gst/getbits/Makefile.am:
25367         * libs/gst/getbits/gbtest.c:
25368         * libs/gst/getbits/getbits.c:
25369         * libs/gst/getbits/getbits.h:
25370         * libs/gst/getbits/gstgetbits_generic.c:
25371         * libs/gst/getbits/gstgetbits_i386.s:
25372         * libs/gst/getbits/gstgetbits_inl.h:
25373
25374 2005-09-14  David Schleef  <ds@schleef.org>
25375
25376         * gst/Makefile.am: Dist glib-compat.h
25377
25378 2005-09-14  David Schleef  <ds@schleef.org>
25379
25380         * configure.ac: Remove gst/registries, since it's no longer used.
25381         * gst/registries/Makefile.am:
25382         * gst/registries/gstlibxmlregistry.c:
25383         * gst/registries/gstlibxmlregistry.h:
25384         * gst/registries/gstxmlregistry.c:
25385         * gst/registries/gstxmlregistry.h:
25386         * gst/registries/registrytest.c:
25387
25388 2005-09-14  David Schleef  <ds@schleef.org>
25389
25390         * gst/glib-compat.h:
25391         * gst/gstregistryxml.c:
25392           Convergence is near.  Seriously.
25393
25394 2005-09-14  David Schleef  <ds@schleef.org>
25395
25396         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25397         * gst/glib-compat.h:
25398           Attempt #4 to appease the buildbots.
25399
25400 2005-09-14  David Schleef  <ds@schleef.org>
25401
25402         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25403           Attempt #3.
25404
25405 2005-09-14  David Schleef  <ds@schleef.org>
25406
25407         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25408         Attempt #2.
25409
25410 2005-09-14  David Schleef  <ds@schleef.org>
25411
25412         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25413           the new functions.
25414
25415 2005-09-14  David Schleef  <ds@schleef.org>
25416
25417         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25418         * gst/glib-compat.h: Add some functions that are in newer versions
25419           of glib than we care to require.
25420         * gst/gstregistryxml.c: Use them.
25421
25422 2005-09-14  David Schleef  <ds@schleef.org>
25423
25424         * po/POTFILES.in: remove gst-register.c
25425
25426 2005-09-14  David Schleef  <ds@schleef.org>
25427
25428         * docs/gst/gstreamer-docs.sgml:
25429         * docs/gst/gstreamer-sections.txt:
25430         * docs/gst/gstreamer.types:
25431         * docs/gst/tmpl/gstelement.sgml:
25432         * docs/gst/tmpl/gstplugin.sgml:
25433         * docs/gst/tmpl/gstpluginfeature.sgml:
25434           Documentation updates for registry changes.
25435
25436 2005-09-14  David Schleef  <ds@schleef.org>
25437
25438         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25439           because we don't require glib-2.8.
25440
25441 2005-09-14  David Schleef  <ds@schleef.org>
25442
25443         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25444           registries directory.
25445
25446 2005-09-14  David Schleef  <ds@schleef.org>
25447
25448         * check/Makefile.am:
25449         * check/generic/states.c:
25450         * gst/Makefile.am:
25451         * gst/gst.c:
25452         * gst/gst.h:
25453         * gst/gst_private.h:
25454         * gst/gstelementfactory.c:
25455         * gst/gstindex.c:
25456         * gst/gstinfo.c:
25457         * gst/gstplugin.c:
25458         * gst/gstplugin.h:
25459         * gst/gstpluginfeature.c:
25460         * gst/gstpluginfeature.h:
25461         * gst/gstregistry.c:
25462         * gst/gstregistry.h:
25463         * gst/gstregistrypool.c: remove
25464         * gst/gstregistrypool.h: remove
25465         * gst/gsttypefind.c:
25466         * gst/gsttypefindfactory.c:
25467         * gst/gsturi.c:
25468         * tools/Makefile.am:
25469         * tools/gst-compprep.c:
25470         * tools/gst-inspect.c:
25471         * tools/gst-register.c: remove
25472         * tools/gst-xmlinspect.c:
25473           Registry rewrite.  Changes registry from being a file created
25474           by a tool into a simple cache file created automatically by 
25475           libgstreamer.  Removed gst-register (because it's no longer
25476           needed).  Remove registry pools, because we only have one
25477           registry implementation (XML).  Fix up other subsystems as
25478           necessary.
25479
25480 2005-09-13  Michael Smith <msmith@fluendo.com>
25481
25482         * gst/gstconfig.h.in:
25483           Don't Use windows linking attributes for MinGW. Fixes #316157
25484
25485 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25486
25487         * gst/gstutils.c: (set_state_async_thread_func),
25488         (gst_element_set_state_async):
25489           Apparently people think it's better if this function doesn't
25490           try to set the state to whatever state was asked for on the first
25491           call to this function for any object.  Seriously.
25492
25493 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25494
25495         * check/gst/gstpipeline.c: (GST_START_TEST):
25496         * docs/gst/gstreamer-sections.txt:
25497         * gst/gstutils.c: (set_state_async_thread_func),
25498         (gst_element_set_state_async):
25499         * gst/gstutils.h:
25500           add a "gst_element_set_state_async" method that
25501           sets the state and starts a thread to make sure the state
25502           change completes as best as it can
25503
25504 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25505
25506         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25507           codify design+behaviour in testsuite after discussion
25508
25509 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25510
25511         * docs/gst/tmpl/gstelement.sgml:
25512         * docs/manual/appendix-quotes.xml:
25513           add a quote
25514         * gst/gstelement.c: (gst_element_set_state):
25515           add some debug
25516
25517 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25518
25519         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25520         (gst_base_transform_prepare_output_buf),
25521         (gst_base_transform_handle_buffer):
25522         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25523         (gst_capsfilter_prepare_buf):
25524           Remove the requirement for sub-classes to call the parent
25525           implementation of prepare_output_buffer with a wrapper function.
25526           
25527         * gst/gsttaglist.h:
25528         * gst/gsttagsetter.h:
25529           Fix #define wrapper
25530
25531 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25532
25533         * docs/gst/gstreamer-sections.txt:
25534           more doc cleanups
25535
25536 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25537
25538         * docs/gst/gstreamer-sections.txt:
25539         * docs/gst/tmpl/gstelement.sgml:
25540         * docs/gst/tmpl/gstplugin.sgml:
25541         * gst/gstminiobject.c:
25542         * gst/gstvalue.h:
25543           docs now stop throwing warnings
25544
25545 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25546
25547         * docs/gst/gstreamer-sections.txt:
25548         * docs/gst/gstreamer.types:
25549         * docs/gst/tmpl/gstpad.sgml:
25550         * docs/gst/tmpl/gsttypes.sgml:
25551         * gst/base/gstadapter.h:
25552         * gst/base/gstbasesink.h:
25553         * gst/base/gstbasesrc.h:
25554         * gst/gstbin.h:
25555         * gst/gstbuffer.h:
25556         * gst/gstbus.h:
25557         * gst/gstcaps.h:
25558         * gst/gstclock.h:
25559         * gst/gstelement.h:
25560         * gst/gstevent.h:
25561         * gst/gstmessage.h:
25562         * gst/gstpad.h:
25563         * gst/gststructure.c:
25564         * gst/registries/gstlibxmlregistry.h:
25565           various documentation fixes
25566
25567 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25568
25569         * docs/gst/gstreamer-sections.txt:
25570         * docs/gst/tmpl/gstvalue.sgml:
25571           rearrange gstvalue section
25572         * gst/gstutils.c: (gst_element_state_get_name):
25573           NONE -> VOID
25574         * gst/gstvalue.c: (_gst_value_initialize):
25575         * gst/gstvalue.h:
25576           doc updates
25577
25578 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25579
25580         * check/gst-libs/controller.c:
25581           Header include fix.
25582         * gst/base/gstbasetransform.c:
25583         (gst_base_transform_default_prepare_buf),
25584         (gst_base_transform_handle_buffer):
25585         * gst/base/gstbasetransform.h:
25586           Some more basetransform changes and fixes to enable sub-classes
25587           that modify buffer metadata only.
25588         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25589         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25590         (gst_capsfilter_prepare_buf):
25591           If the output pad has fixed allowed caps and input buffers 
25592           don't have any, set the fixed caps on outgoing buffers.
25593
25594 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25595         * check/elements/identity.c: (GST_START_TEST):
25596           Make the error a little clearer when the test fails because
25597           identity made a copy of the buffer.
25598         * docs/gst/gstreamer-sections.txt:
25599           New symbols in gstbasetransform.h
25600         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25601         (gst_base_transform_init), (gst_base_transform_transform_size),
25602         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25603         (gst_base_transform_default_prepare_buf),
25604         (gst_base_transform_get_unit_size),
25605         (gst_base_transform_buffer_alloc),
25606         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25607         (gst_base_transform_change_state),
25608         (gst_base_transform_set_passthrough),
25609         (gst_base_transform_set_in_place),
25610         (gst_base_transform_is_in_place):
25611         * gst/base/gstbasetransform.h:
25612           Change BaseTransform to separate in_place operate from same_caps
25613           output. in_place implies that the element can perform the transform
25614           on incoming buffers in-place, even if the caps on the output are
25615           different.
25616           Sub-class elements can now implement special buffer allocation
25617           methods for outgoing buffers if they wish to.
25618           Big documentation addition.
25619         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25620         * gst/elements/gstelements.c:
25621           Changes for basetransform modifications.
25622         * gst/elements/Makefile.am:
25623         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25624           Compile fix. Extra debug output.
25625
25626 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25627
25628         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25629         (gst_pad_suite):
25630           add tests for valid pad naming
25631         * gst/check/gstcheck.c: (gst_check_log_message_func),
25632         (gst_check_log_critical_func):
25633           add ASSERT_WARNING
25634           remove printing of code, it is fragile when the code contains
25635           % and the line number is enough info
25636         * gst/check/gstcheck.h:
25637         * gst/gstpad.c: (gst_pad_template_new):
25638           fix memleaks
25639
25640 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25641
25642         * configure.ac:
25643           say what CHECK flags we use
25644         * docs/libs/gstreamer-libs.types:
25645         * libs/gst/controller/Makefile.am:
25646         * libs/gst/controller/gst-controller.c:
25647         * libs/gst/controller/gst-controller.h:
25648         * libs/gst/controller/gst-helper.c:
25649         * libs/gst/controller/gst-interpolation.c:
25650         * libs/gst/controller/gstcontroller.c:
25651         * libs/gst/controller/gsthelper.c:
25652         * libs/gst/controller/gstinterpolation.c:
25653         * tools/gst-inspect.c: (print_plugin_info):
25654           we don't use dashes in header names
25655
25656 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25657
25658         * check/Makefile.am:
25659         * check/gst/.cvsignore:
25660         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25661         (gst_pipeline_suite), (main):
25662           adding a test for pipelines and state changes
25663         * gst/gstutils.c: (get_state_func):
25664           add some debugging
25665         * gstreamer.spec.in:
25666           fix up spec file
25667
25668 2005-09-08  Michael Smith <msmith@fluendo.com>
25669
25670         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25671         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25672         (gst_file_src_is_seekable), (gst_file_src_get_size),
25673         (gst_file_src_start):
25674         * gst/elements/gstfilesrc.h:
25675           Various fixes for unseekable, unmmapable, and non-normal files, so
25676           that fallback to read() rather than mmap() works.
25677         * gst/gstevent.c: (gst_event_new_newsegment):
25678           Allow newsegment events with segment_start == segment_end, as will
25679           correctly happen if you use filesrc on a zero-size file, for
25680           example.
25681
25682 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25683
25684         * gst/gstplugin.c: (gst_plugin_load_file):
25685           Call g_module_close when we don't load the module
25686
25687         * gst/registries/gstlibxmlregistry.c:
25688         (gst_xml_registry_get_property):
25689           Port leak fix from 0.8
25690
25691 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25692
25693         * docs/gst/gstreamer-docs.sgml:
25694         * docs/gst/tmpl/.cvsignore:
25695         * docs/gst/tmpl/gsttrace.sgml:
25696         * docs/gst/tmpl/gsttrashstack.sgml:
25697         * gst/Makefile.am:
25698         * gst/gst.h:
25699         * gst/gstelement.h:
25700         * gst/gstevent.h:
25701         * gst/gstmessage.c:
25702         * gst/gstmessage.h:
25703         * gst/gsttag.c:
25704         * gst/gsttag.h:
25705         * gst/gsttaginterface.c:
25706         * gst/gsttaginterface.h:
25707         * gst/gsttaglist.c:
25708         * gst/gsttaglist.h:
25709         * gst/gsttagsetter.c:
25710         * gst/gsttagsetter.h:
25711         * gst/gsttrace.c:
25712         * gst/gsttrace.h:
25713         * gst/gsttrashstack.c:
25714           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25715           inlined docs for gsttrace, gsttrashstack
25716
25717 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25718
25719         * gst/Makefile.am:
25720         * gst/elements/gstbufferstore.h:
25721         * gst/elements/gsttypefindelement.c:
25722         * gst/elements/gsttypefindelement.h:
25723         * gst/gst.h:
25724         * gst/gsttypefind.c:
25725         * gst/gsttypefind.h:
25726         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25727         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25728         (gst_type_find_factory_dispose),
25729         (gst_type_find_factory_unload_thyself),
25730         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25731         (gst_type_find_factory_get_caps),
25732         (gst_type_find_factory_get_extensions),
25733         (gst_type_find_factory_call_function):
25734         * gst/gsttypefindfactory.h:
25735         * gst/registries/gstlibxmlregistry.c:
25736         * gst/registries/gstxmlregistry.c:
25737           splitted gsttypefind into gsttypefind, gsttypefindfactory
25738
25739 2005-09-07  Andy Wingo  <wingo@pobox.com>
25740
25741         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25742         condition whereby the pad's task function is entered before the
25743         pad_mode variable was set.
25744
25745 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25746
25747         * gst/gstpad.c: (gst_pad_alloc_buffer):
25748           Catch misbehaving pad_alloc functions that don't
25749           set up caps and do it for them.
25750
25751 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25752
25753         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25754           test for pipe!=NULL
25755         * docs/gst/tmpl/.cvsignore:
25756         * docs/gst/tmpl/gstmemchunk.sgml:
25757         * docs/gst/tmpl/gstparse.sgml:
25758         * docs/gst/tmpl/gsttaglist.sgml:
25759         * docs/gst/tmpl/gsttagsetter.sgml:
25760         * docs/gst/tmpl/gsttypefind.sgml:
25761         * docs/gst/tmpl/gsttypefindfactory.sgml:
25762         * gst/gstmemchunk.c:
25763         * gst/gstparse.c:
25764         * gst/gsttag.c:
25765         * gst/gsttaginterface.c:
25766         * gst/gsttypefind.c:
25767         * gst/gsttypefind.h:
25768           inlined more docs
25769
25770 === release 0.9.2 ===
25771
25772 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25773
25774         * NEWS:
25775         * RELEASE:
25776         * configure.ac:
25777           releasing 0.9.2, "South"
25778
25779 2005-09-05  Andy Wingo  <wingo@pobox.com>
25780
25781         * gst/registries/gstxmlregistry.h:
25782         * gst/registries/gstxmlregistry.c: Um... resurrect...
25783         
25784         * gst/registries/gstxmlregistry.h:
25785         * gst/registries/gstxmlregistry.c: and update to newer API.
25786         Incidentally they should be a bit faster now that they don't have
25787         to parse the caps.
25788         
25789 2005-09-05  Andy Wingo  <wingo@pobox.com>
25790
25791         * gst/registries/gstxmlregistry.h:
25792         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25793         replaced by the libxml registry a while back
25794
25795 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25796
25797         * docs/gst/tmpl/gstplugin.sgml:
25798         * gst/elements/gstelements.c:
25799         * gst/gst.c:
25800         * gst/gstplugin.c: (gst_plugin_register_func),
25801         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25802         (gst_plugin_get_source):
25803         * gst/gstplugin.h:
25804         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25805         (gst_xml_registry_save_plugin):
25806         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25807         (gst_xml_registry_save_plugin):
25808         * tools/gst-inspect.c: (print_plugin_info):
25809           add a "source" plugin description field, to represent the source
25810           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25811           will set it to PACKAGE, which is automake's idea of the name of
25812           the source project.
25813
25814 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25815
25816         * Makefile.am:
25817         * autogen.sh:
25818         * configure.ac:
25819         * docs/Makefile.am:
25820         * docs/faq/Makefile.am:
25821         * docs/gst/tmpl/gstelement.sgml:
25822         * docs/gst/tmpl/gsttypes.sgml:
25823         * docs/htmlinstall.mak:
25824         * docs/manual/Makefile.am:
25825         * docs/pwg/Makefile.am:
25826           reorganize doc build a little
25827           split out docbook and gtk-doc stuff
25828           have two separate --enable's and enable them through autogen
25829           but disable by default in configure (to be similar to other
25830           projects)
25831         * gstreamer.spec.in:
25832           clean up docs install
25833         * po/af.po:
25834         * po/az.po:
25835         * po/ca.po:
25836         * po/cs.po:
25837         * po/de.po:
25838         * po/en_GB.po:
25839         * po/fr.po:
25840         * po/it.po:
25841         * po/nb.po:
25842         * po/nl.po:
25843         * po/ru.po:
25844         * po/sq.po:
25845         * po/sr.po:
25846         * po/sv.po:
25847         * po/tr.po:
25848         * po/uk.po:
25849         * po/vi.po:
25850           translation updates
25851
25852 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25853
25854         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25855           Add comment.
25856           
25857         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25858         (gst_fake_sink_change_state):
25859           Make state change function thread-safe.
25860           
25861         * gst/gstpad.c: (gst_pad_alloc_buffer):
25862           Set offset on generic buffer allocated by fallback.
25863
25864 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25865
25866         * docs/gst/gstreamer-sections.txt:
25867         * docs/gst/tmpl/gstelement.sgml:
25868         * gst/gstpad.c:
25869         * libs/gst/controller/gst-controller.c:
25870         (gst_controlled_property_set_interpolation_mode),
25871         (gst_controlled_property_new),
25872         (gst_controller_find_controlled_property):
25873          run the wingo-magic script against the docs
25874
25875 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25876
25877         * docs/gst/gstreamer-docs.sgml:
25878         * docs/gst/gstreamer-sections.txt:
25879         * docs/gst/tmpl/.cvsignore:
25880         * docs/gst/tmpl/gstelementdetails.sgml:
25881         * docs/gst/tmpl/gstelementfactory.sgml:
25882         * gst/gst.c:
25883         * gst/gstbus.c:
25884         * gst/gstelementfactory.c:
25885         * gst/gstelementfactory.h:
25886           merged elementdetails docs into elementfactory docs
25887           inlined both
25888
25889 2005-09-02  Andy Wingo  <wingo@pobox.com>
25890
25891         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25892         consider this enum an enum and not a flags.
25893
25894 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25895
25896         * docs/gst/gstreamer-docs.sgml:
25897         * docs/gst/tmpl/.cvsignore:
25898         * docs/gst/tmpl/gstghostpad.sgml:
25899         * docs/gst/tmpl/gstiterator.sgml:
25900         * docs/gst/tmpl/gstmacros.sgml:
25901         * docs/gst/tmpl/gstrealpad.sgml:
25902         * docs/gst/tmpl/gstregistry.sgml:
25903         * docs/gst/tmpl/gstregistrypool.sgml:
25904         * docs/gst/tmpl/gststructure.sgml:
25905         * docs/gst/tmpl/gstsystemclock.sgml:
25906         * docs/gst/tmpl/gsttrace.sgml:
25907         * gst/gstghostpad.c:
25908         * gst/gstmacros.h:
25909         * gst/gstmemchunk.c:
25910         * gst/gstmemchunk.h:
25911         * gst/gstqueue.c:
25912         * gst/gstregistry.c:
25913         * gst/gstregistrypool.c:
25914         * gst/gststructure.c:
25915         * gst/gstsystemclock.c:
25916           more docs inlined
25917
25918 2005-09-02  Andy Wingo  <wingo@pobox.com>
25919
25920         * gst/gstelement.h (GstState): Renamed from GstElementState,
25921         changed to be a normal enum instead of flags.
25922         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25923         munged to be GST_STATE_CHANGE_*.
25924         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25925         work with the new state representation.
25926         (GstStateChange): New enumeration of possible state transitions.
25927         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25928         (GstElementClass::change_state): Pass the GstStateChange along as
25929         an argument. Helps language bindings, so they don't have to use
25930         tricky lock-needing macros like GST_STATE_CHANGE ().
25931
25932         * scripts/update-states (file): New script. Run it on a file to
25933         update it for state naming and API changes. Updates files in
25934         place.
25935
25936         * All files updated for the new API.
25937
25938 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25939
25940         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25941         * gst/gstutils.c: (gst_util_set_value_from_string),
25942         (gst_util_set_object_arg):
25943           fix a bunch of unchecked return values
25944         * tools/gst-complete.c: (main):
25945         * gstreamer.spec.in:
25946           clean up a little
25947
25948 2005-09-01  Wim Taymans  <wim@fluendo.com>
25949
25950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25951         (gst_base_sink_event), (gst_base_sink_do_sync),
25952         (gst_base_sink_handle_event):
25953         * gst/base/gstbasesink.h:
25954         Handle newsegments more correctly.
25955
25956         * gst/gstbus.c:
25957         Fix docs.
25958
25959         * gst/gstevent.c: (gst_event_new_newsegment):
25960         A newsegment cannot have a start_time of -1
25961
25962 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25963
25964         * win32/gstenumtypes.c:
25965         * win32/gstenumtypes.h:
25966           Update
25967
25968 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25969
25970         * libs/gst/controller/gst-controller.c:
25971         (gst_controlled_property_set_interpolation_mode),
25972         (gst_controlled_property_new):
25973          fixed boolean again
25974
25975 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25976
25977         * docs/faq/gst-uninstalled:
25978           add -good
25979         * gst/gstevent.c:
25980         * gst/gstevent.h:
25981           remove wrong docs
25982         * gst/gstutils.c: (gst_element_link_filtered):
25983         * gst/gstutils.h:
25984           add gst_element_link_filtered
25985
25986 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25987
25988         * docs/gst/gstreamer-docs.sgml:
25989         * docs/gst/gstreamer-sections.txt:
25990         * docs/gst/tmpl/.cvsignore:
25991         * docs/gst/tmpl/gsterror.sgml:
25992         * docs/gst/tmpl/gstfilter.sgml:
25993         * docs/gst/tmpl/gsturihandler.sgml:
25994         * docs/gst/tmpl/gsturitype.sgml:
25995         * docs/gst/tmpl/gstutils.sgml:
25996         * docs/gst/tmpl/gstxml.sgml:
25997         * gst/gsterror.c:
25998         * gst/gsterror.h:
25999         * gst/gstfilter.c:
26000         * gst/gsturi.c:
26001         * gst/gsturitype.c:
26002         * gst/gstutils.c:
26003         * gst/gstxml.c:
26004           inlined more docs, fixed double id-ref
26005
26006 2005-08-31  Wim Taymans  <wim@fluendo.com>
26007
26008         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26009         (gst_base_transform_handle_buffer):
26010         Passthrough elements don't need the caps as they don't care.
26011
26012 2005-08-31  Wim Taymans  <wim@fluendo.com>
26013
26014         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26015         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26016         Don't leak refcounts on buffers.
26017
26018 2005-08-31  Wim Taymans  <wim@fluendo.com>
26019
26020         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26021         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26022         (gst_base_transform_chain), (gst_base_transform_change_state):
26023         * gst/base/gstbasetransform.h:
26024         Handle the case where we are not negotiated more gracefully.
26025
26026 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26027
26028         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26029         (gst_file_src_map_region):
26030           Set READONLY flag on mmap'ed buffers, otherwise
26031           gst_buffer_make_writable() won't work properly (#314708).
26032
26033 2005-08-31  Wim Taymans  <wim@fluendo.com>
26034
26035         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26036         passthrough elements can even do inplace on non writable
26037         buffers (as they don't touch them).
26038
26039 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26040
26041         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26042         (gst_test_mono_source_set_property),
26043         (gst_test_mono_source_class_init), (GST_START_TEST),
26044         (gst_controller_suite):
26045           more tests (hehe I have the most)
26046         * gst/gstbus.c:
26047           describe popping messages whenusing mulltiple sources
26048         * libs/gst/controller/gst-controller.c:
26049         (gst_controlled_property_set_interpolation_mode),
26050         (gst_controlled_property_new):
26051         * libs/gst/controller/gst-controller.h:
26052         * libs/gst/controller/gst-interpolation.c:
26053           implement boolean properties
26054
26055 2005-08-31  Wim Taymans  <wim@fluendo.com>
26056
26057         * gst/gstminiobject.c: (gst_mini_object_ref):
26058         Cannot assert that the refcount has to be positive
26059         since a disposed object can be resurrected.
26060
26061 2005-08-31  Wim Taymans  <wim@fluendo.com>
26062
26063         * gst/gstpad.c: (gst_pad_init):
26064         Revert change, need to first fix badly behaving 
26065         apps.
26066
26067 2005-08-30  Wim Taymans  <wim@fluendo.com>
26068
26069         * check/elements/fakesrc.c: (setup_fakesrc):
26070         * check/elements/identity.c: (setup_identity):
26071         Activate pads before using them.
26072
26073 2005-08-30  Wim Taymans  <wim@fluendo.com>
26074
26075         * gst/base/gstadapter.c: (gst_adapter_flush):
26076         Flushing out 0 bytes is ok for this function.
26077
26078         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26079         no newsegment gives a warning and sets the start/stop to 
26080         invalid.
26081
26082         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26083         (gst_base_transform_set_passthrough):
26084         Some debug info.
26085
26086         * gst/gstminiobject.c: (gst_mini_object_ref):
26087         Check refcount here too.
26088
26089         * gst/gstpad.c: (gst_pad_init):
26090         Pads are initially flushing and refusing data.
26091
26092         * gst/gstutils.c: (gst_element_link_pads_filtered):
26093         When adding a capsfilter element make sure it has the
26094         same state as the parent bin.
26095
26096 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26097
26098         * docs/gst/tmpl/.cvsignore:
26099         * docs/gst/tmpl/gstformat.sgml:
26100         * docs/gst/tmpl/gstversion.sgml:
26101         * gst/gstbus.h:
26102         * gst/gstformat.c:
26103         * gst/gstformat.h:
26104         * gst/gstversion.h.in:
26105           more docs and two more inlined
26106
26107 2005-08-30  Wim Taymans  <wim@fluendo.com>
26108
26109         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26110         Don't sync to clock.
26111
26112 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26113
26114         * docs/gst/gstreamer-sections.txt:
26115           ultral33t func10ns deserve to appear in the docs actually
26116         * docs/gst/tmpl/.cvsignore:
26117         * docs/gst/tmpl/gstcompat.sgml:
26118         * docs/gst/tmpl/gstconfig.sgml:
26119         * gst/check/gstcheck.c:
26120         * gst/gstcompat.h:
26121         * gst/gstconfig.h.in:
26122           inlined more docs
26123
26124 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26125
26126         * docs/gst/tmpl/.cvsignore:
26127         * docs/gst/tmpl/gstquery.sgml:
26128         * docs/gst/tmpl/gstutils.sgml:
26129         * gst/gstquery.c:
26130         * gst/gstquery.h:
26131           inlined and extended docs
26132
26133 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26134
26135         * check/gst-libs/controller.c: (GST_START_TEST),
26136         (gst_controller_suite):
26137           more tests
26138         * docs/gst/tmpl/gstutils.sgml:
26139         * docs/libs/gstreamer-libs-sections.txt:
26140         * docs/libs/tmpl/gstdataprotocol.sgml:
26141           include path fixes
26142         * examples/controller/audio-example.c: (main):
26143           controller example works now
26144         * gst/gstclock.h:
26145           doc fixes
26146         * tools/gst-inspect.c: (print_element_properties_info):
26147           show param spec flags
26148
26149 2005-08-29  Andy Wingo  <wingo@pobox.com>
26150
26151         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26152
26153 2005-08-28  Andy Wingo  <wingo@pobox.com>
26154
26155         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26156         as having two arguments instead of just one. Allows superclasses
26157         to access information on subclasses -- see the terrible for() loop
26158         in gtype.c:g_type_create_instance for the reason why. All callers
26159         changed.
26160
26161 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26162
26163         * docs/design/part-messages.txt:
26164           update info
26165         * docs/gst/tmpl/.cvsignore:
26166         * docs/gst/tmpl/gstcaps.sgml:
26167         * docs/gst/tmpl/gstclock.sgml:
26168         * gst/gstbus.c:
26169         * gst/gstcaps.c:
26170         * gst/gstcaps.h:
26171         * gst/gstclock.c:
26172         * gst/gstclock.h:
26173         * gst/gstmessage.c:
26174           added descriptions for bus and message
26175           inline caps and clock docs
26176
26177 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26178
26179         * gst/gstmessage.c:
26180         * gst/gstmessage.h:
26181           doc fixes
26182
26183 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26184
26185         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26186           fix div-by-zero
26187
26188 2005-08-26  Andy Wingo  <wingo@pobox.com>
26189
26190         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26191         element_set_state's return val.
26192         (test_2_elements): Add test that's been disabled for months.
26193
26194         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26195         can-activate-pull properties.
26196
26197         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26198         can-activate-pull properties. Implement is_seekable so fakesrc can
26199         operate in pull mode.
26200
26201         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26202         properties.
26203         (gst_base_sink_activate, gst_base_sink_activate_pull)
26204         (gst_base_sink_activate_push): Make activation mode choosing work.
26205         Cleanups.
26206         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26207         is right. Make pull mode work. Post an eos before pausing in pull
26208         mode.
26209         (gst_base_sink_change_state): Pay attention to the core's
26210         change_state() return val.
26211         
26212         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26213         has-getrange properties. Cleanups.
26214         
26215         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26216         has_getrange and replace with can_activate_pull and
26217         can_activate_push.
26218
26219         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26220         locking comments. Remove has_loop, has_chain and replace with
26221         can_activate_pull and can_activate_push.
26222
26223 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26224
26225         * configure.ac:
26226         * examples/Makefile.am:
26227         * examples/metadata/Makefile.am:
26228         * examples/metadata/read-metadata.c: (message_loop),
26229         (have_pad_handler), (make_pipeline), (print_tag), (main):
26230           Add metadata reading example that loops over a list of filenames,
26231           dumping any tags found.
26232
26233         * gst/gstbus.c: (gst_bus_dispose):
26234         * gst/gstelement.c: (gst_element_dispose):
26235           Release a few potentially-held references in dispose.
26236
26237 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26238
26239         * docs/gst/tmpl/gstminiobject.sgml:
26240           do *not* add tmpl/*.sgml files to CVS!
26241
26242 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26243
26244         * libs/gst/bytestream/.cvsignore:
26245         * libs/gst/bytestream/Makefile.am:
26246         * libs/gst/bytestream/adapter.c:
26247         * libs/gst/bytestream/adapter.h:
26248         * libs/gst/bytestream/bytestream.c:
26249         * libs/gst/bytestream/bytestream.h:
26250         * libs/gst/bytestream/filepad.c:
26251         * libs/gst/bytestream/filepad.h:
26252           removing obsolete files
26253
26254 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26255
26256         * docs/gst/gstreamer-docs.sgml:
26257         * docs/libs/gstreamer-libs-docs.sgml:
26258           disabed additional index entries again, as this makes docs-gen just
26259           slow and they aren't useful yet
26260         * docs/libs/gstreamer-libs-sections.txt:
26261           little -section.txt cleanup for libs
26262
26263 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26264
26265         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26266         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26267           fix up some debugging
26268         (gst_base_transform_get_unit_size),
26269         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26270         (gst_base_transform_handle_buffer):
26271         * gst/base/gstbasetransform.h:
26272           handle and store timed NEWSEGMENT events so that subclasses that
26273           calculate time by counting samples have a segment_start time they
26274           need to add to their timestamps - see audioresample
26275
26276 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26277
26278         * gst/gstbin.h:
26279           removed ';' from the end of macro defs
26280         * docs/gst/gstreamer-docs.sgml:
26281         * docs/gst/gstreamer-sections.txt:
26282         * docs/gst/tmpl/.cvsignore:
26283         * gst/gstbus.h:
26284         * gst/gstelement.c: (gst_element_class_init),
26285         (gst_element_set_state), (activate_pads),
26286         (gst_element_save_thyself):
26287         * gst/gstevent.c: (gst_event_new_newsegment):
26288         * gst/gstevent.h:
26289         * gst/gstiterator.c:
26290         * gst/gstiterator.h:
26291         * gst/gstpad.c:
26292         * gst/gstprobe.h:
26293         * gst/gstutils.c: (gst_pad_query_convert):
26294         * gst/gstutils.h:
26295           fixed parameter name mismatches between source, header and docs
26296           added some more docs, resolved the last batch of unused elements in
26297           docs (now someone needs to doc them)
26298
26299 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26300
26301         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26302         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26303           don't walk through the plugins backwards.  Where is all this
26304           reversed logic coming from ?
26305
26306 2005-08-25  Wim Taymans  <wim@fluendo.com>
26307
26308         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26309         (gst_base_transform_transform_size),
26310         (gst_base_transform_configure_caps),
26311         (gst_base_transform_get_unit_size),
26312         (gst_base_transform_buffer_alloc),
26313         (gst_base_transform_change_state):
26314         * gst/base/gstbasetransform.h:
26315         Cache caps unit_size.
26316         Make sure we cannot negotiate up and downstream at the
26317         same time.
26318
26319 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26320
26321         * gst/gst.c: (init_pre), (init_post):
26322           register the installed plugin path after the env var
26323         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26324         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26325           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26326           directories, so the tests can prefer uninstalled over installed
26327
26328 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26329
26330         * gst/base/gstbasetransform.h:
26331           comment
26332         * gst/gstpad.c:
26333           add to docs
26334
26335 2005-08-25  Wim Taymans  <wim@fluendo.com>
26336
26337         * gst/gstbin.c: (bin_bus_handler):
26338         Be a bit more conservative about the posted message.
26339         
26340         * gst/gstbus.c: (gst_bus_post):
26341         Some cleanups, warn wrong return values.
26342
26343 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26344
26345         * check/gst/gstbin.c: (GST_START_TEST):
26346         * gst/gstbin.c: (bin_bus_handler):
26347         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26348         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26349         (gst_message_new_warning), (gst_message_new_tag),
26350         (gst_message_new_state_changed), (gst_message_new_segment_start),
26351         (gst_message_new_segment_done), (gst_message_new_custom):
26352         * gst/gstmessage.h:
26353         * tools/gst-launch.c: (event_loop):
26354         * tools/gst-md5sum.c: (event_loop):
26355           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26356
26357 2005-08-25  Wim Taymans  <wim@fluendo.com>
26358
26359         * check/generic/states.c: (GST_START_TEST):
26360         Cleanup can be done at the end.
26361
26362         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26363         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26364         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26365         Oh boy.. Thanks for finding this, Thomas. 
26366
26367 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26368
26369         * docs/gst/gstreamer.types:
26370           added missing types
26371
26372 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26373
26374         * docs/gst/gstreamer-docs.sgml:
26375         * docs/gst/gstreamer-sections.txt:
26376         * docs/gst/tmpl/.cvsignore:
26377         * gst/gstbin.c:
26378         * gst/gstiterator.c:
26379         * gst/gstutils.c:
26380         * gst/registries/gstxmlregistry.h:
26381           added missing classes and symbols (123 more to go)
26382           removed removed symbols from section file
26383           fixed many doc-comments
26384
26385 2005-08-24  Wim Taymans  <wim@fluendo.com>
26386
26387         * check/generic/states.c: (GST_START_TEST):
26388         Make sure all tasks are stopped.
26389
26390         * check/gst/gstbin.c: (GST_START_TEST):
26391         Unref after usage for proper valgrinding.
26392
26393         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26394         Really wait for the task to stop before destroying the
26395         mutex.
26396
26397         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26398         (gst_queue_src_activate_push):
26399         Small cleanups. Don't stop the task when we did not start
26400         it.
26401
26402         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26403         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26404         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26405         (gst_task_join):
26406         * gst/gsttask.h:
26407         Protect the stream lock with the object lock.
26408         Disallow setting the stream lock when running.
26409         Add cleanup_all to wait for the threadpool to finish.
26410         Remove code to autoallocate a mutex if none was provided.
26411         Add _join() to wait for a task to stop.
26412         Protect the thread pool with a global lock.
26413
26414 2005-08-24  Wim Taymans  <wim@fluendo.com>
26415
26416         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26417         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26418         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26419         * gst/base/gstbasesink.h:
26420         Handle newsegment events correctly.
26421         Drop buffers out of the segment range.
26422
26423 2005-08-22  Andy Wingo  <wingo@pobox.com>
26424
26425         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26426         macro, implements an interface and gstimplementsinterface for a
26427         new type.
26428
26429 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26430
26431         * check/Makefile.am:
26432         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26433           add a test that does a bunch of state changes on elements
26434           needs some fixing for valgrind
26435         * check/states/sinks.c: (gst_object_suite):
26436           whitespace
26437         * gst/gstcaps.h:
26438           add prototype for gst_caps_is_equal_fixed
26439         * gst/gstplugin.c:
26440         * gst/gstregistrypool.c:
26441           doc fixes
26442
26443 2005-08-24  Andy Wingo  <wingo@pobox.com>
26444
26445         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26446         convert a negative value. Doesn't make much sense. Mostly this is
26447         here to force callers to ensure -1 maps to -1.
26448
26449 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26450
26451         * docs/pwg/advanced-types.xml:
26452           Well done to Michael for catching my deliberate introduction
26453           of this spelling mistake. 
26454         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26455         * gst/gstelement.h:
26456           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26457           unlink pads before removing the element from the bin.
26458
26459 2005-08-24  Andy Wingo  <wingo@pobox.com>
26460
26461         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26462         the same thing as GST_DEBUG=*:4.
26463         (parse_debug_level, parse_debug_category): New helper parsers.
26464
26465 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26466
26467         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26468         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26469         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26470         (gst_base_transform_buffer_alloc),
26471         (gst_base_transform_handle_buffer):
26472           use gboolean return values and pointers to size so we can use the
26473           full GST_BUFFER_SIZE range (guint) for buffer sizes
26474           use GstPadDirection for transform_caps
26475         * gst/base/gstbasetransform.h:
26476           rename get_size to get_unit_size since that's what it is
26477         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26478           use GstPadDirection for transform_caps
26479         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26480         * gst/gstutils.h:
26481           cleanup and debugging
26482
26483 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26484
26485         * gst/gstelement.c: (gst_element_class_init),
26486         (gst_element_set_state), (activate_pads),
26487         (gst_element_save_thyself):
26488         * tools/gst-compprep.c: (main):
26489         * tools/gst-inspect.c: (print_element_properties_info):
26490         * tools/gst-xmlinspect.c: (print_element_properties):
26491           Fixed long standing mem-leak
26492
26493 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26494
26495         * check/gst/gstbin.c: (GST_START_TEST):
26496         * gst/gstbin.c: (bin_bus_handler):
26497         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26498         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26499         (gst_message_new_warning), (gst_message_new_tag),
26500         (gst_message_new_state_changed), (gst_message_new_segment_start),
26501         (gst_message_new_segment_done), (gst_message_new_custom):
26502         * gst/gstmessage.h:
26503         * tools/gst-launch.c: (event_loop):
26504         * tools/gst-md5sum.c: (event_loop):
26505           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26506           that applications can sensibly post custom messages with references
26507           to their own objects.
26508
26509 2005-08-24  Andy Wingo  <wingo@pobox.com>
26510
26511         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26512         already.
26513
26514 2005-08-24  Wim Taymans  <wim@fluendo.com>
26515
26516         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26517         (gst_base_transform_transform_caps),
26518         (gst_base_transform_transform_size),
26519         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26520         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26521         (gst_base_transform_handle_buffer):
26522         * gst/base/gstbasetransform.h:
26523         Many fixes and new features added by Thomas. Can now also do
26524         transforms with variable sizes and a custom fixate_caps function.
26525
26526 2005-08-24  Wim Taymans  <wim@fluendo.com>
26527
26528         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26529         Some debugging.
26530
26531         * gst/gstclock.h:
26532         Cast to ClockTime before formatting to time.
26533
26534         * gst/gstutils.h:
26535         Cleanups.
26536
26537 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26538
26539         * check/gst-libs/controller.c: (GST_START_TEST),
26540         (gst_controller_suite):
26541         * docs/gst/tmpl/gstcaps.sgml:
26542         * docs/gst/tmpl/gstghostpad.sgml:
26543         * docs/gst/tmpl/gstquery.sgml:
26544         * docs/gst/tmpl/gstutils.sgml:
26545         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26546         (gst_object_sink_values), (gst_object_get_value_arrays),
26547         (gst_object_get_value_array):
26548           gracefully handle helper method calls to objects that are not beeing
26549           controlled, added test case for that          
26550
26551 2005-08-23  Wim Taymans  <wim@fluendo.com>
26552
26553         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26554         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26555         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26556         (gst_event_parse_qos), (gst_event_new_seek),
26557         (gst_event_parse_seek):
26558         * gst/gstevent.h:
26559         Some more debugging output and doc cleanups.
26560
26561         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26562         Fix possible deadlock.
26563
26564 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26565
26566         * docs/gst/gstreamer-docs.sgml:
26567         * docs/gst/gstreamer-sections.txt:
26568         * docs/gst/gstreamer.types:
26569         * docs/gst/tmpl/.cvsignore:
26570         * gst/gstbin.h:
26571         * gst/gstbus.c:
26572         * gst/gstelement.c:
26573         * gst/gstevent.h:
26574           added 100 symbols from gstreamer-unused.txt to the right sections
26575           fixed more broken comments
26576           added GstBus to docs
26577
26578 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26579
26580         * docs/gst/gstreamer-sections.txt:
26581         * docs/gst/tmpl/.cvsignore:
26582         * docs/gst/tmpl/gstbin.sgml:
26583         * docs/gst/tmpl/gstbuffer.sgml:
26584         * gst/base/gstbasesrc.c:
26585         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26586         * gst/gstbuffer.c:
26587         * gst/gstbuffer.h:
26588         * tools/gst-launch.1.in:
26589           inlined more doc comments, added missing comments and fixed comments
26590           fixed typos
26591
26592 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26593
26594         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26595           some debugging
26596         * gst/gstcaps.h:
26597           whitespace fixes
26598         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26599           more debugging
26600         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26601         * gst/gststructure.h:
26602           add a fixate function for booleans; add a FIXME that these func
26603           names should probably be gst_structure_fixate_*
26604
26605 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26606
26607         * docs/gst/gstreamer-docs.sgml:
26608         * docs/gst/gstreamer-sections.txt:
26609         * gst/Makefile.am:
26610         * gst/gstbin.c: (gst_bin_get_type),
26611         (gst_bin_child_proxy_get_child_by_index),
26612         (gst_bin_child_proxy_get_children_count),
26613         (gst_bin_child_proxy_init):
26614         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26615         (gst_child_proxy_get_child_by_index),
26616         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26617         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26618         (gst_child_proxy_get), (gst_child_proxy_set_property),
26619         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26620         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26621         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26622         * gst/gstchildproxy.h:
26623         * gst/parse/grammar.y:
26624         * tools/gst-inspect.c: (print_interfaces),
26625         (print_element_properties_info), (print_element_info):
26626           ported gstchildproxy over from 0.8
26627           ported gst-inspect fixes and enhancements over from 0.8
26628
26629 2005-08-22  Wim Taymans  <wim@fluendo.com>
26630
26631         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26632         (gst_base_transform_handle_buffer):
26633         Also call the transform function if we have ANY caps.
26634
26635         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26636         Fix debug info.
26637
26638 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26639
26640         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26641           Don't pretend to handle seek events if the source is not seekable
26642
26643 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26644
26645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26646           Remove extra parameter to debug output
26647
26648         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26649         (gst_base_src_do_seek), (gst_base_src_activate_push):
26650           Fix seek event handling.
26651
26652         * gst/gstpipeline.c: (gst_pipeline_change_state):
26653         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26654         (gst_queue_src_activate_push):
26655           Don't start the src pad task on FLUSH_STOP if the pad
26656           isn't linked.
26657           Debug changes.
26658
26659 2005-08-22  Wim Taymans  <wim@fluendo.com>
26660
26661         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26662         Added check for gst_static_caps_get() refcounting.
26663
26664 2005-08-22  Wim Taymans  <wim@fluendo.com>
26665
26666         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26667         Make _static_caps_get() refcounting sane.
26668         
26669         * gst/gstelement.c: (gst_element_set_state):
26670         Add g_return_val_if_fail() to protect against segfaults.
26671
26672 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26673
26674         * docs/gst/tmpl/gstevent.sgml:
26675         * gst/gstevent.c:
26676         * gst/gstevent.h:
26677           inlined remaining docs, added missing doc comments
26678
26679 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26680
26681         * check/gst/gstbin.c: (GST_START_TEST):
26682           since we don't know when preroll is done, use refcount range
26683           check for the sink
26684         * gst/check/gstcheck.h:
26685           add macro for checking refcount range
26686
26687 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26688
26689         * check/Makefile.am:
26690           clean up environment for when registry gets built versus
26691           when actual tests are run; valgrind seems to not report
26692           leaks if GST_PLUGIN_PATH is set to some specific values
26693         * check/gst/gstbin.c: (GST_START_TEST):
26694           add more refcounting checks; maybe this exposes a
26695           preroll lock bug ?
26696         * common/check.mak:
26697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26698         * gst/check/gstcheck.h:
26699         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26700         (gst_bin_change_state):
26701         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26702           add/fix debugging/whitespace
26703
26704 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26705
26706         * check/gst/gstevent.c: (event_probe), (test_event),
26707         (GST_START_TEST):
26708          Er, don't call gst_bin_watch_for_state_change you idiot.
26709
26710 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26711
26712         * check/Makefile.am:
26713           Use CHECK_CFLAGS and CHECK_LIBS
26714         * check/gst/gstevent.c: (event_probe), (test_event),
26715         (GST_START_TEST):
26716           Don't leak events.
26717         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26718         (gst_base_src_start), (gst_base_src_stop),
26719         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26720         (gst_base_src_change_state):
26721           Sprinkle gst_base_src_stop liberally around error paths to fix
26722           problems reusing a source after failed state changes.
26723         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26724         (helper_find_suggest), (gst_type_find_helper):
26725           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26726         * gst/gstevent.h:
26727         * docs/gst/tmpl/gstevent.sgml:
26728           Migrate part of the docs from the SGML file. Wait for ensonic to
26729           tell me how I did it wrong ;)
26730         * tools/gst-typefind.c: (main):
26731           Extra robustness to state changes between files.
26732
26733 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26734
26735         * check/Makefile.am:
26736           don't valgrind the controller test - it's leaking - Stefan, HELP
26737         * gst/check/gstcheck.c: (gst_check_message_error),
26738         (gst_check_chain_func), (gst_check_setup_element),
26739         (gst_check_teardown_element), (gst_check_setup_src_pad),
26740         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26741         (gst_check_teardown_sink_pad):
26742         * gst/check/gstcheck.h:
26743           add a bunch of methods to set up elements, and src and sink pads
26744         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26745         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26746         (GST_START_TEST):
26747           use them
26748         * gst/gstmessage.c:
26749         * gst/gsttag.h:
26750           whitespace/doc fixes
26751
26752 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26753
26754         * gst/gstelement.h:
26755           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26756           be handled by the application and not always printed as well
26757
26758 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26759
26760         * check/Makefile.am:
26761           set GST_TOOLS_DIR
26762         * gst/check/gstcheck.c: (gst_check_message_error):
26763         * gst/check/gstcheck.h:
26764           add a fail_unless_equals_int
26765           add fail_unless for error messages
26766
26767 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26768
26769         * check/Makefile.am:
26770         * check/gst.supp:
26771         * common/Makefile.am:
26772         * common/check.mak:
26773         * common/gst.supp:
26774           factor out some of the common stuff so we can use it
26775
26776 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26777
26778         * check/Makefile.am:
26779         * check/gst/gstiterator.c: (GST_START_TEST):
26780         * check/gst/gstsystemclock.c: (GST_START_TEST),
26781         (gst_systemclock_suite):
26782         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26783         * gst/gstclock.c:
26784           valgrind more tests
26785
26786 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26787
26788         * check/elements/.cvsignore:
26789         * check/elements/gstfakesrc.c:
26790           rename to name of element
26791         * check/elements/identity.c: (chain_func), (event_func),
26792         (setup_identity), (cleanup_identity), (GST_START_TEST),
26793         (identity_suite), (main):
26794           add a test for identity
26795         * check/Makefile.am:
26796         * pkgconfig/Makefile.am:
26797         * pkgconfig/gstreamer-check.pc.in:
26798         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26799         * gst/check:
26800         * gst/Makefile.am:
26801         * configure.ac:
26802           move the check stuff to a library that gets installed
26803         * check/gst-libs/controller.c: (GST_START_TEST):
26804         * check/gst-libs/gdp.c:
26805         * check/gst/gst.c: (GST_START_TEST):
26806         * check/gst/gstbin.c:
26807         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26808         * check/gst/gstbus.c:
26809         * check/gst/gstcaps.c: (GST_START_TEST):
26810         * check/gst/gstelement.c:
26811         * check/gst/gstghostpad.c:
26812         * check/gst/gstiterator.c:
26813         * check/gst/gstmessage.c:
26814         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26815         * check/gst/gstobject.c:
26816         * check/gst/gstpad.c: (GST_START_TEST):
26817         * check/gst/gststructure.c: (GST_START_TEST):
26818         * check/gst/gstsystemclock.c: (GST_START_TEST),
26819         (gst_systemclock_suite):
26820         * check/gst/gsttag.c: (gst_tag_suite):
26821         * check/gst/gstvalue.c:
26822         * check/pipelines/cleanup.c:
26823         * check/pipelines/simple_launch_lines.c:
26824         * check/states/sinks.c:
26825           change include statement
26826
26827         * docs/gst/gstreamer-sections.txt:
26828         * docs/gst/tmpl/gstpad.sgml:
26829           document more pad stuff
26830         * gst/gstminiobject.c: (gst_mini_object_ref),
26831         (gst_mini_object_unref):
26832           debug refcounting
26833
26834 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26835
26836         * docs/gst/tmpl/gst.sgml:
26837         * gst/gst.c:
26838           eliminate another tmpl file, fix spelling in the long-description
26839
26840 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26841
26842         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26843         (test_event), (timediff), (gstevents_suite):
26844           Should fix build on 64-bit arch's
26845
26846 2005-08-18  Andy Wingo  <wingo@pobox.com>
26847
26848         Make sure that when a pipeline goes to PLAYING, that data has
26849         actually hit the sink.
26850
26851         * check/states/sinks.c (test_sink): A sink that doesn't get any
26852         data shouldn't return SUCCESS for going to either PLAYING or
26853         PAUSED. Test also the return values on the way back down.
26854
26855         * gst/gstelement.c (gst_element_set_state): When changing the
26856         state of an element currently changing state asynchronously, go to
26857         lost-state after commiting the pending state. Makes future calls
26858         to get_state continue to return ASYNC.
26859
26860         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26861         ASYNC when going to PLAYING if we still don't have preroll, as can
26862         happen with live sources.
26863
26864 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26865
26866         * docs/pwg/advanced-types.xml:
26867           Hack long paragraph into 2 chunks as a workaround for buggy
26868           jadetex version in sid and breezy that loops infinitely and
26869           eats all RAM.
26870
26871 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26872
26873         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26874         (test_event), (timediff), (gstevents_suite):
26875           Provide more error margin in clock measurements to allow for 
26876           g_get_current_time inaccuracies.
26877
26878 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26879
26880         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26881         (test_event), (timediff), (gstevents_suite):
26882            Fix error message output so I might be able to tell why the
26883            test works here but fails on the build farm.
26884
26885 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26886
26887         * check/Makefile.am:
26888         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26889         (test_event), (timediff), (gstevents_suite), (main):
26890           I wrote a test!
26891
26892         * docs/design/part-seeking.txt:
26893           Spelling correction
26894
26895         * docs/gst/tmpl/gstevent.sgml:
26896         * docs/gst/tmpl/gstfakesrc.sgml:
26897           Docs updates.
26898
26899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26900           Treat a buffer-without-newsegment the same as a receiving 
26901           a newsegment not in time format, and disable syncing to the clock
26902           with a warning.
26903
26904         * gst/gstbus.c: (gst_bus_set_sync_handler):
26905           Assert if anyone tries to replace the existing sync_handler for bus, 
26906           as only the owner should be setting it.
26907
26908         * gst/gstevent.h:
26909           Have a fixed set of custom event enums with events identified by
26910           their structure name (as in 0.8), rather than a free-for-all
26911           allowing collisions between enum values from different plugins.
26912
26913         * gst/gstpad.c: (gst_pad_class_init):
26914           Docs change.
26915           
26916         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26917           Handle out-of-band downstream events from the sending thread.
26918
26919 2005-08-17  Andy Wingo  <wingo@pobox.com>
26920
26921         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26922         play-timeout==0 to mean no timeout at all. In that case, don't
26923         bother with a get_state or a warning, just return directly, even
26924         if it's ASYNC.
26925
26926         * gst/base/gstbasetransform.c: Debug changes.
26927
26928         * gst/gstutils.h:
26929         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26930         ensure bins post state change messages. A bit of a hack but I can't
26931         think of a way to avoid it.
26932
26933         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26934
26935 2005-08-16  Andy Wingo  <wingo@pobox.com>
26936
26937         * gst/base/gstadapter.h:
26938         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26939         peek() but you own the data. Not terribly efficient atm.
26940
26941 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26942
26943         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26944         (gst_element_found_tags):
26945         * gst/gstutils.h:
26946           Add two utility functions for tag handling.
26947
26948 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26949
26950         * docs/manual/advanced-dataaccess.xml:
26951         * docs/manual/basics-helloworld.xml:
26952           Fix docs to use _bin_add() before _link(), which fixes the examples
26953           with recent core versions (reported by Madhan Raj M
26954           <raj_madan@rediffmail.com>, #313199).
26955
26956 2005-08-16  Wim Taymans  <wim@fluendo.com>
26957
26958         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26959         Added subtract checks.
26960
26961         * docs/design/part-events.txt:
26962         Some more docs about newsegment
26963
26964         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26965         Fix FIXME
26966
26967         * gst/gstcaps.c: (gst_caps_to_string):
26968         Add comments, cleanups.
26969         
26970         * gst/gstelement.c: (gst_element_save_thyself):
26971         cleanups
26972         
26973         * gst/gstvalue.c: (gst_value_collect_int_range),
26974         (gst_string_unwrap), (gst_value_union_int_int_range),
26975         (gst_value_union_int_range_int_range),
26976         (gst_value_intersect_int_int_range),
26977         (gst_value_intersect_int_range_int_range),
26978         (gst_value_intersect_double_double_range),
26979         (gst_value_intersect_double_range_double_range),
26980         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26981         (gst_value_subtract_int_range_int),
26982         (gst_value_subtract_double_range_double),
26983         (gst_value_subtract_double_range_double_range),
26984         (gst_value_subtract_from_list), (gst_value_subtract_list),
26985         (gst_value_can_compare), (gst_value_compare_fraction):
26986         Cleanups, add comments, remove unneeded asserts.
26987
26988 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26989
26990         * tools/gst-launch.c: (event_loop):
26991           don't convert NULL structures to strings
26992
26993 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26994
26995         * docs/gst/gstreamer-sections.txt:
26996           made some defines private
26997         * docs/gst/tmpl/gstconfig.sgml:
26998         * docs/gst/tmpl/gstqueue.sgml:
26999         * docs/gst/tmpl/gsttaglist.sgml:
27000         * docs/gst/tmpl/gsttypes.sgml:
27001         * docs/gst/tmpl/gstutils.sgml:
27002         * docs/pwg/appendix-porting.xml:
27003         * gst/base/gstbasesink.h:
27004         * gst/base/gstbasesrc.c:
27005         * gst/base/gstbasesrc.h:
27006         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27007         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27008         * gst/gstelement.c: (gst_element_class_init):
27009         * gst/gstpad.c: (gst_pad_class_init):
27010         * gst/gstqueue.c: (gst_queue_class_init):
27011         * gst/gstxml.c: (gst_xml_class_init):
27012           documented all undocumented signal inline
27013         * libs/gst/controller/gst-controller.h:
27014           added padding
27015
27016 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27017
27018         * docs/pwg/appendix-porting.xml:
27019           Document _set_link_function -> _set_setcaps_function.
27020
27021 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27022
27023         * check/Makefile.am:
27024           add a .check target for running the check
27025         * check/gst-libs/controller.c: (GST_START_TEST):
27026           cosmetic fixups
27027         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27028           complete checks for gstbuffer; would be nice if I could get the
27029           gcov stuff to work so I can see if I actually completed gstbuffer.c
27030         * check/gstcheck.h:
27031           add ASSERT_BUFFER_REFCOUNT
27032
27033 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27034
27035         * docs/gst/gstreamer-sections.txt:
27036         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27037         * gst/gsttag.h:
27038           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27039           spew out a warning if a tag that is already registered
27040           is re-registered, unless it is re-registered with a 
27041           different type (#308438).
27042
27043 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27044
27045         * docs/pwg/appendix-porting.xml:
27046         * docs/pwg/building-state.xml:
27047           Add some paragraphs about state changes in 0.9 to the PWG
27048           and the porting guide, in particular about the new meaning
27049           of GST_STATE_PAUSED and how to write state change functions
27050           with concurrent access by multiple threads in mind.
27051
27052 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27053
27054         * docs/gst/gstreamer-docs.sgml:
27055         * docs/libs/gstreamer-libs-docs.sgml:
27056           added deprecation and since indexes
27057         * libs/gst/controller/gst-controller.c:
27058         * libs/gst/controller/gst-helper.c:
27059           added since tags
27060
27061
27062 2005-08-11  Wim Taymans  <wim@fluendo.com>
27063
27064         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27065         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27066         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27067         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27068         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27069         (gst_ghost_pad_set_target):
27070         Actually implement (re)setting the target on a ghostpad
27071         as described in the docs.
27072
27073 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27074
27075         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27076           Check whether GST_DEBUG_NO_COLOR environment variable is
27077           set and disable coloured debug output if that is the case.
27078
27079 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27080
27081         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27082         (gst_type_find_helper):
27083           The memory returned by gst_type_find_peek() needs to
27084           stay valid until the end of a typefind function, and
27085           typefind functions may keep results from different 
27086           offsets around, so we can't just unref the buffer from
27087           the previous _peek(), but have to save all buffers 
27088           returned by _peek() until typefinding is done and only
27089           free them then.
27090
27091 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27092
27093         * docs/gst/gstreamer-sections.txt:
27094         * gst/gstutils.h:
27095           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27096
27097 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27098
27099         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27100           Fix a pretty good memleak.
27101
27102 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27103
27104         * gst/gstiterator.h:
27105           Fix wrong include and 'make distcheck'.
27106
27107 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27108
27109         * gst/gstbin.c: (bin_bus_handler):
27110           Use gst_element_post_message() instead.
27111
27112 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27113
27114         * gst/base/gstadapter.h:
27115         * gst/base/gstbasesink.h:
27116         * gst/base/gstbasesrc.h:
27117         * gst/base/gstbasetransform.h:
27118         * gst/base/gstcollectpads.h:
27119         * gst/base/gstpushsrc.h:
27120         * gst/gstiterator.h:
27121           Add padding to our base elements' class and instance structs and
27122           to GstIterator (you will need to rebuild all plugins and apps!)
27123
27124 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27125
27126         * gst/gstbin.c: (bin_bus_handler):
27127           Make default message forwarding from child->bus to bin->bus
27128           threadsafe and make it not emit warnings if the parent has no bus.
27129
27130 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27131
27132         * gst/gstelement.c: (activate_pads):
27133           On paused->ready, set pad->caps to NULL, as is the documented
27134           behaviour in this state change. Fixes playback of series of
27135           media files when visualization is enabled in Totem.
27136
27137 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27138
27139         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27140           Allow NULL as filter-caps (which means "any").
27141
27142 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27143
27144         * docs/libs/gstreamer-libs-sections.txt:
27145         * libs/gst/controller/gst-controller.c:
27146         * libs/gst/controller/gst-controller.h:
27147         * libs/gst/controller/gst-helper.c:
27148           adding more entries to the docs and fix small doc-bugs
27149
27150 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27151
27152         * docs/gst/gstreamer-docs.sgml:
27153         * docs/gst/gstreamer-sections.txt:
27154         * docs/gst/gstreamer.types:
27155         * docs/gst/tmpl/gstbasesink.sgml:
27156         * docs/gst/tmpl/gstbasesrc.sgml:
27157         * docs/gst/tmpl/gstbasetransform.sgml:
27158         * docs/gst/tmpl/gstfakesrc.sgml:
27159         * gst/base/gstcollectpads.c:
27160         * gst/base/gstcollectpads.h:
27161         * libs/gst/controller/gst-controller.c:
27162         * libs/gst/controller/gst-controller.h:
27163         * libs/gst/controller/gst-helper.c:
27164         * libs/gst/controller/gst-interpolation.c:
27165         * libs/gst/controller/lib.c:
27166           added long/short desc for controller docs
27167           added collectpads base class docs
27168           added correct includes to base-class docs
27169
27170 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27171
27172         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27173         (gst_test_mono_source_set_property),
27174         (gst_test_mono_source_class_init), (GST_START_TEST),
27175         (gst_controller_suite):
27176         * docs/gst/gstreamer-docs.sgml:
27177         * docs/gst/gstreamer-sections.txt:
27178         * docs/gst/gstreamer.types:
27179         * docs/libs/gstreamer-libs-docs.sgml:
27180         * docs/libs/gstreamer-libs-sections.txt:
27181         * gst/base/gstadapter.c:
27182         * libs/gst/controller/gst-controller.c:
27183         (gst_controlled_property_new), (gst_controlled_property_free),
27184         (gst_controller_new_valist),
27185         (gst_controller_remove_properties_valist),
27186         (gst_controller_sink_values), (_gst_controller_finalize):
27187         * libs/gst/controller/gst-controller.h:
27188         * libs/gst/controller/gst-helper.c:
27189         (gst_object_control_properties), (gst_object_uncontrol_properties),
27190         (gst_object_get_controller), (gst_object_set_controller),
27191         (gst_object_sink_values), (gst_object_get_value_arrays),
27192         (gst_object_get_value_array):
27193           more tests (and fixes) for the controller
27194           more docs for the controller
27195           integrated companies docs for the adapter 
27196
27197 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27198
27199         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27200         (GST_START_TEST), (fakesrc_suite):
27201           add tests for sizetype
27202
27203 2005-08-04  Andy Wingo  <wingo@pobox.com>
27204
27205         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27206         fixes buffer_alloc proxying among other things.
27207
27208         * gst/base/gstbasetransform.c:
27209         * gst/base/gstbasetransform.h:
27210         Revert patch to gstbasetransform from 7-28 removing
27211         delay_configure.
27212
27213         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27214         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27215         Semantics changed, should return not the size of the output buffer
27216         but the byte size of a buffer with a given caps.
27217
27218         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27219         debug object.
27220         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27221         out) are not the pad caps until setcaps finishes.
27222         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27223         not-in-place case as well. Deal with changing from in-place to
27224         not-in-place within calling pad_alloc_buffer. Still a bit
27225         concerned about the overhead here...
27226
27227 2005-08-03  Andy Wingo  <wingo@pobox.com>
27228
27229         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27230         fixating is an error.
27231
27232 2005-08-04  Edward Hervey  <edward@fluendo.com>
27233
27234         * gst/base/gstadapter.h: 
27235         Added gst_adapter_get_type() to the header
27236
27237 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27238
27239         * check/Makefile.am:
27240         * check/gst-libs/controller.c:
27241         * libs/gst/controller/gst-controller.c:
27242         (gst_controller_new_valist):
27243           added check test suite for the controller
27244         * gst/base/gstpushsrc.c:
27245           fixed a doc typo
27246
27247 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27248
27249         * docs/gst/Makefile.am:
27250         * docs/gst/gstreamer-docs.sgml:
27251         * docs/gst/gstreamer-sections.txt:
27252         * docs/gst/gstreamer.types:
27253         * docs/gst/tmpl/gstfakesrc.sgml:
27254         * gst/base/README:
27255         * gst/base/gstbasesink.c:
27256         * gst/base/gstbasesink.h:
27257         * gst/base/gstbasesrc.c:
27258         * gst/base/gstbasesrc.h:
27259         * gst/base/gstbasetransform.c:
27260         * gst/base/gstpushsrc.c:
27261         * gst/base/gstpushsrc.h:
27262           add short/long description docs to base classes
27263           add pushsrc to the docs
27264           remove consolidated doc fragments
27265
27266 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27267
27268         * configure.ac:
27269         * docs/libs/Makefile.am:
27270         * docs/libs/gstreamer-libs-docs.sgml:
27271         * docs/libs/gstreamer-libs-sections.txt:
27272         * docs/libs/gstreamer-libs.types:
27273         * examples/Makefile.am:
27274         * examples/controller/.cvsignore:
27275         * examples/controller/Makefile.am:
27276         * examples/controller/audio-example.c: (main):
27277         * libs/gst/Makefile.am:
27278         * libs/gst/controller/.cvsignore:
27279         * libs/gst/controller/Makefile.am:
27280         * libs/gst/controller/gst-controller.c:
27281         (on_object_controlled_property_changed), (gst_timed_value_compare),
27282         (gst_timed_value_find),
27283         (gst_controlled_property_set_interpolation_mode),
27284         (gst_controlled_property_new), (gst_controlled_property_free),
27285         (gst_controller_find_controlled_property),
27286         (gst_controller_new_valist), (gst_controller_new),
27287         (gst_controller_remove_properties_valist),
27288         (gst_controller_remove_properties), (gst_controller_set),
27289         (gst_controller_set_from_list), (gst_controller_unset),
27290         (gst_controller_get), (gst_controller_get_all),
27291         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27292         (gst_controller_get_value_array),
27293         (gst_controller_set_interpolation_mode),
27294         (_gst_controller_finalize), (_gst_controller_init),
27295         (_gst_controller_class_init), (gst_controller_get_type):
27296         * libs/gst/controller/gst-controller.h:
27297         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27298         (g_object_uncontrol_properties), (g_object_get_controller),
27299         (g_object_set_controller), (g_object_sink_values),
27300         (g_object_get_value_arrays), (g_object_get_value_array):
27301         * libs/gst/controller/gst-interpolation.c:
27302         (gst_controlled_property_find_timed_value_node),
27303         (interpolate_none_get), (interpolate_trigger_get),
27304         (interpolate_trigger_get_value_array):
27305         * libs/gst/controller/lib.c: (gst_controller_init):
27306         * pkgconfig/Makefile.am:
27307         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27308         * pkgconfig/gstreamer-control.pc.in:
27309         * testsuite/Makefile.am:
27310         * testsuite/controller/.cvsignore:
27311         * testsuite/controller/Makefile.am:
27312         * testsuite/controller/interpolator.c: (main):
27313           added controller code
27314           removed dparam pc files
27315
27316 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27317         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27318         (gst_collectpads_stop):
27319           Broadcast the condition when shutting down, to make sure we wake all
27320           threads up. Shut down pads on finalize, for safety.
27321
27322 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27323         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27324         (gst_base_transform_handle_buffer),
27325         (gst_base_transform_change_state):
27326           Handle PAUSED->READY->PAUSED transition after negotiation
27327           occurred already.
27328         * gst/gstmessage.c: (gst_message_init):
27329           Extra piece of debug for new messages.
27330
27331 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27332
27333         * configure.ac:
27334         * docs/gst/tmpl/gstbasesrc.sgml:
27335         * docs/gst/tmpl/gstelement.sgml:
27336         * docs/gst/tmpl/gstevent.sgml:
27337         * docs/gst/tmpl/gstfakesrc.sgml:
27338         * docs/gst/tmpl/gstformat.sgml:
27339         * docs/gst/tmpl/gstghostpad.sgml:
27340         * docs/gst/tmpl/gstpad.sgml:
27341         * docs/gst/tmpl/gstquery.sgml:
27342         * docs/gst/tmpl/gststructure.sgml:
27343         * docs/gst/tmpl/gsttaglist.sgml:
27344         * docs/gst/tmpl/gstvalue.sgml:
27345         * docs/libs/gstreamer-libs-docs.sgml:
27346         * docs/libs/gstreamer-libs-sections.txt:
27347         * docs/libs/gstreamer-libs.types:
27348         * libs/gst/Makefile.am:
27349         * libs/gst/control/.cvsignore:
27350         * libs/gst/control/Makefile.am:
27351         * libs/gst/control/control.c:
27352         * libs/gst/control/control.h:
27353         * libs/gst/control/dparam.c:
27354         * libs/gst/control/dparam.h:
27355         * libs/gst/control/dparam_smooth.c:
27356         * libs/gst/control/dparam_smooth.h:
27357         * libs/gst/control/dparamcommon.h:
27358         * libs/gst/control/dparammanager.c:
27359         * libs/gst/control/dparammanager.h:
27360         * libs/gst/control/dplinearinterp.c:
27361         * libs/gst/control/dplinearinterp.h:
27362         * libs/gst/control/unitconvert.c:
27363         * libs/gst/control/unitconvert.h:
27364         * testsuite/Makefile.am:
27365         * testsuite/dynparams/.cvsignore:
27366         * testsuite/dynparams/Makefile.am:
27367         * testsuite/dynparams/dparamstest.c:
27368         * tools/Makefile.am:
27369         * tools/gst-inspect.c: (print_element_info), (main):
27370         * tools/gst-xmlinspect.c: (print_element_info), (main):
27371           deactivate and remove dparams (libgstcontrol)
27372
27373 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27374
27375         * gst/elements/gsttypefindelement.c:
27376         (gst_type_find_element_have_type), (gst_type_find_element_init),
27377         (stop_typefinding), (gst_type_find_element_handle_event),
27378         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27379         * gst/elements/gsttypefindelement.h:
27380           Set caps on all outgoing buffers, not just the first one.
27381
27382 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27383
27384         * gst/elements/gsttypefindelement.c:
27385         (gst_type_find_element_have_type),
27386         (gst_type_find_element_check_set_buffer_caps),
27387         (gst_type_find_element_init), (stop_typefinding),
27388         (gst_type_find_element_handle_event),
27389         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27390         * gst/elements/gsttypefindelement.h:
27391           Set caps on first outgoing buffer when we've found the type.
27392
27393 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27394
27395         * docs/gst/gstreamer-docs.sgml:
27396         * docs/gst/gstreamer-sections.txt:
27397         * docs/gst/tmpl/gstscheduler.sgml:
27398         * docs/gst/tmpl/gstschedulerfactory.sgml:
27399           Remove some old cruft from docs.
27400
27401 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27402
27403         * gst/gstpad.h:
27404           Fix inline docs for GstPadLinkReturn.
27405           
27406         * gst/gststructure.c: (gst_structure_has_name):
27407         * gst/gststructure.h:
27408         * docs/gst/gstreamer-sections.txt:
27409           New API: gst_structure_has_name().
27410
27411 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27412
27413         * configure.ac:
27414           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27415           and _LARGEFILE_SOURCE in config.h as required. Do not 
27416           export those flags in our .pc files any longer (#142209).
27417
27418           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27419
27420         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27421         (gst_file_sink_do_seek), (gst_file_sink_event),
27422         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27423           Redo seek/tell calls with large file support in mind; add some
27424           debugging messages; add log message that tells us when large
27425           file support is unavailable or not enabled for some reason.
27426
27427         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27428           Add log message that tells us when large file support 
27429           is unavailable or not enabled for some reason.
27430
27431 2005-07-29  Wim Taymans  <wim@fluendo.com>
27432
27433         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27434         Added test for removing an element with ghostpad from a bin.
27435         Fixed test as current implementation does the right thing.
27436
27437         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27438         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27439         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27440         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27441         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27442         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27443         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27444         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27445         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27446         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27447         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27448         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27449         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27450         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27451         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27452         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27453         * gst/gstghostpad.h:
27454         Clean up ghostpads, remove properties for internal stuff.
27455         Make threadsafe.
27456         Fix refcounting.
27457         Prepare for switching targets, not all use cases work yet.
27458
27459 2005-07-29  Wim Taymans  <wim@fluendo.com>
27460
27461         * docs/design/part-gstghostpad.txt:
27462         Small update.
27463
27464         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27465         (gst_bin_remove_func):
27466         Unlinking pads while holding the bin LOCK is not a good
27467         idea.
27468
27469         * gst/gstpad.c: (gst_pad_class_init),
27470         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27471         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27472         No prob setting template after creating the pad.
27473
27474 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27475
27476         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27477         (gst_bus_peek), (gst_bus_source_dispatch),
27478         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27479         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27480           gst_bus_poll may be called from other threads. Handle
27481           this nicely by not making poll_data disappear off the
27482           stack once gst_bus_poll returns.
27483           gst_bus_peek now increments the refcount on the returned
27484           message.
27485
27486 2005-07-29  Wim Taymans  <wim@fluendo.com>
27487
27488         * docs/design/part-gstghostpad.txt:
27489         Overview of current GhostPad datastructures and use
27490         cases for changing the target.
27491
27492 2005-07-28  Wim Taymans  <wim@fluendo.com>
27493
27494         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27495         Added checks for hierarchy consistency whan adding linked
27496         elements to bins.
27497
27498         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27499         Added check to test element scheduling without bin/pipeline.
27500
27501         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27502         First add elements to bin, then link.
27503         
27504         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27505         (gst_bin_remove_func):
27506         Unlink pads from elements added/removed from bin to maintain
27507         hierarchy consistency.
27508
27509 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27510
27511         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27512         (gst_base_transform_handle_buffer):
27513         * gst/base/gstbasetransform.h:
27514           Remove broken delay_configure (fixes renegotiation of software
27515           scaling pipelines); remove some leftover printf()s.
27516
27517 2005-07-28  Wim Taymans  <wim@fluendo.com>
27518
27519         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27520         Added some more tests for wrong hierarchy
27521
27522         * docs/design/part-overview.txt:
27523         Some updates.
27524
27525         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27526         Cleanups.
27527
27528         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27529         (gst_element_dispose):
27530         Some more cleanups.
27531
27532         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27533         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27534         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27535         (gst_pad_set_caps), (gst_pad_send_event):
27536         Check for correct hierarchy when linking pads. Moving to
27537         strict requirement for ghostpads when linking elements in
27538         different bins.
27539
27540         * gst/gstpad.h:
27541         Clean ups. Added WRONG_HIERARCHY return value.
27542
27543 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27544
27545         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27546           Better debug if no transform is possible.
27547
27548 2005-07-27  Wim Taymans  <wim@fluendo.com>
27549
27550         * docs/random/wtay/network-transp:
27551         Some old doc I had.
27552
27553 2005-07-27  Wim Taymans  <wim@fluendo.com>
27554
27555         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27556         (gst_dp_event_from_packet):
27557         Fix serialization of seek events.
27558
27559 2005-07-27  Wim Taymans  <wim@fluendo.com>
27560
27561         * check/gst-libs/gdp.c: (GST_START_TEST):
27562         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27563         Fix compilation and fix event serialization.
27564
27565 2005-07-27  Wim Taymans  <wim@fluendo.com>
27566
27567         * CHANGES-0.9:
27568         * docs/design/part-TODO.txt:
27569         * docs/design/part-events.txt:
27570         Some docs updates
27571
27572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27573         (gst_base_sink_event), (gst_base_sink_do_sync),
27574         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27575         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27576         (gst_base_src_do_seek), (gst_base_src_event_handler),
27577         (gst_base_src_loop):
27578         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27579         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27580         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27581         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27582         (gst_base_transform_set_passthrough),
27583         (gst_base_transform_is_passthrough):
27584         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27585         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27586         Event updates.
27587
27588         * gst/gstbuffer.h:
27589         Use faster casts.
27590
27591         * gst/gstelement.c: (gst_element_seek):
27592         * gst/gstelement.h:
27593         Update gst_element_seek.
27594
27595         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27596         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27597         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27598         (gst_event_new_eos), (gst_event_new_newsegment),
27599         (gst_event_parse_newsegment), (gst_event_new_tag),
27600         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27601         (gst_event_parse_qos), (gst_event_new_seek),
27602         (gst_event_parse_seek), (gst_event_new_navigation):
27603         * gst/gstevent.h:
27604         Make GstEvent use GstStructure. Add parsing code, make sure the
27605         API is sufficiently generic.
27606         Mark possible directions of events and serialization.
27607
27608         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27609         (_gst_message_copy), (gst_message_new_segment_start),
27610         (gst_message_new_segment_done), (gst_message_new_custom),
27611         (gst_message_parse_segment_start),
27612         (gst_message_parse_segment_done):
27613         Small cleanups.
27614
27615         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27616         (gst_pad_set_caps), (gst_pad_send_event):
27617         Update for new events. 
27618         Catch events sent in wrong directions.
27619
27620         * gst/gstqueue.c: (gst_queue_link_src),
27621         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27622         (gst_queue_handle_src_query):
27623         Event updates.
27624
27625         * gst/gsttag.c:
27626         * gst/gsttag.h:
27627         Remove event code from this file.
27628
27629         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27630         (gst_dp_event_from_packet):
27631         Event updates.
27632
27633 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27634
27635         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27636         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27637         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27638           Make debugging actually useful.
27639
27640 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27641
27642         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27643         (gst_pad_fixate_caps):
27644           Implement default fixation once again, so that gst_pad_fixate()
27645           actually does anything at all. This probably needs to be some
27646           sort of a last resort, and use profile-based fixation first, but
27647           since that doesn't exist yet, this is the best we have. Fixes
27648           visualization in Totem.
27649
27650 2005-07-22  Wim Taymans  <wim@fluendo.com>
27651
27652         * docs/design/part-events.txt:
27653         Small update.
27654
27655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27656         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27657         (gst_base_sink_activate_pull):
27658         Some more comments.
27659
27660         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27661         (gst_fake_src_create):
27662         Fix handoff marshall.
27663
27664         * gst/elements/gstidentity.c: (gst_identity_class_init),
27665         (gst_identity_transform_ip):
27666         We're a real inplace element.
27667
27668         * gst/gstbus.c: (gst_bus_post):
27669         Added some comments.
27670
27671         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27672         * tests/muxing/case1.c: (main):
27673         * tests/sched/dynamic-pipeline.c: (main):
27674         * tests/sched/interrupt1.c: (main):
27675         * tests/sched/interrupt2.c: (main):
27676         * tests/sched/interrupt3.c: (main):
27677         * tests/sched/runxml.c: (main):
27678         * tests/sched/sched-stress.c: (main):
27679         * tests/seeking/seeking1.c: (event_received), (main):
27680         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27681         (main):
27682         * tests/threadstate/threadstate3.c: (main):
27683         * tests/threadstate/threadstate4.c: (main):
27684         * tests/threadstate/threadstate5.c: (main):
27685         Fix the tests.
27686
27687 2005-07-21  Wim Taymans  <wim@fluendo.com>
27688
27689         * docs/design/part-seeking.txt:
27690         Some small additions.
27691
27692         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27693         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27694         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27695         * gst/base/gstbasesink.h:
27696         discont values are gint64, handle the math correctly.
27697
27698         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27699         Make the basesrc report error if the source pad is not linked.
27700
27701         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27702         (gst_queue_loop), (gst_queue_handle_src_query),
27703         (gst_queue_src_activate_push):
27704         Make queue collect data even if the srcpad is not linked.
27705         Start pushing out data as soon as it is linked.
27706
27707         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27708         * gst/gstutils.h:
27709         Added gst_flow_get_name() to ease error reporting.
27710
27711 2005-07-20  Wim Taymans  <wim@fluendo.com>
27712
27713         * gst/gstmessage.c: (gst_message_new_segment_start),
27714         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27715         (gst_message_parse_segment_done):
27716         * gst/gstmessage.h:
27717         Added a bunch of messages for advanced seeking.
27718
27719         * gst/parse/grammar.y:
27720         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27721         (gst_dpman_state_changed):
27722         Fix some new-pad -> pad-added signals
27723
27724 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27725
27726         * docs/manual/appendix-porting.xml:
27727         * docs/pwg/appendix-porting.xml:
27728           Document new-pad/state-change signal renames and the FixedList
27729           type rename.
27730
27731 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27732
27733         * docs/manual/advanced-autoplugging.xml:
27734         * docs/manual/basics-helloworld.xml:
27735         * docs/manual/basics-pads.xml:
27736         * docs/random/ds/0.9-suggested-changes:
27737         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27738         * gst/gstelement.h:
27739         * gst/gstevent.h:
27740         * gst/gstformat.h:
27741         * gst/gstquery.h:
27742         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27743         (gst_structure_parse_array), (gst_structure_parse_value):
27744         * gst/gstvalue.c: (gst_type_is_fixed),
27745         (gst_value_list_prepend_value), (gst_value_list_append_value),
27746         (gst_value_list_get_size), (gst_value_list_get_value),
27747         (gst_value_transform_array_string), (gst_value_serialize_array),
27748         (gst_value_deserialize_array), (gst_value_intersect_array),
27749         (gst_value_is_fixed), (_gst_value_initialize):
27750         * gst/gstvalue.h:
27751           GstElement::new-pad -> pad-added, GstElement::state-change ->
27752           state-changed, GstValueFixedList -> GstValueArray, add format and
27753           flags as their own arguments in gst_element_seek() (should improve
27754           "bindeability"), remove function generators since they don't work
27755           under a whole bunch of compilers (they were deprecated already
27756           anyway).
27757
27758 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27759
27760         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27761         (_gst_debug_register_funcptr):
27762         * gst/gstinfo.h:
27763           Fix illegal cast on some platforms (#309253).
27764
27765 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27766
27767         * gst/gstmessage.c: (gst_message_new_custom):
27768         * gst/gstmessage.h:
27769           Add _new_custom, make _new_application a macro to _new_custom.
27770
27771 2005-07-20  Wim Taymans  <wim@fluendo.com>
27772
27773         * gst/base/gstbasesrc.c: (gst_base_src_init),
27774         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27775         * gst/base/gstbasesrc.h:
27776         Add a gboolean to decide when to push out a discont.
27777
27778         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27779         (gst_queue_loop), (gst_queue_handle_src_query),
27780         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27781         (gst_queue_set_property), (gst_queue_get_property):
27782         Some cleanups.
27783
27784         * tests/threadstate/threadstate1.c: (main):
27785         Make a thread test compile and run... very silly..
27786
27787
27788 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27789
27790         * docs/manual/appendix-porting.xml:
27791           Mention removal of libgstgconf-0.9.la and existence of gconf
27792           elements.
27793
27794 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27795
27796         * docs/pwg/advanced-clock.xml:
27797         * docs/pwg/appendix-porting.xml:
27798         * docs/pwg/intro-preface.xml:
27799         * docs/pwg/other-base.xml:
27800         * docs/pwg/other-manager.xml:
27801         * docs/pwg/other-nton.xml:
27802         * docs/pwg/other-ntoone.xml:
27803         * docs/pwg/other-oneton.xml:
27804         * docs/pwg/pwg.xml:
27805           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27806           demuxer), remove n-to-n (was never written), fix some code examples
27807           and links and update the porting section to include all this.
27808
27809 2005-07-19  Wim Taymans  <wim@fluendo.com>
27810
27811         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27812         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27813         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27814         (gst_queue_src_activate_push), (gst_queue_change_state),
27815         (gst_queue_get_property):
27816         * gst/gstqueue.h:
27817         Propagate GstFlowReturn more intelligently upstream and output
27818         an ERROR/EOS when streaming stopped due to fatal error.
27819
27820 2005-07-19  Wim Taymans  <wim@fluendo.com>
27821
27822         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27823         Don't block forever for the state change to complete, the
27824         pipeline already did with a sensible timeout.
27825
27826 2005-07-19  Wim Taymans  <wim@fluendo.com>
27827
27828         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27829         Make sure we never call the create function is we
27830         got deactivated.
27831
27832 2005-07-19  Andy Wingo  <wingo@pobox.com>
27833
27834         * gst/parse/parse.l: Attempt to solve bug #172815.
27835
27836 2005-07-19  Wim Taymans  <wim@fluendo.com>
27837
27838         * docs/design/part-clocks.txt:
27839         * docs/design/part-events.txt:
27840         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27841         Small docs updates.
27842         Only update the seeking values when we are not
27843         busy streaming.
27844
27845 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27846
27847         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27848           Oops, ignore the result of gst_pad_push_event here.
27849
27850 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27851
27852         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27853         (gst_base_src_activate_push):
27854           Send discont event from the loop function, as pads
27855           aren't activated yet in the activate_push handler.
27856
27857         * gst/gstbin.c: (bin_bus_handler):
27858           Don't leak element name.
27859
27860 2005-07-18  Andy Wingo  <wingo@pobox.com>
27861
27862         * configure.ac: Use AS_LIBTOOL_TAGS.
27863
27864 2005-07-18  Wim Taymans  <wim@fluendo.com>
27865
27866         * docs/gst/gstreamer.types:
27867         Remove deleted types.
27868
27869 2005-07-18  Wim Taymans  <wim@fluendo.com>
27870
27871         * check/elements/gstfakesrc.c: (GST_START_TEST):
27872         * configure.ac:
27873         * gst/Makefile.am:
27874         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27875         (init_popt_callback):
27876         * gst/gst.h:
27877         * gst/gst_private.h:
27878         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27879         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27880         * gst/gstbin.h:
27881         * gst/gstbus.h:
27882         * gst/gstconfig.h.in:
27883         * gst/gstelement.c: (gst_element_class_init),
27884         (gst_element_set_base_time), (gst_element_get_base_time),
27885         (iterator_fold_with_resync), (gst_element_change_state),
27886         (gst_element_dispose), (gst_element_get_bus):
27887         * gst/gstelement.h:
27888         * gst/gstelementfactory.h:
27889         * gst/gsterror.c: (_gst_core_errors_init):
27890         * gst/gsterror.h:
27891         * gst/gstevent.h:
27892         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27893         * gst/gstindex.c:
27894         * gst/gstinfo.c: (_gst_debug_init):
27895         * gst/gstmessage.c: (_gst_message_copy):
27896         * gst/gstmessage.h:
27897         * gst/gstminiobject.h:
27898         * gst/gstobject.c:
27899         * gst/gstobject.h:
27900         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27901         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27902         * gst/gstpad.h:
27903         * gst/gstparse.h:
27904         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27905         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27906         (gst_pipeline_get_last_stream_time):
27907         * gst/gstpipeline.h:
27908         * gst/gstpluginfeature.h:
27909         * gst/gstquery.h:
27910         * gst/gstscheduler.c:
27911         * gst/gstscheduler.h:
27912         * gst/gststructure.h:
27913         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27914         (gst_task_finalize), (gst_task_func), (gst_task_create),
27915         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27916         (gst_task_stop), (gst_task_pause):
27917         * gst/gsttask.h:
27918         * gst/gsttypefind.h:
27919         * gst/gsttypes.h:
27920         * gst/registries/gstlibxmlregistry.c: (load_feature),
27921         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27922         * gst/registries/gstxmlregistry.c:
27923         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27924         * gst/schedulers/threadscheduler.c:
27925         * libs/gst/control/dparammanager.h:
27926         * tools/gst-inspect.c: (print_element_list),
27927         (print_plugin_features), (print_element_features):
27928         * tools/gst-xmlinspect.c: (print_element_list),
27929         (print_plugin_info), (main):
27930         Removed plugable schedulers.
27931         Removed Scheduler/Manager from elements.
27932         Removed gsttypes.h, rearranged includes.
27933         Removed dependency pad<->element, element<>pipeline, and
27934         various others,  fix includes.
27935         implement gst_pad_get_parent() with gst_object_get_parent()
27936         Make GstTask sefcontained.
27937         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27938         timeout.
27939         Fix endless loop in iterator_fold_with_resync.
27940
27941
27942 2005-07-18  Wim Taymans  <wim@fluendo.com>
27943
27944         * gst/Makefile.am:
27945         * gst/gstarch.h:
27946         Remove old file.
27947
27948 2005-07-18  Wim Taymans  <wim@fluendo.com>
27949
27950         * gst/Makefile.am:
27951         No more cothreads.h
27952
27953 2005-07-18  Wim Taymans  <wim@fluendo.com>
27954
27955         * gst/cothreads.c:
27956         * gst/cothreads.h:
27957         Let's remove these.
27958
27959 2005-07-18  Wim Taymans  <wim@fluendo.com>
27960
27961         * docs/design/part-dynamic.txt:
27962         * docs/design/part-events.txt:
27963         * docs/design/part-seeking.txt:
27964         Some more docs in the works.
27965
27966         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27967         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27968         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27969         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27970         (gst_base_transform_handle_buffer),
27971         (gst_base_transform_sink_activate_push),
27972         (gst_base_transform_src_activate_pull),
27973         (gst_base_transform_set_passthrough),
27974         (gst_base_transform_is_passthrough):
27975         Refcounting fixes.
27976
27977         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27978         Cleanups.
27979
27980         * gst/gstevent.c: (gst_event_finalize):
27981         Set SRC to NULL.
27982
27983         * gst/gstutils.c: (gst_element_unlink),
27984         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27985         (gst_pad_proxy_setcaps):
27986         * gst/gstutils.h:
27987         Add _get_parent_element() to get a pads parent as an element.
27988
27989 2005-07-18  Wim Taymans  <wim@fluendo.com>
27990
27991         * check/gst/gstbin.c: (GST_START_TEST):
27992         Remove bogus test.
27993
27994 2005-07-18  Wim Taymans  <wim@fluendo.com>
27995
27996         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27997         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27998         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27999         (gst_base_sink_event), (gst_base_sink_do_sync),
28000         (gst_base_sink_chain), (gst_base_sink_loop),
28001         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28002         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28003         Refcounting fixes.
28004         Fix logic for returning ASYNC when not prerolled.
28005
28006 2005-07-18  Wim Taymans  <wim@fluendo.com>
28007
28008         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28009         Fix nasty refcount bug.
28010
28011 2005-07-16 Philippe Khalaf <burger@speedy.org>
28012
28013         * gst/elements/gstfdsrc.c:
28014         * gst/elements/gstfdsrc.h:
28015         * gst/elements/gstelements.c:
28016         * gst/elements/Makefile.am:
28017         Ported fdsrc to 0.9.
28018
28019 2005-07-16  Wim Taymans  <wim@fluendo.com>
28020
28021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28022         (gst_base_sink_do_sync):
28023         Fix compile error.
28024
28025 2005-07-16  Wim Taymans  <wim@fluendo.com>
28026
28027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28028         (gst_base_sink_event), (gst_base_sink_get_times),
28029         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28030         * gst/base/gstbasesink.h:
28031         Store and use discont values when syncing buffers as described
28032         in design docs.
28033         
28034         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28035         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28036         (gst_base_src_activate_push):
28037         Push discont event when starting.
28038
28039         * gst/elements/gstidentity.c: (gst_identity_transform):
28040         Small cleanups.
28041
28042         * gst/gstbin.c: (gst_bin_change_state):
28043         Small cleanups in base_time  distribution.
28044
28045         * gst/gstelement.c: (gst_element_set_base_time),
28046         (gst_element_get_base_time), (gst_element_change_state):
28047         * gst/gstelement.h:
28048         Added methods for the base_time of the element.
28049         Some MT fixes.
28050
28051         * gst/gstpipeline.c: (gst_pipeline_send_event),
28052         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28053         (gst_pipeline_get_last_stream_time):
28054         * gst/gstpipeline.h:
28055         MT fixes.
28056         Handle seeking as described in design doc, remove stream_time
28057         hack.
28058         Cleanups clock and stream_time selection code. Added accessors
28059         for the stream_time.
28060         
28061
28062 2005-07-16  Andy Wingo  <wingo@pobox.com>
28063
28064         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28065         (#305291).
28066
28067 2005-07-16  Wim Taymans  <wim@fluendo.com>
28068
28069         * check/gst/gstbin.c: (GST_START_TEST):
28070         Make elements silent as the deep_notify refs the
28071         parent, which might make the test fail.
28072
28073         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28074         Don't hold the lock for too long.
28075
28076 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28077
28078         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28079           Don't unref the caps we passed to gst_caps_make_writable() after
28080           passing them. gst_caps_make_writable() will do that for us.
28081
28082 2005-07-15  Andy Wingo  <wingo@pobox.com>
28083
28084         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28085         (#157311).
28086
28087         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28088         own marshalling function for the handoff signal. Properly type the
28089         buffer as a buffer. Fixes some warnings. Should do a more general
28090         solution.
28091         (gst_identity_class_init): Plug into the right marshaller.
28092
28093 2005-07-15  Wim Taymans  <wim@fluendo.com>
28094
28095         * docs/design/part-TODO.txt:
28096         * docs/design/part-clocks.txt:
28097         * docs/design/part-element-sink.txt:
28098         * docs/design/part-events.txt:
28099         * docs/design/part-gstpipeline.txt:
28100         Updated docs, mostly DISCONT related.
28101
28102 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28103
28104         * docs/pwg/building-pads.xml:
28105           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28106
28107 2005-07-15  Andy Wingo  <wingo@pobox.com>
28108
28109         * tools/gst-typefind.c: Update, add copyright block.
28110
28111         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28112         Normalize and truncate caps before fixation.
28113
28114         * gst/gstcaps.h:
28115         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28116         discards all but the first structure from its argument.
28117
28118 2005-07-15  Wim Taymans  <wim@fluendo.com>
28119
28120         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28121         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28122         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28123         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28124         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28125         (gst_base_transform_chain), (gst_base_transform_change_state),
28126         (gst_base_transform_set_passthrough),
28127         (gst_base_transform_is_passthrough):
28128         * gst/base/gstbasetransform.h:
28129         Make passthrough work using the bufferpools.
28130         Changed API a bit, subclasses have to write into a buffer
28131         provided by the base class.
28132         More debug info in nego functions.
28133         
28134         * gst/elements/gstidentity.c: (gst_identity_init),
28135         (gst_identity_transform):
28136         Port to new base class.
28137
28138 2005-07-15  Wim Taymans  <wim@fluendo.com>
28139
28140         * gst/gstmessage.c: (gst_message_new_state_changed):
28141         * tools/gst-launch.c: (event_loop), (main):
28142         Totally dump messages in -launch with the -m option.
28143         Fix message name for State messages,
28144
28145 2005-07-14  Wim Taymans  <wim@fluendo.com>
28146
28147         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28148         Post error messages on errors.
28149
28150 2005-07-14  Wim Taymans  <wim@fluendo.com>
28151
28152         * gst/gstcaps.c: (gst_caps_do_simplify):
28153         Remove debug info.
28154
28155         * gst/gsterror.h:
28156         Define error for stream stopped.
28157
28158         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28159         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28160         Do proper return values.
28161
28162         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28163         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28164         (gst_pad_get_range):
28165         Better return values.
28166
28167         * gst/gstpad.h:
28168         Reorganise return values, add macro to check for fatal errors.
28169
28170         * gst/gstqueue.c: (gst_queue_chain):
28171         Return proper GstFlowReturn values,
28172
28173 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28174
28175         * docs/gst/gstreamer-sections.txt:
28176         * docs/gst/gstreamer.types:
28177         * docs/gst/tmpl/gst.sgml:
28178         * docs/gst/tmpl/gstbasesink.sgml:
28179         * docs/gst/tmpl/gstbasesrc.sgml:
28180         * docs/gst/tmpl/gstbasetransform.sgml:
28181         * docs/gst/tmpl/gstbin.sgml:
28182         * docs/gst/tmpl/gstbuffer.sgml:
28183         * docs/gst/tmpl/gstcaps.sgml:
28184         * docs/gst/tmpl/gstclock.sgml:
28185         * docs/gst/tmpl/gstcompat.sgml:
28186         * docs/gst/tmpl/gstconfig.sgml:
28187         * docs/gst/tmpl/gstelement.sgml:
28188         * docs/gst/tmpl/gstelementdetails.sgml:
28189         * docs/gst/tmpl/gstelementfactory.sgml:
28190         * docs/gst/tmpl/gstenumtypes.sgml:
28191         * docs/gst/tmpl/gsterror.sgml:
28192         * docs/gst/tmpl/gstevent.sgml:
28193         * docs/gst/tmpl/gstfakesink.sgml:
28194         * docs/gst/tmpl/gstfakesrc.sgml:
28195         * docs/gst/tmpl/gstfilesink.sgml:
28196         * docs/gst/tmpl/gstfilesrc.sgml:
28197         * docs/gst/tmpl/gstfilter.sgml:
28198         * docs/gst/tmpl/gstformat.sgml:
28199         * docs/gst/tmpl/gstghostpad.sgml:
28200         * docs/gst/tmpl/gstimplementsinterface.sgml:
28201         * docs/gst/tmpl/gstindex.sgml:
28202         * docs/gst/tmpl/gstindexfactory.sgml:
28203         * docs/gst/tmpl/gstinfo.sgml:
28204         * docs/gst/tmpl/gstiterator.sgml:
28205         * docs/gst/tmpl/gstmacros.sgml:
28206         * docs/gst/tmpl/gstmemchunk.sgml:
28207         * docs/gst/tmpl/gstminiobject.sgml:
28208         * docs/gst/tmpl/gstobject.sgml:
28209         * docs/gst/tmpl/gstpad.sgml:
28210         * docs/gst/tmpl/gstpadtemplate.sgml:
28211         * docs/gst/tmpl/gstparse.sgml:
28212         * docs/gst/tmpl/gstpipeline.sgml:
28213         * docs/gst/tmpl/gstplugin.sgml:
28214         * docs/gst/tmpl/gstpluginfeature.sgml:
28215         * docs/gst/tmpl/gstquery.sgml:
28216         * docs/gst/tmpl/gstqueue.sgml:
28217         * docs/gst/tmpl/gstregistry.sgml:
28218         * docs/gst/tmpl/gstregistrypool.sgml:
28219         * docs/gst/tmpl/gstscheduler.sgml:
28220         * docs/gst/tmpl/gstschedulerfactory.sgml:
28221         * docs/gst/tmpl/gststructure.sgml:
28222         * docs/gst/tmpl/gstsystemclock.sgml:
28223         * docs/gst/tmpl/gsttaglist.sgml:
28224         * docs/gst/tmpl/gsttagsetter.sgml:
28225         * docs/gst/tmpl/gsttrace.sgml:
28226         * docs/gst/tmpl/gsttrashstack.sgml:
28227         * docs/gst/tmpl/gsttypefind.sgml:
28228         * docs/gst/tmpl/gsttypefindfactory.sgml:
28229         * docs/gst/tmpl/gsttypes.sgml:
28230         * docs/gst/tmpl/gsturihandler.sgml:
28231         * docs/gst/tmpl/gsturitype.sgml:
28232         * docs/gst/tmpl/gstutils.sgml:
28233         * docs/gst/tmpl/gstvalue.sgml:
28234         * docs/gst/tmpl/gstversion.sgml:
28235         * docs/gst/tmpl/gstxml.sgml:
28236         * docs/libs/tmpl/gstcontrol.sgml:
28237         * docs/libs/tmpl/gstdataprotocol.sgml:
28238         * docs/libs/tmpl/gstdparam.sgml:
28239         * docs/libs/tmpl/gstdplinint.sgml:
28240         * docs/libs/tmpl/gstdpman.sgml:
28241         * docs/libs/tmpl/gstdpsmooth.sgml:
28242         * docs/libs/tmpl/gstgetbits.sgml:
28243         * docs/libs/tmpl/gstunitconvert.sgml:
28244         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28245         (gst_push_src_base_init), (gst_push_src_class_init),
28246         (gst_push_src_init), (gst_push_src_create):
28247         * gst/base/gstpushsrc.h:
28248         * gst/elements/gstelements.c:
28249         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28250         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28251         (gst_fake_sink_init), (gst_fake_sink_set_property),
28252         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28253         (gst_fake_sink_event), (gst_fake_sink_preroll),
28254         (gst_fake_sink_render), (gst_fake_sink_change_state):
28255         * gst/elements/gstfakesink.h:
28256         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28257         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28258         (gst_fake_src_base_init), (gst_fake_src_class_init),
28259         (gst_fake_src_init), (gst_fake_src_event_handler),
28260         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28261         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28262         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28263         (gst_fake_src_create_buffer), (gst_fake_src_create),
28264         (gst_fake_src_start), (gst_fake_src_stop):
28265         * gst/elements/gstfakesrc.h:
28266         * gst/elements/gstfilesink.c: (_do_init),
28267         (gst_file_sink_base_init), (gst_file_sink_class_init),
28268         (gst_file_sink_init), (gst_file_sink_dispose),
28269         (gst_file_sink_set_location), (gst_file_sink_set_property),
28270         (gst_file_sink_get_property), (gst_file_sink_open_file),
28271         (gst_file_sink_close_file), (gst_file_sink_query),
28272         (gst_file_sink_event), (gst_file_sink_render),
28273         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28274         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28275         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28276         * gst/elements/gstfilesink.h:
28277         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28278         (gst_file_src_class_init), (gst_file_src_init),
28279         (gst_file_src_finalize), (gst_file_src_set_location),
28280         (gst_file_src_set_property), (gst_file_src_get_property),
28281         (gst_file_src_map_region), (gst_file_src_map_small_region),
28282         (gst_file_src_create_mmap), (gst_file_src_create_read),
28283         (gst_file_src_create), (gst_file_src_is_seekable),
28284         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28285         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28286         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28287         (gst_file_src_uri_handler_init):
28288         * gst/elements/gstfilesrc.h:
28289           more autistic cleanliness in functions/names/defines
28290
28291 2005-07-13  Andy Wingo  <wingo@pobox.com>
28292
28293         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28294         source couldn't negotiate.
28295
28296         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28297         connections again.
28298
28299         * gst/gstutils.h:
28300         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28301         function. I am channeling Hades. Put your boots on suckers!!!
28302
28303 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28304
28305         * testsuite/caps/Makefile.am:
28306         * testsuite/caps/value_compare.c:
28307         * testsuite/caps/value_intersect.c:
28308         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28309           move two testsuite apps over to the check dir
28310
28311 2005-07-12  Wim Taymans  <wim@fluendo.com>
28312
28313         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28314         Added more debug info in the negotiate process.
28315
28316         * gst/gstmessage.h:
28317         Prepare for segment playback.
28318
28319         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28320         Better debugging.
28321
28322         * gst/gstutils.c:
28323         Some more docs.
28324
28325         * tools/gst-launch.c: (main):
28326         NULL pipeline on errors.
28327
28328 2005-07-12  Andy Wingo  <wingo@pobox.com>
28329
28330         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28331         not it comes from a malloc region. Make sure our copy gets freed.
28332
28333 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28334
28335         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28336         * check/gst/gstmessage.c: (GST_START_TEST):
28337         * check/gst/gststructure.c: (GST_START_TEST),
28338         (gst_structure_suite), (main):
28339           more testing
28340         * gst/gstelement.c: (gst_element_message_full):
28341           clean up GError and debug string now that they get copied
28342         * gst/gstmessage.c: (gst_message_new_error),
28343         (gst_message_new_warning), (gst_message_parse_error),
28344         (gst_message_parse_warning):
28345           use GST_TYPE_G_ERROR for structure_new, and take copies of
28346           arguments, so that we don't mess up refcounting
28347
28348 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28349
28350         * check/Makefile.am:
28351           add per-test valgrind targets
28352         * check/gst-libs/gdp.c: (GST_START_TEST),
28353         (gst_data_protocol_suite), (main):
28354           clean up
28355
28356 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28357
28358         * check/Makefile.am:
28359           instate more valgrindable tests
28360         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28361         (GST_START_TEST), (fakesrc_suite):
28362         * check/gst/gstpad.c: (GST_START_TEST):
28363         * check/gst/gststructure.c: (GST_START_TEST):
28364           fix test leaks
28365         * docs/gst/tmpl/gstminiobject.sgml:
28366         * gst/gstpad.c: (gst_pad_finalize):
28367           fix the static mutex leak
28368
28369 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28370
28371         * check/Makefile.am:
28372           add two more tests for valgrinding
28373         * check/gst/gstvalue.c: (GST_START_TEST):
28374           test refcount of deserialized buffer, found a leak
28375         * docs/gst/gstreamer-docs.sgml:
28376         * docs/gst/gstreamer-sections.txt:
28377         * docs/gst/gstreamer.types:
28378         * docs/gst/tmpl/gstminiobject.sgml:
28379           add miniobject to docs
28380         * gst/gstminiobject.c:
28381           add some docs
28382         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28383         (gst_string_unwrap):
28384           fix a hard-to-find invalid write for one of the tests
28385           fix a leak for deserialized buffers
28386
28387 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28388
28389         * docs/pwg/advanced-events.xml:
28390         * docs/pwg/advanced-request.xml:
28391         * docs/pwg/advanced-scheduling.xml:
28392         * docs/pwg/appendix-porting.xml:
28393         * docs/pwg/building-boiler.xml:
28394         * docs/pwg/intro-preface.xml:
28395         * docs/pwg/other-ntoone.xml:
28396           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28397           of example code and explanation for pad activation, loop() and
28398           getrange() functions and a bit more. Remove old comments pointing
28399           to loop-functions.
28400         * examples/pwg/Makefile.am:
28401           Add loop/getrange examples.
28402
28403 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28404
28405         * configure.ac:
28406           check for valgrind binary + some fixes
28407         * check/gst.supp:
28408           valgrind suppressions for the tests
28409         * check/Makefile.am:
28410           add a valgrind: target that valgrinds the unit tests
28411         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28412         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28413         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28414         * check/gst/gstghostpad.c:
28415           added some cleanup
28416         * check/gst/gstdata.c:
28417           removed
28418         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28419         (thread_unref), (gst_mini_object_suite), (main):
28420           added
28421         * gst/gst.c: (gst_deinit):
28422         * gst/gst.h:
28423           add a method to clean up.
28424         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28425         (gst_system_clock_obtain):
28426           allow for disposing the system clock.
28427         * tools/gst-launch.c: (main):
28428           deinit
28429
28430 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28431
28432         * docs/gst/tmpl/gstbasesrc.sgml:
28433         * docs/gst/tmpl/gstfakesrc.sgml:
28434         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28435         (gst_base_src_init), (gst_base_src_set_property),
28436         (gst_base_src_get_property), (gst_base_src_get_range),
28437         (gst_base_src_start):
28438         * gst/base/gstbasesrc.h:
28439           add num-buffers property
28440         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28441         (gst_fakesrc_init), (gst_fakesrc_set_property),
28442         (gst_fakesrc_get_property), (gst_fakesrc_create),
28443         (gst_fakesrc_start):
28444           remove num-buffers property
28445
28446 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28447
28448         * docs/gst/gstreamer-sections.txt:
28449         * docs/gst/tmpl/gstbasesink.sgml:
28450         * docs/gst/tmpl/gstbasesrc.sgml:
28451         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28452         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28453         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28454         (gst_base_sink_set_property), (gst_base_sink_get_property),
28455         (gst_base_sink_handle_object), (gst_base_sink_event),
28456         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28457         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28458         (gst_base_sink_loop), (gst_base_sink_deactivate),
28459         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28460         (gst_base_sink_change_state):
28461         * gst/base/gstbasesink.h:
28462         * gst/base/gstbasesrc.h:
28463         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28464         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28465         (gst_filesink_init):
28466           more macro splitting
28467
28468 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28469
28470         * gst/gstelement.c: (gst_element_get_bus):
28471           add debug
28472         * tools/gst-launch.c: (check_intr), (event_loop):
28473           fix bus leaks
28474
28475 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28476
28477         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28478           fix a caps leak
28479
28480 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28481
28482         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28483         (gst_base_src_finalize):
28484           add finalize method and clean up properly
28485         * gst/gstpipeline.c: (gst_pipeline_dispose):
28486           add debug
28487
28488 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28489
28490         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28491         (gst_bin_suite):
28492           add more things to check
28493         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28494         * gst/gstelement.c:
28495           more debug
28496
28497 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28498
28499         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28500         (GST_START_TEST), (fakesrc_suite):
28501         * check/gst-libs/gdp.c: (GST_START_TEST):
28502         * check/gst/gst.c: (GST_START_TEST):
28503         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28504         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28505         * check/gst/gstbus.c: (GST_START_TEST):
28506         * check/gst/gstcaps.c: (GST_START_TEST):
28507         * check/gst/gstdata.c: (GST_START_TEST):
28508         * check/gst/gstelement.c: (GST_START_TEST):
28509         * check/gst/gstghostpad.c: (GST_START_TEST):
28510         * check/gst/gstiterator.c: (GST_START_TEST):
28511         * check/gst/gstmessage.c: (GST_START_TEST):
28512         * check/gst/gstobject.c: (GST_START_TEST):
28513         * check/gst/gstpad.c: (GST_START_TEST):
28514         * check/gst/gststructure.c: (GST_START_TEST):
28515         * check/gst/gstsystemclock.c: (GST_START_TEST),
28516         (gst_systemclock_suite):
28517         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28518         * check/gst/gstvalue.c: (GST_START_TEST):
28519         * check/pipelines/cleanup.c: (GST_START_TEST):
28520         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28521         * check/states/sinks.c: (GST_START_TEST):
28522         * check/gstcheck.c: (gst_check_init):
28523         * check/gstcheck.h:
28524           add debugging category
28525           use GST_START_TEST now, so we add a debug line
28526
28527 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28528
28529         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28530           add test for state change message on a bin
28531         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28532           add another test
28533         * gst/gstbin.c: (gst_bin_init):
28534         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28535         * gst/gstelement.c: (gst_element_post_message),
28536         (gst_element_set_state):
28537         * gst/gstelementfactory.c: (gst_element_factory_create):
28538         * gst/gstmessage.c: (gst_message_new):
28539         * gst/gstscheduler.c:
28540           various debugging additions and cleanups
28541
28542 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28543
28544         * check/Makefile.am:
28545         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28546         (main):
28547           adding tests for elements
28548         * gst/gstelement.c: (gst_element_dispose):
28549
28550 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28551
28552         * gst/registries/gstlibxmlregistry.c: (load_feature):
28553           plug more leaks.  A simple gst_init() now is leakfree, yay.
28554
28555 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28556
28557         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28558         (gst_xml_registry_load):
28559           plug another memleak
28560
28561 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28562
28563         * configure.ac:
28564           use GST_SET_ERROR_CFLAGS
28565         * docs/faq/cvs.xml:
28566           change to ERROR_CFLAGS
28567
28568 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28569
28570         * configure.ac:
28571           make GST_ERROR_CFLAGS overridable and re-enable Werror
28572         * docs/faq/cvs.xml:
28573           add a note about error CFLAGS
28574         * docs/gst/tmpl/gstfakesrc.sgml:
28575         * gst/elements/gstfakesrc.c:
28576           comment out some unused code
28577         * gst/gst.c: (split_and_iterate):
28578         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28579         (load_feature):
28580           plug some memleaks
28581
28582 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28583
28584         * common/Makefile.am:
28585         * common/gtk-doc.mak:
28586         * docs/gst/Makefile.am:
28587           factor out gtk-doc.mak
28588
28589 2005-07-07  Wim Taymans  <wim@fluendo.com>
28590
28591         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28592         (gst_thread_scheduler_dispose):
28593         Unlock the STREAM_LOCK completely.
28594
28595 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28596
28597         * check/Makefile.am:
28598         * check/elements/.cvsignore:
28599         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28600         (START_TEST), (fakesrc_suite), (main):
28601         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28602         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28603         (gst_fakesrc_create), (gst_fakesrc_start):
28604         * gst/elements/gstfakesrc.h:
28605           adding a first element test
28606
28607 2005-07-07  Andy Wingo  <wingo@pobox.com>
28608
28609         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28610         debug message.
28611
28612 2005-07-07  Wim Taymans  <wim@fluendo.com>
28613
28614         * gst/gstquery.c:
28615         * gst/gstquery.h:
28616         Remove old types
28617
28618 2005-07-07  Wim Taymans  <wim@fluendo.com>
28619
28620         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28621         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28622         Allow subclasses to implement their own negotiation.
28623
28624 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28625
28626         * docs/design/part-gstbin.txt:
28627         * docs/design/part-gstpipeline.txt:
28628           Update design notes to reflect the movement of
28629           responsibility for bus handling from GstPipeline to
28630           GstBin
28631
28632 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28633
28634         * configure.ac:
28635           Remove unnecessary queue2/3/4 examples.
28636
28637 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28638
28639         * examples/Makefile.am:
28640         * examples/helloworld/helloworld.c: (event_loop), (main):
28641         * examples/queue/queue.c: (event_loop), (main):
28642         * examples/queue2/queue2.c: (main):
28643           Update a couple of the examples to work again.
28644
28645         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28646         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28647          Spelling corrections and extra debug.
28648         
28649         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28650         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28651         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28652         * gst/gstbin.h:
28653         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28654         (gst_pipeline_change_state):
28655         * gst/gstpipeline.h:
28656           Move the bus handler for children to the GstBin, and create a
28657           separate bus for receiving messages from children to the one the
28658           bus sends 'upwards' on.
28659
28660 2005-07-06  Wim Taymans  <wim@fluendo.com>
28661
28662         * gst/base/README:
28663         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28664         (gst_base_sink_handle_object), (gst_base_sink_loop),
28665         (gst_base_sink_change_state):
28666         * gst/base/gstbasesink.h:
28667         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28668         (gst_base_src_init), (gst_base_src_setcaps),
28669         (gst_base_src_getcaps), (gst_base_src_loop),
28670         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28671         (gst_base_src_start), (gst_base_src_change_state):
28672         * gst/base/gstbasesrc.h:
28673         Make basesrc negotiate.
28674         Handle the case where preroll fails in basesink.
28675         Update README.
28676
28677 2005-07-06  Wim Taymans  <wim@fluendo.com>
28678
28679         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28680         Implement the fixate function.
28681         Clean up acceptcaps.
28682
28683 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28684
28685         * docs/pwg/building-filterfactory.xml:
28686         * docs/pwg/pwg.xml:
28687           Remove never-written filter-factory chapter; I'll add the various
28688           base classes to part 4 ("other element types") later on.
28689
28690 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28691
28692         * docs/pwg/advanced-negotiation.xml:
28693         * docs/pwg/building-boiler.xml:
28694         * docs/pwg/building-pads.xml:
28695         * docs/pwg/pwg.xml:
28696         * examples/pwg/Makefile.am:
28697           Add a chapter on caps negotiation, simplify the original code
28698           samples a bit w.r.t. caps negotiation, add link to the advanced
28699           section. Add a bunch of examples showing different use cases of
28700           different types of caps negotiation. Upstream renegotiation isn't
28701           fully documented yet since nobody knows how that works.
28702
28703 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28704
28705         * check/gst/gstpad.c:
28706         * check/gstcheck.c:
28707         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28708           if pad has no parent, return NULL as list of internal links
28709
28710 2005-07-05  Andy Wingo  <wingo@pobox.com>
28711
28712         * gst/elements/gstfilesrc.c:
28713         * gst/elements/gstfakesrc.c: 
28714         * gst/base/gstpushsrc.c:
28715         * gst/base/gstbasesrc.h: 
28716         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28717         
28718 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28719
28720         * Makefile.am:
28721           better report generation target (lcov needs a patch)
28722
28723 2005-07-05  Andy Wingo  <wingo@pobox.com>
28724
28725         * gst/elements, testsuite: Null if we got it...
28726
28727 2005-07-05  Wim Taymans  <wim@fluendo.com>
28728
28729         * configure.ac:
28730         * libs/gst/dataprotocol/Makefile.am:
28731         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28732         * libs/gst/dataprotocol/dataprotocol.h:
28733         * pkgconfig/Makefile.am:
28734         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28735         * pkgconfig/gstreamer-dataprotocol.pc.in:
28736         Ported dataprotol to 0.9. 
28737         Added pkgconfig files.
28738
28739 2005-07-05  Andy Wingo  <wingo@pobox.com>
28740
28741         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28742         Default to returning TRUE for the case when tranform_caps returns
28743         a fixed caps, like for identity or volume.
28744
28745         * check/gst/gstbus.c (pound_bus_with_messages): 
28746         * check/gst/gstmessage.c (START_TEST): 
28747         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28748         message API change.
28749
28750         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28751         logic weaks here: always run transform_caps, trying passthrough
28752         operation only if the original caps intersects with the transform.
28753
28754         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28755         source and sink caps.
28756
28757         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28758         Intersect the peer caps with the pad template before going into
28759         transform_caps.
28760         (gst_base_transform_transform_caps): More debugging.
28761
28762         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28763         src argument.
28764
28765 2005-07-04  Edward Hervey  <edward@fluendo.com>
28766
28767         * gst/gstutils.c:
28768         * gst/gstutils.h:
28769         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28770         in bindings.
28771
28772 2005-07-04  Andy Wingo  <wingo@pobox.com>
28773
28774         * check/gst/gstpad.c: Only set explicit caps on pads.
28775
28776 2005-07-01  Andy Wingo  <wingo@pobox.com>
28777
28778         * tests/network-clock.scm: Commentary update.
28779
28780         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28781         Didn't really make sense, not implementable with basetransform,
28782         etc.
28783         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28784         attempt at implementing the sync property, needs an unlock method.
28785
28786         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28787         New func, by default returns the same caps (the identity
28788         transformation).
28789         (gst_base_transform_getcaps): Uses transform_caps to return
28790         something sensible.
28791         (gst_base_transform_setcaps): Complicated logic to get caps on
28792         both pads, even if they are different, and to call set_caps once
28793         for every time both pads get their caps set.
28794         (gst_base_transform_handle_buffer): Give the ref to the transform
28795         function. Allows in-place modification of the buffer.
28796
28797         * gst/base/gstbasetransform.h (transform_caps): New class method.
28798         Given caps on one side, what can I do on the other.
28799         (set_caps): Take two caps, one for each side of the element.
28800
28801         * gst/gstpad.h:
28802         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28803         caps in place. This is safe because we can check the mutability of
28804         the caps, and a good idea because fixate functions are just called
28805         as a matter of last resort. (Not actually implemented.)
28806         (gst_pad_set_caps): If the caps we're setting is actually the same
28807         as the existing pad caps, just update the pointer without calling
28808         setcaps. Assert that caps is either NULL or fixed, as per the
28809         docs.
28810
28811         * gst/gstghostpad.c: Update for fixate changes.
28812
28813 2005-07-02  Andy Wingo  <wingo@pobox.com>
28814
28815         * gst/gstcaps.c:
28816         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28817         two refcounts makes it immutable, which is enough. Doc more.
28818
28819 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28820
28821         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28822           Put the mini_object into GValue as a mini_object,
28823           not a gpointer, since that's how we declared
28824           the signal.
28825
28826 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28827
28828         * examples/pwg/Makefile.am:
28829           Fix buildbot again.
28830
28831 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28832
28833         * docs/pwg/building-testapp.xml:
28834           Add extra check.
28835         * examples/pwg/Makefile.am:
28836           Fix buildbot.
28837
28838 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28839
28840         * configure.ac:
28841         * examples/Makefile.am:
28842         * examples/pwg/Makefile.am:
28843         * examples/pwg/extract.pl:
28844           Enable building the PWG examples.
28845         * docs/pwg/advanced-interfaces.xml:
28846           Add URI interface stub.
28847         * docs/pwg/advanced-types.xml:
28848         * docs/pwg/other-autoplugger.xml:
28849         * docs/pwg/appendix-porting.xml:
28850         * docs/pwg/pwg.xml:
28851           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28852         * docs/pwg/building-boiler.xml:
28853         * docs/pwg/building-chainfn.xml:
28854         * docs/pwg/building-pads.xml:
28855         * docs/pwg/building-props.xml:
28856         * docs/pwg/building-state.xml:
28857         * docs/pwg/building-testapp.xml:
28858           Update the building-*.xml parts for 0.9 changes. All examples
28859           code blocks compile in examples/pwg/*.
28860
28861 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28862
28863         * docs/manual/advanced-autoplugging.xml:
28864         * docs/manual/appendix-checklist.xml:
28865         * docs/manual/appendix-integration.xml:
28866         * docs/manual/highlevel-components.xml:
28867           Fix playbin/decodebin examples, update docs a bit, mention bus
28868           instead of signals in various places, mention kmplayer and
28869           kaffeine since they have a working GStreamer backend in the KDE
28870           section.
28871
28872 2005-06-30  Wim Taymans  <wim@fluendo.com>
28873
28874         * CHANGES-0.9:
28875         * docs/design/draft-ghostpads.txt:
28876         * docs/design/draft-push-pull.txt:
28877         * docs/design/draft-query.txt:
28878         * docs/design/part-TODO.txt:
28879         * docs/design/part-query.txt:
28880         Added CHANGES-0.9 doc, updated status of other docs.
28881         
28882         * gst/gstquery.h:
28883         Remove "hmm" macro
28884
28885 2005-06-30  Wim Taymans  <wim@fluendo.com>
28886
28887         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28888         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28889         (gst_base_sink_change_state):
28890         * gst/base/gstbasesink.h:
28891         Some tweaks, only EOS and a buffer complete a preroll.
28892
28893 2005-06-30  Andy Wingo  <wingo@pobox.com>
28894
28895         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28896         activate_push down to the internal pad as well.
28897
28898 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28899
28900         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28901
28902         * gst/gsttaginterface.c:
28903           Some documentation fixes (#307394 and #307397).
28904
28905 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28906
28907         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28908
28909         * gst/gstvalue.c: (gst_value_intersect_list):
28910           Fix memleak (#309125).
28911
28912 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28913
28914         * docs/manual/advanced-dataaccess.xml:
28915           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28916         * docs/manual/basics-pads.xml:
28917           Add reference for filtered caps to above chapter.
28918
28919 2005-06-30  Wim Taymans  <wim@fluendo.com>
28920
28921         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28922         (gst_bin_change_state):
28923         Probes are gone.
28924         Lame attempt at making the state change function a bit
28925         more readable.
28926
28927 2005-06-30  Wim Taymans  <wim@fluendo.com>
28928
28929         * docs/design/part-clocks.txt:
28930         * docs/design/part-element-sink.txt:
28931         * docs/design/part-events.txt:
28932         * docs/design/part-preroll.txt:
28933         * docs/design/part-states.txt:
28934         Some more tweeks and additions to the docs.
28935
28936 2005-06-30  Wim Taymans  <wim@fluendo.com>
28937
28938         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28939         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28940         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28941         (gst_pad_check_pull_range), (gst_pad_get_range),
28942         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28943         * gst/gstpad.h:
28944         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28945         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28946         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28947         (gst_pad_remove_buffer_probe):
28948         Removed atomic operations, use existing LOCK.
28949         Move exception handling out of main code path.
28950
28951 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28952
28953         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28954         (silly_return_true_function), (gst_pad_class_init),
28955         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28956         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28957         (gst_pad_send_event):
28958           Fix accumulator, add default value by using _emitv() instead
28959           of _emit() for signal emission.
28960
28961 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28962
28963         * docs/manual/advanced-dataaccess.xml:
28964         * examples/manual/Makefile.am:
28965           Add probe example.
28966         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28967           Make work (??).
28968
28969 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28970
28971         * gst/elements/gstfilesink.c: (gst_filesink_render):
28972           Simplify code so that we don't have to handle short
28973           writes and return GST_FLOW_ERROR if an error occured.
28974
28975 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28976
28977         * docs/gst/gstreamer-docs.sgml:
28978           Remove probes more.
28979
28980 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28981
28982         * docs/gst/gstreamer-sections.txt:
28983         * docs/gst/tmpl/gstpad.sgml:
28984         * docs/gst/tmpl/gstprobe.sgml:
28985         * gst/Makefile.am:
28986         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28987         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28988         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28989         (gst_pad_push_event), (gst_pad_send_event):
28990         * gst/gstpad.h:
28991         * gst/gstutils.c: (gst_pad_add_data_probe),
28992         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28993         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28994         (gst_pad_remove_buffer_probe):
28995         * gst/gstutils.h:
28996           Remove old probes, add new g-signal-based probes and some utility
28997           functions.
28998
28999 2005-06-29  Edward Hervey  <edward@fluendo.com>
29000
29001         * gst/gstelementfactory.c:
29002         * gst/gstutils.h:
29003         * gst/gstutils.c:
29004         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29005         the definition to the header file.
29006
29007 2005-06-29  Andy Wingo  <wingo@pobox.com>
29008
29009         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29010         plugins from the source directory.
29011
29012 2005-06-29  Wim Taymans  <wim@fluendo.com>
29013
29014         * docs/gst/tmpl/gstbuffer.sgml:
29015         * docs/gst/tmpl/gstclock.sgml:
29016         Some fixings for blantently wrong text.
29017
29018 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29019
29020         * check/Makefile.am:
29021         * gst/gst.c: (add_path_func), (init_pre):
29022         * gst/gstregistry.c: (gst_registry_add_path):
29023           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29024           only scan the GST_PLUGIN_PATH locations, and not add
29025           system locations
29026
29027 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29028
29029         * docs/gst/gstreamer-sections.txt:
29030         * docs/gst/tmpl/gstbasesrc.sgml:
29031         * gst/gstelement.c:
29032         * gst/gstelement.h:
29033         * gst/gstevent.c:
29034         * gst/gstutils.c:
29035           doc fixes
29036
29037 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29038
29039         * docs/manual/advanced-autoplugging.xml:
29040           Fix autoplugging example.
29041
29042 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29043
29044         * docs/manual/advanced-autoplugging.xml:
29045         * docs/manual/mime-world.fig:
29046           Try to get autoplugging working, fix type detection. Fix text
29047           in hello-world image.
29048
29049 2005-06-29  Wim Taymans  <wim@fluendo.com>
29050
29051         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29052         (gst_base_sink_change_state):
29053         Small debug line.
29054
29055         * gst/gstclock.h:
29056         map SIGNAL and BROADCAST to the right function.
29057
29058         * gst/gstobject.h:
29059         Remove redundant braces.
29060
29061         * gst/gstpad.c: (gst_pad_set_caps):
29062         Don't call setcaps function when reseting caps to NULL.
29063
29064         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29065         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29066         (gst_system_clock_id_unschedule):
29067         Use BROADCAST as this is what we do.
29068
29069 2005-06-29  Wim Taymans  <wim@fluendo.com>
29070
29071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29072         We are actually prerolling before commiting the state
29073         change. 
29074
29075 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29076
29077         * docs/manual/advanced-clocks.xml:
29078         * docs/manual/advanced-interfaces.xml:
29079         * docs/manual/advanced-metadata.xml:
29080         * docs/manual/advanced-position.xml:
29081         * docs/manual/advanced-schedulers.xml:
29082         * docs/manual/advanced-threads.xml:
29083         * docs/manual/appendix-porting.xml:
29084         * docs/manual/basics-bins.xml:
29085         * docs/manual/basics-bus.xml:
29086         * docs/manual/basics-elements.xml:
29087         * docs/manual/basics-helloworld.xml:
29088         * docs/manual/basics-pads.xml:
29089         * docs/manual/highlevel-components.xml:
29090         * docs/manual/manual.xml:
29091         * docs/manual/thread.fig:
29092           Update (until threads/scheduling) Application Development Manual;
29093           remove GstThread, add GstBus, add simple porting checklist, add
29094           documentation for tag writing, clocks, make all examples until this
29095           part compile and run.
29096         * examples/manual/Makefile.am:
29097           Update from changes to Application Development Manual; add bus
29098           example, remove thread example.
29099
29100 2005-06-28  Wim Taymans  <wim@fluendo.com>
29101
29102         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29103         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29104         (gst_bus_source_dispatch):
29105         Add debugging messages.
29106         Make internal methods static.
29107         Handle the case where the bus is flushed in the handler.
29108         
29109         * gst/gstelement.c: (gst_element_get_bus):
29110         Fix refcount in _get_bus();
29111
29112         * gst/gstpipeline.c: (gst_pipeline_change_state),
29113         (gst_pipeline_get_clock_func):
29114         Clock refcounting fixes.
29115         Handle the case where preroll timed out more gracefully.
29116         
29117         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29118         Clean up the internal thread in dispose. This is needed
29119         for subclasses that actually get disposed.
29120         
29121         * gst/schedulers/threadscheduler.c:
29122         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29123         (gst_thread_scheduler_dispose):
29124         Free thread pool in dispose.
29125
29126 2005-06-28  Andy Wingo  <wingo@pobox.com>
29127
29128         * tests/network-clock-utils.scm (debug, print-event): New utils.
29129
29130         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29131         (*packet-loss*): Unified loss probability.
29132         (network-time): Report out-of-band events.
29133
29134         * tests/plot-data: Add support for out-of-band events. Hack it
29135         into this script instead of passing it down the pipe; should fix
29136         this later.
29137
29138 2005-06-28  Wim Taymans  <wim@fluendo.com>
29139
29140         * docs/gst/gstreamer.types:
29141         * docs/gst/tmpl/gstbasesrc.sgml:
29142         * docs/gst/tmpl/gstpad.sgml:
29143         Docs fixes.
29144
29145 2005-06-28  Wim Taymans  <wim@fluendo.com>
29146
29147         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29148         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29149         (gst_proxy_pad_do_fixatecaps):
29150         Correctly proxy the check_pull_range function.
29151
29152 2005-06-28  Andy Wingo  <wingo@pobox.com>
29153
29154         * tests/network-clock.scm: Removed need for slib.
29155         
29156 2005-06-28  Wim Taymans  <wim@fluendo.com>
29157
29158         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29159         (gst_basesink_preroll_queue_flush):
29160         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29161         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29162         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29163         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29164         (gst_proxy_pad_set_property):
29165         * gst/gstpad.c:
29166         * gst/gstpad.h:
29167         * gst/gstqueue.c: (gst_queue_init):
29168         The deprecated pad loop function is removed now.
29169
29170 2005-06-28  Andy Wingo  <wingo@pobox.com>
29171
29172         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29173         New parameters, simulate network packet loss.
29174
29175         * tests/network-clock-utils.scm: Initialize the RNG.
29176
29177 2005-06-28  Wim Taymans  <wim@fluendo.com>
29178
29179         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29180         (gst_basesink_event), (gst_basesink_deactivate):
29181         Flushing the preroll queue always needs to unlock the waiters.
29182
29183 2005-06-28  Edward Hervey  <edward@fluendo.com>
29184
29185         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29186         Wheen a seek was successful on a pipeline, set the stream_time to the
29187         seek offset in order to have a synchronized stream_time.
29188
29189 2005-06-28  Wim Taymans  <wim@fluendo.com>
29190
29191         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29192         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29193         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29194         (gst_proxy_pad_do_fixatecaps):
29195         Call wrapper function instead of just calling the function
29196         pointers. This takes care of any locking and whatmore.
29197
29198 2005-06-28  Wim Taymans  <wim@fluendo.com>
29199
29200         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29201         (gst_pad_pull_range):
29202         * gst/gstpad.h:
29203         CONNECTED -> LINKED.
29204
29205 2005-06-28  Andy Wingo  <wingo@pobox.com>
29206
29207         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29208         source-munging commit!!!
29209
29210         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29211         (gst_object_sink): Take gpointer arguments, not GstObject --
29212         avoids casts. Like GLib.
29213
29214         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29215         activate.
29216
29217 2005-06-27  Andy Wingo  <wingo@pobox.com>
29218
29219         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29220         remaining buffer.
29221
29222         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29223         returns a sorted copy of the trace list.
29224         (gst_alloc_trace_print_live): New API, only prints traces with
29225         live objects. Sort the list.
29226         (gst_alloc_trace_print_all): Sort the list.
29227         (gst_alloc_trace_print): Align columns.
29228
29229         * gst/elements/gstttypefindelement.c:
29230         * gst/elements/gsttee.c:
29231         * gst/base/gstbasesrc.c:
29232         * gst/base/gstbasesink.c:
29233         * gst/base/gstbasetransform.c:
29234         * gst/gstqueue.c: Adapt for pad activation changes.
29235
29236         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29237         sched.
29238         (gst_pipeline_dispose): Drop ref on sched.
29239
29240         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29241         (gst_pad_activate_default): Push mode by default.
29242         (pre_activate_switch, post_activate_switch): New stubs, things to
29243         do before and after switching activation modes on pads.
29244         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29245         the pad's activate function to choose which mode to activate.
29246         Shortcut on deactivation and call the right function directly.
29247         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29248         mode.
29249         (gst_pad_activate_push): New API, same for push mode.
29250         (gst_pad_set_activate_function) 
29251         (gst_pad_set_activatepull_function) 
29252         (gst_pad_set_activatepush_function): Setters for new API.
29253
29254         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29255         Trace all miniobjects.
29256         (gst_mini_object_make_writable): Unref the arg if we copy, like
29257         gst_caps_make_writable.
29258
29259         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29260
29261         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29262         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29263         Adapt for new pad API.
29264
29265         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29266
29267         * gst/gstelement.h:
29268         * gst/gstelement.c (gst_element_iterate_src_pads) 
29269         (gst_element_iterate_sink_pads): New API functions.
29270         
29271         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29272         should fold into gstiterator.c in some form.
29273         (gst_element_pads_activate): Simplified via use of fold and
29274         delegation of decisions to gstpad->activate.
29275
29276         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29277         help in debugging.
29278
29279         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29280         class once in init, like gstmessage. Didn't run into this issue
29281         but it seems correct. Don't initialize a trace, gstminiobject does
29282         that.
29283
29284         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29285         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29286         to the bus.
29287         (assert_live_count): New util function, uses alloc traces to check
29288         cleanup.
29289
29290         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29291         To be modified when unlink drops the internal pad.
29292
29293 2005-06-27  Wim Taymans  <wim@fluendo.com>
29294
29295         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29296         (gst_bin_change_state):
29297         Cleanup the get_state() function a little, make sure it
29298         iterates the same set of elements.
29299         Added stub iterate_state_order().
29300
29301 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29302
29303         * docs/gst/gstreamer-docs.sgml:
29304         * docs/gst/gstreamer-sections.txt:
29305         * docs/gst/gstreamer.types:
29306         * docs/gst/tmpl/gstbasesink.sgml:
29307         * docs/gst/tmpl/gstbasesrc.sgml:
29308         * docs/gst/tmpl/gstbasetransform.sgml:
29309         * docs/gst/tmpl/gstelement.sgml:
29310         * docs/gst/tmpl/gstiterator.sgml:
29311         * gst/base/gstbasesrc.c:
29312         * gst/base/gstbasesrc.h:
29313         * gst/base/gstbasetransform.h:
29314         * gst/gstelement.c:
29315         * gst/gstiterator.h:
29316           adding basetransform and iterator docs
29317
29318 2005-06-27  Andy Wingo  <wingo@pobox.com>
29319
29320         * docs/design/part-activation.txt: Notes on how activation should
29321         work -- not quite implemented yet.
29322
29323 2005-06-25  Wim Taymans  <wim@fluendo.com>
29324
29325         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29326         At least get the chain function correct, needs more
29327         fixing.
29328
29329 2005-06-25  Wim Taymans  <wim@fluendo.com>
29330
29331         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29332         (gst_basesink_handle_object), (gst_basesink_event),
29333         (gst_basesink_do_sync), (gst_basesink_handle_event),
29334         (gst_basesink_change_state):
29335         * gst/gsttask.h:
29336         Right, two problems here: ghostpads don't take locks and
29337         glib _rec_mutex_lock_full() with depth==0 still locks.
29338         Catch illegal locking and g_warn them.
29339
29340 2005-06-25  Wim Taymans  <wim@fluendo.com>
29341
29342         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29343         Have to check for completion now...
29344
29345 2005-06-25  Wim Taymans  <wim@fluendo.com>
29346
29347         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29348         (gst_basesink_handle_object), (gst_basesink_event),
29349         (gst_basesink_do_sync), (gst_basesink_handle_event),
29350         (gst_basesink_change_state):
29351         * gst/gstpad.h:
29352         Unlock STREAM_LOCK whatever the recursion was.
29353
29354 2005-06-25  Wim Taymans  <wim@fluendo.com>
29355
29356         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29357         (gst_basesink_preroll_queue_empty),
29358         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29359         (gst_basesink_event), (gst_basesink_do_sync),
29360         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29361         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29362         (gst_basesink_change_state):
29363         Reworked the base sink, handle event and buffer serialisation
29364         correctly and removed possible deadlock.
29365         Handle EOS correctly.
29366
29367 2005-06-25  Wim Taymans  <wim@fluendo.com>
29368
29369         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29370         (gst_pipeline_change_state):
29371         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29372         Allow elements to post EOS in the state change function.
29373         Fix up -launch, make it exit the poll loop when the
29374         pipeline actually changed state.
29375         Fix up warning parsing in -launch.
29376
29377 2005-06-25  Wim Taymans  <wim@fluendo.com>
29378
29379         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29380         (gst_tee_sink_activate):
29381         Core takes STREAM_LOCK for us now.
29382
29383 2005-06-25  Wim Taymans  <wim@fluendo.com>
29384
29385         * gst/gstelement.c: (gst_element_get_state_func),
29386         (gst_element_set_state):
29387         * gst/gstelement.h:
29388         * gst/gstmessage.c: (gst_message_parse_error),
29389         (gst_message_parse_warning):
29390         Keep track of current target state while performing a state
29391         change so that subclasses can do something interesting.
29392         Fix parsing of warning/error messages when GError is NULL.
29393
29394 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29395
29396         * docs/gst/Makefile.am:
29397         * docs/gst/gstreamer-docs.sgml:
29398         * docs/gst/gstreamer-sections.txt:
29399         * docs/gst/gstreamer.types:
29400         * docs/gst/tmpl/gstbasesink.sgml:
29401         * docs/gst/tmpl/gstbasesrc.sgml:
29402         * docs/gst/tmpl/gstbin.sgml:
29403         * docs/gst/tmpl/gstcompat.sgml:
29404         * docs/gst/tmpl/gstfakesink.sgml:
29405         * docs/gst/tmpl/gstfakesrc.sgml:
29406         * docs/gst/tmpl/gstfilesink.sgml:
29407         * docs/gst/tmpl/gstfilesrc.sgml:
29408         * docs/gst/tmpl/gstindex.sgml:
29409         * docs/manual/appendix-quotes.xml:
29410         * gst/base/gstbasesrc.h:
29411         * gst/elements/gstfakesrc.h:
29412         * gst/gstmessage.h:
29413           start pulling in base classes and elements in our docs
29414
29415 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29416
29417         * docs/gst/Makefile.am:
29418         * docs/libs/Makefile.am:
29419           fixed make distcheck with gtk-doc 1.3
29420
29421 2005-06-23  Wim Taymans  <wim@fluendo.com>
29422
29423         * gst/gstelement.c: (gst_element_get_state_func),
29424         (gst_element_set_state), (gst_element_change_state):
29425         When the state did not change, also report NO_PREROLL
29426         when it matters.
29427
29428 2005-06-23  Wim Taymans  <wim@fluendo.com>
29429
29430         * gst/gstpad.c: (gst_pad_event_default):
29431         * gst/gstqueue.c: (gst_queue_loop):
29432         No unsafe task pausing please.
29433
29434 2005-06-23  Wim Taymans  <wim@fluendo.com>
29435
29436         * gst/schedulers/threadscheduler.c:
29437         (gst_thread_scheduler_task_start),
29438         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29439         Ref the task before pushing it on the threadpool. This
29440         makes sure that we have a ref when the threadfunction is
29441         actually called.
29442
29443 2005-06-23  Andy Wingo  <wingo@pobox.com>
29444
29445         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29446         offset is greater than the file's size.
29447
29448         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29449         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29450         * gst/gstobject.c (gst_object_class_init): Make the class lock
29451         recursive. Wim won't let me drop deep_notify. Decodebin works
29452         again, whoopdy doo.
29453
29454         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29455         internal pad, and hacks accordingly. Doesn't do it on the target
29456         pad because we change its caps. Probably catches all cases of
29457         interest tho.
29458         (gst_ghost_pad_set_property): Connect to notify::caps as
29459         appropritate.
29460
29461         * tests/network-clock.scm (plot-simulation): Pipe data to the
29462         elite python skript.
29463
29464         * tests/network-clock-utils.scm (define-parameter): New macro,
29465         defines a parameter that can be set via the command line.
29466         (set-parameter!, parse-parameter-arguments): Command line args
29467         parser.
29468
29469         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29470         stdin.
29471
29472 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29473
29474         * gst/elements/gsttypefindelement.c:
29475         (gst_type_find_element_handle_event):
29476           Don't restart typefinding on a discont.
29477         * gst/gstelement.c: (gst_element_set_state):
29478           Debug spelling fix.
29479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29480           Allow changing mode of an active pad.
29481           Debug output fixes.
29482         * gst/registries/gstlibxmlregistry.c: (load_feature):
29483           Don't cast a static pad template to a normal pad template.
29484
29485 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29486
29487         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29488         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29489           remove gst_strtoll completely, since it didn't actually do
29490           anything more than what g_ascii_strtoull already does.
29491           check for range errors when deserializing
29492           do a cast for the unsigned cases; but further fixing needs
29493           a decision on what the interpretation of "(int)" and
29494           deserialization should be for values that fall outside the
29495           type's boundaries (ie, refuse, or interpret as casting)
29496
29497 2005-06-23  Wim Taymans  <wim@fluendo.com>
29498
29499         * check/Makefile.am:
29500         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29501         * docs/design/part-live-source.txt:
29502         * docs/design/part-states.txt:
29503         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29504         (gst_basesrc_set_live), (gst_basesrc_is_live),
29505         (gst_basesrc_get_range), (gst_basesrc_activate),
29506         (gst_basesrc_change_state):
29507         * gst/base/gstbasesrc.h:
29508         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29509         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29510         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29511         * gst/gstelement.c: (gst_element_get_state_func),
29512         (gst_element_set_state):
29513         * gst/gstelement.h:
29514         * gst/gsttypes.h:
29515         * tools/gst-launch.c: (event_loop), (main):
29516         Added support for live sources and other elements that
29517         cannot do preroll.
29518         Updated design docs, added live-source design doc.
29519         Implemented live source functionality in basesrc
29520         Fix error condition in _bin_get_state()
29521         Implement live source handling in -launch.
29522         Added check for live sources.
29523         Fixed case in GstBin where elements were changed state
29524         multiple times.
29525
29526
29527 2005-06-23  Andy Wingo  <wingo@pobox.com>
29528
29529         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29530         borken refcounting.
29531
29532         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29533         gst_caps_replace takes care of this for us.
29534
29535         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29536         gst_pad_set_caps on the target, not just its setcaps() function.
29537
29538         * tests/network-clock.scm: 
29539         * tests/network-clock-utils.scm: A network clock simulator.
29540         Something of an algorithmic testbed before doing something in C.
29541
29542 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29543
29544         * check/Makefile.am:
29545         * check/gst/capslist.h:
29546           copy over from 0.8, and add two with bitmasks specified with
29547           (int) 0xFF...
29548         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29549           add test to parse everything from capslist.h
29550         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29551         (main):
29552           add test for structure deserialization
29553         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29554           add tests for deserialization of strings to int types
29555         * gst/gststructure.c: (gst_structure_nth_field_name):
29556         * gst/gststructure.h:
29557           add a way to get the name of a field referenced by index
29558         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29559           instead of checking if the resulting long long lies between
29560           min and max, we check if the long long would fit into
29561           a number of bytes for the final type.
29562           This fixes cases where a string represents 2^32 - 1, which
29563           when cast to int would be the (valid) -1, but is bigger than
29564           G_MAXINT
29565
29566 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29567
29568         * gst/parse/grammar.y:
29569           add a log line for type deserialization
29570
29571 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29572
29573         * check/gst/gstvalue.c: (START_TEST):
29574         * gst/gstvalue.c: (gst_value_deserialize):
29575           return long long, not int, so gint64 deserialization actually
29576           works.  Is there any flag that makes the compiler check this ?
29577           Fixes #308559
29578
29579 2005-06-22  Wim Taymans  <wim@fluendo.com>
29580
29581         * gst/gstbuffer.h:
29582         Added convenience macros for setting buffers in GValue.
29583
29584 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29585
29586         * check/gst/.cvsignore:
29587         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29588           add a test deserializing int64, and comment part out because
29589           it fails, yay !
29590
29591 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29592
29593         * check/Makefile.am:
29594         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29595         * testsuite/Makefile.am:
29596         * testsuite/caps/Makefile.am:
29597         * testsuite/caps/value_serialize.c:
29598         * testsuite/test_gst_init.c:
29599           move a value_serialize test over
29600
29601 2005-06-20  Wim Taymans  <wim@fluendo.com>
29602
29603         * gst/gstpad.c:
29604         Small doc updates.
29605         
29606         * gst/gstvalue.c: (gst_value_compare_buffer),
29607         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29608         (gst_value_compare_flags), (gst_value_serialize_flags),
29609         (gst_value_deserialize_flags), (_gst_value_initialize):
29610         Fix serialisation of buffers, they are not boxed types anymore
29611
29612 2005-06-20  Wim Taymans  <wim@fluendo.com>
29613
29614         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29615         Testcase to show error in buffer-on-caps serialisation.
29616
29617 2005-06-20  Andy Wingo  <wingo@pobox.com>
29618
29619         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29620         will be adding to later.
29621
29622         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29623         if its socks fill with rocks.
29624         (gst_system_clock_obtain): Set the name on object construction.
29625         Avoid double-checked locking.
29626
29627 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29628
29629         * gst/gsturi.c: (gst_element_make_from_uri):
29630           Fix potential endless loop.
29631
29632 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29633
29634         * check/Makefile.am:
29635           add gsttag
29636         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29637         (main):
29638           move over from testsuite dir and clean up
29639         * configure.ac:
29640         * gst/gsttag.c:
29641         * testsuite/Makefile.am:
29642         * testsuite/tags/.cvsignore:
29643         * testsuite/tags/Makefile.am:
29644         * testsuite/tags/merge.c:
29645           remove testsuite/tags
29646
29647 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29648
29649         * docs/gst/gstreamer-sections.txt:
29650         * docs/gst/tmpl/gstenumtypes.sgml:
29651         * win32/gstenumtypes.c:
29652           clean up documentation build a little
29653
29654 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29655
29656         * check/gstcheck.h:
29657           add macros for checking refcounts on objects and caps
29658         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29659           add some more unit tests
29660         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29661         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29662           fix leaked refcounts (I hope :)) so unittest works
29663         * gst/gstpad.h:
29664           whitespace removal
29665
29666 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29667
29668         * configure.ac: back to HEAD
29669
29670 === release 0.9.1 ===
29671
29672 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29673
29674         * NEWS:
29675         * RELEASE:
29676           updated
29677
29678 2005-06-17  Andy Wingo  <wingo@pobox.com>
29679
29680         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29681         assert; it's always possible that the pad gets deactivated in
29682         between the checks in gstpad.c and the implementation. Rely on
29683         finish_preroll() to return a FLUSHING or similar instead of on the
29684         assert.
29685         
29686         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29687         clock and post an EOS message if we come out of finish_preroll in
29688         the playing state.
29689
29690 2005-06-16  David Schleef  <ds@schleef.org>
29691
29692         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29693         (gst_capsfilter_set_property): Allow NULL as possible value
29694         for filter_caps property, indicating GST_CAPS_ANY.
29695
29696 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29697
29698         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29699           fix debug output
29700         * gst/schedulers/Makefile.am:
29701           use libgst prefix
29702         * gstreamer.spec.in:
29703           fix spec for it
29704
29705 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29706
29707         * gstreamer.spec.in:
29708           clean up
29709
29710 2005-06-08  Andy Wingo  <wingo@pobox.com>
29711
29712         * gst/gstutils.c: RPAD fixes all around.
29713         (gst_element_link_pads): Refcounting fixes.
29714
29715         * tools/gst-inspect.c:
29716         * tools/gst-xmlinspect.c:
29717         * parse/grammar.y:
29718         * gst/base/gsttypefindhelper.c:
29719         * gst/base/gstbasesink.c:
29720         * gst/gstqueue.c: RPAD fixes.
29721
29722         * gst/gstghostpad.h:
29723         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29724         pads. The tricky thing is they provide both source and sink
29725         interfaces, since they proxy the internal pad for the external
29726         pad, and vice versa. Implement with lower-level ProxyPad objects,
29727         with the interior proxy pad as a child of the exterior ghost pad.
29728         Should write a doc on this.
29729         
29730         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29731         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29732         gst_object API.
29733         
29734         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29735         pads are real pads. No ghost pads in this file. Not documenting
29736         the myriad s/RPAD/PAD/ and REALIZE fixes.
29737         (gst_pad_class_init): Add properties for "direction" and
29738         "template". Both are construct-only, so they can't change during
29739         the life of the pad. Fixes properly deriving from GstPad.
29740         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29741         derived objects, just set properties when creating the objects via
29742         g_object_new.
29743         (gst_pad_get_parent): Implement as a function, return NULL if the
29744         parent is not an element.
29745         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29746         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29747         
29748         * gst/gstobject.c (gst_object_class_init): Make name a construct
29749         property. Don't set it in the object init.
29750
29751         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29752         with UNKNOWN direction.
29753         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29754         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29755         (gst_element_remove_pad): Remove ghost-pad special cases.
29756         (gst_element_pads_activate): Remove rpad cruft.
29757
29758         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29759         catch the pad's-parent-not-an-element case.
29760
29761         * gst/gst.h: Include gstghostpad.h.
29762
29763         * gst/gst.c (init_post): No more real, ghost pads.
29764
29765         * gst/Makefile.am: Add gstghostpad.[ch].
29766
29767         * check/Makefile.am:
29768         * check/gst/gstbin.c:
29769         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29770         into a bin creates ghost pads, and that the refcounts are right.
29771         Partly moved from gstbin.c.
29772
29773 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29774
29775         * check/gst-libs/.cvsignore:
29776         * check/gst/.cvsignore:
29777         * check/pipelines/.cvsignore:
29778           ignore more
29779         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29780         (START_TEST), (cleanup_suite), (main):
29781           add some tests related to cleanup after running pipelines
29782
29783 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29784
29785         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29786           add a testsuite for GstBuffer
29787
29788 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29789
29790         * gst/gstminiobject.h:
29791           add defines for accessing the refcount
29792
29793 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29794
29795         * Makefile.am: added support for html unit test coverage reports
29796
29797 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29798
29799         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29800           Free existing caps if the capsfilter changes. Add a FIXME about
29801           setting those caps on the pads.
29802
29803         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29804           Before adding a ghost pad to a parent bin, check that there isn't
29805           already one for the element on the bin. Prevents infinite recursion
29806           when using decodebin in parse pipelines. Andy says he'll rewrite the
29807           way this works anyway, so ignore the hack.
29808
29809 2005-06-02  Andy Wingo  <wingo@pobox.com>
29810
29811         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29812         file size, pass it on to the type find helper.
29813
29814         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29815         segment_start and segment_end properly according to the seek
29816         method. Segment_end is still a bit flaky because offset can be
29817         negative for CUR and END cases, but it takes -1 as an "unset"
29818         value.
29819
29820 2005-06-02  Wim Taymans  <wim@fluendo.com>
29821
29822         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29823         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29824         (gst_basesink_activate):
29825         * gst/base/gstbasesink.h:
29826         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29827         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29828         (gst_pad_query), (gst_pad_start_task):
29829         * gst/gstpad.h:
29830         * gst/gstqueue.c: (gst_queue_bufferalloc),
29831         (gst_queue_handle_sink_event), (gst_queue_chain):
29832         Bufferalloc: return GstFlowReturn to more accuratly report
29833         why allocation failed.
29834
29835 2005-06-02  Wim Taymans  <wim@fluendo.com>
29836
29837         * gst/gstpipeline.c: (gst_pipeline_send_event):
29838         Take snapshot of state without blocking.
29839
29840 2005-06-02  Wim Taymans  <wim@fluendo.com>
29841
29842         * docs/design/part-TODO.txt:
29843         * docs/design/part-caps.txt:
29844         * docs/design/part-clocks.txt:
29845         * docs/design/part-negotiation.txt:
29846         * docs/design/part-preroll.txt:
29847         Small doc updates 
29848
29849 2005-05-30  Wim Taymans  <wim@fluendo.com>
29850
29851         * gst/elements/gstidentity.c: (gst_identity_event),
29852         (gst_identity_transform), (gst_identity_get_property):
29853         Protect last_message property as it is accessed from
29854         multiple threads.
29855
29856 2005-05-30  Wim Taymans  <wim@fluendo.com>
29857
29858         * gst/gstelement.c: (gst_element_init),
29859         (gst_element_pads_activate), (gst_element_change_state):
29860         Slicker pad activation code.
29861
29862 2005-05-30  Wim Taymans  <wim@fluendo.com>
29863
29864         * gst/Makefile.am:
29865         * gst/gstelement.h:
29866         * gst/gstelementfactory.h:
29867         * gst/gsttypes.h:
29868         Move elementfactory methods to separate .h file.
29869
29870 2005-05-30  Wim Taymans  <wim@fluendo.com>
29871
29872         * docs/design/part-overview.txt:
29873         * gst/gstsystemclock.h:
29874         Small typo fixes, doc updates.
29875
29876 2005-05-30  Wim Taymans  <wim@fluendo.com>
29877
29878         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29879         (init_popt_callback):
29880         Remove cpu-opt flag.
29881
29882 2005-05-30  Wim Taymans  <wim@fluendo.com>
29883
29884         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29885         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29886         * gst/gstbuffer.h:
29887         Avoid typechecking in places where not needed.
29888         Added accessor for malloc_data.
29889
29890 2005-05-30  Wim Taymans  <wim@fluendo.com>
29891
29892         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29893         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29894         (gst_pad_configure_sink), (gst_pad_configure_src),
29895         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29896         (gst_pad_start_task):
29897         Propagate errors from _set_caps() in configure_src/sink
29898         functions instead of returning TRUE.
29899         FLUSH events can travel up and downstream
29900
29901
29902 2005-05-30  Wim Taymans  <wim@fluendo.com>
29903
29904         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29905         (gst_basesink_activate):
29906         Handle EOS in preroll.
29907
29908 2005-05-30  Wim Taymans  <wim@fluendo.com>
29909
29910         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29911         (gst_queue_loop), (gst_queue_handle_src_event):
29912         Remove old pieces of code
29913         Flushing the queue in an upstream event is a very bad idea.
29914
29915 2005-05-26  Andy Wingo  <wingo@pobox.com>
29916
29917         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29918         gst_value_set_mini_object so as to add a ref on the object (which
29919         will be removed when the value is unset).
29920
29921         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29922         arg type in ::handoff.
29923
29924         * gst/gstelement.c (gst_element_change_state): Also deactivate
29925         pads in READY->NULL, just in case the element didn't make it to
29926         PAUSED. Wingo tested, Wim approved.
29927
29928 2005-05-26  Wim Taymans  <wim@fluendo.com>
29929
29930         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29931         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29932         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29933         A flushing pad cannot be used to alloc_buffer from.
29934
29935 2005-05-26  Wim Taymans  <wim@fluendo.com>
29936
29937         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29938         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29939         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29940         (gst_bus_create_watch), (gst_bus_add_watch_full):
29941         * gst/gstbus.h:
29942         Implement a real GSource and use g_main_context_wakeup() to
29943         signal new messages instead of the socketpair.
29944
29945 2005-05-25  Wim Taymans  <wim@fluendo.com>
29946
29947         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29948         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29949         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29950         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29951         (gst_pad_send_event), (gst_pad_start_task):
29952         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29953         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29954         (gst_queue_sink_activate), (gst_queue_src_activate),
29955         (gst_queue_change_state):
29956         * gst/gstqueue.h:
29957         Fix state changes for non sinks. We now change sinks, then elements
29958         with unconnected srcpads, then the rest.
29959         More efficient queue unlocking in flush and state changes.
29960         Set the pad activate mode even if it does not have an activate
29961         function.
29962
29963 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29964
29965         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29966           Don't go in pull mode for non-seekable sources.
29967         * gst/elements/gsttypefindelement.h:
29968         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29969         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29970         (free_entry), (stop_typefinding),
29971         (gst_type_find_element_handle_event), (find_peek),
29972         (gst_type_find_element_chain), (do_pull_typefind),
29973         (gst_type_find_element_change_state):
29974           Allow typefinding (w/o seeking) in push-mode, simplified version
29975           of what was in 0.8.
29976         * gst/gstutils.c: (gst_buffer_join):
29977         * gst/gstutils.h:
29978           gst_buffer_join() from 0.8.
29979
29980 2005-05-25  Wim Taymans  <wim@fluendo.com>
29981
29982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29983         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29984         (gst_pad_send_event), (gst_pad_start_task):
29985         Disable attempt at mode switching until it is figured out.
29986
29987 2005-05-25  Wim Taymans  <wim@fluendo.com>
29988
29989         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29990         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29991         (gst_basesink_finish_preroll), (gst_basesink_chain),
29992         (gst_basesink_loop), (gst_basesink_activate),
29993         (gst_basesink_change_state):
29994         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29995         (gst_basesrc_get_range), (gst_basesrc_loop),
29996         (gst_basesrc_activate):
29997         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29998         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29999         (gst_real_pad_init), (gst_real_pad_set_property),
30000         (gst_real_pad_get_property), (gst_pad_set_active),
30001         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30002         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30003         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30004         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30005         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30006         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30007         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30008         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30009         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30010         (gst_pad_stop_task):
30011         * gst/gstpad.h:
30012         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30013         (gst_queue_loop), (gst_queue_src_activate):
30014         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30015         (gst_task_get_state):
30016         * gst/gsttask.h:
30017         * gst/schedulers/threadscheduler.c:
30018         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30019         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30020         in task function.
30021         Remove ACTIVE pad flag, use FLUSHING everywhere
30022         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30023         functions.
30024         Add locks around IS_FLUSHING when reading.
30025         Take STREAM lock in chain(), get_range() functions so plugins
30026         don't need to take it anymore.
30027         
30028
30029
30030 2005-05-25  Wim Taymans  <wim@fluendo.com>
30031
30032         * tools/gst-launch.c: (event_loop):
30033         Unref message after using its contents instead of
30034         before.
30035
30036 2005-05-24  Wim Taymans  <wim@fluendo.com>
30037
30038         * docs/design/draft-ghostpads.txt:
30039         * docs/design/draft-push-pull.txt:
30040         * docs/design/draft-query.txt:
30041         * docs/design/part-overview.txt:
30042         Docs updates, added general overview doc.
30043
30044 2005-05-21  David Schleef  <ds@schleef.org>
30045
30046         * docs/gst/tmpl/old/GstBin.sgml:
30047         * docs/gst/tmpl/old/GstBuffer.sgml:
30048         * docs/gst/tmpl/old/GstCaps.sgml:
30049         * docs/gst/tmpl/old/GstClock.sgml:
30050         * docs/gst/tmpl/old/GstCompat.sgml:
30051         * docs/gst/tmpl/old/GstData.sgml:
30052         * docs/gst/tmpl/old/GstElement.sgml:
30053         * docs/gst/tmpl/old/GstEvent.sgml:
30054         * docs/gst/tmpl/old/GstIndex.sgml:
30055         * docs/gst/tmpl/old/GstStructure.sgml:
30056         * docs/gst/tmpl/old/GstTag.sgml:
30057         * docs/gst/tmpl/old/cothreads.sgml:
30058         * docs/gst/tmpl/old/cothreads_compat.sgml:
30059         * docs/gst/tmpl/old/gettext.sgml:
30060         * docs/gst/tmpl/old/gobject2gtk.sgml:
30061         * docs/gst/tmpl/old/grammar.tab.sgml:
30062         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30063         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30064         * docs/gst/tmpl/old/gst_private.sgml:
30065         * docs/gst/tmpl/old/gstaggregator.sgml:
30066         * docs/gst/tmpl/old/gstarch.sgml:
30067         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30068         * docs/gst/tmpl/old/gstbufferstore.sgml:
30069         * docs/gst/tmpl/old/gstdata_private.sgml:
30070         * docs/gst/tmpl/old/gstdisksink.sgml:
30071         * docs/gst/tmpl/old/gstdisksrc.sgml:
30072         * docs/gst/tmpl/old/gstelementfactory.sgml:
30073         * docs/gst/tmpl/old/gstextratypes.sgml:
30074         * docs/gst/tmpl/old/gstfakesink.sgml:
30075         * docs/gst/tmpl/old/gstfakesrc.sgml:
30076         * docs/gst/tmpl/old/gstfdsink.sgml:
30077         * docs/gst/tmpl/old/gstfdsrc.sgml:
30078         * docs/gst/tmpl/old/gstfilesink.sgml:
30079         * docs/gst/tmpl/old/gstfilesrc.sgml:
30080         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30081         * docs/gst/tmpl/old/gstidentity.sgml:
30082         * docs/gst/tmpl/old/gstindexfactory.sgml:
30083         * docs/gst/tmpl/old/gstmarshal.sgml:
30084         * docs/gst/tmpl/old/gstmd5sink.sgml:
30085         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30086         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30087         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30088         * docs/gst/tmpl/old/gstpipefilter.sgml:
30089         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30090         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30091         * docs/gst/tmpl/old/gstshaper.sgml:
30092         * docs/gst/tmpl/old/gstspider.sgml:
30093         * docs/gst/tmpl/old/gstspideridentity.sgml:
30094         * docs/gst/tmpl/old/gststatistics.sgml:
30095         * docs/gst/tmpl/old/gsttee.sgml:
30096         * docs/gst/tmpl/old/gsttimecache.sgml:
30097         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30098         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30099         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30100         * docs/gst/tmpl/old/types.sgml:
30101           I didn't intend to add these or check them in.
30102
30103 2005-05-19  David Schleef  <ds@schleef.org>
30104
30105         * configure.ac: Use -no-common everywhere.  In a sane world, it
30106           would be the default in libtool, because without it, you can't
30107           build DLLs on Windows.
30108         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30109         * docs/gst/gstreamer-sections.txt:
30110         * docs/gst/tmpl/gstcpu.sgml:
30111         * docs/gst/tmpl/gstdata.sgml:
30112         * docs/gst/tmpl/gstthread.sgml:
30113
30114 2005-05-19  David Schleef  <ds@schleef.org>
30115
30116         * gst/gstminiobject.c: (gst_value_set_mini_object),
30117         (gst_value_take_mini_object), (gst_value_get_mini_object):
30118         * gst/gstminiobject.h: Add GValue set/get functions.
30119
30120 2005-05-19  Wim Taymans  <wim@fluendo.com>
30121
30122         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30123         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30124         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30125         * gst/gstbuffer.h:
30126         * gst/gstbus.c: (gst_bus_post):
30127         * gst/gstelement.c: (gst_element_get_random_pad):
30128         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30129         Make subbufer unref the parent in finalize.
30130         some more debugging info.
30131
30132
30133 2005-05-19  Wim Taymans  <wim@fluendo.com>
30134
30135         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30136         (gst_basesink_init), (gst_basesink_finalize),
30137         (gst_basesink_activate), (gst_basesink_change_state):
30138         Don't free preroll queue too early.
30139
30140 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30141
30142         * gst/Makefile.am:
30143         * gst/ROADMAP:
30144           Hi, I'm outdated. Please shoot me.
30145
30146 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30147
30148         * gst/gstpipeline.c: (gst_pipeline_send_event):
30149           Do not access variables after they have been deleted.
30150
30151 2005-05-19  Wim Taymans  <wim@fluendo.com>
30152
30153         * tools/gst-inspect.c: (print_plugin_features):
30154         A plugin feature does unfortunatly not use the
30155         object name yet...
30156
30157 2005-05-18  Wim Taymans  <wim@fluendo.com>
30158
30159         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30160         Port _span() functions to new subbuffers.
30161
30162 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30163
30164         * gst/gstbin.c: (gst_bin_add_func):
30165           Fix clock settery in bins when adding kids after the clock has
30166           been selected.
30167
30168 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30169
30170         * gst/elements/gstidentity.c: (gst_identity_class_init):
30171           Workaround until signals support GstMiniObject.
30172
30173 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30174
30175         * gst/gstbuffer.c:
30176         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30177
30178 2005-05-18  Wim Taymans  <wim@fluendo.com>
30179
30180         * gst/base/Makefile.am:
30181         * gst/base/gstadapter.c: (gst_adapter_base_init),
30182         (gst_adapter_class_init), (gst_adapter_init),
30183         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30184         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30185         (gst_adapter_flush), (gst_adapter_available),
30186         (gst_adapter_available_fast):
30187         * gst/base/gstadapter.h:
30188         Ported and added adapter to the base classes.
30189
30190 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30191
30192         * gst/gst.c:
30193         * gst/gstmessage.c:
30194           Make sure the class is reffed/unreffed once before threads can be
30195           used.  Fixes #304551.
30196
30197 2005-05-17  Wim Taymans  <wim@fluendo.com>
30198
30199         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30200         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30201         * gst/gstminiobject.c: (gst_mini_object_get_type),
30202         (gst_mini_object_free):
30203         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30204         (gst_pad_push), (gst_pad_push_event):
30205         * gst/gstqueue.c: (gst_queue_change_state):
30206         Don't queue buffers in basesink when we are flushing.
30207         Unref buffer when flushing in basesink.
30208         Flush queue when going to READY
30209         Unref buffer when _push() returns an error.
30210         Don't free MiniObject instance when refcount is incremented
30211         in _finalize() so that we can recover objects.
30212
30213 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30214
30215         * docs/manual/advanced-schedulers.xml:
30216         * docs/manual/appendix-checklist.xml:
30217         * docs/pwg/advanced-clock.xml:
30218         * docs/pwg/advanced-interfaces.xml:
30219         * docs/pwg/advanced-request.xml:
30220         * docs/pwg/advanced-types.xml:
30221         * docs/pwg/intro-preface.xml:
30222         * examples/plugins/example.c: (gst_example_get_type),
30223         (gst_example_class_init), (gst_example_chain),
30224         (gst_example_set_property), (gst_example_get_property),
30225         (gst_example_change_state), (plugin_init):
30226         * examples/plugins/example.h:
30227           small doc fixes
30228
30229 2005-05-17  Wim Taymans  <wim@fluendo.com>
30230
30231         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30232         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30233         * gst/gstqueue.c: (gst_queue_change_state):
30234         Clear queue when going to READY.
30235         Remove IN_SETCAPS flag too.
30236
30237 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30238
30239         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30240           Remove implicit cast from gboolean to GstElementStateReturn;
30241           make sure we still return failure in paused => ready case if
30242           the parent class fails to change state and our own stop 
30243           vfunc succeeds.
30244
30245 2005-05-17  Wim Taymans  <wim@fluendo.com>
30246
30247         * tools/gst-launch.c: (event_loop):
30248         Message was unreffed too soon.
30249
30250 2005-05-16  Andy Wingo  <wingo@pobox.com>
30251
30252         * gst/gstbin.c (sink_iterator_filter): Err... um...
30253
30254         * check/gst/gstbin.c (test_ghost_pads): New test for the
30255         ghosting-if-elements-not-in-same-bin behavior.
30256
30257 2005-05-16  David Schleef  <ds@schleef.org>
30258
30259         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30260         accessing refcount directly.
30261
30262 2005-05-15  David Schleef  <ds@schleef.org>
30263
30264         * check/Makefile.am: remove GstData checks
30265         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30266         * gst/Makefile.am: add miniobject, remove data
30267         * gst/gst.h: add miniobject, remove data
30268         * gst/gstdata.c: remove
30269         * gst/gstdata.h: remove
30270         * gst/gstdata_private.h: remove
30271         * gst/gsttypes.h: remove GstEvent and GstMessage
30272         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30273         * gst/gstmarshal.list: change BOXED -> OBJECT
30274
30275         Implement GstMiniObject.
30276         * gst/gstminiobject.c:
30277         * gst/gstminiobject.h:
30278
30279         Modify to be subclasses of GstMiniObject.
30280         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30281         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30282         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30283         (gst_subbuffer_get_type), (gst_subbuffer_init),
30284         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30285         (gst_buffer_span):
30286         * gst/gstbuffer.h:
30287         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30288         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30289         (_gst_event_copy), (gst_event_new):
30290         * gst/gstevent.h:
30291         * gst/gstmessage.c: (_gst_message_initialize),
30292         (gst_message_get_type), (gst_message_class_init),
30293         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30294         (gst_message_new), (gst_message_new_error),
30295         (gst_message_new_warning), (gst_message_new_tag),
30296         (gst_message_new_state_changed), (gst_message_new_application):
30297         * gst/gstmessage.h:
30298         * gst/gstprobe.c: (gst_probe_perform),
30299         (gst_probe_dispatcher_dispatch):
30300         * gst/gstprobe.h:
30301         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30302         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30303         (_gst_query_copy), (gst_query_new):
30304
30305         Update elements for GstData -> GstMiniObject changes
30306         * gst/gstquery.h:
30307         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30308         (gst_queue_chain), (gst_queue_loop):
30309         * gst/elements/gstbufferstore.c:
30310         (gst_buffer_store_add_buffer_func),
30311         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30312         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30313         (gst_fakesink_render):
30314         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30315         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30316         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30317         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30318         (gst_filesrc_create_read):
30319         * gst/elements/gstidentity.c: (gst_identity_class_init):
30320         * gst/elements/gsttypefindelement.c:
30321         (gst_type_find_element_src_event), (free_entry_buffers),
30322         (gst_type_find_element_handle_event):
30323         * libs/gst/dataprotocol/dataprotocol.c:
30324         (gst_dp_header_from_buffer):
30325         * libs/gst/dataprotocol/dataprotocol.h:
30326         * libs/gst/dataprotocol/dp-private.h:
30327
30328 2005-05-15  David Schleef  <ds@schleef.org>
30329
30330         * gst/elements/gstelements.c: Don't include headers that were
30331         just removed.
30332
30333 2005-05-15  David Schleef  <ds@schleef.org>
30334
30335         * gst/elements/Makefile.am: Remove some elements that don't
30336         need to be in the core (or even exist at all).
30337         * gst/elements/gstaggregator.c:
30338         * gst/elements/gstaggregator.h:
30339         * gst/elements/gstmd5sink.c:
30340         * gst/elements/gstmd5sink.h:
30341         * gst/elements/gstmultifilesrc.c:
30342         * gst/elements/gstmultifilesrc.h:
30343         * gst/elements/gstpipefilter.c:
30344         * gst/elements/gstpipefilter.h:
30345         * gst/elements/gstshaper.c:
30346         * gst/elements/gstshaper.h:
30347         * gst/elements/gststatistics.c:
30348         * gst/elements/gststatistics.h:
30349         * po/POTFILES.in: Remove above files.
30350
30351 2005-05-14  Andy Wingo  <wingo@pobox.com>
30352
30353         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30354         so as to get the refs right.
30355         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30356         unreffing objects that don't pass the filter.
30357
30358         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30359         gst_element_set_bus.
30360         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30361         normal cases, this will destroy the bus.
30362
30363         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30364         object.
30365
30366         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30367         has no sinks.
30368
30369 2005-05-13  Andy Wingo  <wingo@pobox.com>
30370
30371         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30372         gst_pad_link, call pad_link_maybe_ghosting,
30373         (pad_link_maybe_ghosting): Links pads, making sure that the
30374         elements being linked are in the same bin.
30375         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30376         Helpers for pad_link_maybe_ghosting.
30377
30378 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30379
30380         * configure.ac:
30381           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30382
30383 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30384
30385         * docs/design/part-element-source.txt:
30386           Mention GstPushSrc
30387
30388 2005-05-12  Wim Taymans  <wim@fluendo.com>
30389
30390         * gst/base/gstbasesink.c: (gst_basesink_init),
30391         (gst_basesink_activate):
30392         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30393         (gst_basesrc_is_seekable):
30394         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30395         (bin_element_is_sink), (gst_bin_change_state):
30396         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30397         * gst/gstelement.h:
30398         Identify sinks by their flag to avoid overly complicated
30399         checks (fow now).
30400         Do state changes even for elements not reachable from the
30401         sinks.
30402         BaseSink is a sink now :)
30403         Some more debugging info in the basesrc.
30404
30405
30406 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30407
30408         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30409           Implement _query on a bin, similar to _send_event.
30410
30411 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30412
30413         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30414           Discont event offset format should be GST_FORMAT_BYTES,
30415           not GST_FORMAT_TIME.
30416
30417 2005-05-12  Wim Taymans  <wim@fluendo.com>
30418
30419         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30420         Same fix as Ronald's but without the signal. 
30421
30422 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30423
30424         * gst/gstutils.c: (gst_element_query_position):
30425           No, an element is not a pad.
30426
30427 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30428
30429         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30430         (gst_bin_get_state):
30431           If a child is removed from a bin while we remove the child from
30432           the bin and while we're retrieving its state, signal this to the
30433           get_state function so we abort the wait (instead of waiting for
30434           a timeout) and can immediately re-iterate over all other elements.
30435
30436 2005-05-12  Wim Taymans  <wim@fluendo.com>
30437
30438         * gst/base/Makefile.am:
30439         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30440         (gst_basesrc_start):
30441         * gst/base/gstbasesrc.h:
30442         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30443         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30444         (gst_pushsrc_init), (gst_pushsrc_create):
30445         * gst/base/gstpushsrc.h:
30446         Added is_seekable to BaseSrc
30447         Added simple PushSrc.
30448
30449 2005-05-11  Wim Taymans  <wim@fluendo.com>
30450
30451         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30452         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30453         (gst_element_link_pads), (gst_element_query_position),
30454         (gst_element_query_convert), (intersect_caps_func),
30455         (gst_pad_query_position), (gst_pad_query_convert):
30456         Fix refcounting in utils function.
30457         No point in trying to activate a pad when it's added, it could
30458         be added from the state change function and then we deadlock, the
30459         element has to decide what to do.
30460
30461 2005-05-10  Andy Wingo  <wingo@pobox.com>
30462
30463         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30464         *all* the arguments.
30465
30466         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30467         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30468         lock (according to the docs -- if this is wrong change the docs).
30469
30470         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30471         flush messages in the NULL state.
30472
30473         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30474         message immediately and return.
30475         (gst_bus_set_flushing): New function. If a bus is flushing, it
30476         flushes out any queued messages and immediately unrefs new
30477         messages. This is so when an element goes to NULL, all of the
30478         unhandled messages coming from it can be freed, and their
30479         references to the element dropped. In other words: message source
30480         ref considered harmful :P
30481
30482         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30483         we're finished with it.
30484
30485         * gst/gstmessage.c (gst_message_new_state_changed): 
30486
30487 2005-05-10  Wim Taymans  <wim@fluendo.com>
30488
30489         * gst/gstvalue.c: (gst_value_compare_flags),
30490         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30491         (_gst_value_initialize):
30492         Added flags serialize/deserialize/compare code.
30493
30494 2005-05-09  Andy Wingo  <wingo@pobox.com>
30495
30496         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30497         Intersect the peer's caps with our caps.
30498
30499 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30500
30501         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30502         * gst/elements/gsttypefindelement.c: (find_peek):
30503           Handle negative offsets better. Fixes decodebin.
30504
30505 2005-05-09  Wim Taymans  <wim@fluendo.com>
30506
30507         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30508         (gst_base_transform_event):
30509         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30510         Implement accept_caps.
30511         Fix silly lock/unlock mismatch in base class.
30512
30513 2005-05-09  Wim Taymans  <wim@fluendo.com>
30514
30515         * docs/design/draft-push-pull.txt:
30516         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30517         * gst/elements/gstfilesink.c: (gst_filesink_init),
30518         (gst_filesink_query):
30519         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30520         (gst_type_find_handle_src_query), (find_element_get_length):
30521         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30522         * gst/gstelement.h:
30523         * gst/gstmessage.c:
30524         * gst/gstmessage.h:
30525         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30526         (gst_real_pad_get_caps_unlocked),
30527         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30528         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30529         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30530         (gst_real_pad_dispose), (gst_real_pad_finalize),
30531         (gst_pad_load_and_link), (gst_pad_save_thyself),
30532         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30533         (gst_pad_check_pull_range), (gst_pad_pull_range),
30534         (gst_pad_template_get_type), (gst_pad_template_class_init),
30535         (gst_pad_template_init), (gst_pad_template_dispose),
30536         (name_is_valid), (gst_static_pad_template_get),
30537         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30538         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30539         (gst_pad_get_element_private), (gst_pad_start_task),
30540         (gst_pad_pause_task), (gst_pad_stop_task),
30541         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30542         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30543         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30544         (gst_ghost_pad_new):
30545         * gst/gstpad.h:
30546         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30547         (gst_query_new_position), (gst_query_set_position),
30548         (gst_query_parse_position), (gst_query_new_convert),
30549         (gst_query_set_convert), (gst_query_parse_convert):
30550         * gst/gstquery.h:
30551         * gst/gstqueryutils.c:
30552         * gst/gstqueryutils.h:
30553         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30554         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30555         (gst_queue_handle_src_query):
30556         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30557         (gst_element_query_position), (gst_element_query_convert),
30558         (intersect_caps_func), (gst_pad_query_position),
30559         (gst_pad_query_convert):
30560         * gst/gstutils.h:
30561         * tools/gst-inspect.c: (print_pad_info):
30562         * tools/gst-xmlinspect.c: (print_element_info):
30563         Remove old query functions. Ported old code.
30564         Added position/convert helper functions to gstutils.
30565         Reordered gstpad.c code, grouping relevant things.
30566         Remove gst_message_new(), always need to speficy a specific
30567         message.
30568
30569
30570 2005-05-09  Andy Wingo  <wingo@pobox.com>
30571
30572         * gst/gstiterator.h: Add some includes.
30573
30574         * gst/gstqueryutils.h: Include more headers.
30575
30576         * gst/gstpad.h:
30577         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30578         some uses of gst_pad_query.
30579
30580         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30581         NULL out parameters.
30582         (gst_query_new_position): New proc, allocates a new position
30583         query.
30584
30585         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30586         gstqueryutils.c to the build.
30587
30588         * gst/gststructure.c (gst_structure_set_valist): Implement with
30589         the generic G_VALUE_COLLECT.
30590         
30591 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30592
30593         * gst/Makefile.am: (gst_headers):
30594         Added gstqueryutils.h to the list of headers to install, that was
30595         a 'nachty' move wingo :)
30596
30597 2005-05-06  Andy Wingo  <wingo@pobox.com>
30598
30599         * gst/gstquery.h
30600         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30601         GstData, init a memchunk.
30602         (standard_definitions): Add a few query types, deprecate a few.
30603         (gst_query_get_type): New proc.
30604         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30605         implementation.
30606         (gst_query_new_application, gst_query_get_structure): New public
30607         procs.
30608
30609         * docs/design/draft-query.txt: Removed LINKS from the query types,
30610         because all the rest can be dispatched to other pads -- seemed
30611         ugly to have a query that couldn't be dispatched. internal_links
30612         is fine as a pad method.
30613
30614         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30615         in gstpad.c, but maintain binary compatibility for the moment.
30616         Will fix before 0.9 is out.
30617
30618         * gst/gstqueryutils.c: 
30619         * gst/gstqueryutils.h: New files, implement 3 methods for each
30620         query type: parse_query, parse_response, and set. Probably need an
30621         allocator as well.
30622
30623         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30624
30625         * gst/elements/gstfilesink.c (gst_filesink_query2):
30626         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30627         query_types, and formats methods.
30628
30629         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30630         (gst_pad_set_query2_function): New functions.
30631         (gst_real_pad_init): Set query2_default as the default query2
30632         function. Basically just dispatches to internally linked pads.
30633
30634         Needs review!
30635         
30636         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30637         without using the atomic operations. Only one thread can possibly
30638         be accessing the data at this point. Changed so as to avoid
30639         gst_atomic operations.
30640
30641 2005-05-06  Wim Taymans  <wim@fluendo.com>
30642
30643         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30644         Also set caps if we use the fallback buffer alloc.
30645
30646 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30647
30648         * docs/gst/Makefile.am:
30649         * docs/gst/gstreamer-docs.sgml:
30650         * docs/gst/gstreamer-sections.txt:
30651         * docs/gst/tmpl/gstatomic.sgml:
30652         * docs/gst/tmpl/gstmemchunk.sgml:
30653         * testsuite/elements/struct_i386.h:
30654         * win32/GStreamer.vcproj:
30655         * win32/Makefile:
30656           Purge GstAtomic stuff from docs and win32 makefiles as well
30657
30658 2005-05-06  Wim Taymans  <wim@fluendo.com>
30659
30660         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30661         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30662         * gst/gstpad.c: (gst_pad_peer_get_caps):
30663         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30664         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30665         (gst_queue_src_activate), (gst_queue_change_state):
30666         * gst/gstqueue.h:
30667         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30668         (intersect_caps_func):
30669         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30670         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30671         Some fixes for the peer_get_caps() change.
30672
30673 2005-05-06  Wim Taymans  <wim@fluendo.com>
30674
30675         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30676         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30677         (gst_basesink_activate):
30678         Actually do something with error codes returned from the push
30679         functions.
30680
30681 2005-05-06  Wim Taymans  <wim@fluendo.com>
30682
30683         * docs/design/part-element-sink.txt:
30684         * docs/design/part-element-source.txt:
30685         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30686         (gst_basesink_event), (gst_basesink_activate):
30687         * gst/base/gstbasesink.h:
30688         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30689         (gst_basesrc_activate):
30690         * gst/base/gstbasesrc.h:
30691         * gst/gstelement.c: (gst_element_pads_activate):
30692         Some more documentation.
30693         Fixed scheduling decision in _pads_activate().
30694
30695 2005-05-05  Andy Wingo  <wingo@pobox.com>
30696
30697         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30698         the test suite.
30699
30700 2005-05-05  Wim Taymans  <wim@fluendo.com>
30701
30702         * gst/base/Makefile.am:
30703         * gst/base/gstbasesink.h:
30704         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30705         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30706         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30707         (gst_collectpads_class_init), (gst_collectpads_init),
30708         (gst_collectpads_finalize), (gst_collectpads_new),
30709         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30710         (find_pad), (gst_collectpads_remove_pad),
30711         (gst_collectpads_is_active), (gst_collectpads_collect),
30712         (gst_collectpads_collect_range), (gst_collectpads_start),
30713         (gst_collectpads_stop), (gst_collectpads_peek),
30714         (gst_collectpads_pop), (gst_collectpads_available),
30715         (gst_collectpads_read), (gst_collectpads_flush),
30716         (gst_collectpads_chain):
30717         * gst/base/gstcollectpads.h:
30718         * gst/elements/Makefile.am:
30719         * gst/elements/gstelements.c:
30720         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30721         (gst_fakesink_get_times), (gst_fakesink_event),
30722         (gst_fakesink_preroll), (gst_fakesink_render):
30723         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30724         (gst_filesink_init), (gst_filesink_set_location),
30725         (gst_filesink_open_file), (gst_filesink_close_file),
30726         (gst_filesink_pad_query), (gst_filesink_event),
30727         (gst_filesink_render), (gst_filesink_change_state):
30728         * gst/elements/gstfilesink.h:
30729         Added object to help in making collect pad based elements.
30730         Ported filesink.
30731         Make event function in sink baseclass return gboolean.
30732
30733 2005-05-05  Wim Taymans  <wim@fluendo.com>
30734
30735         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30736         (gst_bin_get_by_name):
30737         * gst/gstbuffer.h:
30738         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30739         (gst_clock_finalize):
30740         * gst/gstdata.c: (gst_data_replace):
30741         * gst/gstdata.h:
30742         * gst/gstelement.c: (gst_element_request_pad),
30743         (gst_element_pads_activate):
30744         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30745         (gst_object_unref):
30746         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30747         (gst_pad_set_checkgetrange_function),
30748         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30749         (gst_pad_check_pull_range), (gst_pad_pull_range),
30750         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30751         (gst_pad_pause_task), (gst_pad_stop_task):
30752         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30753         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30754         Fix name lookup in GstBin.
30755         Added _data_replace() function and _buffer_replace()
30756         Use finalize method to clean up clock.
30757         Fix refcounting on request pads.
30758         Fix pad schedule mode error.
30759         Some more object refcounting debug info,
30760
30761
30762 2005-05-04  Andy Wingo <wingo@pobox.com>
30763
30764         * check/Makefile.am:
30765         * docs/gst/tmpl/gstatomic.sgml:
30766         * docs/gst/tmpl/gstplugin.sgml:
30767         * gst/base/gstbasesink.c: (gst_basesink_activate):
30768         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30769         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30770         (gst_basesrc_query), (gst_basesrc_set_property),
30771         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30772         (gst_basesrc_activate):
30773         * gst/base/gstbasesrc.h:
30774         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30775         (gst_base_transform_src_activate):
30776         * gst/elements/gstelements.c:
30777         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30778         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30779         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30780         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30781         (gst_type_find_element_checkgetrange),
30782         (gst_type_find_element_activate):
30783         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30784         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30785         (gst_caps_load_thyself):
30786         * gst/gstelement.c: (gst_element_pads_activate),
30787         (gst_element_save_thyself), (gst_element_restore_thyself):
30788         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30789         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30790         * gst/gstpad.h:
30791         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30792         (gst_xml_parse_file), (gst_xml_parse_memory),
30793         (gst_xml_get_element), (gst_xml_make_element):
30794         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30795         (_file_index_id_save_xml), (gst_file_index_commit):
30796         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30797         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30798         (load_paths):
30799         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30800         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30801         * tools/gst-complete.c: (main):
30802         * tools/gst-compprep.c: (main):
30803         * tools/gst-inspect.c: (print_element_properties_info):
30804         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30805         * tools/gst-xmlinspect.c: (print_element_properties):
30806         GCC 4 fixen.
30807         
30808 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30809
30810         * gst/gstplugin.c: (gst_plugin_check_module),
30811         (gst_plugin_check_file), (gst_plugin_load_file):
30812             apply patch from #172526 to make register work on MacOSX
30813
30814 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30815
30816         * docs/gst/tmpl/gstconfig.sgml:
30817         * gst/gstconfig.h.in:
30818           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30819         * testsuite/debug/printf_extension.c: (main):
30820           Do not use GST_PTR_FORMAT on pointers to types with
30821           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30822         * testsuite/elements/property.h:
30823           use correct printf format
30824
30825 2005-05-02  Wim Taymans  <wim@fluendo.com>
30826
30827         * docs/design/draft-push-pull.txt:
30828         * docs/design/draft-query.txt:
30829         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30830         (gst_basesrc_start):
30831         Added draft for new query API.
30832         Added draft for better selecting scheduling methods.
30833         Make basesrc ignore length if the subclass does not support
30834         it.
30835
30836 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30837
30838         * gst/Makefile.am:
30839           possible fixes for automake-1.5 - _LIBADD is reserved
30840
30841 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30842
30843         * docs/faq/Makefile.am:
30844         * docs/manual/Makefile.am:
30845         * docs/manuals.mak:
30846         * docs/pwg/Makefile.am:
30847         * gst/Makefile.am:
30848           possible fixes for automake-1.5
30849
30850 2005-04-28  Wim Taymans  <wim@fluendo.com>
30851
30852         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30853         (gst_basesink_pad_getcaps), (gst_basesink_init),
30854         (gst_basesink_do_sync):
30855         * gst/gstclock.c: (gst_clock_entry_new):
30856         * gst/gstevent.c: (gst_event_discont_get_value):
30857         * gst/gstpipeline.c: (pipeline_bus_handler),
30858         (gst_pipeline_change_state):
30859         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30860         Better debugging of clocking info.
30861         Allow NULL values when getting discont values.
30862
30863 2005-04-27  Wim Taymans  <wim@fluendo.com>
30864
30865         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30866         * check/gst/gstpad.c: (gst_pad_suite):
30867         Increase timeout for checks.
30868
30869 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30870
30871         * check/Makefile.am:
30872           fix the broken rule for cleanup.  Apparently this rule is
30873           only needed on FC2, so maybe this warrants further autotool
30874           inspection.
30875
30876 2005-04-26  Wim Taymans  <wim@fluendo.com>
30877
30878         * gst/gsttrashstack.h:
30879         Ooohh. a nasty one! After having a failed pop() from the stack,
30880         it's possible that the stack is empty. In that case, don't
30881         follow the NULL pointer.
30882
30883 2005-04-25  Wim Taymans  <wim@fluendo.com>
30884
30885         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30886         (gst_pad_set_checkgetrange_function),
30887         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30888         (gst_pad_check_pull_range), (gst_pad_pull_range),
30889         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30890         (gst_pad_pause_task), (gst_pad_stop_task):
30891         * gst/gstplugin.c: (gst_plugin_load):
30892         * gst/gstplugin.h:
30893         Remove gst_library_load as it does more harm than good with
30894         the new g_module flags.
30895         Revert bogus caps template check in pad linking, pad caps
30896         are important when linking not the template, which is more
30897         general than the current caps.
30898
30899 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30900
30901         * gst/autoplug/.cvsignore:
30902         * gst/autoplug/Makefile.am:
30903         * gst/autoplug/gstsearchfuncs.c:
30904         * gst/autoplug/gstsearchfuncs.h:
30905         * gst/autoplug/gstspider.c:
30906         * gst/autoplug/gstspider.h:
30907         * gst/autoplug/gstspideridentity.c:
30908         * gst/autoplug/gstspideridentity.h:
30909         * gst/autoplug/spidertest.c:
30910           Die, spider, die.
30911
30912 2005-04-25  Wim Taymans  <wim@fluendo.com>
30913
30914         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30915         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30916         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30917         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30918         * gst/gstpad.h:
30919         Added stubs for unimplemented functions. 
30920
30921 2005-04-24  David Schleef  <ds@schleef.org>
30922
30923         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30924         please fix.
30925
30926 2005-04-24  David Schleef  <ds@schleef.org>
30927
30928         Convert everything from GstAtomicInt to g_atomic_int_*, and
30929         remove gstatomic.
30930         * gst/Makefile.am:
30931         * gst/gstatomic.c:
30932         * gst/gstatomic.h:
30933         * gst/gstatomic_impl.h:
30934         * gst/gstbuffer.c:
30935         * gst/gstcaps.c:
30936         * gst/gstcaps.h:
30937         * gst/gstclock.c:
30938         * gst/gstclock.h:
30939         * gst/gstdata.c:
30940         * gst/gstdata.h:
30941         * gst/gstdata_private.h:
30942         * gst/gstevent.c:
30943         * gst/gstinfo.c:
30944         * gst/gstinfo.h:
30945         * gst/gstmessage.c:
30946         * gst/gstobject.c:
30947         * gst/gstobject.h:
30948         * gst/gststructure.c:
30949         * gst/gststructure.h:
30950         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30951         * gst/gstutils.h:
30952
30953 2005-04-24  David Schleef  <ds@schleef.org>
30954
30955         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30956         make the regressions tests work.  Remove some code that is no
30957         longer true.
30958         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30959         Disable warning for pads without templates.
30960
30961 2005-04-24  David Schleef  <ds@schleef.org>
30962
30963         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30964         functions that handle filtered links.
30965         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30966         removed functions.
30967         * gst/gstutils.c: Fix/remove utility functions that handle
30968         filtered caps.
30969         * gst/gstutils.h:
30970         * gst/gstvalue.c: Add serialization/deserialization of caps
30971         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30972         requires fixing so that the filter caps notation creates
30973         a capsfilter element and sets the filter_caps property.  I
30974         think everyone probably wants to keep the shorthand notation.
30975         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30976         * docs/gst/tmpl/gstpad.sgml:
30977
30978         * gst/elements/gstelements.c: Register capsfilter element.
30979         * gst/Makefile.am: fix spacing
30980         * docs/random/ds/0.9-suggested-changes: random
30981
30982 2005-04-23  David Schleef  <ds@schleef.org>
30983
30984         * gst/elements/Makefile.am:
30985         * gst/elements/gstcapsfilter.c: New element that acts like an
30986         identity, but filters caps.  Will eventually replace filtered
30987         caps in pad linking.
30988         * gst/gstutils.c: (gst_element_create_all_pads): New function
30989         to create all the ALWAYS pads that are registered with an
30990         element class.  This functionality should eventually be
30991         merged in with GstElement initialization.
30992         * gst/gstutils.h:
30993         * testsuite/trigger/README: part of trigger test code that should
30994         have been checked in a long time ago.
30995
30996 2005-04-23  David Schleef  <ds@schleef.org>
30997
30998         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30999         needed with new versions of libtool (nobody will confirm this),
31000         and hard to carry around.
31001         * gst/autoplug/Makefile.am:
31002         * gst/base/Makefile.am:
31003         * gst/elements/Makefile.am:
31004         * gst/indexers/Makefile.am:
31005         * gst/schedulers/Makefile.am:
31006         * libs/gst/bytestream/Makefile.am:
31007         * libs/gst/control/Makefile.am:
31008         * libs/gst/dataprotocol/Makefile.am:
31009         * libs/gst/getbits/Makefile.am:
31010
31011 2005-04-21  Wim Taymans  <wim@fluendo.com>
31012
31013         * docs/design/draft-push-pull.txt:
31014         * docs/design/part-MT-refcounting.txt:
31015         * docs/design/part-TODO.txt:
31016         * docs/design/part-caps.txt:
31017         * docs/design/part-events.txt:
31018         * docs/design/part-gstbus.txt:
31019         * docs/design/part-gstpipeline.txt:
31020         * docs/design/part-messages.txt:
31021         * docs/design/part-push-pull.txt:
31022         * docs/design/part-query.txt:
31023         Some more docs.
31024
31025 2005-04-21  Wim Taymans  <wim@fluendo.com>
31026
31027         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31028         (gst_message_new), (gst_message_new_error),
31029         (gst_message_new_warning), (gst_message_new_tag),
31030         (gst_message_new_state_changed), (gst_message_new_application),
31031         (gst_message_get_structure):
31032         * gst/gstmessage.h:
31033         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31034         (gst_structure_copy_conditional):
31035         Use parent refcount in GstMessage to ensure GstStructure
31036         consistency.
31037         Cleaned up headers a bit.
31038         
31039
31040 2005-04-20  Wim Taymans  <wim@fluendo.com>
31041
31042         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31043         (gst_basesink_pad_getcaps), (gst_basesink_init),
31044         (gst_basesink_chain_unlocked):
31045         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31046         (gst_type_find_helper):
31047         * gst/elements/gsttypefindelement.c:
31048         (gst_type_find_element_have_type), (gst_type_find_element_init),
31049         (stop_typefinding), (gst_type_find_element_handle_event),
31050         (find_suggest), (gst_type_find_element_chain),
31051         (gst_type_find_element_checkgetrange),
31052         (gst_type_find_element_getrange), (do_typefind),
31053         (gst_type_find_element_activate):
31054         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31055         (gst_buffer_default_free), (gst_buffer_default_copy),
31056         (gst_buffer_set_caps):
31057         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31058         (gst_caps_replace):
31059         * gst/gstmessage.c: (gst_message_new),
31060         (gst_message_new_state_changed):
31061         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31062         (gst_pad_set_checkgetrange_function),
31063         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31064         (gst_pad_set_caps), (gst_pad_check_pull_range),
31065         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31066         * gst/gstpad.h:
31067         * gst/gsttypefind.c: (gst_type_find_register):
31068         Make gst_caps_replace() work like other _replace() functions.
31069         Use _caps_replace() where possible.
31070         Make sure _message_new() initialises its field.
31071         Add gst_static_pad_template_get_caps()
31072
31073
31074 2005-04-18  Andy Wingo  <wingo@pobox.com>
31075
31076         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31077         on the peer, not the pad. I think that was a typo. Pass an extra
31078         arg to see if random access is possible. Activate the pads as
31079         PULL_RANGE if possible.
31080
31081         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31082
31083         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31084         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31085         to PROP_....
31086
31087 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31088
31089         * docs/faq/using.xml:
31090           Add note on gstreamer-properties (#154996).
31091
31092 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31093
31094         * docs/random/bbb/optional-properties:
31095           Some analysis on optional properties.
31096
31097 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31098
31099         * docs/gst/tmpl/gstelementfactory.sgml:
31100         * gst/gstelement.h:
31101         * gst/gstelementfactory.c: (gst_element_factory_init),
31102         (gst_element_factory_cleanup), (gst_element_register),
31103         (__gst_element_factory_add_static_pad_template),
31104         (gst_element_factory_get_static_pad_templates),
31105         (gst_element_factory_can_src_caps),
31106         (gst_element_factory_can_sink_caps):
31107         * gst/registries/Makefile.am:
31108         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31109         (gst_xml_registry_class_init), (gst_xml_registry_init),
31110         (gst_xml_registry_new), (gst_xml_registry_set_property),
31111         (gst_xml_registry_get_property), (get_time), (make_dir),
31112         (gst_xml_registry_get_perms_func),
31113         (plugin_times_older_than_recurse), (plugin_times_older_than),
31114         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31115         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31116         (add_to_char_array), (read_string), (read_uint), (read_enum),
31117         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31118         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31119         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31120         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31121         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31122         (gst_xml_registry_rebuild):
31123         * gst/registries/gstlibxmlregistry.h:
31124         * tools/gst-compprep.c: (main):
31125         * tools/gst-inspect.c: (print_pad_templates_info):
31126         * tools/gst-xmlinspect.c: (print_element_info):
31127           Use libxml2 for registry parsing, use staticpadtemplates in
31128           elementfactories. Makes gst_init() +/- 10x faster.
31129
31130 2005-04-12  Wim Taymans  <wim@fluendo.com>
31131
31132         * gst/base/Makefile.am:
31133         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31134         (gst_basesink_pad_getcaps), (gst_basesink_init),
31135         (gst_basesink_event), (gst_basesink_change_state):
31136         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31137         (gst_basesrc_init), (gst_basesrc_query),
31138         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31139         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31140         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31141         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31142         (gst_basesrc_stop), (gst_basesrc_activate),
31143         (gst_basesrc_change_state):
31144         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31145         (helper_find_suggest), (gst_type_find_helper):
31146         * gst/base/gsttypefindhelper.h:
31147         * gst/elements/Makefile.am:
31148         * gst/elements/gstelements.c:
31149         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31150         (gst_fakesink_get_times), (gst_fakesink_event),
31151         (gst_fakesink_preroll), (gst_fakesink_render):
31152         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31153         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31154         (gst_fakesrc_get_property), (gst_fakesrc_create),
31155         (gst_fakesrc_start), (gst_fakesrc_stop):
31156         * gst/elements/gstfakesrc.h:
31157         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31158         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31159         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31160         (gst_filesrc_create_read), (gst_filesrc_create),
31161         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31162         (gst_filesrc_start):
31163         * gst/elements/gsttypefindelement.c:
31164         (gst_type_find_element_have_type), (gst_type_find_element_init),
31165         (start_typefinding), (stop_typefinding), (push_buffer_store),
31166         (gst_type_find_element_handle_event),
31167         (gst_type_find_element_chain),
31168         (gst_type_find_element_checkgetrange),
31169         (gst_type_find_element_getrange), (do_typefind),
31170         (gst_type_find_element_activate),
31171         (gst_type_find_element_change_state):
31172         * gst/elements/gsttypefindelement.h:
31173         * gst/gstpipeline.c: (pipeline_bus_handler):
31174         Added typefind helper.
31175         Small preroll fix in the base sink.
31176         Disable typefind code in basesrc.
31177         Crude port of typefindelement.
31178         Fakesrc cleanups.
31179
31180
31181 2005-04-11  Wim Taymans  <wim@fluendo.com>
31182
31183         * check/gst/gstbus.c: (gstbus_suite):
31184         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31185         * check/gstcheck.h:
31186           Fix up the timeout so that the test does not fail.
31187
31188 2005-04-06  Wim Taymans  <wim@fluendo.com>
31189
31190         * gst/base/README:
31191         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31192         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31193         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31194         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31195         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31196         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31197         (gst_basesrc_stop), (gst_basesrc_activate),
31198         (gst_basesrc_change_state), (basesrc_find_peek),
31199         (basesrc_find_suggest), (gst_basesrc_type_find):
31200         * gst/base/gstbasesrc.h:
31201         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31202         (gst_filesrc_class_init), (gst_filesrc_init),
31203         (gst_filesrc_finalize), (gst_filesrc_set_location),
31204         (gst_filesrc_set_property), (gst_filesrc_get_property),
31205         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31206         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31207         (gst_filesrc_create_read), (gst_filesrc_create),
31208         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31209         * gst/elements/gstfilesrc.h:
31210         * gst/gstelement.c: (gst_element_get_state_func),
31211         (gst_element_lost_state), (gst_element_pads_activate):
31212         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31213         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31214         (gst_pad_pull_range):
31215         * gst/gstpad.h:
31216         More work on the generic source base class, implement seeking,
31217         query.
31218         Make filesrc extend the base source class.
31219         Added gst_pad_set_checkgetrange_function to GstPad.
31220
31221 2005-04-06  Andy Wingo  <wingo@pobox.com>
31222
31223         * pkgconfig/gstreamer-base.pc.in:
31224         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31225
31226         * pkgconfig/Makefile.am:
31227         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31228
31229 2005-04-04  Wim Taymans  <wim@fluendo.com>
31230
31231         * gst/base/Makefile.am:
31232         * gst/base/README:
31233         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31234         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31235         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31236         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31237         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31238         (gst_basesrc_base_init), (gst_basesrc_class_init),
31239         (gst_basesrc_init), (gst_basesrc_get_formats),
31240         (gst_basesrc_get_query_types), (gst_basesrc_query),
31241         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31242         (gst_basesrc_set_property), (gst_basesrc_get_property),
31243         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31244         (gst_basesrc_loop), (gst_basesrc_activate),
31245         (gst_basesrc_change_state):
31246         * gst/base/gstbasesrc.h:
31247         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31248         (gst_fakesrc_class_init), (gst_fakesrc_init),
31249         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31250         (gst_fakesrc_get_property), (gst_fakesrc_create):
31251         * gst/elements/gstfakesrc.h:
31252         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31253         (gst_filesrc_open_file), (gst_filesrc_loop),
31254         (gst_filesrc_activate), (filesrc_find_peek),
31255         (gst_filesrc_type_find):
31256         Made base source class, make fakesrc extend it.
31257         Add comments to basesink class.
31258         Some filesrc cleanup.
31259
31260 2005-03-31  David Schleef  <ds@schleef.org>
31261
31262         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31263         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31264         expected to link against libgstreamer.
31265         * gst/base/Makefile.am: link against libgstreamer
31266         * gst/elements/Makefile.am: same
31267
31268 2005-03-31  Andy Wingo  <wingo@pobox.com>
31269
31270         * tests/instantiate/Makefile.am:
31271         * tests/instantiate/caps.c: Add test to test speed of caps copy
31272         and free.
31273
31274         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31275         GMemChunk to be fair.
31276
31277         * gst/gsttrashstack.h: Remove warning about using the fallback
31278         trash stack implementation, it's still faster than malloc.
31279
31280 2005-03-30  Andy Wingo  <wingo@pobox.com>
31281
31282         * tests/complexity.c: Add a copyright.
31283
31284 2005-03-31  Wim Taymans  <wim@fluendo.com>
31285
31286         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31287         (gst_base_transform_class_init), (gst_base_transform_init),
31288         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31289         (gst_base_transform_get_property),
31290         (gst_base_transform_sink_activate),
31291         (gst_base_transform_src_activate),
31292         (gst_base_transform_change_state):
31293         * gst/base/gstbasetransform.h:
31294         * gst/elements/gstidentity.c: (gst_identity_class_init),
31295         (gst_identity_event), (gst_identity_check_perfect),
31296         (gst_identity_transform), (gst_identity_start),
31297         (gst_identity_stop):
31298         Added start/stop methods to transform base class so subclasses 
31299         don't need to deal with state changes even.
31300
31301 2005-03-31  Wim Taymans  <wim@fluendo.com>
31302
31303         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31304         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31305         * gst/gstevent.h:
31306         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31307         (gst_pad_pull_range):
31308         Added rate to the discont event to prepare for variable speed
31309         and reverse playback.
31310
31311 2005-03-29  David Schleef  <ds@schleef.org>
31312
31313         * configure.ac:
31314         * testsuite/trigger/Makefile.am:
31315         * testsuite/trigger/trigger.c: A little example program to show
31316         how trigger-based elements can work.
31317
31318 2005-03-29  Wim Taymans  <wim@fluendo.com>
31319
31320         * gst/base/Makefile.am:
31321         * gst/base/README:
31322         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31323         (gst_basesink_base_init), (gst_basesink_class_init),
31324         (gst_basesink_pad_getcaps), (gst_basesink_init),
31325         (gst_basesink_activate), (gst_basesink_change_state):
31326         * gst/base/gstbasesink.h:
31327         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31328         (gst_base_transform_base_init), (gst_base_transform_finalize),
31329         (gst_base_transform_class_init), (gst_base_transform_init),
31330         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31331         (gst_base_transform_event), (gst_base_transform_getrange),
31332         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31333         (gst_base_transform_set_property),
31334         (gst_base_transform_get_property),
31335         (gst_base_transform_sink_activate),
31336         (gst_base_transform_src_activate),
31337         (gst_base_transform_change_state):
31338         * gst/base/gstbasetransform.h:
31339         * gst/elements/gstidentity.c: (gst_identity_finalize),
31340         (gst_identity_class_init), (gst_identity_init),
31341         (gst_identity_event), (gst_identity_check_perfect),
31342         (gst_identity_transform), (gst_identity_set_property),
31343         (gst_identity_get_property), (gst_identity_change_state):
31344         * gst/elements/gstidentity.h:
31345         * gst/gstelement.c: (gst_element_get_state_func),
31346         (gst_element_lost_state), (gst_element_pads_activate):
31347         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31348         (gst_pad_check_pull_range), (gst_pad_pull_range):
31349         * gst/gstpad.h:
31350         Simplify pad activation.
31351         Added function to check if pull_range can be performed.
31352         Error out when pulling inactive or flushing pads.
31353         Removed const from refcounted types as it does not make sense.
31354         Simplify pad templates in basesink
31355         Added base class for simple 1-to-1 transforms.
31356         Make identity subclass the base transform.
31357
31358 2005-03-29  Andy Wingo  <wingo@pobox.com>
31359
31360         * docs/libs/gstreamer-libs-overrides.txt: 
31361         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31362         really don't understand what's going on, but like whatever. I want
31363         green buildbot!
31364
31365         * docs/gst/Makefile.am:
31366         * docs/libs/Makefile.am: Dist the overrides files.
31367
31368         * check/Makefile.am (clean-local): Remove .libs directories.
31369
31370         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31371         elements to EXTRA_DIST, so po/ files are happy.
31372
31373         * po/POTFILES.in: Er, remove it here.
31374
31375         * po/POTFILES: Remove gstspider.c.
31376
31377         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31378
31379         * docs/libs/gstreamer-libs-docs.sgml: 
31380         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31381         bytestream.
31382
31383         * tests/complexity.c (main): Set the length of the preroll queue
31384         on the sinks to prevent a lockup.
31385
31386         * libs/gst/dataprotocol/Makefile.am: 
31387         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31388         the same as the one in check/gst-libs/gdp.c.
31389
31390         * po/, docs/gst/: Commit automatic changes to docs and po files.
31391
31392         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31393         the versioned libgstbase.
31394
31395         * check/Makefile.am: Depend on an unversioned gst-register, seems
31396         to make autoconf happier.
31397
31398         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31399
31400 2005-03-28  Wim Taymans  <wim@fluendo.com>
31401
31402         * configure.ac:
31403         * docs/design/part-gstelement.txt:
31404         * docs/design/part-negotiation.txt:
31405         * docs/design/part-preroll.txt:
31406         * docs/design/part-scheduling.txt:
31407         * docs/design/part-states.txt:
31408         * gst/Makefile.am:
31409         * gst/base/Makefile.am:
31410         * gst/base/README:
31411         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31412         (gst_basesink_base_init), (gst_basesink_class_init),
31413         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31414         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31415         (gst_basesink_set_pad_functions),
31416         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31417         (gst_basesink_set_property), (gst_basesink_get_property),
31418         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31419         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31420         (gst_basesink_preroll_queue_push),
31421         (gst_basesink_preroll_queue_empty),
31422         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31423         (gst_basesink_event), (gst_basesink_get_times),
31424         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31425         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31426         (gst_basesink_loop), (gst_basesink_activate),
31427         (gst_basesink_change_state):
31428         * gst/base/gstbasesink.h:
31429         * gst/elements/Makefile.am:
31430         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31431         (gst_fakesink_class_init), (gst_fakesink_init),
31432         (gst_fakesink_set_property), (gst_fakesink_get_property),
31433         (gst_fakesink_get_times), (gst_fakesink_event),
31434         (gst_fakesink_preroll), (gst_fakesink_render),
31435         (gst_fakesink_change_state):
31436         * gst/elements/gstfakesink.h:
31437         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31438         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31439         * gst/gstelement.c: (gst_element_add_pad),
31440         (gst_element_get_state_func), (gst_element_abort_state),
31441         (gst_element_commit_state), (gst_element_lost_state),
31442         (gst_element_set_state), (gst_element_pads_activate):
31443         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31444         * gst/gstpipeline.c: (gst_pipeline_send_event),
31445         (gst_pipeline_change_state):
31446         Added state change code.
31447         Added/updated docs.
31448         Added sink base class, make fakesink extend the base class.
31449         Small cleanups in GstPipeline.
31450
31451 2005-03-26  David Schleef  <ds@schleef.org>
31452
31453         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31454         is broken and should be implemented in a different library.
31455         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31456         * gst/gst.h: remove gstcpu.h
31457         * gst/gstcpu.c: remove
31458         * gst/gstcpu.h: remove
31459         * gst/Makefile.am.future: Remove this file.  It's ancient.
31460
31461 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31462
31463         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31464         (gst_bin_send_event):
31465           Add default event/set_manager handlers. The set_manager handler
31466           takes care that the manager is distributed over kids that were
31467           already in the bin before the manager was set. The event handler
31468           is a utility virtual function that sends the event over all sinks,
31469           so that gst_element_send_event (bin, event); has the expected
31470           behaviour.
31471         * gst/gstpad.c: (gst_pad_event_default):
31472           Re-install default event handling for discontinuities, so that
31473           seeking works without requiring hacks in applications or extra
31474           code in sinks.
31475         * gst/gstpipeline.c: (gst_pipeline_class_init),
31476         (gst_pipeline_send_event):
31477           Half hack, half utility: set a pipeline to PAUSED for seek events,
31478           since that is the only way we can guarantee a/v sync. Means that
31479           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31480           and it "just works".
31481
31482 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31483
31484         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31485           Lock/unlock mismatch.
31486
31487 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31488
31489         * docs/faq/gst-uninstalled:
31490           add gst-plugins-base
31491         * docs/gst/Makefile.am:
31492           don't error out until docs are fixed
31493         * docs/gst/gstreamer.types:
31494           remove thread
31495
31496 2005-03-22  Wim Taymans  <wim@fluendo.com>
31497
31498         * check/Makefile.am:
31499         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31500         * gst/gststructure.c: (gst_structure_set_valist),
31501         (gst_structure_copy_conditional):
31502         Activated more tests.
31503         Added message test.
31504         Added G_TYPE_POINTER to GstStructure.
31505         
31506
31507 2005-03-22  Wim Taymans  <wim@fluendo.com>
31508
31509         * docs/design/part-TODO.txt:
31510         * docs/design/part-events.txt:
31511         * docs/design/part-gstbin.txt:
31512         * docs/design/part-gstbus.txt:
31513         * docs/design/part-gstpipeline.txt:
31514         * docs/design/part-messages.txt:
31515         * gst/gstbus.c:
31516         * gst/gstmessage.c:
31517         Docs updates
31518
31519 2005-03-21  Wim Taymans  <wim@fluendo.com>
31520
31521         * gst/gstbus.c: (gst_bus_post):
31522         Fix copy-and-paste error.
31523
31524 2005-03-21  Wim Taymans  <wim@fluendo.com>
31525
31526         * check/Makefile.am:
31527         * gst/Makefile.am:
31528         * gst/elements/Makefile.am:
31529         * gst/elements/gstelements.c:
31530         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31531         (gst_fakesink_event), (gst_fakesink_chain):
31532         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31533         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31534         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31535         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31536         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31537         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31538         (gst_fakesrc_loop), (gst_fakesrc_activate),
31539         (gst_fakesrc_change_state):
31540         * gst/elements/gstfakesrc.h:
31541         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31542         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31543         (gst_filesrc_open_file), (gst_filesrc_loop),
31544         (gst_filesrc_activate), (gst_filesrc_change_state),
31545         (filesrc_find_peek), (filesrc_find_suggest),
31546         (gst_filesrc_type_find):
31547         * gst/elements/gstidentity.c: (gst_identity_finalize),
31548         (gst_identity_class_init), (gst_identity_init),
31549         (gst_identity_proxy_getcaps), (identity_queue_push),
31550         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31551         (gst_identity_getrange), (gst_identity_chain),
31552         (gst_identity_sink_loop), (gst_identity_src_loop),
31553         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31554         (gst_identity_set_property), (gst_identity_get_property),
31555         (gst_identity_change_state):
31556         * gst/elements/gstidentity.h:
31557         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31558         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31559         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31560         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31561         (gst_tee_sink_activate):
31562         * gst/elements/gsttee.h:
31563         * gst/gst.c: (gst_register_core_elements), (init_post):
31564         * gst/gst.h:
31565         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31566         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31567         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31568         (gst_bin_change_state):
31569         * gst/gstbin.h:
31570         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31571         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31572         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31573         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31574         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31575         (bus_watch_callback), (bus_watch_destroy),
31576         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31577         (poll_timeout), (gst_bus_poll):
31578         * gst/gstbus.h:
31579         * gst/gstcaps.h:
31580         * gst/gstdata.h:
31581         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31582         (gst_element_post_message), (gst_element_message_full),
31583         (gst_element_get_state_func), (gst_element_get_state),
31584         (gst_element_abort_state), (gst_element_commit_state),
31585         (gst_element_lost_state), (gst_element_set_state),
31586         (gst_element_pads_activate), (gst_element_change_state),
31587         (gst_element_dispose), (gst_element_set_manager_func),
31588         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31589         (gst_element_set_manager), (gst_element_get_manager),
31590         (gst_element_set_bus), (gst_element_get_bus),
31591         (gst_element_set_scheduler), (gst_element_get_scheduler):
31592         * gst/gstelement.h:
31593         * gst/gstevent.c: (gst_event_new_segment_seek),
31594         (gst_event_new_flush):
31595         * gst/gstevent.h:
31596         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31597         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31598         (gst_message_new_eos), (gst_message_new_error),
31599         (gst_message_new_warning), (gst_message_new_tag),
31600         (gst_message_new_state_changed), (gst_message_new_application),
31601         (gst_message_get_structure), (gst_message_parse_tag),
31602         (gst_message_parse_state_changed), (gst_message_parse_error),
31603         (gst_message_parse_warning):
31604         * gst/gstmessage.h:
31605         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31606         (gst_real_pad_set_property), (gst_pad_set_active),
31607         (gst_pad_is_active), (gst_pad_set_blocked_async),
31608         (gst_pad_set_blocked), (gst_pad_is_blocked),
31609         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31610         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31611         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31612         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31613         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31614         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31615         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31616         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31617         (gst_pad_set_caps), (gst_pad_configure_sink),
31618         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31619         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31620         (gst_real_pad_dispose), (gst_real_pad_finalize),
31621         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31622         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31623         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31624         * gst/gstpad.h:
31625         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31626         (pipeline_bus_handler), (gst_pipeline_change_state),
31627         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31628         * gst/gstpipeline.h:
31629         * gst/gstprobe.h:
31630         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31631         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31632         (gst_queue_link_src), (gst_queue_bufferalloc),
31633         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31634         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31635         (gst_queue_loop), (gst_queue_handle_src_event),
31636         (gst_queue_handle_src_query), (gst_queue_src_activate),
31637         (gst_queue_change_state):
31638         * gst/gstqueue.h:
31639         * gst/gstscheduler.c: (gst_scheduler_init),
31640         (gst_scheduler_dispose), (gst_scheduler_create_task),
31641         (gst_scheduler_factory_create):
31642         * gst/gstscheduler.h:
31643         * gst/gststructure.c: (gst_structure_get_type),
31644         (gst_structure_copy_conditional):
31645         * gst/gststructure.h:
31646         * gst/gsttaginterface.h:
31647         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31648         (gst_task_init), (gst_task_dispose), (gst_task_create),
31649         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31650         (gst_task_pause):
31651         * gst/gsttask.h:
31652         * gst/gstthread.c:
31653         * gst/gstthread.h:
31654         * gst/gsttypes.h:
31655         * gst/schedulers/Makefile.am:
31656         * gst/schedulers/cothreads_compat.h:
31657         * gst/schedulers/entryscheduler.c:
31658         * gst/schedulers/faircothreads.c:
31659         * gst/schedulers/faircothreads.h:
31660         * gst/schedulers/fairscheduler.c:
31661         * gst/schedulers/gstbasicscheduler.c:
31662         * gst/schedulers/gstoptimalscheduler.c:
31663         * gst/schedulers/gthread-cothreads.h:
31664         * gst/schedulers/threadscheduler.c:
31665         (gst_thread_scheduler_task_get_type),
31666         (gst_thread_scheduler_task_class_init),
31667         (gst_thread_scheduler_task_init),
31668         (gst_thread_scheduler_task_start),
31669         (gst_thread_scheduler_task_stop),
31670         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31671         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31672         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31673         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31674         (plugin_init):
31675         * libs/gst/Makefile.am:
31676         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31677         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31678         (gst_file_pad_parent_set):
31679         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31680         (gst_dp_event_from_packet):
31681         * tests/complexity.c: (main):
31682         * tests/mass_elements.c: (main):
31683         * testsuite/states/locked.c: (message_received), (main):
31684         * testsuite/states/parent.c: (main):
31685         * tools/gst-inspect.c: (print_element_flag_info),
31686         (print_implementation_info), (print_pad_info):
31687         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31688         (main):
31689         * tools/gst-md5sum.c: (event_loop), (main):
31690         * tools/gst-typefind.c: (main):
31691         * tools/gst-xmlinspect.c: (print_element_info):
31692         Next big merge.
31693         Added GstBus for mainloop integration.
31694         Added GstMessage for sending notifications on the bus.
31695         Added GstTask as an abstraction for pipeline entry points.
31696         Removed GstThread.
31697         Removed Schedulers.
31698         Simplified GstQueue for multithreaded core.
31699         Made _link threadsafe, removed old capsnego.
31700         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31701         Added pad blocking functions.
31702         Reworked scheduling functions in GstPad to prepare for
31703         scheduling updates soon.
31704         Moved events out of data stream.
31705         Simplified GstEvent types.
31706         Added return values to push/pull.
31707         Removed clocking from GstElement.
31708         Added prototypes for state change function for next merge.
31709         Removed iterate from bins and state change management.
31710         Fixed some elements, disabled others for now.
31711         Fixed -inspect and -launch.
31712         Added check for GstBus.
31713
31714 2005-03-10  Wim Taymans  <wim@fluendo.com>
31715
31716         * docs/design/part-MT-refcounting.txt:
31717         * docs/design/part-clocks.txt:
31718         * docs/design/part-gstelement.txt:
31719         * docs/design/part-gstobject.txt:
31720         * docs/design/part-standards.txt:
31721         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31722         (gst_bin_remove_func), (gst_bin_remove):
31723         * gst/gstbin.h:
31724         * gst/gstbuffer.c:
31725         * gst/gstcaps.h:
31726         * testsuite/clock/clock1.c: (main):
31727         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31728         (main):
31729         * testsuite/dlopen/loadgst.c: (do_test):
31730         * testsuite/refcounting/bin.c: (add_remove_test1),
31731         (add_remove_test2), (main):
31732         * testsuite/refcounting/element.c: (main):
31733         * testsuite/refcounting/element_pad.c: (main):
31734         * testsuite/refcounting/pad.c: (main):
31735         * tools/gst-launch.c: (sigint_handler_sighandler):
31736         * tools/gst-typefind.c: (main):
31737         Doc updates.
31738         Added doc about clock.
31739         removed gst_bin_iterate_recurse_up(), marked methods
31740         for removal.
31741         Fix more testsuites.
31742
31743 2005-03-09  Wim Taymans  <wim@fluendo.com>
31744
31745         * gst/gstpad.c: (gst_pad_get_direction),
31746         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31747         (gst_pad_collect_valist):
31748         * testsuite/bins/interface.c: (main):
31749         * testsuite/caps/audioscale.c: (test_caps):
31750         * testsuite/caps/caps.c: (test1), (test2), (test3):
31751         * testsuite/caps/deserialize.c: (main):
31752         * testsuite/caps/enumcaps.c: (main):
31753         * testsuite/caps/filtercaps.c: (main):
31754         * testsuite/caps/intersect2.c: (main):
31755         * testsuite/caps/random.c: (main):
31756         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31757         * testsuite/caps/sets.c: (check_caps):
31758         * testsuite/caps/simplify.c: (check_caps), (main):
31759         * testsuite/caps/subtract.c: (check_caps):
31760         Fix _pad_get_direction wrt ghostpads.
31761         Fix caps testsuite.
31762
31763 2005-03-09  Wim Taymans  <wim@fluendo.com>
31764
31765         * check/Makefile.am:
31766         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31767         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31768         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31769         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31770         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31771         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31772         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31773         (bin_element_is_sink), (gst_bin_iterate_sinks),
31774         (gst_bin_iterate_all_by_interface):
31775         * gst/gstbin.h:
31776         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31777         (gst_element_change_state), (gst_element_dispose),
31778         (gst_element_finalize), (gst_element_set_loop_function):
31779         * gst/gstelement.h:
31780         * gst/gstiterator.c: (find_custom_fold_func):
31781         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31782         (gst_pad_collectv), (gst_pad_collect_valist),
31783         (gst_pad_template_new):
31784         * gst/gstpipeline.c: (gst_pipeline_class_init),
31785         (gst_pipeline_dispose), (gst_pipeline_set_property),
31786         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31787         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31788         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31789         * gst/gstutils.h:
31790         * gst/schedulers/entryscheduler.c:
31791         * gst/schedulers/gstbasicscheduler.c:
31792         (gst_basic_scheduler_cothreaded_chain),
31793         (gst_basic_scheduler_chain_add_element):
31794         * testsuite/bins/interface.c: (main):
31795         Added GstBin test.
31796         Added GstSystemClock test.
31797         Implemented clock distribution code in GstBin.
31798         Implemented iterate sinks method for future use.
31799         Rearranged gstelement.h
31800         Fix GstIterator comparison bug.
31801         Moved some code to GstPipeline, mostly clocking related.
31802
31803 2005-03-09  Wim Taymans  <wim@fluendo.com>
31804
31805         * configure.ac:
31806         * gst/gst_private.h:
31807         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31808         (gst_bin_remove_func), (gst_bin_remove),
31809         (gst_bin_get_by_name_recurse_up):
31810         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31811         (gst_clock_id_compare_func), (gst_clock_id_wait),
31812         (gst_clock_id_wait_async), (gst_clock_init),
31813         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31814         * gst/gstelement.h:
31815         * gst/gstinfo.c: (_gst_debug_init):
31816         * gst/gstobject.h:
31817         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31818         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31819         * gst/gstpad.h:
31820         Bump version number, we're now 0.9.0
31821         Add future debugging category.
31822         Fix NULL _unref() in _get_by_name_recurse_up
31823         Rearrange gstpad.h.
31824         Update some docs.
31825
31826 2005-03-08  Wim Taymans  <wim@fluendo.com>
31827
31828         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31829         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31830         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31831         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31832         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31833         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31834         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31835         * gst/elements/gstidentity.c: (gst_identity_class_init):
31836         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31837         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31838         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31839         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31840         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31841         (gst_tee_link):
31842         * gst/gstelement.c: (gst_element_class_init),
31843         (gst_element_base_class_init), (gst_element_init),
31844         (gst_element_get_random_pad), (gst_element_wait_state_change),
31845         (gst_element_change_state), (gst_element_dispose),
31846         (gst_element_finalize), (gst_element_set_loop_function):
31847         * gst/gstelement.h:
31848         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31849         * gst/gstthread.c: (gst_thread_class_init),
31850         (gst_thread_release_children_locks), (gst_thread_change_state):
31851         * gst/schedulers/gstbasicscheduler.c:
31852         (gst_basic_scheduler_loopfunc_wrapper),
31853         (gst_basic_scheduler_chain_wrapper),
31854         (gst_basic_scheduler_src_wrapper),
31855         (gst_basic_scheduler_remove_element):
31856         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31857         Remove threadsafe properties. Fix elements because GObject
31858         complains when installing a property before declaring a
31859         set/get_property handler.
31860         Rearrange gstelement.h file, use STATE macros for state locks.
31861         Free mutexes in the finalize method instead of dispose.
31862
31863 2005-03-08  Wim Taymans  <wim@fluendo.com>
31864
31865         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31866         * gst/gstthread.c: (gst_thread_release_children_locks):
31867         Added parentage check.
31868         Fix build og GstThread again.
31869
31870 2005-03-08  Wim Taymans  <wim@fluendo.com>
31871
31872         * docs/design/part-MT-refcounting.txt:
31873         * docs/design/part-conventions.txt:
31874         * docs/design/part-gstobject.txt:
31875         * docs/design/part-relations.txt:
31876         * docs/design/part-standards.txt:
31877         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31878         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31879         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31880         (gst_bin_iterate_all_by_interface):
31881         * gst/gstbuffer.h:
31882         * gst/gstclock.h:
31883         * gst/gstelement.c: (gst_element_class_init),
31884         (gst_element_change_state), (gst_element_set_loop_function):
31885         * gst/gstelement.h:
31886         * gst/gstiterator.c:
31887         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31888         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31889         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31890         (gst_object_set_parent), (gst_object_unparent),
31891         (gst_object_check_uniqueness):
31892         * gst/gstobject.h:
31893         Docs updates, clean up some headers.
31894
31895 2005-03-07  Wim Taymans  <wim@fluendo.com>
31896
31897         * check/.cvsignore:
31898         * check/Makefile.am:
31899         * check/gst-libs/.cvsignore:
31900         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31901         * check/gst/.cvsignore:
31902         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31903         (START_TEST), (gstbus_suite), (main):
31904         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31905         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31906         (gst_data_suite), (main):
31907         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31908         (add_fold_func), (gstiterator_suite), (main):
31909         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31910         (thread_name_object), (thread_name_object_default),
31911         (gst_object_name_compare), (gst_object_suite), (main):
31912         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31913         (gst_pad_suite), (main):
31914         * check/gstcheck.c: (gst_check_log_message_func),
31915         (gst_check_log_critical_func), (gst_check_init):
31916         * check/gstcheck.h:
31917         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31918         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31919         Added checks.
31920
31921 2005-03-07  Wim Taymans  <wim@fluendo.com>
31922
31923         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31924         (gst_list_iterator_next), (gst_list_iterator_resync),
31925         (gst_list_iterator_free), (gst_iterator_new_list),
31926         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31927         (gst_iterator_free), (gst_iterator_push), (filter_next),
31928         (filter_resync), (filter_uninit), (filter_free),
31929         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31930         (gst_iterator_foreach), (find_custom_fold_func),
31931         (gst_iterator_find_custom):
31932         * gst/gstiterator.h:
31933         Added missing files.
31934
31935 2005-03-07  Wim Taymans  <wim@fluendo.com>
31936
31937         * Makefile.am:
31938         * configure.ac:
31939         * docs/design/part-MT-refcounting.txt:
31940         * docs/design/part-conventions.txt:
31941         * docs/design/part-gstobject.txt:
31942         * docs/design/part-relations.txt:
31943         * examples/mixer/mixer.c: (main):
31944         * examples/thread/thread.c: (eos), (main):
31945         * gst/Makefile.am:
31946         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31947         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31948         (gst_spider_plug_from_srcpad):
31949         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31950         (gst_spider_identity_change_state),
31951         (gst_spider_identity_sink_loop_type_finding):
31952         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31953         * gst/elements/gstidentity.c: (gst_identity_init):
31954         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31955         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31956         * gst/elements/gsttypefindelement.c: (free_entry):
31957         * gst/gst.c:
31958         * gst/gst.h:
31959         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31960         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31961         (gst_bin_set_index), (gst_bin_set_element_sched),
31962         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31963         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31964         (gst_bin_iterate_elements), (iterate_child_recurse),
31965         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31966         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31967         (compare_interface), (gst_bin_get_by_interface),
31968         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31969         * gst/gstbin.h:
31970         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31971         (gst_buffer_default_free), (gst_buffer_default_copy),
31972         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31973         (gst_buffer_create_sub):
31974         * gst/gstbuffer.h:
31975         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31976         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31977         (gst_caps_unref), (gst_static_caps_get),
31978         (gst_caps_remove_and_get_structure), (gst_caps_append),
31979         (gst_caps_append_structure), (gst_caps_remove_structure),
31980         (gst_caps_copy_nth), (gst_caps_set_simple),
31981         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31982         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31983         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31984         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31985         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31986         (gst_caps_structure_figure_out_union),
31987         (gst_caps_switch_structures), (gst_caps_do_simplify),
31988         (gst_caps_replace), (gst_caps_from_string),
31989         (gst_caps_copy_conditional):
31990         * gst/gstcaps.h:
31991         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31992         (_gst_clock_id_free), (gst_clock_id_unref),
31993         (gst_clock_id_compare_func), (gst_clock_id_wait),
31994         (gst_clock_id_wait_async), (gst_clock_class_init),
31995         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31996         (gst_clock_get_time), (gst_clock_set_time_adjust),
31997         (gst_clock_set_property), (gst_clock_get_property):
31998         * gst/gstclock.h:
31999         * gst/gstcompat.h:
32000         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32001         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32002         * gst/gstdata.h:
32003         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32004         (gst_element_requires_clock), (gst_element_provides_clock),
32005         (gst_element_set_clock), (gst_element_clock_wait),
32006         (gst_element_wait), (gst_element_set_time_delay),
32007         (gst_element_is_indexable), (gst_element_add_pad),
32008         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32009         (pad_compare_name), (gst_element_get_static_pad),
32010         (gst_element_request_pad), (gst_element_get_request_pad),
32011         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32012         (gst_element_class_get_pad_template_list),
32013         (gst_element_class_get_pad_template), (gst_element_error_func),
32014         (gst_element_get_random_pad), (gst_element_get_event_masks),
32015         (gst_element_send_event), (gst_element_seek),
32016         (gst_element_get_query_types), (gst_element_query),
32017         (gst_element_get_formats), (gst_element_convert),
32018         (gst_element_is_locked_state), (gst_element_set_locked_state),
32019         (gst_element_sync_state_with_parent), (gst_element_change_state),
32020         (gst_element_finalize), (gst_element_yield),
32021         (gst_element_interrupt), (gst_element_set_scheduler),
32022         (gst_element_get_scheduler), (gst_element_set_loop_function):
32023         * gst/gstelement.h:
32024         * gst/gstevent.h:
32025         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32026         (gst_format_get_by_nick), (gst_format_get_details),
32027         (gst_format_iterate_definitions):
32028         * gst/gstformat.h:
32029         * gst/gstindex.c: (gst_index_gtype_resolver):
32030         * gst/gstinfo.c:
32031         * gst/gstinfo.h:
32032         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32033         (gst_mem_chunk_free):
32034         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32035         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32036         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32037         (gst_object_dispatch_properties_changed),
32038         (gst_object_set_name_default), (gst_object_set_name),
32039         (gst_object_get_name), (gst_object_set_name_prefix),
32040         (gst_object_get_name_prefix), (gst_object_set_parent),
32041         (gst_object_get_parent), (gst_object_unparent),
32042         (gst_object_check_uniqueness), (gst_object_save_thyself),
32043         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32044         (gst_object_set_property), (gst_object_get_property),
32045         (gst_object_get_path_string):
32046         * gst/gstobject.h:
32047         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32048         (gst_real_pad_init), (gst_real_pad_get_property),
32049         (gst_pad_custom_new), (gst_pad_get_direction),
32050         (gst_pad_set_active), (gst_pad_is_active),
32051         (gst_pad_set_event_function), (gst_pad_is_linked),
32052         (gst_pad_link_free), (gst_pad_link_intersect),
32053         (gst_pad_link_fixate), (gst_pad_set_caps),
32054         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32055         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32056         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32057         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32058         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32059         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32060         (gst_pad_realize), (gst_pad_get_allowed_caps),
32061         (gst_real_pad_dispose), (gst_real_pad_finalize),
32062         (gst_pad_collectv), (gst_pad_collect_valist),
32063         (gst_pad_template_dispose), (gst_pad_template_new),
32064         (gst_pad_get_internal_links):
32065         * gst/gstpad.h:
32066         * gst/gstpipeline.c: (gst_pipeline_dispose),
32067         (gst_pipeline_change_state):
32068         * gst/gstpipeline.h:
32069         * gst/gstplugin.c:
32070         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32071         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32072         * gst/gstpluginfeature.h:
32073         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32074         * gst/gstquery.c: (_gst_query_type_initialize),
32075         (gst_query_type_register), (gst_query_type_get_by_nick),
32076         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32077         * gst/gstquery.h:
32078         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32079         * gst/gstscheduler.c: (gst_scheduler_add_element),
32080         (gst_scheduler_factory_create):
32081         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32082         (gst_structure_free), (gst_structure_set_name),
32083         (gst_structure_id_set_value), (gst_structure_set_value),
32084         (gst_structure_set_valist), (gst_structure_remove_field),
32085         (gst_structure_remove_fields),
32086         (gst_structure_remove_fields_valist),
32087         (gst_structure_remove_all_fields), (gst_structure_foreach),
32088         (gst_structure_map_in_place),
32089         (gst_caps_structure_fixate_field_nearest_int),
32090         (gst_caps_structure_fixate_field_nearest_double):
32091         * gst/gststructure.h:
32092         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32093         (gst_system_clock_init), (gst_system_clock_dispose),
32094         (gst_system_clock_async_thread),
32095         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32096         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32097         * gst/gstsystemclock.h:
32098         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32099         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32100         * gst/gsttaginterface.c:
32101         * gst/gstthread.c: (gst_thread_dispose),
32102         (gst_thread_release_children_locks), (gst_thread_change_state),
32103         (gst_thread_main_loop):
32104         * gst/gsttrashstack.h:
32105         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32106         * gst/gsttypes.h:
32107         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32108         (gst_element_request_pad), (gst_element_get_pad_from_template),
32109         (gst_element_request_compatible_pad),
32110         (gst_element_get_compatible_pad_filtered),
32111         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32112         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32113         (gst_element_link_many), (gst_element_link),
32114         (gst_element_link_pads), (gst_element_unlink_pads),
32115         (gst_element_unlink_many), (gst_element_unlink),
32116         (gst_pad_can_link_filtered), (gst_pad_can_link),
32117         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32118         (gst_object_default_error), (gst_bin_add_many),
32119         (gst_bin_remove_many), (gst_element_populate_std_props),
32120         (gst_element_class_install_std_props), (gst_buffer_merge),
32121         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32122         (link_fold_func), (gst_pad_proxy_setcaps):
32123         * gst/gstutils.h:
32124         * gst/gstvalue.c: (gst_value_deserialize_string):
32125         * gst/parse/grammar.y:
32126         * gst/schedulers/gstbasicscheduler.c:
32127         (gst_basic_scheduler_cothreaded_chain),
32128         (gst_basic_scheduler_chain_recursive_add),
32129         (gst_basic_scheduler_pad_link):
32130         * gst/schedulers/gstoptimalscheduler.c:
32131         (get_group_schedule_function),
32132         (gst_opt_scheduler_state_transition),
32133         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32134         * libs/gst/bytestream/bytestream.c:
32135         * libs/gst/dataprotocol/dataprotocol.c:
32136         (gst_dp_header_from_buffer):
32137         * po/nb.po:
32138         * po/ru.po:
32139         * tests/threadstate/threadstate2.c: (eos):
32140         * tools/gst-compprep.c: (main):
32141         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32142         (print_pad_info), (print_children_info):
32143         * tools/gst-launch.c: (idle_func), (main):
32144         * tools/gst-md5sum.c: (idle_func), (main):
32145         * tools/gst-xmlinspect.c: (print_element_info):
32146         First THREADED backport attempt, focusing on adding locks and
32147         making sure the API is threadsafe. Needs more work. More docs
32148         follow this week.
32149
32150 2005-02-24  Andy Wingo  <wingo@pobox.com>
32151
32152         * tests/bench-complexity.scm:
32153         * tests/complexity.gnuplot: New files, good for running complexity
32154         benchmarks.
32155
32156         * tests/Makefile.am:
32157         * tests/complexity.c: New test, sets up N elements, at each level
32158         teeing into M streams per element. Eeeenteresting.
32159
32160         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32161         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32162         running bench-mass_elements.scm.
32163
32164         * tests/bench-mass_elements.scm: New script, runs mass_elements
32165         for various numbers of identities, outputting the results to a
32166         file. Requires guile 1.6. Just for testing.
32167
32168 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32169
32170         * gst/schedulers/fairscheduler.c:
32171           compile with debug disabled
32172
32173 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32174
32175         * configure.ac:
32176           hunting season on 0.9 is now OPEN