plugins/elements/gstmultiqueue.c: Add documentation for the signals to push our core...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2
3         * plugins/elements/gstmultiqueue.c:
4         Add documentation for the signals to push our core plugin docs
5         coverage back up to 100%.
6
7 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
8
9         * gst/gstinfo.h (GST_FUNCTION):
10           Reverted GST_FUNCTION to the old version as we don't want the
11           full signature in C++ code. Also added support for MSVC.
12
13 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
14
15         * gst/gstutils.h:
16         Intern the type name string, similar to what G_DEFINE_TYPE does.
17
18 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
19
20         * gst/gstutils.h:
21         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
22
23 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
24
25         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
26
27         * libs/gst/base/gstbasetransform.c:
28         (gst_base_transform_buffer_alloc):
29         Don't passthrough buffer allocation too easily if the caps change.
30         This breaks when working in passthrough mode and upstream changes
31         it's caps. Fixes bug #526768.
32
33 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
34
35         * gst/gstinfo.c (gst_debug_log_valist):
36           Improved the __FILE__ part of debug output for MSVC.
37
38 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
39
40         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
41           Declaration after statement fix for compilers like MSVC.
42
43 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
44
45         * win32/common/config.h.in:
46           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
47           use the real thing than having "???" unconditionally.
48
49 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
50
51         * gst/gstinfo.h (GST_FUNCTION):
52           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
53
54 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
55
56         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
57         Small code cleanup.
58
59         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
60         (gst_base_sink_set_flushing):
61         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
62         Fix some comments.
63
64 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
65
66         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
67         (gst_fake_src_init), (gst_fake_src_set_property),
68         (gst_fake_src_get_property), (gst_fake_src_start):
69         * plugins/elements/gstfakesrc.h:
70         Added format property to control the format of the newsegment events.
71         API: GstFakeSrc:format
72
73 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
74
75         * win32/common/libgstreamer.def:
76         Add gst_pad_has_name() to the exported symbols.
77
78 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
79
80         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
81         * libs/gst/base/gstbasetransform.c:
82         (gst_base_transform_prepare_output_buffer):
83         Don't allow negative sizes when allocating new buffers.
84         Fixes bug #461253.
85
86 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
87
88         Patch by: Sjoerd Simons <sjoerd at luon net>
89
90         * gst/gstbus.c: (gst_bus_source_dispatch):
91           Don't print a warning if the queue is empty when we try to pop
92           here. That could happen if another thread or callback set the
93           bus to flushing between the source's check/prepare and the
94           dispatch being called (#531538).
95
96 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
97
98         * plugins/elements/gstmultiqueue.c:
99           Small docs fix.
100         
101 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
102
103         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
104         Add unit test for deserializing uint64s and check some really large
105         numbers in the int64 test.
106
107 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
108
109         * tools/gst-inspect.c: (n_print), (print_hierarchy),
110         (print_interfaces), (print_element_properties_info),
111         (print_signal_info):
112         Use "%s" as format string instead of printing strings directly.
113
114 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
115
116         * gst/gstclock.c: (gst_clock_set_calibration):
117         Make some checks actually useful.
118
119         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
120         Remove some unused code. Unsigned integers tend to be >= 0.
121
122 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
123
124         * gst/gstminiobject.c: (gst_value_get_mini_object):
125           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
126           function was not in the unscheduled 0.10.19 release.
127
128 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
129
130         * gst/gstregistry.c: (gst_registry_scan_path_level):
131           Only print one log message per non-plugin file.
132
133 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
134
135         * gst/gstinfo.c: (gst_debug_log_default):
136           Fix alignment of debug log columns on 64-bit.
137
138 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
139
140         * docs/libs/Makefile.am:
141         * docs/libs/gstreamer-libs-sections.txt:
142           Ignore private controller headers for docs.
143
144 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
145
146         * libs/gst/controller/gstcontrollerprivate.h:
147         * libs/gst/controller/gsthelper.c:
148         * libs/gst/controller/gstinterpolation.c:
149         * libs/gst/controller/gstinterpolationcontrolsource.c:
150         (gst_interpolation_control_source_set_interpolation_mode):
151         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
152         * libs/gst/controller/lib.c:
153         Move some private declarations into private headers.
154
155 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
156
157         * gst/gstdebugutils.c: (debug_dump_element_pad):
158         Remove some code that is unused after Stefan's refactoring and uses
159         uninitialized variables now, resulting in a compiler warning.
160
161 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
162
163         * gst/gstregistry.c: (gst_registry_scan_path_level):
164           Run g_str_has_suffix() only on the file name, not the
165           entire file path.
166
167 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
168
169         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
170           Since we're not called only from the chain function any longer,
171           we can't assume that there's always data in the queue, so move
172           the is_full check to the beginning of the loop (otherwise we'd
173           hit the assert when changing the limit properties while the
174           queue is empty or not running yet).
175           Also, only set a discont if items were actually removed from
176           the queue.
177
178         * tests/check/elements/queue.c: (test_leaky_downstream):
179           Test case for the above.
180
181 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
182
183         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
184
185         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
186         (gst_queue_chain), (queue_capacity_change),
187         (gst_queue_set_property):
188         When changing thr max capacity of a leaky queue, immediatly drop buffers
189         instead of waiting for a push on the sinkpad. Fixes #530637.
190
191 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
192
193         * gst/gstdebugutils.c:
194           Refactor code and fix handling of ghostpads and their proxypads.
195
196 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
197
198         * docs/gst/gstreamer-sections.txt:
199         * gst/gstevent.c: (gst_event_has_name):
200         * gst/gstevent.h:
201         * tests/check/gst/gstevent.c: (GST_START_TEST):
202         Add method to conveniently check the name of a custom event with
203         gst_event_has_name().
204         Reformat the event docs so that related methods are put together instead
205         of the default alphabetical sort.
206         Update unit test with new method.
207         API: GstEvent::gst_event_has_name()
208
209 2008-04-28  Michael Smith <msmith@songbirdnest.com>
210
211         * libs/gst/check/Makefile.am:
212           Don't add an explicit link to libgstreamer-0.10.la; it's already
213           included in GST_OBJ_LIBS.
214
215 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
216
217         * gst/gst.c:
218         Register GstClock type from a type-safe context. Fixes bug #530317.
219
220 2008-04-25  Michael Smith <msmith@songbirdnest.com>
221
222         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
223         * tools/gst-run.c:
224           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
225
226 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
227
228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
229         (gst_bin_dispose):
230         Use the GLib stuff to create a private structure.
231         Add some locking around some dispose methods to make them a little
232         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
233
234 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
235
236         * libs/gst/base/gstbasesink.h:
237         * libs/gst/base/gstbasesrc.h:
238         * libs/gst/base/gstbasetransform.h:
239         * libs/gst/base/gstcollectpads.h:
240           Fix doc typos and unify caps a bit.
241
242 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
243
244         * tools/gst-launch.1.in:
245           Forgot to also add the envvar docs here.
246
247 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
248
249         * gst/gst.c: (init_post), (gst_deinit):
250         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
251           (test_concurrent_create), (gst_pipeline_suite):
252           Ref some more classes in gst_init() to work around thread-safety
253           issues in pre-2.16 GLibs, and add basic unit test.
254
255 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
256
257         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
258         (gst_base_sink_send_event):
259         Rearrange the latency query code. We always want to do the upstream
260         query, even if we are not live so that the upstream elements can get the
261         latency results too. If we fail doing the query and we are live, we
262         return TRUE afterwards.
263
264 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
265
266         patch by: Jason Zhao <e3423c@motorola.com>
267
268         * docs/gst/running.xml:
269         * gst/gst.c:
270           Enable/disable scan_and_update_registry() based on commandline switch
271           or environment variable. Fixes #520468.
272           
273         * ChangeLog:
274           Fix typo in my previous commit.
275
276 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
277
278         * gst/gstregistrybinary.c:
279           Add a warning if we hit unhandled factories when saving.
280           More debug logging detail, but move to LOG category.
281
282 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
283
284         * gst/gstregistry.c:
285           Tell the *truth* when improving the documentation.
286
287 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
288
289         * gst/gstelementfactory.c: (gst_element_factory_make):
290         Unref the factory after it was used the last time, not before.
291
292         * gst/gstindexfactory.c: (gst_index_factory_make):
293         Improve debugging a bit and don't leak a ref to the index factory with
294         each call.
295
296 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
297
298         * gst/gstregistry.c:
299           Improve the documentation.
300
301 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
302
303         * gst/gstsegment.c:
304           The glib macro seems to be borked. Use g_slice_copy directly and cast
305           in the hope that this fixes the warning on 64bit.
306
307 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
308
309         * gst/gstsegment.c:
310           Document the new function. Use g_slice_dup() (no need for
311           gst_segment_init()).    
312
313 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
314
315         * docs/gst/gstreamer-sections.txt:
316           Move GParamSepc macros to standart section.
317   
318         * gst/gstbin.c:
319           Dn't document _get_type - its in private section in docs anyway and
320           this doc-blob was incomplete.
321
322         * gst/gstclock.h:
323           Fix wrong symbol names in docs.
324
325         * gst/gstmacros.h:
326           Add once doc sentence.
327
328         * tests/check/gst/.cvsignore:
329           Ignore more.
330
331 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
332
333         * docs/gst/Makefile.am:
334           And remove those libs here.
335
336 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
337
338         * docs/libs/Makefile.am:
339           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
340
341 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
342
343         Patch by: Olivier Crete <tester at tester dot ca>
344
345         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
346         Add the min-threshold to the min latency if possible. Fixes #529148.
347
348 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
349
350         * docs/gst/gstreamer.types.in:
351           Stupid editor, I removed that line as it should go in yet.
352
353 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
354
355         * docs/gst/gstreamer.types.in:
356         * docs/libs/gstreamer-libs.types:
357           Remove library types fro core docs and have them in libs docs.
358           Reformat and cleanup. Add comment for miniobject types.
359
360 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
361
362         * gst/gsturi.c: (gst_uri_get_protocol):
363           Fix leak: g_strdown operates on the string in place, while
364           g_ascii_strdown() returns a newly-allocated string.
365
366 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
367
368         * tools/gst-inspect.c: (print_uri_handler_info),
369         (print_element_info):
370         Print the URI protocols and the URI type supported by the element.
371
372 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
373
374         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
375         Use g_value_take_string() instead of the deprecated
376         g_value_set_string_take_ownership().
377
378 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
379
380         * gst/gstregistrybinary.c: (_gst_crc32):
381         Return the old CRC instead of 0 if we give a NULL buffer
382         or a buffer with a length of 0.
383
384 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
385
386         * gst/gsturi.c: (gst_uri_protocol_check_internal),
387         (gst_uri_get_protocol), (gst_uri_has_protocol),
388         (gst_uri_construct), (gst_uri_handler_set_uri):
389         A valid URI scheme can also include '+', '-' and '.' additional
390         to alphanumeric characters as per RFC 3986 Section 3.1.
391
392         Handle URI schemes case insensitive in all places and convert
393         to lower-case when constructing an URI or setting an URI with
394         the GstURIHandler interface. Fixes bug #528868.
395         All elements can still assume (as before) that they will
396         get passed URIs with a lower-case URI scheme by the GstURIHandler
397         interface.
398
399 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
400
401         * gst/gstcaps.c: (gst_static_caps_get):
402         * gst/gstclock.c: (gst_clock_entry_new):
403           Don't use g_atomic_set_int where it's not needed.
404
405 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
406
407         * gst/gstvalue.c: (gst_value_deserialize_caps):
408         * gst/parse/grammar.y:
409         Fix 2 caps leaks.
410
411 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
412
413         * gst/gstutils.c: (gst_atomic_int_set):
414         Use g_atomic_int_set() here too instead of assignment +
415         g_atomic_int_get().
416
417 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
418         
419         * gst/gstutils.c:
420         * gst/gstutils.h:
421         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
422         now that we depend on new enough GLib.
423
424         * gst/gstcaps.c: (gst_static_caps_get):
425         * gst/gstclock.c: (gst_clock_entry_new):
426         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
427         (gst_debug_set_default_threshold), (_gst_debug_category_new),
428         (gst_debug_category_set_threshold):
429         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
430         (gst_base_sink_set_qos_enabled):
431         * libs/gst/net/gstnettimeprovider.c:
432         (gst_net_time_provider_set_property):
433         Use g_atomic_int_set() instead of gst_atomic_int_set().
434
435 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
436
437         * gst/gstquery.c:
438           Also use G_GINT64_CONSTANT for the queries.
439
440 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
441
442         * gst/gstmessage.c:
443           Use G_GINT64_CONSTANT in varargs function.
444
445 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
446
447         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
448         Initialize the registry magic with zeroes.
449
450 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
451
452         * gst/gstregistrybinary.c: (_gst_crc32),
453         (gst_registry_binary_write),
454         (gst_registry_binary_initialize_magic),
455         (gst_registry_binary_write_cache),
456         (gst_registry_binary_check_magic),
457         (gst_registry_binary_read_cache):
458         * gst/gstregistrybinary.h:
459         Add crc32 checksum to the binary registry file and check this before
460         accepting a registry file.
461
462         Also free the data list when writing to the registry file fails.
463
464 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
465
466         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
467         (gst_registry_binary_load_feature),
468         (gst_registry_binary_load_plugin):
469         If an element supports the Uri interface, returns a valid pointer
470         to the supported URI protocols but this pointer contains nothing
471         don't try to save that as it will corrupt the registry.
472
473         Don't unref the plugin if we added it to the registry already but
474         fail to load a feature as gst_registry_add_plugin() takes ownership
475         of the plugin.
476
477         Improve debugging a bit.
478
479 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
480
481         * gst/gsttaglist.h:
482           Clarify some tag item docs after discussion on irc.
483
484 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
485
486         * docs/gst/gstreamer-docs.sgml:
487           Remove commented out plugins (they have their own docs). Update
488           comments.
489
490 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
491
492         * docs/gst/gstreamer-docs.sgml:
493         * docs/gst/gstreamer-sections.txt:
494         * gst/gstparamspecs.c:
495         * gst/gstparamspecs.h:
496           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
497           docs to own section.
498
499         * gst/gstvalue.c:
500           This now only documents GValue.
501           
502         * docs/libs/gstreamer-libs-sections.txt:
503         * libs/gst/controller/gstcontroller.h:
504           Remove GST_PARAM_CONTROLLABLE.
505
506 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
507
508         * docs/README:
509           Correct file path. Tell about how to use -overrides.txt.
510         * docs/design/draft-tagreading.txt:
511           Small design update.
512
513 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
514
515         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
516         (gst_registry_binary_load_plugin):
517         Fix a typo in a debug message and revert change from yesterday as
518         gst_registry_add_plugin() will only fail if something is really wrong
519         already and we can't survive it anyway.
520
521 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
522
523         * gst/gst.c: (init_post), (gst_deinit):
524           Pre-register GstGError GType from a thread-safe context
525           (fixes #527967); unref enum type classes in deinit.
526
527 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
528
529         Patch by: Rene Stadler <mail at renestadler de>
530
531         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
532           Merging an empty list with another list in KEEP_ALL mode should
533           yield an empty list as result and not the second list (#512578).
534
535         * tests/check/gst/gsttagsetter.c:
536           Add unit test for tag merge modes and the aforementioned bug.
537
538 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
539
540         Patch by: Rene Stadler <mail at renestadler de>
541
542         * gst/gsttaglist.h:
543           Fix description to match the order in the table (#512577).
544   
545 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
546
547         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
548
549         * libs/gst/net/gstnettimepacket.h:
550         * docs/libs/gstreamer-libs-sections.txt:
551           Define socklen_t as int if it's not defined yet. Fixes compilation
552           with MSVC6 and other versions where socklen_t is not defined in
553           the windows headers (#518022).
554
555 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
556
557         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
558         If gst_registry_add_plugin() fails our reference to the plugin is
559         invalid so don't try to use it anymore and instead error out.
560
561 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
562
563         * tools/gst-xmlinspect.c: (print_element_info), (main):
564           De-cruft a bit. If no argument is specified, print all elements in
565           XML syntax rather than a freestyle list of elements like gst-inspect.
566           Also, don't print XML header chunk unless we actually have something
567           to print (ie. don't print it before an error message); print error
568           message to stderr not stdout. Remove support for printing plugin
569           info (it would just output something freestyle along the lines of
570           gst-inspect so far), which fixes #514507. Also add license header.
571
572 2008-04-11  Julien Moutte  <julien@fluendo.com>
573
574         Mac OS X love...
575         * configure.ac: Merge platform specific defines, introduce a new
576         define on OS X to remember that forking when updating registry is
577         unsafe.
578         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
579         module.
580         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
581         is defined.
582         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
583         condition that leads to absolutely no plugins being registered on
584         OS X.
585
586 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
587
588         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
589
590         * gst/gstutils.c: (gst_pad_add_data_probe),
591           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
592           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
593           (gst_pad_add_buffer_probe_full):
594         * gst/gstutils.h:
595         * docs/gst/gstreamer-sections.txt:
596         * win32/common/libgstreamer.def:
597           Add gst_pad_add_*_probe_full() functions with a notify callback that
598           lets the caller free the data it passes to the probe functions. This
599           is useful for bindings such as gst-python or gstreamermm (#526814).
600           API: gst_pad_add_data_probe_full
601           API: gst_pad_add_buffer_probe_full
602           API: gst_pad_add_event_probe_full
603
604         * tests/check/gst/gstutils.c:
605           Add minimal unit test to make sure freeing the data actually works
606           as expected.
607
608         * tests/benchmarks/.cvsignore:
609           Random cvsignore addendum.
610
611 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
612
613         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
614           (GST_DEBUG_BIN_TO_DOT_FILE):
615           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
616           to it in the docs (since these are macros the types of the arguments
617           won't be shown in the docs otherwise).
618
619 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
620
621         * gst/gstpad.c:
622           Do not abort on out of memory for pad_alloc_buffer.
623
624 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
625
626         * libs/gst/check/gstcheck.c:
627           Remove blank line between symbol name ad parameters to fix gtkdoc
628           warning.
629
630 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
631
632         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
633
634         * docs/gst/gstreamer-sections.txt:
635         * gst/gstsegment.c:
636         * gst/gstsegment.h:
637         * win32/common/libgstreamer.def:
638           Expose gst_segment_copy() to make things easier for the c++ bindings.
639           Fixes #518932.
640           API: gst_segment_copy()
641
642 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
643
644         * gst/gst.c: (gst_init_get_option_group), (init_post):
645           Fix const position; ref GType classes for enum types to work
646           around thread-safety issues in GLib versions < 2.16.
647
648 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * docs/design/part-buffering.txt:
651         Fix some typos and set the estimated total for push mode to -1.
652
653         * gst/gstquery.c: (gst_query_new_buffering):
654         Set buffering-left to 0 as we're not buffering by default.
655
656         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
657         Implement BUFFERING query.
658
659 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
660
661         Based on patch by: Milosz Derezynski <internalerror gmail com>
662
663         * gst/gsterror.c: (_gst_stream_errors_init):
664         * gst/gsterror.h:
665           Add two new error codes for encrypted content. Fixes #524659.
666           API: GST_STREAM_ERROR_DECRYPT
667           API: GST_STREAM_ERROR_DECRYPT_NOKEY
668
669 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
670
671         * gst/gstquery.h:
672           Fix typo.
673
674         * win32/common/libgstreamer.def:
675           Add new functions.
676
677 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
678
679         * plugins/elements/gstidentity.c: (gst_identity_event),
680         (gst_identity_start):
681         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
682         event after processing some data. Fixes bug #526042.
683
684 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
685
686         * docs/gst/gstreamer-sections.txt:
687         * gst/gstquery.c: (gst_query_parse_latency),
688         (gst_query_set_buffering_percent),
689         (gst_query_parse_buffering_percent),
690         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
691         * gst/gstquery.h:
692         Rename _avail -> _range
693         API: gst_query_set_buffering_range
694         API: gst_query_parse_buffering_range
695
696 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
697
698         * docs/design/part-buffering.txt:
699         * gst/gstquark.c:
700         * gst/gstquark.h:
701         * gst/gstquery.c: (gst_query_parse_latency),
702         (gst_query_new_buffering), (gst_query_set_buffering_percent),
703         (gst_query_parse_buffering_percent):
704         * gst/gstquery.h:
705         Add busy field and quark for the buffering query so that the app can
706         only use the query to see if buffering is in progress.
707
708 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
709
710         * docs/gst/gstreamer-sections.txt:
711         * gst/gstmessage.c: (gst_message_set_buffering_stats),
712         (gst_message_parse_buffering_stats):
713         * gst/gstmessage.h:
714         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
715         (gst_query_parse_latency), (gst_query_new_buffering),
716         (gst_query_set_buffering_percent),
717         (gst_query_parse_buffering_percent),
718         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
719         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
720         * gst/gstquery.h:
721         Reorder the message docs and headers for clarity.
722         Add aditional buffering stats API for messages.
723         Add buffering query.
724         Convert some leftover queries to use GstQuark.
725         API: gst_message_set_buffering_stats
726         API: gst_message_parse_buffering_stats
727         API: GST_QUERY_BUFFERING
728         API: GstBufferingMode
729         API: gst_query_new_buffering
730         API: gst_query_set_buffering_percent
731         API: gst_query_parse_buffering_percent
732         API: gst_query_set_buffering_stats
733         API: gst_query_parse_buffering_stats
734
735 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
736
737         * gst/gstmessage.c: (gst_message_new_error),
738         (gst_message_new_warning), (gst_message_new_info),
739         (gst_message_new_buffering), (gst_message_new_state_changed),
740         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
741         (gst_message_new_new_clock), (gst_message_new_segment_start),
742         (gst_message_new_segment_done), (gst_message_new_duration),
743         (gst_message_new_async_start), (gst_message_parse_buffering),
744         (gst_message_parse_state_changed),
745         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
746         (gst_message_parse_new_clock), (gst_message_parse_error),
747         (gst_message_parse_warning), (gst_message_parse_info),
748         (gst_message_parse_segment_start),
749         (gst_message_parse_segment_done), (gst_message_parse_duration),
750         (gst_message_parse_async_start):
751         Use GstQuark for messages.
752
753 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
754
755         * gst/gstquark.c: (_priv_gst_quarks_initialize):
756         * gst/gstquark.h:
757         Add some more quarks needed for messages and queries.
758
759 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
760
761         * docs/design/part-buffering.txt:
762         Remove the "none" buffering mode, STREAM is a good default.
763         Move estimated-time to the avail query, that's when it will be needed.
764         Other small typo fixes and updates.
765
766 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
767
768         * gst/gstindex.c: (gst_index_resolver_get_type):
769           Don't put descriptions into the nick field of a GEnumValue: it's not
770           meant for that and some language bindings rely on the nick field to
771           construct constants and the like. Fixes #526705.
772
773 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
774
775         * NEWS:
776         * RELEASE:
777         * gstreamer.doap:
778           Merge other changes from 0.10.19 release branch.
779
780 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
781
782         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
783
784         * configure.ac:
785         Actually build dlls when cross-compiling with mingw32.
786         Fixes bug #526247.
787
788 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
789
790         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
791
792         * gst/gstpoll.c:
793         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
794
795 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
796
797         * docs/design/draft-latency.txt:
798         Fix typo.
799
800         * docs/design/part-buffering.txt:
801         Update design docs with more buffering ideas.
802
803 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
804
805         * configure.ac:
806           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
807
808 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
809
810         * configure.ac:
811           Revert part that belongs to the preset patch.
812
813 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
814
815         * configure.ac:
816           Add qoutes to the define. Fixes # 525961.
817
818 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
819
820         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
821         (gst_file_index_load), (gst_file_index_add_id),
822         (gst_file_index_get_assoc_entry):
823         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
824         (gst_mem_index_free_id), (gst_mem_index_add_id),
825         (gst_mem_index_index_format):
826         Use GSlice when possible.
827
828 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
829
830         * libs/gst/controller/gstinterpolationcontrolsource.c:
831         (gst_control_point_free),
832         (gst_interpolation_control_source_set_internal):
833         Use GSlice for allocating the control points.
834
835 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
836
837         * plugins/elements/gsttypefindelement.c:
838         (gst_type_find_element_class_init),
839         (gst_type_find_element_set_property),
840         (gst_type_find_element_get_property),
841         (gst_type_find_element_activate):
842         * plugins/elements/gsttypefindelement.h:
843         Cleanup properties.
844         Fix pad leak when peer query fails.
845         We can still typefind when the peer returns -1.
846         Add property to force caps and bypass typefinding. This will be used in
847         uridecodebin.
848         API::force-caps
849
850 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
851
852         * configure.ac:
853         Require GLib 2.12.
854
855         * gst/glib-compat-private.h:
856         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
857         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
858         Unconditionally use GSlice for allocation.
859
860         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
861         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
862         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
863         (gst_structure_free):
864         Use GSlice for allocation.
865
866 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
867
868         * gst/parse/Makefile.am:
869         * gst/parse/grammar.tab.pre.c:
870         * gst/parse/grammar.tab.pre.h:
871         * gst/parse/lex._gst_parse_yy.pre.c:
872         Require a new enough flex and bison and remove the parser hacks to use
873         a pre-regenerated version.
874
875 2008-04-01  Julien Moutte  <julien@fluendo.com>
876
877         patch by: Jason Zhao <E3423C@motorola.com>
878
879         * configure.ac: Add a configure switch to disable option parsing
880         in gst_init.
881         Fixes #522882.
882
883 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
884
885         * configure.ac:
886         * gst/gstregistry.c:
887           MacOS has plugins under .so or under .dylib. Add detection for MacOS
888           and handle this case.
889
890         * gst/gst.c:
891           Add a comment here describing, why we stat each plugin and not try to
892           be smart.
893
894 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
895
896         * libs/gst/base/gstbasetransform.c:
897         (gst_base_transform_prepare_output_buffer):
898         Also unset the GAP flag on buffers if we're working inplace but
899         the element is not GAP-aware.
900
901         Mark a comment as FIXME 0.11.
902
903 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
904
905         * gst/gst.c:
906           Fix type in log message and add one to ease seeing how long registry
907           cache verification takes.
908
909         * gst/gstregistry.c:
910           Only test plugin filenames against G_MODULE_SUFFIX.
911
912 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
913
914         * gst/gstdebugutils.c:
915           Improve handling ghost/proxy pads.
916
917 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
918
919         * docs/gst/gstreamer-sections.txt:
920         * gst/gstpad.c:
921         * gst/gstpad.h:
922           Expose macro to docs and fix link to it.
923
924 2008-03-27  Michael Smith <msmith@fluendo.com>
925
926         * libs/gst/dataprotocol/dataprotocol.c:
927         (gst_dp_packet_from_event_1_0):
928           When calculating GDP body CRC, use the correct pointer. 
929           Fixes part of #522401.
930
931 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
932
933         Patch by: Mark Nauwelaerts <manauw at skynet be>
934
935         * plugins/elements/gstidentity.c: (gst_identity_class_init),
936         (gst_identity_init), (gst_identity_prepare_output_buffer):
937         Identity is not always a passthrough element, it can modify the buffer
938         timestamps when it has a datarate and operates in single-segment mode.
939         We therefore make it an in_place filter with a custom buffer prepare
940         function that conditionally makes the input buffer metadata writable
941         when needed.  Fixes #523985.
942
943 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
944
945         Patch by: Mark Nauwelaerts <manauw at skynet be>
946
947         * gst/gstclock.h:
948         * libs/gst/base/gstbasesrc.h:
949         * libs/gst/base/gstbasetransform.c:
950         * libs/gst/check/gstcheck.c:
951         Small documentation fixes. Fixes #523978.
952
953 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
954
955         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
956         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
957         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
958
959 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
960
961         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
962         (single_queue_underrun_cb):
963         When trying to make room in the queue, bump the max allowed buffers
964         bigger than the current amount of buffers in the queue. this fixes some
965         nasty deadlocks in multiqueue when dynamically changing the limits of
966         the queue.
967
968 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
969
970         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
971
972         * gst/gstcaps.c: (gst_caps_set_simple),
973         (gst_caps_set_simple_valist), (gst_caps_intersect):
974         * gst/gstcaps.h:
975         Constify the field gchar * params in set_simple and friends.
976         Fixes #522326.
977
978 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
979
980         * gst/gstvalue.c: (gst_value_transform_object_string):
981         Transform a GstObject to a more meaningfull string that includes the
982         object type in addition to its name.
983
984 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
985
986         * ChangeLog:
987           ChangeLog surgery to add bugnumber to commit.
988
989 2008-03-23  Rene Stadler  <mail@renestadler.de>
990
991         * libs/gst/base/gstbasetransform.c:
992         (gst_base_transform_set_gap_aware): Fix confusing documentation.
993
994 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
995
996         * gst/gstregistrybinary.c: (gst_registry_binary_write):
997         Rename constant everywhere and don't forget one occurence.
998
999 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1000
1001         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1002         Align memory to the pointer size even if the architecture allows
1003         unaligned memory access. Unaligned memory access usually comes with
1004         performance penality.
1005
1006 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1007
1008         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1009         (gst_registry_binary_check_magic),
1010         (gst_registry_binary_load_pad_template),
1011         (gst_registry_binary_load_feature),
1012         (gst_registry_binary_load_plugin):
1013         Align memory to the pointer size instead of always 32 bit. Fixes
1014         unaligned memory accesses on ia64 and friends.
1015
1016         * gst/gstregistrybinary.h:
1017         Bump binary registry format version for this as it changes the
1018         format on those architectures that don't have unaligned access
1019         and 64 bit pointers.
1020
1021 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1022
1023         * docs/pwg/advanced-dparams.xml:
1024         * docs/pwg/building-props.xml:
1025         * docs/pwg/other-source.xml:
1026         * gst/glib-compat.h:
1027         * gst/gstbin.c: (gst_bin_class_init):
1028         * gst/gstclock.c: (gst_clock_class_init):
1029         * gst/gstindex.c: (gst_index_class_init):
1030         * gst/gstobject.c: (gst_object_class_init):
1031         * gst/gstpad.c: (gst_pad_class_init):
1032         * gst/gstpipeline.c: (gst_pipeline_class_init):
1033         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1034         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1035         * libs/gst/base/gstbasetransform.c:
1036         (gst_base_transform_class_init):
1037         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
1038         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
1039         (_gst_check_fault_handler_sighandler),
1040         (_gst_check_fault_handler_setup), (gst_check_init):
1041         * libs/gst/controller/gstcontroller.c:
1042         (_gst_controller_class_init):
1043         * libs/gst/controller/gstlfocontrolsource.c:
1044         (gst_lfo_control_source_class_init):
1045         * libs/gst/net/gstnetclientclock.c:
1046         (gst_net_client_clock_class_init):
1047         * libs/gst/net/gstnettimeprovider.c:
1048         (gst_net_time_provider_class_init):
1049         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1050         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1051         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1052         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1053         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1054         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1055         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1056         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1057         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
1058         * plugins/elements/gstqueue.c: (gst_queue_class_init):
1059         * plugins/elements/gsttee.c: (gst_tee_class_init):
1060         * plugins/elements/gsttypefindelement.c:
1061         (gst_type_find_element_class_init):
1062         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1063         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
1064         use it everywhere for GParamSpecs that use static strings (i.e. all).
1065         This gives us less memory usage, fewer allocations and thus less
1066         memory defragmentation. Fixes bug #523806.
1067
1068 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1069
1070         * gst/gstminiobject.c: (gst_value_dup_mini_object),
1071         (gst_param_spec_mini_object):
1072         * gst/gstminiobject.h:
1073         * win32/common/libgstreamer.def:
1074         * docs/gst/gstreamer-sections.txt:
1075         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
1076         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
1077         GstParamSpecMiniObject into a public header for this.
1078
1079         This make GstMiniObject a bit more consistent with GObject and makes
1080         it possible to extend the param specs.
1081
1082         gst_value_dup_mini_object is mainly useful for set_property methods.
1083
1084         Fixes bug #523798.
1085
1086         * tools/gst-inspect.c: (print_element_properties_info):
1087         Print something useful for GstMiniObject properties and not just
1088         "unknown type".
1089
1090 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1091
1092         * docs/gst/gstreamer-sections.txt:
1093         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1094         (gst_registry_binary_check_magic):
1095         * gst/gstregistrybinary.h:
1096         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
1097         and add it to the (private part) of the docs to fix the build.
1098
1099 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1100
1101         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1102         (gst_registry_binary_check_magic),
1103         (gst_registry_binary_read_cache):
1104         * gst/gstregistrybinary.h:
1105         Don't use GST_MAJORMINOR for the binary registry version. Instead
1106         hardcode a value that must be changed whenever the format changes
1107         in an incompatible way.
1108         Also don't GST_ERROR when there is a version mismatch, just
1109         regenerate the registry silently.
1110
1111 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
1112
1113         * configure.ac:
1114         Back to development - 0.10.18.1
1115
1116 === release 0.10.18 ===
1117
1118 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
1119
1120         * configure.ac:
1121           releasing 0.10.18, "So far away"
1122
1123 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
1124
1125         * configure.ac:
1126         * win32/common/config.h:
1127         0.10.17.4 pre-release
1128
1129 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1130
1131         Patch by: Ole André Vadla Ravnås
1132             <ole dot andre dot ravnas at tandberg dot com>
1133
1134         * docs/gst/gstreamer-sections.txt:
1135         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
1136         (gst_poll_update_winsock_event_mask),
1137         (gst_poll_prepare_winsock_active_sets),
1138         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
1139         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
1140         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
1141         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1142         (gst_poll_check_ctrl_commands), (gst_poll_wait):
1143         * gst/gstpoll.h:
1144         * win32/common/libgstreamer.def:
1145         Add new function gst_poll_fd_ignored() for improved Windows
1146         compatibility.
1147         Various minor fixes and cleanups. See #520808.
1148
1149 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
1150
1151         * gst/gstindex.c: (gst_index_entry_free):
1152         * gst/gstindex.h:
1153           Don't free key strings which we don't own. Fixes crash in
1154           gst_index_entry_free() (#522741).
1155
1156         * tests/check/Makefile.am:
1157         * tests/check/gst/.cvsignore:
1158         * tests/check/gst/gstindex.c: (test_index_entries),
1159           (gst_index_suite), (gst_index):
1160           Add unit test for the above.
1161
1162 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
1163
1164         * win32/common/libgstreamer.def:
1165         Remove symbols that were removed recently. Fixes bug #521740.
1166
1167 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
1168
1169         * configure.ac:
1170         * win32/common/config.h:
1171         0.10.17.3 pre-release
1172
1173 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1174
1175         Patch by: Ole André Vadla Ravnås
1176             <ole dot andre dot ravnas at tandberg dot com>
1177
1178         * docs/gst/gstreamer-sections.txt:
1179         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
1180         (gst_poll_update_winsock_event_mask), (gst_poll_new),
1181         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
1182         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1183         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
1184         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1185         (gst_poll_fd_can_write), (gst_poll_wait),
1186         (gst_poll_set_controllable), (gst_poll_restart),
1187         (gst_poll_set_flushing):
1188         * gst/gstpoll.h:
1189         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1190         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
1191         (gst_net_time_provider_new):
1192         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1193         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
1194         * tests/benchmarks/gstpollstress.c: (main):
1195         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
1196         Remove GstPollMode from the API, it does not make sense to let the
1197         application control this.
1198         Add support for Win32.
1199         Fix the testsuite. Fixes #520671.
1200
1201 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
1202
1203         Patch by: Ole André Vadla Ravnås
1204             <ole dot andre dot ravnas at tandberg dot com>
1205
1206         * gst/gstregistrybinary.c:
1207         Include io.h for write() and close() when building with MSVC. Fixes
1208         bug #520877.
1209
1210 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
1211
1212         * configure.ac:
1213         * gst/gst_private.h:
1214         * gst/gstconfig.h.in:
1215         * gst/gstregistry.h:
1216         * gst/gstregistrybinary.c:
1217         * win32/common/gstconfig.h:
1218           Move registry backend API to private headers where we can. Add
1219           fixme-0.11 comments for the others. Add stubs for the xml backend when
1220           using the binary to ensure they functions exists (they should not be
1221           used though). Fixes #520756.
1222
1223 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
1224
1225         * configure.ac:
1226         * win32/common/config.h:
1227         0.10.17.2 prelease
1228
1229 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
1230
1231         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1232         (gst_registry_binary_read_cache):
1233         * gst/gstregistryxml.c: (gst_registry_save):
1234         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
1235         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
1236         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
1237         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
1238         Switch to using portabl gsize/gssize instead of size_t/ssize_t
1239         Fixes #520152
1240
1241 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
1242
1243         * gst/gstminiobject.c:
1244         Import gst_private.h before any other header that might include other
1245         glib headers. This fixes the build on windows using native compilers.
1246
1247 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * win32/common/gstconfig.h:
1250           Add here too, just for completeness.
1251
1252 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1253
1254         * configure.ac:
1255         * gst/gstconfig.h.in:
1256         * gst/gstregistry.h:
1257           Fix broken use of config.h-defined preprocessor directive in a public
1258           header file. Add a corresponding define to gstconfig.h, since we can't
1259           really remove those function declarations from the header file now
1260           (or can we? and why are they there in the first place?).
1261
1262 2008-03-03  Andy Wingo  <wingo@pobox.com>
1263
1264         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
1265         the new warning.
1266
1267         * gst/gststructure.c (gst_structure_from_string): Warn if
1268         structure_from_string didn't consume the whole string, but the
1269         caller did not provide an end pointer.
1270
1271 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
1272
1273         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
1274
1275         * gst/gstregistryxml.c: (read_string), (load_feature):
1276           Strings allocated by libxml2 should be freed with xmlFree(), not
1277           with g_free(). Fixes issues on windows in certain contexts (#519698).
1278
1279 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
1280
1281         * gst/gstinterface.c: (gst_element_implements_interface):
1282           Don't crash if the element supports the interface queried, but does
1283           not implement GstImplementsInterface. Fixes #519584.
1284
1285         * tests/check/Makefile.am:
1286         * tests/check/gst/.cvsignore:
1287         * tests/check/gst/gstinterface.c:
1288           Add unit test for the above.
1289
1290 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1291
1292         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1293         Small doc update.
1294
1295 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1296
1297         * gst/gstsegment.c: (gst_segment_set_seek),
1298         (gst_segment_to_stream_time):
1299         Improve some comment.
1300         Update variables where it makes more sense.
1301
1302 2008-02-29  Rene Stadler  <mail@renestadler.de>
1303
1304         * gst/gsturi.c: (gst_uri_handler_get_protocols):
1305         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
1306         URIHandlers implemented using language bindings.
1307
1308 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
1309
1310         * gst/gstelementfactory.h:
1311         * tests/check/elements/fakesink.c:
1312         * tests/check/elements/fakesrc.c: (setup_fakesrc):
1313         * tests/check/elements/fdsrc.c: (setup_fdsrc):
1314         * tests/check/elements/filesink.c: (setup_filesink):
1315         * tests/check/elements/filesrc.c: (setup_filesrc):
1316         * tests/check/elements/identity.c: (setup_identity):
1317         * tests/check/elements/tee.c:
1318         * tests/check/generic/sinks.c:
1319         * tests/check/generic/states.c: (setup), (teardown):
1320         * tests/check/gst/gst.c:
1321         * tests/check/gst/gstabi.c:
1322         * tests/check/gst/gstbin.c:
1323         * tests/check/gst/gstbus.c: (pull_messages):
1324         * tests/check/gst/gstcaps.c:
1325         * tests/check/gst/gstelement.c:
1326         * tests/check/gst/gstevent.c:
1327         * tests/check/gst/gstghostpad.c:
1328         * tests/check/gst/gstiterator.c:
1329         * tests/check/gst/gstmessage.c:
1330         * tests/check/gst/gstminiobject.c: (my_foo_init):
1331         * tests/check/gst/gstobject.c: (thread_name_object),
1332         (gst_object_suite):
1333         * tests/check/gst/gstpad.c:
1334         * tests/check/gst/gstplugin.c:
1335         * tests/check/gst/gstpoll.c:
1336         * tests/check/gst/gstquery.c:
1337         * tests/check/gst/gstsegment.c:
1338         * tests/check/gst/gststructure.c:
1339         * tests/check/gst/gstsystemclock.c:
1340         * tests/check/gst/gsttask.c:
1341         * tests/check/gst/gstutils.c:
1342         * tests/check/gst/gstvalue.c:
1343         * tests/check/gst/struct_hppa.h:
1344         * tests/check/gst/struct_i386.h:
1345         * tests/check/gst/struct_ppc32.h:
1346         * tests/check/gst/struct_ppc64.h:
1347         * tests/check/gst/struct_x86_64.h:
1348         * tests/check/libs/adapter.c: (create_and_fill_adapter):
1349         * tests/check/libs/basesrc.c:
1350         * tests/check/libs/controller.c: (GST_START_TEST):
1351         * tests/check/libs/gdp.c:
1352         * tests/check/libs/gstnetclientclock.c:
1353         * tests/check/libs/gstnettimeprovider.c:
1354         * tests/check/libs/libsabi.c:
1355         * tests/check/libs/struct_hppa.h:
1356         * tests/check/libs/struct_i386.h:
1357         * tests/check/libs/struct_ppc32.h:
1358         * tests/check/libs/struct_ppc64.h:
1359         * tests/check/libs/struct_x86_64.h:
1360         * tests/check/pipelines/cleanup.c:
1361         * tests/check/pipelines/simple-launch-lines.c:
1362         * tests/check/pipelines/stress.c:
1363         And correct even more valid sparse warnings.
1364
1365         * win32/common/libgstreamer.def:
1366         Add gst_poll_fd_init to the list of symbols.
1367
1368 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
1369
1370         * gst/gstconfig.h.in:
1371         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
1372         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
1373         (gst_check_log_critical_func), (gst_check_drop_buffers),
1374         (gst_check_element_push_buffer_list):
1375         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
1376         (gst_controller_get_type):
1377         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
1378         (gst_object_get_controller), (gst_object_get_control_source):
1379         * libs/gst/controller/gstinterpolationcontrolsource.c:
1380         (gst_interpolation_control_source_new):
1381         * libs/gst/controller/gstlfocontrolsource.c:
1382         (gst_lfo_control_source_new):
1383         * libs/gst/dataprotocol/dataprotocol.c:
1384         (gst_dp_event_from_packet_0_2):
1385         * plugins/elements/gstfdsrc.c:
1386         * plugins/elements/gstmultiqueue.c:
1387         * plugins/elements/gsttee.c:
1388         * plugins/elements/gsttypefindelement.c:
1389         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
1390         (gst_file_index_add_association):
1391         * plugins/indexers/gstmemindex.c:
1392         * tests/benchmarks/gstpollstress.c: (mess_some_more):
1393         * tests/check/elements/queue.c: (setup_queue):
1394         * tests/check/gst/gstpipeline.c:
1395         * tests/check/libs/collectpads.c: (setup), (teardown),
1396         (gst_collect_pads_suite):
1397         * tests/examples/adapter/adapter_test.c:
1398         * tests/examples/metadata/read-metadata.c: (make_pipeline):
1399         * tests/examples/xml/createxml.c:
1400         * tests/examples/xml/runxml.c:
1401         * tools/gst-inspect.c:
1402         * tools/gst-run.c:
1403         Correct all relevant warnings found by the sparse semantic code
1404         analyzer. This include marking several symbols static, using
1405         NULL instead of 0 for pointers, not using variable sized arrays
1406         on the stack, moving variable declarations to the beginning of
1407         a block and using "foo (void)" instead of "foo ()" for declarations.
1408
1409 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
1410
1411         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1412         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1413         Don't reset GstPollFDs, this is not necessary at all.
1414
1415         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1416         (delayed_restart), (delayed_control):
1417         Use GST_POLL_FD_INIT.
1418
1419 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1420
1421         * gst/gstpoll.c: (gst_poll_fd_init):
1422         * gst/gstpoll.h:
1423         Added Since tags.
1424
1425         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1426         Use some more init macros.
1427
1428 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1429
1430         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1431         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1432         Use init macros and functions.
1433
1434 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1435
1436         * docs/gst/gstreamer-sections.txt:
1437         * gst/gstpoll.c: (gst_poll_fd_init):
1438         * gst/gstpoll.h:
1439         Add INIT macro and _init method for initializing the GstPollFD.
1440
1441 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
1442
1443         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
1444         (gst_fd_sink_update_fd):
1445         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1446         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1447         (delayed_restart), (delayed_control):
1448         Initialize some uninitialized variables as spotted by valgrind.
1449
1450 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1451
1452         * tests/benchmarks/Makefile.am:
1453         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
1454         (main):
1455         Add poll stress test.
1456
1457 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1458
1459         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1460
1461         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1462         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
1463         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
1464         * plugins/elements/gstfdsink.h:
1465         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
1466         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
1467         (gst_fd_src_unlock_stop), (gst_fd_src_create),
1468         (gst_fd_src_uri_set_uri):
1469         * plugins/elements/gstfdsrc.h:
1470         Port to GstPoll. See #505417.
1471
1472 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
1473
1474         * win32/common/libgstreamer.def:
1475         Add new gst_poll_ symbols to win32 defs.
1476
1477 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1478
1479         * docs/libs/gstreamer-libs-sections.txt:
1480         * libs/gst/net/gstnetclientclock.c:
1481         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
1482         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
1483         (gst_net_client_clock_thread), (gst_net_client_clock_start),
1484         (gst_net_client_clock_stop), (gst_net_client_clock_new):
1485         * libs/gst/net/gstnetclientclock.h:
1486         * libs/gst/net/gstnettimeprovider.c:
1487         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
1488         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
1489         (gst_net_time_provider_start), (gst_net_time_provider_stop),
1490         (gst_net_time_provider_new):
1491         * libs/gst/net/gstnettimeprovider.h:
1492         Use a private stuct to not break ABI.
1493
1494 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1495
1496         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1497
1498         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
1499         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
1500         (gst_net_client_clock_thread), (gst_net_client_clock_start),
1501         (gst_net_client_clock_stop), (gst_net_client_clock_new):
1502         * libs/gst/net/gstnetclientclock.h:
1503         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
1504         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
1505         (gst_net_time_provider_start), (gst_net_time_provider_stop),
1506         (gst_net_time_provider_new):
1507         * libs/gst/net/gstnettimeprovider.h:
1508         Massive code removal and cleanups because of GstPoll.
1509         Fixes #505417.
1510
1511 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1512
1513         * configure.ac:
1514         Add checks for poll, ppoll and pselect.
1515
1516         * docs/gst/gstreamer-docs.sgml:
1517         * docs/gst/gstreamer-sections.txt:
1518         Add docs for GstPoll.
1519
1520         * gst/Makefile.am:
1521         * gst/gst.h:
1522         * gst/gstpoll.c: (find_index), (selectable_fds),
1523         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
1524         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
1525         (gst_poll_set_mode), (gst_poll_get_mode),
1526         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
1527         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1528         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
1529         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
1530         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
1531         (gst_poll_fd_can_write), (gst_poll_wait),
1532         (gst_poll_set_controllable), (gst_poll_restart),
1533         (gst_poll_set_flushing):
1534         * gst/gstpoll.h:
1535         Add generic poll abstraction. We ideally don't want to have this in core
1536         here but in glib intead...
1537         This code will be used in various network elements and ultimately for
1538         the nanosecond precision monotonic clock (that's why it's here in core).
1539         It'll allow us to implement cancelable socket operations for windows too.
1540
1541         * tests/check/Makefile.am:
1542         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1543         (delayed_stop), (delayed_restart), (delayed_flush),
1544         (delayed_control), (gst_poll_suite):
1545         Add GstPoll unit test.
1546
1547 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
1548
1549         * gst/gstfilter.c:
1550           Improve documentation of gst_filter_run(). Fixes #518627.
1551
1552 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * docs/README:
1555           Add a few lines about the new 'check-inspected-versions' target.
1556
1557 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
1558
1559         * tests/check/gst/gstevent.c:
1560           Add qos to the event test. Rename tcase/tsuite; is not only about
1561           custom events.
1562
1563 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
1564
1565         * plugins/elements/gstqueue.c:
1566           Ensure that buffer metadata is writeable, before modifying. Spotted by
1567           Mike.
1568
1569 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
1570
1571         * plugins/elements/gstqueue.c:
1572         * plugins/elements/gstqueue.h:
1573           When dropping buffers in leaky modes, mark next buffers we sent as
1574           DISCONT.
1575
1576 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
1577
1578         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
1579           Also, if mmap() fails that would be a READ error, not OPEN_READ.
1580
1581 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         * plugins/elements/Makefile.am:
1584         * plugins/elements/gstbufferstore.c:
1585         * plugins/elements/gstbufferstore.h:
1586         * plugins/elements/gsttypefindelement.h:
1587           Remove GstBufferStore, no idea why we were still building it.
1588           It's not used anywhere and superseded by GstAdapter.
1589
1590         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
1591           (gst_file_src_create_mmap):
1592         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
1593           Printf format fixes for 64-bit integers.
1594
1595 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
1596
1597         * configure.ac:
1598         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
1599         We're not in 0.8 times anymore.
1600
1601 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
1602
1603         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
1604         (gst_check_element_push_buffer_list):
1605         * libs/gst/check/gstcheck.h:
1606         Make the declaration in the header for
1607         gst_check_element_push_buffer_list match the implementation.
1608
1609         Fix up spelling, grammar and wording of the documentation in a few
1610         places, and add the Since keyword to new API functions.
1611         Use g_list_delete_link instead of g_list_remove in
1612         gst_check_drop_buffers, since it's immeasurably more efficient.
1613
1614         * tests/check/elements/fakesrc.c: (GST_START_TEST):
1615         Use new gst_check_drop_buffers function where appropriate.
1616
1617         * win32/common/libgstbase.def:
1618         * win32/common/libgstreamer.def:
1619         Add new symbols gst_collect_pads_take_buffer, 
1620         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
1621         exports
1622
1623         Changelog surgery to add API keyword to new gst_check API.
1624
1625 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
1626
1627         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
1628         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
1629         Update pre-generated flex files with flex 2.3.34.
1630
1631 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
1632
1633         * gst/gstminiobject.c:
1634           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
1635           friendly to subclasses and not require them to know all internals
1636           of their parent class.
1637
1638 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
1639
1640         * docs/libs/gstreamer-libs-sections.txt:
1641         * libs/gst/base/gstcollectpads.c:
1642         * libs/gst/base/gstcollectpads.h:
1643           Add sub-buffer functions to collectpads. Fixes #516187.
1644           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
1645
1646 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
1647
1648         * gst/gstbuffer.c:
1649           Copy selected buffer-flags when creating subbuffers.
1650           Fixes #516395.
1651
1652 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
1653
1654         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
1655         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
1656         * gst/gstmessage.c: (gst_message_class_init),
1657         (gst_message_finalize):
1658         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
1659         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
1660         (gst_mmap_buffer_finalize):
1661         Properly chain up finalize functions to the parent class.
1662
1663 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
1664
1665         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
1666
1667         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
1668         (gst_index_set_resolver_full):
1669         * gst/gstindex.h:
1670         Add new function with option to dispose of user_data in resolver.
1671         Actually call the dispose function when finalizing the object and not
1672         just when changing the resolver/filter.
1673         API: GstIndex::gst_index_set_resolver_full()
1674
1675         * docs/gst/gstreamer-sections.txt:
1676         Add new function to docs. Fixes #515469.
1677
1678 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
1679
1680         * gst/gstindex.c: (gst_index_finalize):
1681         Chain up finalize to the parent class. Fixes leaking the GstObject
1682         name and other things.
1683
1684 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
1685
1686         * configure.ac:
1687         Make DISABLE_DEPRECATED defined *only* during CVS, not during
1688         pre-releases or releases.
1689
1690         * docs/faq/gst-uninstalled:
1691         Add gst-plugins-gl
1692
1693         * docs/random/release:
1694         Change one of the steps - we only upload core & base to Gnome FTP
1695
1696 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
1697
1698         * gst/gstconfig.h.in:
1699           Add 'id' for example.
1700
1701         * gst/gstpad.c:
1702         * gst/gstutils.c:
1703         * plugins/elements/gstfdsink.c:
1704           Link to signals. Doc and comment fixes.
1705
1706 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
1707
1708         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
1709         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
1710           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
1711           unused and unimplemented; finally, it is plugin features, not
1712           plugins, that have ranks.
1713           
1714 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
1715
1716         * gst/gstpluginfeature.h:
1717           Clarify GstRank range docs.
1718
1719 2008-02-05  David Schleef  <ds@schleef.org>
1720
1721         * gst/gst.c: Add a separate gst_deinitialized that prevents
1722           gst_init() from being called after gst_deinit().  Fixes #509559
1723
1724 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1725
1726         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
1727         (gst_bin_class_init):
1728         * gst/gstelement.c: (gst_element_base_class_init),
1729         (gst_element_class_add_pad_template):
1730         * gst/gstpadtemplate.c: (gst_pad_template_init):
1731         * gst/gstpipeline.c: (gst_pipeline_get_type),
1732         (gst_pipeline_base_init), (gst_pipeline_class_init):
1733         * libs/gst/base/gstbasesink.c:
1734         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1735         (gst_base_src_base_init), (gst_base_src_class_init):
1736         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1737         (gst_capsfilter_class_init):
1738         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1739         (gst_fake_sink_class_init):
1740         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1741         (gst_fake_src_class_init):
1742         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1743         (gst_fd_sink_class_init):
1744         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1745         (gst_fd_src_class_init):
1746         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1747         (gst_file_sink_class_init):
1748         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1749         (gst_file_src_class_init):
1750         * plugins/elements/gstidentity.c: (gst_identity_base_init),
1751         (gst_identity_class_init):
1752         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1753         (gst_multi_queue_class_init):
1754         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1755         (gst_queue_class_init):
1756         * plugins/elements/gsttee.c: (gst_tee_base_init),
1757         (gst_tee_class_init):
1758         * plugins/elements/gsttypefindelement.c:
1759         (gst_type_find_element_base_init),
1760         (gst_type_find_element_class_init):
1761         * tests/check/gst/gstelement.c: (gst_element_suite):
1762         Revert previous changes to the behaviour of GstPadTemplates, etc
1763         and the possiblity to call them in class_init as it breaks too
1764         many elements. Reopens bug #491501.
1765
1766         Should be applied again for 0.11, thus added a few FIXME 0.11 at
1767         several places.
1768
1769 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
1770
1771         * tools/gst-launch.c:
1772         Dump one graph per pipeline state-change and state change name
1773         (if GST_DEBUG_DUMP_DOT_DIR is set).
1774
1775 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
1776
1777         * gst/gstpad.c:
1778         * tests/check/gst/gstpad.c:
1779         Be sure that we have a new copy of the caps and not
1780         reffed caps from a template
1781
1782 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
1783
1784         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
1785         * gst/gstpipeline.c: (gst_pipeline_get_type),
1786         (gst_pipeline_class_init):
1787         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1788         (gst_base_sink_class_init):
1789         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1790         (gst_base_src_class_init):
1791         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
1792         (gst_base_transform_class_init):
1793         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1794         (gst_collect_pads_class_init):
1795         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
1796         * libs/gst/net/gstnettimeprovider.c:
1797         (gst_net_time_provider_base_init),
1798         (gst_net_time_provider_class_init):
1799         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1800         (gst_capsfilter_class_init):
1801         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1802         (gst_fake_sink_class_init):
1803         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1804         (gst_fake_src_class_init):
1805         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1806         (gst_fd_sink_class_init):
1807         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1808         (gst_fd_src_class_init):
1809         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1810         (gst_file_sink_class_init):
1811         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1812         (gst_file_src_class_init):
1813         * plugins/elements/gstidentity.c: (gst_identity_base_init),
1814         (gst_identity_class_init):
1815         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1816         (gst_multi_queue_class_init):
1817         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1818         (gst_queue_class_init):
1819         * plugins/elements/gsttee.c: (gst_tee_base_init),
1820         (gst_tee_class_init):
1821         * plugins/elements/gsttypefindelement.c:
1822         (gst_type_find_element_base_init),
1823         (gst_type_find_element_class_init):
1824         Don't use base_init where not absolutely necessary. For example it's
1825         not necessary anymore for adding pad templates or setting element
1826         details.
1827
1828         Leave empty base_init functions in several places as GST_BOILERPLATE
1829         still defines and uses them.
1830
1831 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
1832
1833         * gst/gstelement.c: (gst_element_base_class_init),
1834         (gst_element_class_add_pad_template):
1835         * gst/gstpadtemplate.c:
1836         Make it possible (and recommended) to set element details and add
1837         pad templates in the class_init functions by copying the details/pad
1838         templates in GstElement's base_init.
1839
1840         Also make it possible to replace existing pad templates by adding
1841         a new one with the same name. This was done in a hackish fashion
1842         in same elements before already.
1843
1844         Don't reference pad templates that are added a second time. A
1845         new pad template has a refcount of one and is not floating anymore
1846         and to be owned by the element's class. Make this more explicit by
1847         mentioning it in the docs of gst_element_class_add_pad_template().
1848
1849         These changes are backwards compatible. Fixes bug #491501.
1850
1851         * tests/check/gst/gstelement.c:
1852         Add unit test for setting element details, adding pad templates and
1853         replacing them in a subclass.
1854
1855 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1856
1857         * tools/gst-inspect.c: (print_interfaces),
1858         (print_element_properties_info), (print_pad_info),
1859         (print_signal_info), (print_element_info):
1860         Fix a few memory leaks.
1861
1862 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1863
1864         * docs/libs/gstreamer-libs-sections.txt:
1865         * libs/gst/check/gstcheck.c:
1866         * libs/gst/check/gstcheck.h:
1867         Add more functions for unit testing: gst_check_drop_buffers,
1868         gst_check_caps_equal, gst_check_element_push_buffer_list,
1869         gst_check_element_push_buffer
1870         API: gst_check_drop_buffers
1871         API: gst_check_caps_equal
1872         API: gst_check_element_push_buffer_list
1873         API: gst_check_element_push_buffer
1874
1875 2008-02-01  Julien Moutte  <julien@fluendo.com>
1876
1877         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
1878         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
1879         (gst_index_finalize), (gst_index_entry_free),
1880         (gst_index_add_association): Fix memory leaks.
1881         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
1882         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
1883         (gst_mem_index_free_format), (gst_mem_index_free_id),
1884         (gst_mem_index_finalize): Fix memory leaks.
1885         * win32/common/config.h: Updated to CVS HEAD.
1886
1887 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1888
1889         * docs/README:
1890           Some more details about how the plugin docs works.
1891
1892         * docs/plugins/gstreamer-plugins-sections.txt:
1893           Whitespace cleanup.
1894
1895 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1896
1897         * gst/parse/grammar.tab.pre.c:
1898         * gst/parse/grammar.tab.pre.h:
1899         * gst/parse/grammar.y:
1900         * gst/parse/lex._gst_parse_yy.pre.c:
1901           Add delayed set-property. This allows to set properties on dynamicaly
1902           created objects (pads in videomxer). Fixes #509391.
1903
1904 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1905
1906         * gst/gstutils.c:
1907         Check if caps are not NULL (fix bug #510194)
1908
1909 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1910
1911         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
1912         (gst_base_sink_get_position_paused):
1913         Add fixme regarding EOS in pull mode.
1914         Fix position reporting in PAUSED for negative rates.
1915
1916 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1917
1918         * gst/gstminiobject.c: (gst_mini_object_replace):
1919         When replacing a miniobject, do a quick equality check first so that we
1920         can avoid a ref/unref pair.
1921
1922 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1923
1924         * docs/design/part-synchronisation.txt:
1925         Update some docs.
1926
1927         * docs/plugins/Makefile.am:
1928         * docs/plugins/gstreamer-plugins-docs.sgml:
1929         * docs/plugins/gstreamer-plugins-sections.txt:
1930         * plugins/elements/gstmultiqueue.c:
1931         Add multiqueue to the docs.
1932
1933 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1934
1935         * configure.ac:
1936           Back to CVS
1937
1938 === release 0.10.17 ===
1939
1940 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
1941
1942         * configure.ac:
1943           releasing 0.10.17, "Due Negligence"
1944
1945 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1946
1947         * gst/gstutils.c:
1948         Revert caps != NULL check temporarily for 0.10.17 release.
1949
1950 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1951
1952         * gst/gstutils.c:
1953         Check if caps are not NULL (fix bug #510194)
1954
1955 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1956
1957         * gst/gstutils.c:
1958         Fix compilation on systems that have posix timers but no
1959         monotonic clock.
1960         Fixes: #512715
1961         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
1962         dot net>
1963
1964 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1965
1966         * tools/gst-inspect.c:
1967         Revert previous commit in preparation for an impromptu 0.10.17 release
1968
1969 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
1970
1971         * tools/gst-inspect.c: (print_interfaces),
1972         (print_element_properties_info), (print_pad_info),
1973         (print_signal_info), (print_element_info):
1974         Fix a few memory leaks.
1975
1976 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
1977
1978         * configure.ac:
1979         Back to CVS
1980
1981 === release 0.10.16 ===
1982
1983 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
1984
1985         * configure.ac:
1986           releasing 0.10.16, "Special Dispensation"
1987
1988 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
1989
1990         * configure.ac:
1991           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1992           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1993           not fail when trying to crosscompile on OpenEmbedded (#511750).
1994
1995 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
1996
1997         * docs/manuals.mak:
1998         Use $(MAKE) instead of make to fix the build if GNU make is
1999         called different. Fixes bug #510747.
2000
2001 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2002
2003         * gst/gstplugin.c: (_gst_plugin_initialize):
2004           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
2005           again, which I broke two commits ago when changing the API
2006           of gst_plugin_register_static(): the g_list_foreach() in
2007           _gst_plugin_register_static still assumed the old function
2008           signature and would therefore fail (re-fixes #510187).
2009
2010         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
2011           (_gst_plugin_register_static), (gst_plugin_register_static):
2012           Revert the (technically correct) change to call g_thread_init() from
2013           the pre-main() constructor. This will break programs which call
2014           g_thread_init() without an if (!g_thread_supported()) guard in their
2015           main function. We could just blame it on GLib or the application, but
2016           it's probably best to just avoid this altogether and simply not use
2017           any GLib functions here and use plain old malloc() with a simple
2018           array to store the plugins to register later when gst_init() is
2019           finally called (re-fixes #510187).
2020
2021         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
2022           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
2023           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
2024           (GST_START_TEST), (gst_plugin_suite):
2025           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
2026           works.
2027
2028 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2029
2030         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2031           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
2032           This makes gtk-doc complain, but results in slightly better
2033           compiler errors. The old _gst_plugin_register_static() is
2034           still guarded, so there'll be a compiler warning about that
2035           instead. Fixes #510187 too.
2036
2037 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2038
2039         * gst/gst.c: (init_post):
2040         * gst/gstplugin.c: (_gst_plugin_register_static),
2041           (gst_plugin_register_static), (_gst_plugin_initialize):
2042         * gst/gstplugin.h: (GstPluginFilter):
2043           Change API of gst_plugin_register_static() to not take
2044           a GstPluginDesc, but rather just take all the arguments
2045           in a GstPluginDesc directly. This is more intuitive and
2046           avoids certain mistakes when porting code from
2047           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
2048           Fixes #510187.
2049
2050         * tests/check/gst/gstplugin.c:
2051           Fix up for changed API.
2052
2053 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2054
2055         * docs/faq/legal.xml:
2056           Update FAQ, Totem actually has an exception these days.
2057
2058 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
2059
2060         * win32/common/libgstreamer.def:
2061         Add new API declarations
2062
2063 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2064
2065         * gst/gstminiobject.c:
2066           Spelling fixes for the API docs.
2067
2068 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2069
2070         * libs/gst/base/gstbasetransform.c:
2071           Fix long property description for QoS.
2072
2073 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
2074
2075         * gst/gst.c:
2076         _gst_trace_on is already provided by gsttrace.h, no need to declare
2077         it ourselves.
2078
2079         * docs/libs/gstreamer-libs-sections.txt:
2080         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
2081         and remove strange tcase_add_test which is outputting a warning.
2082
2083         * libs/gst/check/gstcheck.c:
2084         * libs/gst/check/gstcheck.h:
2085         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
2086         and define them in gstcheck.c instead of having every .c file whcih
2087         includes gstcheck.h be defining its own copy and relying on symbol
2088         interposing to marry them all, which doesn't work on Solaris.
2089
2090         * tests/check/elements/identity.c: (GST_START_TEST):
2091         Don't define 'buffers' locally, it comes from libgstcheck.
2092
2093         * tests/check/generic/sinks.c: (send_buffer):
2094         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
2095
2096         * tests/check/gst/gststructure.c: (GST_START_TEST):
2097         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
2098         * tests/check/gst/gstutils.c: (GST_START_TEST):
2099         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2100         Add a bunch of casts to make various constants fit the types
2101         they're being assigned to.
2102
2103 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
2104
2105         * gst/gstchildproxy.c:
2106           Improve docs and add some ideas for making this more general-purpose.
2107
2108 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         * gst/gst_private.h: (GST_CAT_TYPES):
2111           Add GST_CAT_TYPES, for consistency, and so that the other
2112           debug categories don't make fun of it. Spotted by Saur on IRC.
2113
2114 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2115
2116         * gst/parse/Makefile.am:
2117           Move types.h from EXTRA_DIST to noinst_HEADERS.
2118
2119 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2120
2121         * autogen.sh:
2122           Add -Wno-portability to the automake parameters to stop warnings
2123           about GNU make extensions being used. We require GNU make in almost
2124           every Makefile anyway.
2125
2126         * configure.ac:
2127           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
2128           at the same time is required for per target flags.
2129
2130 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2131
2132         * gst/gstmacros.h:
2133           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
2134           __GNUC__ is defined before using it.
2135
2136 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2137
2138         * docs/gst/gstreamer-sections.txt:
2139         * gst/gst.c: (init_post):
2140         * gst/gstplugin.c: (_gst_plugin_register_static),
2141           (gst_plugin_register_static), (_gst_plugin_initialize),
2142           (gst_plugin_register_func):
2143         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2144           API: add gst_plugin_register_static() and deprecate
2145           GST_PLUGIN_DEFINE_STATIC, since it's not portable
2146           (#498924).
2147           Also, in _gst_plugin_register_static(), make sure to call
2148           g_thread_init() before calling GLib functions such as
2149           g_list_append() if we're not initialised yet, since that
2150           may lead to random crashes with older GSlice/GLib versions.
2151
2152         * tests/check/gst/gstplugin.c:
2153           Adapt unit test to above changes.
2154
2155 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2156
2157         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
2158         * gst/gstcaps.c: (gst_caps_to_string):
2159         * gst/gststructure.c: (GST_ASCII_IS_STRING),
2160           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
2161           Yet another gratuitous GString micro-optimisation: add a (private)
2162           function that serialises a structure appending to an existing
2163           GString, so that when we serialise caps we don't need to alloc+free
2164           a throwaway GString for each structure (each of which also entailing
2165           multiple reallocs on the way); also use g_string_sized_new() in
2166           various places with an approximate string length to avoid reallocs
2167           within GString. See #500143.
2168
2169 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2170
2171         * gst/gststructure.c: (gst_structure_id_set_value):
2172           Always check UTF-8 conformance of structure strings and not only
2173           if the debugging system is enabled; reasoning: the behaviour of
2174           the actual code shouldn't really change depending on whether the
2175           debugging system is enabled or not (#508291).
2176
2177 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
2178
2179         * Makefile.am:
2180           Remove old coverage target in favour of "make lcov".
2181
2182 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2183
2184         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2185         (gst_base_src_loop):
2186         The start segment for reverse playback goes from start to last_stop.
2187
2188 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2189
2190         Patch by: Peter Kjellerstedt <pkj axis com>
2191
2192         * gst/gstclock.h:
2193         Cast the results from the timeval/spec_to_time macros to what the
2194         docs say it casts to, a GstClockTime. fixes #508175.
2195
2196 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2197
2198         * gst/gstbuffer.c:
2199         Update some comments.
2200
2201         * tools/gst-inspect.c: (print_element_properties_info):
2202         Improve printing of flags.
2203
2204 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2205
2206         * libs/gst/base/gstbasetransform.c:
2207           (gst_base_transform_transform_size):
2208           Print element name with g_warning() if there's a problem
2209           with the unit size.
2210
2211 2008-01-07  David Schleef  <ds@schleef.org>
2212
2213         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
2214
2215         * libs/gst/controller/gstcontroller.h:
2216         * libs/gst/controller/gstcontrolsource.h:
2217         * libs/gst/controller/gstinterpolationcontrolsource.h:
2218         * libs/gst/controller/gstlfocontrolsource.h:
2219         * libs/gst/dataprotocol/dataprotocol.h:
2220           Fix empty prototypes.  Fixes bug #507957.
2221
2222 2008-01-07  David Schleef  <ds@schleef.org>
2223
2224         * docs/faq/dependencies.xml: Fix typo.
2225
2226 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2227
2228         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
2229         (gst_base_src_loop):
2230         Don't update the last_stop position in do_seek, that's the position we
2231         did a seek to.
2232         Read backwards when we have a negative rate.
2233
2234         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
2235         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
2236         (filesrc_suite):
2237         Add check for reverse reading.
2238
2239 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
2240
2241         Patch by: Alexis Ballier <aballier at gentoo org>
2242
2243         * tests/check/gst/gstabi.c:
2244         * tests/check/gst/struct_ppc64.h:
2245         * tests/check/libs/libsabi.c:
2246         * tests/check/libs/struct_ppc64.h:
2247           Decide which header to include based on the userland ABI target
2248           and not the kernel/cpu. Fix up structure sizes of ppc64 header
2249           for 64-bit userland (#503590).  Might need something similar for
2250           x86 too.
2251
2252 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2253
2254         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
2255           Log the reason why fopen fails in addition to the fact that it failed.
2256           
2257 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
2258
2259         * gst/parse/parse.l:
2260         Use "%option never-interactive" to prevent useless calls to isatty()
2261         on every input when parsing. Also use "%option noinput" to not define
2262         the static input/yyinput functions which we don't use anyway. This
2263         removes a compiler warning with gcc 4.3 and saves some bytes in the
2264         library.
2265         
2266         * gst/parse/lex._gst_parse_yy.pre.c:
2267         Regenerated for the above change.
2268
2269 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2270
2271         * gst/gstpad.c: (fixate_value):
2272         Don't crash when trying to fixate and empty list.
2273         Fixes #506643.
2274
2275 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
2276
2277         * docs/faq/gst-uninstalled:
2278         Clarify the comments to make the usage of this script and what it
2279         does easier to understand.
2280
2281 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2282
2283         * tools/gst-plot-timeline.py:
2284         Add more options to gst-plot-timeline
2285
2286 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
2287
2288         * docs/design/part-synchronisation.txt:
2289         Some more info on how the stream_time in GstBaseSink is done.
2290
2291 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
2292
2293         * tests/check/generic/sinks.c: (gst_sinks_suite):
2294           Put back the tcase_set_timeout(), apparently it's needed after
2295           all; fix it up in a way that makes things work with valgrind too.
2296
2297 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
2298
2299         * gst/gstdebugutils.c:
2300           Add warning when failed to open file for writing.
2301
2302 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2303
2304         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
2305
2306         * gst/gstvalue.c: (gst_value_is_fixed):
2307           Optimisation: bail out of the loop as early as possible (#500143).
2308
2309 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2310
2311         * gst/gstcaps.c: (gst_caps_to_string):
2312         * gst/gstinfo.c: (gst_debug_construct_term_color):
2313         * gst/gstparse.c: (gst_parse_launchv):
2314         * gst/gstutils.c: (gst_util_dump_mem):
2315         * gst/gstvalue.c: (gst_value_serialize_any_list),
2316           (gst_value_transform_any_list_string):
2317           Bunch of gratuitous nano-optimisations.
2318
2319 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2320
2321         * tests/check/generic/sinks.c: (async_done_func),
2322           (async_done_eos_func):
2323           Fix leak in unit test (bus sync handler must unref the message
2324           if it returns GST_BUS_DROP). Don't fiddle with the default test
2325           timeout, this is smaller than the current preconfigured value
2326           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
2327           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
2328
2329 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2330
2331         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2332
2333         * configure.ac:
2334         Check for stdio_ext.h for the filesink changes.
2335
2336         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
2337         (gst_file_sink_class_init), (gst_file_sink_init),
2338         (gst_file_sink_dispose), (gst_file_sink_set_property),
2339         (gst_file_sink_get_property), (gst_file_sink_open_file),
2340         (gst_file_sink_close_file):
2341         * plugins/elements/gstfilesink.h:
2342         Add two properties to control the buffering mode and size.
2343         API: GstFileSink::buffer-mode
2344         API: GstFileSink::buffer-size
2345         Fixes #500150.
2346
2347 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2348
2349         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
2350         Add some more docs to explain why a FIXME was wrongly added. 
2351
2352 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
2353
2354         * gst/gstobject.c:
2355           Fix typo in the gst_object_{ref,unref} documentation.
2356
2357 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
2358
2359         * tests/check/libs/controller.c:
2360         * tests/check/libs/typefindhelper.c:
2361         * tests/check/pipelines/parse-launch.c:
2362           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
2363           going to be deprecated (see #498924).
2364
2365 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
2366
2367         * gst/gsttypefind.c: (gst_type_find_register):
2368           Make gst_type_find_register work for static typefind functions,
2369           ie. allow passing plugin == NULL (prerequisite for #498924).
2370
2371         * gst/gstelementfactory.c: (gst_element_register):
2372           Small docs addition.
2373
2374 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2375
2376         * gst/gstpad.c: (gst_pad_dispose):
2377         Really unlink the peer pad instead of setting the peer pointer to NULL
2378         when we dispose the pad.
2379         This correctly calls the unlink functions and makes sure that the peer
2380         does not have a handle to invalid memory. See #504671.
2381
2382         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2383         Add testsuite for above case.
2384
2385 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2386
2387         Patch by: Peter Kjellerstedt <pkj axis com>
2388
2389         * libs/gst/check/gstcheck.h:
2390           Fix detection of the check version we're compiling against (would
2391           otherwise break if check goes v0.10.0); correctly report the
2392           name of the failed test again in case of failure, instead of
2393           just 'tf' (fixes #504499).
2394
2395 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2396
2397         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2398         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2399         (gst_base_src_loop), (gst_base_src_set_flushing),
2400         (gst_base_src_change_state):
2401         Allow sending EOS to the source to make it send out an EOS event from
2402         the streaming thread.
2403         Update docs and deprecate the old NULL/READY shutdown method.
2404
2405         * tests/check/libs/basesrc.c: (GST_START_TEST),
2406         (gst_basesrc_suite):
2407         Add unit test for controlled shutdown.
2408
2409 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2410
2411         * docs/design/part-synchronisation.txt:
2412         Small updates.
2413
2414         * gst/gstsegment.c: (gst_segment_set_seek),
2415         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2416         (gst_segment_to_running_time):
2417         The seek format can be different from the segment format when the start
2418         and stop values are not to be updated, when we only do a rate change for
2419         example.
2420
2421         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2422         (gst_segment_suite):
2423         Add a testcase for the rate-only seeks, checking that the format is
2424         correctly ignored when start and stop are not updated.
2425
2426 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
2427
2428         Patch by: Matthias Bolte <photon at mail dot upb dot de>
2429
2430         * win32/vs8/grammar.vcproj:
2431         * win32/vs8/libgstcontroller.vcproj:
2432         * win32/vs8/libgstreamer.vcproj:
2433         Fix compilation with VS8 and include some missing files.
2434
2435 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2436
2437         * gst/gsttaglist.c:
2438           Small docs addition: mention that the strings returned by
2439           gst_tag_list_get_string*() are in UTF-8 encoding.
2440
2441 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2442
2443         * Makefile.am:
2444           The check-exports stuff moved to common/win32.mak, so include that.
2445
2446 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
2447
2448         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2449         (gst_base_src_perform_seek), (gst_base_src_get_range),
2450         (gst_base_src_set_playing), (gst_base_src_change_state):
2451         Make _wait_playing() not check any variables so that we can call this
2452         function from subclasses. Move the checks elsewhere similar to
2453         _wait_preroll() in basesink.
2454         Add some debugging.
2455         Only signal the LIVE cond when we are going back to PLAYING.
2456
2457 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2458
2459         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
2460           Use g_remove() and g_rename(). Check result of g_rename(), and
2461           don't leak the open file descriptor if we error out when writing.
2462
2463         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
2464           Must check the return value of close() after writing out the new
2465           registry file.  Sometimes write problems such as out-of-diskspace
2466           are only reported when the file is closed and not already during
2467           the write.  This may have caused partial/broken registry files in
2468           some rare circumstances. Should fix #503675.
2469
2470 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
2471
2472         * docs/gst/.cvsignore:
2473         * docs/libs/.cvsignore:
2474         * docs/plugins/.cvsignore:
2475         Ignore files generated by new common/* modifications
2476
2477 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
2478
2479         * win32/common/libgstbase.def:
2480           Yes, you can also have a <TAB> if you want.
2481
2482 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
2483
2484         * win32/common/libgstbase.def:
2485           Add new basetransform API to win export file.
2486
2487 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
2488
2489         * tests/check/gst/gstbin.c:
2490           Adjust the test to the refcount change two days ago.
2491
2492 2007-12-14  David Schleef  <ds@schleef.org>
2493
2494         * docs/faq/getting.xml: Fix typo.
2495
2496 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
2497
2498         * docs/libs/gstreamer-libs-sections.txt:
2499         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2500           (gst_base_transform_prepare_output_buffer),
2501           (gst_base_transform_set_gap_aware):
2502         * libs/gst/base/gstbasetransform.h:
2503           API: Add gst_base_transform_set_gap_aware() to control whether
2504           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
2505           get buffers with this flag at all. Fixes #503231.
2506
2507 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
2508
2509         * libs/gst/base/gstbasesink.c:
2510         * libs/gst/base/gstbasesrc.c:
2511         * libs/gst/base/gstbasetransform.c:
2512           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
2513           thread. Correct log message in gstbasesrc.c.
2514
2515 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2516
2517         * gst/gstutils.c: (element_find_unconnected_pad):
2518           Fix possible compiler warning (#503417).
2519
2520 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2521
2522         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
2523           Don't use GST_CAT_EVENT here for logging, it makes no sense.
2524
2525 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
2526
2527         * tools/gst-inspect.c: (print_element_properties_info):
2528           Add support for GstFraction properties.
2529
2530 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2531
2532         * Makefile.am:
2533           Add check-exports target and run it as part of 'make check'
2534           (see #499140 and #493983).
2535
2536         * gst/gst_private.h:
2537         * gst/gstelementfactory.h:
2538         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
2539         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
2540           (_priv_gst_in_valgrind):
2541         * gst/gstinfo.h: (GstLogFunction):
2542         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
2543           (gst_type_find_register):
2544         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
2545           (gst_type_find_factory_get_type):
2546         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
2547           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
2548           (gst_controller_new_valist), (gst_controller_new_list),
2549           (_gst_controller_dispose), (_gst_controller_class_init):
2550         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
2551         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
2552           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
2553           (gst_object_get_controller), (gst_object_set_controller),
2554           (gst_object_suggest_next_sync), (gst_object_sync_values),
2555           (gst_object_set_control_source), (gst_object_get_control_source),
2556           (gst_object_get_value_arrays), (gst_object_get_value_array),
2557           (gst_object_get_control_rate), (gst_object_set_control_rate):
2558         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
2559         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
2560           Make some functions that should be static static; rename some
2561           private symbols so that they don't get exported; add some FIXME
2562           comments so we can move accidentally exported functions into
2563           our private section in 0.11.
2564
2565         * win32/common/libgstreamer.def:
2566           Add gst_utils_get_timestamp().
2567
2568 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
2569
2570         * gst/gstvalue.c:
2571         * gst/gstvalue.h:
2572           Add more missing "Since:" tags to docs.
2573
2574 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
2575
2576         * gst/gstutils.c:
2577           Add mising "Since:" to docs.
2578
2579 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
2580
2581         * gst/gstplugin.c:
2582           Include "glib-compat-private.h" to fix the build on system with
2583           glib < 2.10. Fixes #503131.
2584
2585 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
2586
2587         * gst/gstutils.c:
2588         * gst/gstutils.h:
2589           Actually its not PURE as it gets the time from elsewhere.
2590
2591 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
2592
2593         * docs/gst/gstreamer-sections.txt:
2594         * gst/gstclock.h:
2595         * gst/gstdebugutils.c:
2596         * gst/gstinfo.c:
2597         * gst/gstutils.c:
2598         * gst/gstutils.h:
2599         * libs/gst/base/gstbasesink.c:
2600         * tools/gst-launch.c:
2601           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
2602           uses as we don't have HAVE_POSIX_TIMERS in public headers.
2603           Thanks Tim for spotting.
2604           API: gst_util_get_timestamp
2605
2606 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
2607
2608         * configure.ac:
2609           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
2610
2611 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
2612
2613         * gst/gststructure.c: (gst_structure_validate_name),
2614           (gst_structure_new_valist), (gst_structure_parse_value),
2615           (gst_structure_from_string):
2616           Don't crash in _from_string() if the structure name is not valid
2617           (fixes #501560).  Allow structure names to start with a number
2618           again (this apparently broke the ubuntu codec installer).
2619
2620         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
2621           (GST_START_TEST):
2622           Add unit test for the crash; update unit tests for new behaviour.
2623
2624 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
2625
2626         * gst/gstutils.c:
2627         Clarify gst_element_get_compatible_pad() documentation.
2628         Fixes #500919.
2629
2630 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
2631
2632         * tests/check/Makefile.am:
2633           Don't forget to dist {gst,libs}/struct_hppa.h.
2634
2635 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2636
2637         * libs/gst/base/gstbasesink.c:
2638           Use new API to get elapsed time.
2639
2640 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2641
2642         * gst/gstdebugutils.c:
2643         * gst/gstinfo.c:
2644           Fix wrong order of args in GST_CLOCK_DIFF() usage.
2645
2646         * tools/gst-launch.c:
2647           Use new API to get elapsed time.
2648
2649 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2650
2651         * docs/gst/gstreamer-sections.txt:
2652         * gst/gstclock.h:
2653         * gst/gstdebugutils.c:
2654         * gst/gstinfo.c:
2655           Rename new API + ChangeLog surgery to remove old name from last entry..
2656
2657 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2658
2659         * docs/gst/gstreamer-sections.txt:
2660         * gst/gstclock.h:
2661         * gst/gstdebugutils.c:
2662         * gst/gstinfo.c:
2663           Now hide the different clock stuff behind a macro.
2664
2665 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2666
2667         * configure.ac:
2668         * gst/gstdebugutils.c:
2669         * gst/gstinfo.c:
2670           Apply the posix-timer check from #361155. Conditionally use the posix
2671           timer for logging. This gives better timestamp precission, less
2672           overhead and no ntp jitter.
2673
2674 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
2675
2676         * gst/gstminiobject.c: (gst_mini_object_get_type),
2677         (gst_mini_object_class_init), (gst_mini_object_copy_default),
2678         (gst_mini_object_finalize), (gst_mini_object_copy),
2679         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
2680         (gst_mini_object_replace), (param_mini_object_validate),
2681         (gst_param_spec_mini_object_get_type):
2682         Some cleanup and checking against invalid function parameters.
2683
2684 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
2685
2686         * docs/gst/gstreamer-sections.txt:
2687         * gst/gstclock.h:
2688         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2689         (gst_systemclock_suite):
2690         Start merging in the easy bits of #361155, the monotonic clock patch.
2691         This one adds a few handy macros with docs and a testsuite.
2692
2693 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
2694
2695         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
2696         Be a bit smarter when seeking, like, don't try to do a seek when it's
2697         not needed. This avoids errors when the file is not seekable.
2698         Fixes #499771.
2699
2700 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
2701
2702         * docs/gst/gstreamer-docs.sgml:
2703         * docs/gst/gstreamer-sections.txt:
2704         * docs/gst/gstreamer.types.in:
2705         * gst/Makefile.am:
2706         * gst/gst.h:
2707         * gst/gstpreset.c:
2708         * gst/gstpreset.h:
2709         * plugins/elements/gstqueue.c:
2710           Due to popular request remove preset interface again. :-(.
2711
2712 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
2713
2714         * tools/gst-inspect.c:
2715           Print 'default value' for enums and flags too.
2716
2717 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
2718
2719         * docs/random/ensonic/profiling.txt:
2720           More ideas.
2721
2722         * gst/gstbin.c:
2723           Fix typo and give better log output.
2724
2725         * gst/gstdebugutils.c:
2726         * gst/gstdebugutils.h:
2727           More ideas, make graphs a bit smaller and fix param name in macro.
2728
2729 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
2730
2731         * gst/gstpreset.c:
2732           Try harder to use the return value from fgets().
2733
2734 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
2735
2736         * gst/gstpreset.c:
2737           For theses two fgets we handle the error below.
2738
2739 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
2740
2741         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
2742         Only send upstream events upstream. Fixes #498746.
2743
2744 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
2745
2746         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2747
2748         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2749         (gst_identity_init), (gst_identity_transform_ip),
2750         (gst_identity_set_property), (gst_identity_get_property):
2751         * plugins/elements/gstidentity.h:
2752         Add property to disable handoff signal emission. Fixes #498694.
2753         API: GstIdentity::signal-handoffs
2754
2755 2007-11-21  Julien Moutte  <julien@fluendo.com>
2756
2757         * docs/faq/gst-uninstalled: Yet another missing library for the
2758         uninstalled script (fft)
2759
2760 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
2761
2762         * docs/faq/developing.xml:
2763         Add a question about how to submit new translations.
2764
2765         * docs/random/release:
2766         Update the contact email address for the Translation Project
2767
2768         * plugins/elements/gstfdsrc.c:
2769         The parent_class for fdsrc is pushsrc, not GstElement.
2770
2771 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
2772
2773         * gst/gstpreset.c:
2774           Plug a leak and fix saving.
2775
2776 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
2777
2778         * docs/gst/gstreamer-sections.txt:
2779         Add new gst_preset__get_property_names() function to the docs
2780         to fix the build.
2781
2782 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
2783
2784         * gst/gstpreset.c:
2785         * gst/gstpreset.h:
2786           Change _get_preset_names API to return a strv with copies. Add
2787           _get_property_names to allow implementations to filter and provide
2788           good default implementation.
2789
2790 2007-11-20  Julien MOUTTE  <julien@moutte.net>
2791
2792         * docs/faq/gst-uninstalled: Add another library to the uninstalled
2793         script (sdp).
2794
2795 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
2796
2797         * gst/gstpreset.c:
2798           More cleanups, docs, and TODOs from comments that now slowly come in.
2799
2800 2007-11-19  Julien MOUTTE  <julien@moutte.net>
2801
2802         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
2803         search path.
2804
2805 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
2806
2807         * gst/gstpreset.c:
2808           Fix bogus warning and make the property type specific code more
2809           similar.
2810
2811 2007-11-19  Julien MOUTTE  <julien@moutte.net>
2812
2813         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
2814         it build on OS X.
2815
2816 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
2817
2818         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2819         (gst_bin_add_func), (gst_bin_remove_func),
2820         (gst_bin_change_state_func), (gst_bin_continue_func):
2821         Change email, cleanups add some more debug and comments.
2822         Also set bus and clock on new elements when the pipeline was in error.
2823
2824 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
2825
2826         * gst/gstbin.c:
2827         * gst/gstdebugutils.c:
2828           Fix build with --disable-gst-debug. Fixes #497859.
2829           Spotted by Sameer Naik.
2830
2831 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2832
2833         * gst/gstevent.c:
2834           Little documentation improvment.
2835
2836         * gst/gstpreset.c:
2837           More TODO cleanups. Remove c++ comments.
2838
2839         * libs/gst/controller/gstcontroller.c:
2840           Add TODO and use quark from static string.
2841
2842         * tests/check/gst/gstmessage.c:
2843         * tests/check/gst/gststructure.c:
2844           Use quark from static string.
2845
2846 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2847
2848         * gst/gstpreset.c:
2849           Add some comments and TODOs.
2850
2851         * gst/gstpreset.h:
2852           Add padding for future changes.
2853
2854         * plugins/elements/gstqueue.c:
2855           Implement the iface.    
2856
2857 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2858
2859         * docs/gst/gstreamer-docs.sgml:
2860         * docs/gst/gstreamer-sections.txt:
2861         * docs/gst/gstreamer.types.in:
2862         * gst/Makefile.am:
2863         * gst/gst.h:
2864         * gst/gstpreset.c:
2865         * gst/gstpreset.h:
2866           Add the preset interface (Fixes #396779). Do some doc cleanups along.
2867
2868 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
2869
2870         * configure.ac:
2871
2872         Back to CVS
2873
2874 === release 0.10.15 ===
2875
2876 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
2877
2878         * configure.ac:
2879           releasing 0.10.15, "October"
2880
2881 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
2882
2883         * win32/vs6/libgstreamer.dsp:
2884         Convert line endings back to DOS.
2885
2886 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
2887
2888         * docs/design/draft-tagreading.txt:
2889         * docs/random/ensonic/profiling.txt:
2890         Update fast tagreading draft and performance profiling ideas.
2891
2892 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2893
2894         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
2895         Don't hold the object lock when unreffing a buffer because it could
2896         cause a deadlock when the finalize function wants to grab the object
2897         lock too. Fixes #495133.
2898
2899 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2900
2901         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
2902         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2903         Also accumulate time correctly when doing reverse playback. Fixes
2904         #488201,
2905         When converting to running and stream time, use default values for
2906         start/stop/time/accum when comparing different formats. Fixes #494245.
2907
2908         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2909         Do running/stream time in TIME format.
2910
2911         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2912         (gst_segment_suite):
2913         2 new unit tests for segment accumulation.
2914
2915 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2916
2917         * gst/gst.c: (init_pre):
2918         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
2919           (_gst_debug_bin_to_dot_file):
2920           Move getenv() back into gst_init, so everyone can live happily
2921           ever after. Make sure the symbol isn't exported though.
2922
2923 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2924
2925         Patch by: Sebastien Moutte  <sebastien moutte net>
2926
2927         * win32/common/gstenumtypes.c:
2928         * win32/common/gstenumtypes.h:
2929           Update enum types.
2930
2931         * win32/vs6/libgstreamer.dsp:
2932           Update vs6 project files (#494343).
2933
2934 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2935
2936         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
2937         (gst_base_src_perform_seek), (gst_base_src_default_event),
2938         (gst_base_src_set_flushing), (gst_base_src_activate_push),
2939         (gst_base_src_activate_pull):
2940         Unify flushing code, remove some old unlock code that is no longer used.
2941         Take the streaming lock when seeking to avoid races. Fixes #492729.
2942         Added some more comments.
2943
2944 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2945
2946         * gst/gst.c: (_gst_disable_segtrap):
2947           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
2948           we can use gst_segtrap_is_enabled() there now that we have that API.
2949           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
2950           to do the getenv here (and export the variable).
2951
2952         * gst/gstdebugutils.c: (debug_dump_element),
2953           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
2954           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
2955
2956         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
2957           (gst_debug_log_default):
2958           Rename _gst_info_start_time to priv_gst_info_start_time so it
2959           doesn't get exported (was never in any header).
2960
2961         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
2962           (gst_plugin_loading_mutex):
2963           Make static mutex gst_plugin_loading_mutex really static (was never
2964           in any header), and use gst_segtrap_is_enabled() instead of
2965           _gst_disable_segtrap.
2966
2967         * gst/gsttrace.c: (_gst_trace_default):
2968           Make local _gst_trace_default static (was never in any header).
2969
2970 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2971
2972         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2973
2974         * win32/common/libgstbase.def:
2975         * win32/common/libgstcontroller.def:
2976         * win32/common/libgstdataprotocol.def:
2977         * win32/common/libgstnet.def:
2978         * win32/common/libgstreamer.def:
2979           Add more missing symbols, remove some duplicates, and sort
2980           as the 'sort' command sorts it (partially fixes #493983).
2981
2982 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2983
2984         * gst/gstelement.c: (gst_element_set_state_func):
2985         Only change the state cookie if a different state was set on the
2986         element. See #492729.
2987
2988 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2989
2990         * gst/gstvalue.c:
2991           Remove unused and uninitialised type variables that were still
2992           exported for some reason (they were never in any header files
2993           though).
2994
2995 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2996
2997         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2998         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2999         (gst_base_sink_event), (gst_base_sink_get_position_last),
3000         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3001         (gst_base_sink_change_state):
3002         Don't try to report a 0 position when we don't know, return -1 and FALSE
3003         instead. This mostly happens when we are prerolling.
3004         Make sure we can report the right position before we post the ASYNC_DONE
3005         message so that a message handler can query position without races.
3006
3007         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3008         (async_done_handoff), (async_done_func), (send_buffer),
3009         (async_done_eos_func), (gst_sinks_suite):
3010         Add two tests for the above.
3011
3012 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3013
3014         * MAINTAINERS:
3015         Update with new email address.
3016
3017         * docs/design/part-TODO.txt:
3018         Add some more info about future pad-block and negotiation changes.
3019
3020         * docs/design/part-buffering.txt:
3021         Add some ideas about buffering reporting.
3022
3023 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
3024
3025         * tests/check/gst/gstobject.c:
3026         Disable silly racy test that always fails on this combination of CPU
3027         and kernel.
3028
3029 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3030
3031         Patch by: Murray Cumming  <murrayc@murrayc.com>
3032
3033         * gst/gstobject.c:
3034           Corrected the registration of the parent-set and parent-unset
3035           signals: The parameter is a GstObject, not a GObject (#493134).
3036
3037 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3038
3039         * gst/gst_private.h:
3040         * gst/gstbuffer.h:
3041         * gst/gstevent.h:
3042         * gst/gstformat.h:
3043         * gst/gstmessage.h:
3044         * gst/gstplugin.h:
3045         * gst/gstquery.h:
3046         * gst/gsttaglist.h:
3047         * gst/gstvalue.h:
3048           Move declaration of private _gst_foo_initialize() functions into
3049           our private header file where they should have been all along.
3050
3051 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * docs/plugins/gstreamer-plugins-sections.txt:
3054         * gst/gstdebugutils.h:
3055         * gst/gstxml.h:
3056         * plugins/elements/gstqueue.c:
3057           gtk-doc fixes; trailing-comma-in-enum fix.
3058
3059 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * gst/gst.c: (gst_deinit):
3062           Clean up on deinit (not the external ones though, doesn't seem to be
3063           needed for some reason).
3064
3065 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3066
3067         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
3068           Remove __declspec(dllimport) for MSVC that was copied over into core
3069           from a plugin, obviously without ever having been tested (note the
3070           single underscore in _declspec in the initial commit), and that doesn't
3071           really make sense.  See #492077.
3072
3073 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3074
3075         * gst/gst.c: (init_post):
3076         * gst/gstevent.c: (_gst_event_initialize):
3077         * gst/gstquery.c: (_gst_query_initialize):
3078         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
3079           g_type_class_ref() other types as well, see #349410 and #64764.
3080
3081         * gst/gstbuffer.c: (_gst_buffer_initialize):
3082         * gst/gstmessage.c: (_gst_message_initialize):
3083           Simplify existing g_type_class_ref().
3084
3085 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * gst/gstformat.c: (_gst_format_initialize):
3088           g_type_class_ref() our GstFormat type to make sure we avoid the
3089           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
3090           bug #64764. Should fix intermittent tee unit test failures (#474823).
3091
3092 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3093
3094         * tests/check/elements/tee.c: (test_num_buffers):
3095           Simplify, simplify, simplify - or not.  Rewrite unit test
3096           not to use gst_parse_launch(); allow N sub-streams. Increasing
3097           the number of sub-streams seems to reproduce #474823 more easily.
3098
3099 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3100
3101         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3102
3103         * gst/gsttrace.c:
3104         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3105         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3106         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
3107           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
3108           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
3109           so use _pipe() directly (#492077).
3110
3111         * win32/common/dirent.c: (_treaddir):
3112           Add a couple of casts to make it build without warnings with MSVC.
3113
3114         * win32/common/libgstreamer.def:
3115           Add some more symbols that need to be exported.
3116
3117 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3118
3119         * tests/examples/metadata/read-metadata.c: (message_loop):
3120           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
3121           arriving in a second or third tag message are added to
3122           the tag list as well.
3123
3124 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
3125
3126         * libs/gst/base/gstbasesrc.c:
3127           Its "Since:" and not "@Since:". And remove an superflous cast.
3128
3129 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
3130
3131         * docs/libs/gstreamer-libs-sections.txt:
3132         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3133         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
3134         (gst_base_sink_get_property), (gst_base_sink_render_object),
3135         (gst_base_sink_preroll_object),
3136         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3137         (gst_base_sink_change_state):
3138         * libs/gst/base/gstbasesink.h:
3139         Add a new last-buffer property that contains the last buffer used in
3140         basesink for preroll or rendering. useful for making snapshots.
3141         API: gst_base_sink_get_last_buffer()
3142         API: GstBaseSink::last-buffer
3143
3144 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3145
3146         * docs/gst/running.xml:
3147         * gst/gst.c:
3148         * gst/gstdebugutils.c:
3149         * gst/gstdebugutils.h:
3150         * tools/gst-launch.c:
3151           Improve bin graph dumping, by using the envvar to specify a path.
3152           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
3153
3154 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
3155
3156         * plugins/elements/gsttypefindelement.c:
3157           (gst_type_find_element_handle_event),
3158           (gst_type_find_element_activate):
3159           Post special error message if we can't determine the type of a stream
3160           because it's empty.
3161
3162 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3163
3164         * docs/gst/running.xml:
3165         * gst/gstdebugutils.c:
3166           Document new env-var. Add one log-line after dumpng a graph.
3167
3168 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * configure.ac:
3171           Ugly hack to put the (recently removed and non-portable, apparently)
3172           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
3173           GNU ld, because without that 'make check' fails miserably on my debian
3174           stable box.  Someone with more knowledge of linker intricacies and
3175           portability issues than me fix this properly please.
3176
3177 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
3178
3179         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3180         Reset last seen position after flushing so that we don't report the old
3181         position anymore.
3182
3183 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3184
3185         * gst/gstelementfactory.c: (gst_element_register):
3186         * gst/gsturi.h:
3187         Patch from Alessandro Decina adding get_type_full and
3188         get_protocols_full private vfuncs to the URIHandler interface
3189         to allow bindings to support creating URI handlers. 
3190         Partially fixes: #339279
3191         API: GstURIHandlerInterface::get_type_full
3192         API: GstURIHandlerInterface::get_protocols_full
3193
3194 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3195
3196         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3197         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
3198         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
3199         Make it so that pads are considered linked until a buffer is pushed
3200         and discovered otherwise. This avoids problems with decodebin2 hanging
3201         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
3202         case.
3203
3204         Make sure we lock the multiqueue when updating the max-size properties.
3205         
3206         Fix a crash on Solaris in a debug statement in get_request_pad that
3207         passes a NULL string to GST_DEBUG. 
3208
3209         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3210         (run_output_order_test):
3211         Fix the test to allow the first buffer on not-linked pads to come out
3212         of sequence while multiqueue discovers that they are not-linked.
3213
3214 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3215
3216         * configure.ac:
3217         * libs/gst/check/Makefile.am:
3218         Use a custom export symbol regex for libgstcheck, as it needs
3219         to export symbols that don't match the standard GStreamer gst_*
3220         pattern, and  --export-dynamic is not portable (only works on 
3221         GNU ld)
3222
3223         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3224         (gst_check_setup_sink_pad):
3225         Make sure to pass a message parameter to the fail_* macros.
3226
3227         * tests/check/gst/gstinfo.c: (GST_START_TEST):
3228         Fix some compiler warnings.
3229
3230 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
3231
3232         * tests/check/gst/gststructure.c: (test_to_string):
3233           Disable test that checks that white spaces are not allowed
3234           in structure names or field names, since we need to
3235           support that for now for backwards compatibility reasons.
3236
3237 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
3238
3239         * docs/gst/gstreamer-sections.txt:
3240         * gst/gsttaglist.c:
3241         * gst/gsttaglist.h:
3242           API: add GST_TAG_ARTIST_SORTNAME
3243           API: add GST_TAG_ALBUM_SORTNAME
3244           API: add GST_TAG_TITLE_SORTNAME
3245           Add tag variants for sorting (#414539).
3246
3247 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
3248
3249         * gst/gststructure.c:
3250           Also allow white space for names so we don't break
3251           backwards compatibility.
3252
3253 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
3254
3255         * docs/design/part-TODO.txt:
3256         * docs/design/part-segments.txt:
3257         * docs/design/part-streams.txt:
3258         Small updates.
3259
3260 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
3261
3262         * docs/gst/gstreamer-sections.txt:
3263          Fixed documentation from my previous commit (added new API add
3264          gst_value_set_structure(), add gst_value_get_structure() and
3265          GST_VALUE_HOLDS_STRUCTURE).
3266
3267 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
3268
3269         * gst/gstdebugutils.c:
3270           Reflow code to fix uninitialized variable warning.
3271
3272 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
3273
3274         * gst/gstcaps.c: (gst_caps_to_string),
3275         (gst_caps_from_string_inplace):
3276         * gst/gststructure.c: (gst_structure_get_abbrs),
3277         (gst_structure_to_string), (gst_structure_from_string):
3278         * gst/gstvalue.c: (gst_value_set_structure),
3279         (gst_value_get_structure), (gst_value_serialize_structure),
3280         (gst_value_deserialize_structure), (_gst_value_initialize):
3281         * gst/gstvalue.h:
3282         * tests/check/gst/gststructure.c: (GST_START_TEST),
3283         (gst_structure_suite):
3284         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3285          Added GstStructure to gst_value_table and its related functions.
3286          Changed gst_structure_to_string to print ';' in the end.
3287          Changed gst_caps_to_string to not print ';' beteween its
3288          fields (structures) anymore and remove the lastes ';' from latest
3289          structure. Now it is possible to have nested structures.
3290          In addition, backward compatibilty is assured by accepting '\0' as
3291          end delimiter. Fixes: #487969.
3292          API: add gst_value_set_structure()
3293          API: add gst_value_get_structure()
3294          API: add GST_VALUE_HOLDS_STRUCTURE
3295
3296 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
3297
3298         * gst/gstbus.c:
3299           When no GSource callback has been set up, tell developer
3300           to use a function that actually exists.
3301
3302 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
3303
3304         * docs/gst/gstreamer-sections.txt:
3305         * gst/Makefile.am:
3306         * gst/gst.c:
3307         * gst/gst.h:
3308         * gst/gstdebugutils.c:
3309         * gst/gstdebugutils.h:
3310         * gst/gstinfo.c:
3311         * gst/gstinfo.h:
3312         * tools/gst-launch.c:
3313           Allow dumping pipelines as dot graphs. Fixes #456573.
3314
3315 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3316
3317         * gst/gststructure.c:
3318           Allow '+' as well, it can be part of media or mime types
3319           such as image/svg+xml.
3320
3321 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3322
3323         * docs/gst/gstreamer-sections.txt:
3324         * gst/gstbus.c:
3325         * gst/gstbus.h:
3326           API: add gst_bus_pop_filtered
3327           API: add gst_bus_timed_pop_filtered
3328           Two new functions for waiting for specific message types on the
3329           bus for a specified amount of time without iterating any main
3330           loops or main contexts.
3331
3332         * tests/check/gst/gstbus.c:
3333           Some tests for the new functions.
3334
3335 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3336
3337         * docs/libs/gstreamer-libs-sections.txt:
3338           Make gtk-doc ignore stuff it should ignore.
3339
3340 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3341
3342         * libs/gst/check/gstcheck.c:
3343         * libs/gst/check/gstcheck.h:
3344           Allow runtime selection of unit tests to run via the GST_CHECKS
3345           environment variable (test case function names, comma-separated).
3346
3347 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
3348
3349         * gst/gststructure.c:
3350         * tests/check/gst/gststructure.c:
3351           Revert serialisation change and constrain structure-names after
3352           consensus on irc. Update api documentation to reflect the change.
3353
3354 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
3355
3356         * gst/gststructure.c:
3357           Improve serialization and fix tests.
3358
3359         * tests/check/gst/gststructure.c:
3360           Add another test that covers why I actually did the previous structure
3361           change.
3362
3363 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
3364
3365         * tools/gst-inspect.c: (print_element_info):
3366         Don't crash when inspecting an element.
3367
3368 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3369
3370         * tests/check/gst/gststructure.c:
3371           Add unit test for escaping of structure name when serialising
3372           and deserialising to/from strings.
3373
3374 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
3375
3376         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3377         (gst_single_queue_new):
3378         * plugins/elements/gstqueue.c: (gst_queue_init),
3379         (gst_queue_push_one):
3380         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
3381         upstream is tricked into thinking it can suggest a format downstream
3382         while downstream does not support that format. The real problem is that
3383         core calls acceptcaps when pushing a buffer with new caps, for which we
3384         do a little workaround by setting the caps on the srcpad ourselves
3385         before pushing the buffer (until this is figured out). Fixes #486758.
3386
3387 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3388
3389         * gst/gststructure.c:
3390         * gst/gstvalue.c:
3391           Add some more comments and debug output. Quote structure name to fix
3392           deserialisation of some strings.
3393
3394 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3395
3396         * gst/gstbuffer.h:
3397           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
3398           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
3399
3400 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3401
3402         * tools/gst-inspect.c:
3403           Save approx. 400 1 byte allocs when printing. Use API to acces element
3404           details.
3405
3406         * tools/gst-run.c:
3407           Avoid a strdup.
3408
3409         * tools/gst-xmlinspect.c:
3410           Use API to acces element details.
3411
3412 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3413
3414         * gst/gstinfo.c:
3415           Fix some spelling errors.
3416
3417 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
3418
3419         * gst/gstbin.c: (bin_handle_async_done):
3420         Correctly set the next state if all of our async children commited their
3421         state. This makes sure we can actually cancel the state change in
3422         progress. Fixes a regression in Rhythmbox when seeking.
3423
3424 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3425
3426         * gst/gstbin.c:
3427           Don't shadow local variable.
3428
3429         * gst/gstinfo.c:
3430           Don't shadow global function name.
3431
3432 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3433
3434         * gst/gstelementfactory.c:
3435         * gst/gstpluginfeature.c:
3436         * gst/gstpluginfeature.h:
3437         * gst/gstregistrybinary.c:
3438         * gst/gstregistryxml.c:
3439         * gst/gsttypefind.c:
3440           Use already-interned string for the private GstPluginFeature
3441           plugin_name field.
3442
3443 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3444
3445         * docs/libs/gstreamer-libs-sections.txt:
3446           Add new API to docs; fixes the build.
3447
3448 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
3449         
3450         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
3451
3452         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
3453         (gst_base_sink_event):
3454         * libs/gst/base/gstbasesink.h:
3455         Add function to wait for EOS, subclasses can use this to correctly wait
3456         for devices to drain before performing the EOS logic. Fixes #485343.
3457         API: gst_base_sink_wait_eos()
3458
3459 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3460
3461         * gst/gstplugin.h:
3462           Cast description string constants in GST_PLUGIN_DEFINE macros
3463           to a (gchar*) to make C++ code using these macros compile
3464           without warning with g++-4.2 (see #462737).  Even if slightly
3465           ugly, this seems preferable to putting the description strings
3466           into the GLib quark table or making the structure member a
3467           const gchar * and doing casts in core code that allocs and
3468           frees these strings, or requiring a cast in the C++ code.
3469
3470 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * gst/gstinfo.h:
3473           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
3474           to print the entire class/function signature into the log
3475           file for C++ code.  This only affects C++ code, for C code
3476           everything remains the same.
3477
3478 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
3479
3480         * gst/gstbin.c: (remove_from_queue):
3481         Work around a problem with pipelines containing (semi)loops until a
3482         proper, more complicated solution is ready. See #475455.
3483
3484 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3485
3486         * gst/gstplugin.c:
3487         * gst/gstplugin.h:
3488         * gst/gstregistrybinary.c:
3489         * gst/gstregistryxml.c:
3490           Put more strings into the GLib quark table. No need to keep
3491           a hundred-something copies of identical version strings,
3492           license strings, package name strings and package origin
3493           strings around. 
3494
3495 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3496
3497         * docs/manual/advanced-dataaccess.xml:
3498           Don't imply that it's okay to unconditionally change
3499           buffer data or buffer metadata in a pad probe callback,
3500           and a bunch of other comments. Fixes #430031.
3501
3502 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3503
3504         * win32/common/gstenumtypes.c:
3505         * win32/common/gstenumtypes.h:
3506         * win32/common/gstversion.h:
3507           Update generated files.
3508
3509 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         * docs/manual/advanced-autoplugging.xml:
3512           Prefix section with broken code with a warning (see #342432).
3513
3514 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3515
3516         * docs/manual/appendix-integration.xml:
3517         * docs/manual/basics-init.xml:
3518           Call g_thread_init() before g_option_context_new() to
3519           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
3520
3521 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
3522
3523         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3524         (gst_base_sink_queue_object_unlocked),
3525         (gst_base_sink_queue_object), (gst_base_sink_event),
3526         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
3527         When we received EOS and are waiting for when to post the EOS message,
3528         our state is prerolled and we should not return ASYNC.
3529         Reorganize some code paths to implement this behavior.
3530
3531         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3532         (gst_sinks_suite):
3533         Add unit test to verify above EOS fix.
3534
3535 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
3536
3537         * plugins/elements/gsttypefindelement.c:
3538         (gst_type_find_element_have_type), (gst_type_find_element_init),
3539         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
3540         Move detecting the input caps of the sinkpad to the setcaps function.
3541         This allows us to update the output caps when we receive new input caps
3542         instead of always using the first detected caps.
3543
3544 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
3545
3546         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3547         (gst_base_sink_get_position):
3548         Don't try to preroll non-async elements after a flush.
3549         Subtract latency form clock times when reporting position.
3550
3551 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
3552
3553         * gst/gstpad.c: (gst_pad_pause_task):
3554         * gst/gstutils.c:
3555         Small comment and documentation update.
3556
3557 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
3558
3559         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3560         (gst_base_src_set_live), (gst_base_src_is_live),
3561         (gst_base_src_query_latency), (gst_base_src_perform_seek),
3562         (gst_base_src_default_event), (gst_base_src_wait),
3563         (gst_base_src_do_sync), (gst_base_src_get_range),
3564         (gst_base_src_pad_get_range), (gst_base_src_loop),
3565         (gst_base_src_unlock), (gst_base_src_unlock_stop),
3566         (gst_base_src_set_flushing), (gst_base_src_set_playing),
3567         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3568         (gst_base_src_change_state):
3569         Rework the locking of basesrc in a similar fashion to basesink. We
3570         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
3571         us to handle live sources and semi live ones much better.
3572         Simplify flushing.
3573         Fix unlocking when seeking, shutting down and pausing in live sources.
3574
3575 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
3576
3577         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
3578         Fix compilation again.
3579
3580 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
3581
3582         * gst/gstelement.c:
3583           Use meaningful categories for the logs to clean the default one.
3584
3585 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
3586
3587         * tests/check/pipelines/cleanup.c:
3588           Print message name and not just number.
3589
3590 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
3591
3592         * docs/design/draft-tagreading.txt:
3593           Add some more thoughts.
3594
3595 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
3596
3597         * tests/check/pipelines/simple-launch-lines.c:
3598           Print message name and not just number.
3599
3600 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
3601
3602         * libs/gst/base/gsttypefindhelper.c:
3603           Speedup typefinding. This is work in progress (see #459862).
3604
3605 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
3606
3607         * gst/gstplugin.c:
3608           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
3609           Spotted by Josep Torra Valles <josep@fluendo.com>.
3610
3611 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3612
3613         * gst/gstclock.h:
3614           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
3615           field has moved to GstObject.
3616
3617 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
3618
3619         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
3620         (gst_base_src_get_range), (gst_base_src_change_state):
3621         Call unlock for live sources so that they can't get stuck in _create and
3622         produce a buffer before they are set back to PLAYING.
3623
3624 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
3625
3626         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3627         (gst_queue_locked_dequeue):
3628         Comment the segment-related code... in the PROPER function.
3629         See #482147 and my commit from yesterday.
3630
3631 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
3632
3633         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3634         Also initialize the counter that calculates the first timestamp on a
3635         buffer correctly for non-live sources.
3636
3637 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
3638
3639         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
3640         Disable code that's breaking the current-time-level reporting.
3641         See #482147
3642
3643 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
3644
3645         * docs/gst/gstreamer-sections.txt:
3646         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
3647         as they shouldn't show up. Fixes the docs build.
3648
3649 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
3650         
3651         * gst/gstinfo.h:
3652         Add an explicit variable importation needed on VS6 (only for MSC_VER)
3653         Define M_PI which is used in files which are including gstinfo.h. 
3654         VS6 includes doesn't define it.
3655         * win32/common/libgstbase.def:
3656         * win32/common/libgstcontroller.def:
3657         * win32/common/libgstreamer.def:
3658         Add new exported functions and variables.
3659         * win32/vs6/libgstcontroller.dsp:
3660         * win32/vs6/libgstreamer.dsp:
3661         Update the list of files to build.
3662         
3663 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
3664
3665         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3666
3667         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
3668         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
3669         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
3670         Improve debugging. Fixes #480858.
3671
3672 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
3673
3674         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3675
3676         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3677         First patch of code cleanups, use the macros and right arguments in the
3678         macros to signal and lock the queue. See #480858.
3679
3680 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
3681
3682         * gst/gstbus.c: (poll_func):
3683         Improve debugging when dealing with _poll().
3684
3685 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * gst/gstregistryxml.c:
3688           Fix memory leak I introduced a few days ago.
3689
3690 2007-09-26  Michael Smith <msmith@fluendo.com>
3691
3692         * gst/gstbuffer.c: (gst_buffer_finalize):
3693           Make it once again possible to free GstBuffers in the default
3694           build.
3695           The poisoning scribbles on parts of the miniobject we need in
3696           order to free it.
3697           Fixes #480341
3698
3699 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3700
3701         * docs/gst/gstreamer-sections.txt:
3702         * gst/gsttaglist.c:
3703         * gst/gsttaglist.h:
3704         API: add GST_TAG_COMPOSER, fixes #459809.
3705
3706 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
3707
3708         * gst/gstplugin.c:
3709         * gst/gstplugin.h:
3710         Add the 3-clause BSD license and the MIT/X11 license to the license
3711         list. Fixes #479784.
3712
3713 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
3714
3715         * docs/faq/getting.xml:
3716           Add Q+A about different GStreamer versions (#364056).
3717
3718 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3719
3720         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3721         (gst_base_sink_event), (gst_base_sink_change_state):
3722         Return correct gboolean from query function.
3723
3724 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3725
3726         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3727         (gst_base_sink_event), (gst_base_sink_query),
3728         (gst_base_sink_change_state):
3729         Simplify latency query.
3730         When not synchronizing, we can report latency without querying the peer
3731         element.
3732
3733 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3734
3735         * gst/gstobject.h:
3736         * gst/gstvalue.c:
3737         Fix small typos in the docs.
3738
3739 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3740
3741         * docs/design/draft-latency.txt:
3742         * docs/design/draft-push-pull.txt:
3743         * docs/design/draft-tagreading.txt:
3744         * docs/design/part-MT-refcounting.txt:
3745         * docs/design/part-activation.txt:
3746         * docs/design/part-block.txt:
3747         * docs/design/part-element-source.txt:
3748         * docs/design/part-events.txt:
3749         * docs/design/part-gstbin.txt:
3750         * docs/design/part-gstelement.txt:
3751         * docs/design/part-gstobject.txt:
3752         * docs/design/part-gstpipeline.txt:
3753         * docs/design/part-messages.txt:
3754         * docs/design/part-preroll.txt:
3755         * docs/design/part-push-pull.txt:
3756         * docs/design/part-qos.txt:
3757         * docs/design/part-query.txt:
3758         * docs/design/part-scheduling.txt:
3759         * docs/design/part-seeking.txt:
3760         * docs/design/part-segments.txt:
3761         * docs/design/part-states.txt:
3762         Documentation updates and typo fixes.
3763
3764 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3765
3766         * plugins/elements/gstfakesink.c:
3767           Add some debug text to error message to indicate that
3768           we errored out on request.
3769
3770         * tools/gst-launch.c:
3771           When the state change to PLAYING fails, check for an
3772           error message on the bus and print it.
3773
3774 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3775
3776         translated by: Jorge González González <aloriel@gmail.com>
3777
3778         * po/LINGUAS:
3779         * po/es.po:
3780           Added Spanish translation.
3781
3782 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
3783
3784         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3785         Fix printf arguments.
3786
3787 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
3788
3789         * tests/check/generic/states.c:
3790           Improved state change unit test.
3791
3792 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
3793
3794         * gst/gstbin.h:
3795           Move priv to the right place.
3796
3797         * gst/gstsystemclock.c:
3798           Add FIXME: and improve log.
3799
3800         * tests/check/Makefile.am:
3801         * tests/examples/manual/Makefile.am:
3802           Work with all types of registries.
3803
3804 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
3805
3806         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3807         Don't unref the event after pushing it. Fixes #478401.
3808
3809 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
3810
3811         * .cvsignore:
3812         * tests/examples/manual/.cvsignore:
3813           Ignore registries in any format.
3814
3815 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
3816
3817         * gst/glib-compat-private.h:
3818           Add compatibility macro for g_intern_string() for
3819           GLib-2.8 (any reason we can't just bump the
3820           requirement to at least 2.10?)
3821
3822         * gst/gstpadtemplate.h:
3823         * gst/gstelementfactory.c:
3824         * gst/gstregistryxml.c:
3825         * gst/gstregistrybinary.c:
3826           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
3827           up the internal code accordingly.  This shouldn't be a problem, since
3828           there is no reason external code could ever assume the string in such
3829           a structure is dynamically allocated unless it did that itself;  the
3830           use of g_strdup() is private to element factories.  The new code also
3831           saves some memory by putting pad template name strings into the GLib
3832           quark table instead of allocating them dynamically.
3833           Declaring this field constant fixes warnings with g++-4.2 when using
3834           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
3835
3836 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
3837
3838         * gst/gstelementfactory.c:
3839           Release static caps. Fixes #475723.
3840
3841 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
3842
3843         * gst/gstinfo.c:
3844         * gst/gstinfo.h:
3845           Make some internal API take const gchar * instead of just
3846           gchar * to avoid compiler warnings with g++-4.2.2 when
3847           passing string constants (partially fixes #478092).
3848
3849 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
3850
3851         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
3852         A latency query fails when one of the sinks fail.
3853
3854         * gst/gstelement.c: (gst_element_set_base_time):
3855         Improve debugging.
3856
3857 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
3858
3859         * gst/gstbin.c: (gst_bin_continue_func):
3860         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3861         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
3862         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
3863
3864         Fix minor compilation warnings shown with Forte.
3865
3866 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
3867
3868         * plugins/elements/gstqueue.c: (apply_buffer),
3869         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
3870         Measure queue level based on the diff between head and tail timestamps
3871         even when pushing the first buffer.
3872
3873 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3874
3875         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3876         (gst_base_sink_event), (gst_base_sink_change_state):
3877         Sinks that don't preroll can always be queried for the latency.
3878         Don't post ASYNC start when we are not async.
3879
3880 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3881
3882         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3883         (gst_queue_handle_sink_event), (gst_queue_chain),
3884         (gst_queue_push_one), (gst_queue_handle_src_query),
3885         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
3886         * plugins/elements/gstqueue.h:
3887         When downstream returns UNEXPECTED from pushing a buffer, don't try to
3888         push more buffers but allow pushing of EOS and NEWSEGMENT.
3889         Add some more debug info here and there. Fixes #476514.
3890
3891 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3892
3893         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3894         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
3895         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3896         (gst_base_sink_set_flushing), (gst_base_sink_query),
3897         (gst_base_sink_change_state):
3898         Latency query is allowed after we are prerolled. Introduce a new flag
3899         for this and stop abusing other variables.
3900
3901 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3902
3903         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3904         Push OOB events downstream when we get them in send_event. This allows
3905         the application to insert events in the pipeline.
3906         Add some more comments.
3907
3908 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3909
3910         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
3911         (do_bin_latency), (gst_bin_change_state_func):
3912         * gst/gstpipeline.c: (gst_pipeline_change_state):
3913         Move latency query from GstPipeline to GstBin so that we can also
3914         use it when async-handling is enabled on bins.
3915
3916 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3917
3918         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3919         (gst_base_src_do_sync), (gst_base_src_change_state):
3920         Update docs.
3921         Clean up the timestamping and syncing code for pseudo live sources.
3922
3923 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         Patch by: Steve Fink  <sphink gmail com>
3926
3927         * docs/manual/appendix-checklist.xml:
3928           Mention less -R switch in the section about debug output (#474055).
3929
3930 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3931
3932         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3933         Queue can latency to the pipeline up to the configured max size in time.
3934         Report this fact in the latency query.
3935
3936 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3937
3938         Patch by: Sebastien Moutte <sebastien at moutte dot net>
3939
3940         * libs/gst/controller/gstinterpolation.c:
3941         * libs/gst/controller/gstlfocontrolsource.c:
3942         Use gst_guint64_to_gdouble() when converting from a uint64 or
3943         GstClockTime to double to fix the build on win32. Fixes #474371.
3944
3945 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3946
3947         * gst/gstbuffer.c: (gst_buffer_finalize):
3948         Implement poisoning for GstBuffer if --enable-poisoning is specified.
3949         When finalizing a buffer the complete struct is filled with 0xff,
3950         thus making a use of the buffer after the final unref impossible.
3951
3952 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3953
3954         * tests/check/libs/controller.c: (GST_START_TEST):
3955         Use fail_unless_equals_int(a, b) instead of
3956         fail_unless_equals (a == b) to get better output on failures.
3957
3958 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3959
3960         * tests/check/gst/gsturi.c:
3961           Also check for the other file URI variant on win32.
3962
3963 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3964
3965         * gst/gsturi.c: (gst_uri_get_location):
3966           If there's no hostname, we want to return 'c:/foo/bar.txt'
3967           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
3968
3969         * tests/check/gst/gsturi.c:
3970           Unit test for the above and a few more things.
3971
3972 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3973
3974         * docs/design/part-live-source.txt:
3975         Add docs on how live sources should timestamp.
3976
3977         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3978         Add some more debug info.
3979         For subclasses that are live and like to sync, add aditional startup
3980         latency to sync time and timestamps so that we timstamp according to the
3981         design doc.
3982
3983 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3984
3985         * gst/gstbuffer.c:
3986           Also do a g_type_class_ref() for the subbuffer type in
3987           the init function.
3988
3989 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3990
3991         * docs/gst/gstreamer-sections.txt:
3992         * gst/gstpad.c: (gst_pad_peer_query):
3993         * gst/gstpad.h:
3994         Add function to perform a query on the peer of a pad.
3995         API: gst_pad_peer_query()
3996
3997 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
3998
3999         * tests/check/gst/gstsystemclock.c:
4000           Cleanup the test a little (use gst-logging and not g_message). Improve
4001           test to check if a wait reached the target.
4002
4003 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * docs/libs/gstreamer-libs-sections.txt:
4006           Add new API to docs and fix the build.
4007
4008 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
4009
4010         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4011         (gst_base_src_init), (gst_base_src_set_do_timestamp),
4012         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
4013         (gst_base_src_get_property), (gst_base_src_do_sync):
4014         * libs/gst/base/gstbasesrc.h:
4015         Add property to make the basesrc timestamp buffers based on the current
4016         running time.
4017         API: GstBaseSrc::do-timestamp
4018         API: gst_base_src_set_do_timestamp()
4019         API: gst_base_src_get_do_timestamp()
4020
4021 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
4022
4023         * docs/random/release:
4024           Really make sure translations are up-to-date before
4025           a release (#465010).
4026
4027 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
4028
4029         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4030         Always destroy the timer, also in error cases.
4031
4032 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4033
4034         * docs/manual/highlevel-xml.xml:
4035         Fix XML example code. Fixes #472714.
4036
4037 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4038
4039         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4040         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4041         (gst_base_sink_query):
4042         Protect eos and have_preroll with the OBJECT lock so we don't need to
4043         take the PREROLL lock when querying the latency. Fixes #473846.
4044
4045 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
4046
4047         * gst/gstelement.c:
4048           Give some log-messages a category.
4049
4050 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
4051
4052         * gst/gststructure.c:
4053         (gst_structure_fixate_field_nearest_fraction):
4054         Fix fraction list fixation code. Take the fraction with the smallest
4055         difference with the target instead of the first one in the list.
4056
4057         * tests/check/gst/gststructure.c: (GST_START_TEST),
4058         (gst_structure_suite):
4059         Added test to verify correct fraction list fixation behaviour.
4060
4061 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
4062
4063         * win32/common/libgstreamer.def:
4064           Export gst_bus_add_signal_watch too.
4065
4066 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
4067
4068         * docs/libs/gstreamer-libs-sections.txt:
4069         Add new methods to docs.
4070
4071         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4072         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
4073         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
4074         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
4075         * libs/gst/base/gstbasesink.h:
4076         Add ts-offset property to fine-tune the synchronisation.
4077         API: GstBaseSink::ts-offset property
4078         API: gst_base_sink_set_ts_offset()
4079         API: gst_base_sink_get_ts_offset()
4080
4081 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
4082
4083         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4084         (gst_base_sink_init), (gst_base_sink_set_sync),
4085         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4086         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
4087         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
4088         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
4089         (gst_base_sink_get_property), (gst_base_sink_change_state):
4090         * libs/gst/base/gstbasesink.h:
4091         Add async property to instruct the sink never to inform the parent about
4092         ASYNC state changes, update docs.
4093         Check argument with g_return_* for the public functions.
4094         API: GstBaseSink::async property
4095         API: gst_base_sink_set_async_enabled()
4096         API: gst_base_sink_is_async_enabled()
4097
4098 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
4099
4100         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
4101         Improve debugging.
4102
4103         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4104         (gst_base_src_default_query), (gst_base_src_wait),
4105         (gst_base_src_do_sync), (gst_base_src_change_state):
4106         Rearrange some code so that we can add support for measuring the 
4107         startup latency.
4108
4109 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
4110
4111         * docs/random/ensonic/dynlink.txt:
4112           More thoughs on this.
4113
4114         * plugins/elements/gstcapsfilter.c:
4115           Add bugzilla ticket number to FIXME comment.
4116
4117 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
4118
4119         * docs/design/part-TODO.txt:
4120         * docs/design/part-block.txt:
4121         Update some docs.
4122
4123 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4124
4125         * gst/Makefile.am:
4126           Revert patch which uses $(gst_headers) instead of $^ because it
4127           breaks make dist.
4128
4129 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4130
4131         * tests/check/gst/gstbin.c: (GST_START_TEST):
4132           Fix leaks in the new unit test.
4133
4134 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
4135
4136         * gst/gst.c:
4137           Don't use GST_INFO before the debug system is actually initialised
4138           (shouldn't do any harm, but won't print anything either, so we can
4139           just as well remove it).
4140
4141         * gst/gstinfo.h:
4142           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
4143           compilers that don't support variadic macros (such as MSVC), should
4144           check for debug_level <= __gst_debug_min as well, since that's the
4145           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
4146           inline helper functions. Should improve performance a bit, but also
4147           makes sure uses of GST_INFO et.al are ignored if the debugging
4148           system isn't initialised yet (instead of printing an assertion
4149           failure).
4150
4151 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
4152
4153         patch by: David Nečas <yeti@physics.muni.cz>
4154
4155         * gst/Makefile.am:
4156           Replace some non portable makefile constructs.
4157
4158 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
4159
4160         * common/gtk-doc-plugins.mak:
4161           Grrrrr. Don't remove the types file on make clean.
4162
4163 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
4164
4165         * tools/gst-launch.1.in:
4166         Add colorspace to example pipeline. Fixes #458274.
4167
4168 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
4169
4170         * docs/random/release:
4171           The release manager should run 'make download-po' before making a
4172           release to make sure translations are up-to-date.
4173
4174         * po/LINGUAS:
4175         * po/be.po:
4176         * po/pl.po:
4177         * po/rw.po:
4178           Add some new translations.
4179
4180 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
4181
4182         * tools/gst-launch.c: (event_loop), (main):
4183         Don´t try to do any state management when a live pipeline posts
4184         buffering messages.
4185         Also make the buffering string translatable.
4186
4187 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4188
4189         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
4190         (bin_handle_async_start), (gst_bin_handle_message_func):
4191         Improve debugging.
4192         When adding elements, insert messages into the bus of the newly added
4193         element and make sure the element is the source of the message. This
4194         allows the parent bin to intercept the message and do the
4195         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
4196         messages to the app (which is not allowed).
4197         Update some docs.
4198
4199         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4200         Fix testsuite so that is does not work around messages that should not
4201         have been posted in the first place.
4202
4203 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4204
4205         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
4206         (update_degree), (gst_bin_sort_iterator_next):
4207         Fix annoying bug in the sorted iterator where a sink that is not really
4208         a sink (when it has downstream links) screwed up the iterator.
4209
4210         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4211         Unit test to verify the fix.
4212
4213 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4214
4215         * gst/gstmessage.h:
4216         Add some more docs for the messages.
4217
4218         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4219         (gst_base_sink_query):
4220         Add some more debugging.
4221
4222         * tools/gst-launch.c: (event_loop):
4223         When interrupting, don't try to set pipeline to PAUSED twice.
4224
4225 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
4226
4227         
4228         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
4229         (bin_handle_async_start), (gst_bin_handle_message_func):
4230         Move ASYNC_START message posting to where it belongs, similar to
4231         async_done. 
4232         Don't post ASYNC_START when we are in error. 
4233         Post ASYNC_START when we added an async element to a bin.
4234
4235 2007-08-14  Julien MOUTTE  <julien@moutte.net>
4236
4237         * gst/gstindex.c: (gst_index_add_association): Fix index entry
4238         generation from vargs. Fixes #466595.
4239
4240 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
4241
4242         * gst/gstbin.c: (gst_bin_element_set_state):
4243         Always change the state of a NO_PREROLL element even if it has ASYNC
4244         elements inside (in case of a bin).
4245
4246         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
4247         Unit test for this case.
4248
4249 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
4250
4251         * libs/gst/check/gstbufferstraw.c:
4252         * libs/gst/check/gstcheck.h:
4253         * libs/gst/controller/gstcontroller.c:
4254         * libs/gst/controller/gstcontrolsource.h:
4255         * libs/gst/controller/gstlfocontrolsource.h:
4256         * plugins/elements/gstcapsfilter.h:
4257         * plugins/elements/gstfdsink.h:
4258         * plugins/elements/gstfdsrc.h:
4259           Add more missing docs.
4260
4261 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
4262
4263         * gst/gststructure.c:
4264         Add Since tag to docs.
4265
4266 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
4267
4268         * docs/gst/gstreamer-sections.txt:
4269         * gst/gststructure.c: (gst_structure_get_uint):
4270         * gst/gststructure.h:
4271         Add function to get uint from a structure.
4272         API: gst_structure_get_uint()
4273
4274 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
4275
4276         * gst/gstcaps.c: (gst_caps_set_simple_valist),
4277         (gst_caps_intersect):
4278         Fix proper check for simple caps.
4279
4280 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
4281
4282         * docs/gst/Makefile.am:
4283         * docs/libs/Makefile.am:
4284           Remove cruft and do some cleanups.
4285
4286         * docs/gst/gstreamer-docs.sgml:
4287         * docs/libs/gstreamer-libs-docs.sgml:
4288           Prepare for comming gtkdoc features (rebase against online docs).
4289
4290 2007-08-10  Michael Smith <msmith@fluendo.com>
4291
4292         * docs/gst/gstreamer-sections.txt:
4293           Add gst_registry_add_path to docs.
4294
4295 2007-08-10  Michael Smith <msmith@fluendo.com>
4296
4297         * gst/gstregistry.h:
4298           Add gst_registry_add_path, which was missing from this header.
4299
4300 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
4301
4302         * libs/gst/controller/gstlfocontrolsource.c:
4303           Printf format fix.
4304
4305 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
4306
4307         * libs/gst/base/gstbasesink.c:
4308           Don't send an async_start message during downwards state change if 
4309           target state is less than READY
4310
4311 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4312
4313         translated by: Gabor Kelemen <kelemeng@gnome.hu>
4314
4315         * po/LINGUAS:
4316         * po/hu.po:
4317           Added Hungarian translation.
4318
4319 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4320
4321         * po/fi.po:
4322         * po/it.po:
4323         * po/nl.po:
4324         * po/sv.po:
4325         * po/uk.po:
4326           Updated translations.
4327
4328 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
4329
4330         * libs/gst/controller/Makefile.am:
4331         Dist gstlfocontrolsourceprivate.h
4332
4333 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
4334
4335         * docs/libs/gstreamer-libs.types:
4336         Don't register the enum type gst_lfo_waveform_get_type() in the
4337         .types file - only GObject derived types belong.
4338
4339 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
4340
4341         Patch by: <arenevier at fdn dot fr>
4342
4343         * gst/gstbuffer.h:
4344         Remove comma from last element in enum to avoid compile errors when
4345         using -pendantic. Fixes #464366.
4346
4347 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
4348
4349         * docs/design/part-TODO.txt:
4350         Add some more TODO items
4351
4352         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
4353         Improve debugging.
4354
4355         * gst/gstcaps.c: (gst_caps_intersect):
4356         Optimize trivial intersection case between identical caps pointers.
4357
4358         * gst/gstelement.c: (gst_element_continue_state),
4359         (gst_element_set_state_func):
4360         * gst/gstpad.c:
4361         Fix spelling and grammar mistakes.
4362
4363 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * po/POTFILES.in:
4366         * po/POTFILES.skip:
4367           Update POTFILES. Fixes #461599.
4368
4369 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
4370
4371         * gst/gst.c:
4372         Fix confusing typo in debug output.
4373
4374 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
4375
4376         reviewed by: Stefan Kost <ensonic@users.sf.net>
4377
4378         * libs/gst/controller/Makefile.am:
4379         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
4380         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
4381         (gst_lfo_control_source_new),
4382         (gst_lfo_control_source_set_waveform),
4383         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
4384         (gst_lfo_control_source_finalize),
4385         (gst_lfo_control_source_dispose),
4386         (gst_lfo_control_source_set_property),
4387         (gst_lfo_control_source_get_property),
4388         (gst_lfo_control_source_class_init):
4389         * libs/gst/controller/gstlfocontrolsource.h:
4390         * libs/gst/controller/gstlfocontrolsourceprivate.h:
4391         API: Add GstLFOControlSource, a control source that gives values
4392         for specific timestamps based on several periodic waveforms.
4393         Fixes #459717.
4394
4395         * tests/check/libs/controller.c: (GST_START_TEST),
4396         (gst_controller_suite):
4397         * docs/libs/gstreamer-libs-docs.sgml:
4398         * docs/libs/gstreamer-libs-sections.txt:
4399         * docs/libs/gstreamer-libs.types:
4400         Add documentation and unit tests for GstLFOControlSource.
4401
4402 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
4403
4404         * configure.ac:
4405         Back to CVS
4406
4407 === release 0.10.14 ===
4408
4409 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
4410
4411         * configure.ac:
4412           releasing 0.10.14, "Breathing Vacuum"
4413
4414 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
4415
4416         * gst/gstelement.c: (gst_element_class_set_details_simple):
4417         * gst/gstelement.h:
4418           Make strings passed to gst_element_class_set_details_simple()
4419           constant, as they should be (#462752).
4420
4421 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
4422
4423         * gst/gstbin.c: (gst_bin_change_state_func),
4424         (bin_handle_async_done), (gst_bin_handle_message_func):
4425         Don't forget about the fact that some element went ASYNC even after a
4426         resync. This makes us post the ASYNC_DONE message correctly.
4427         Fixes #462558.
4428
4429 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4430
4431         * gst/gstregistry.c: (gst_registry_add_feature):
4432         When replacing an existing feature in the registry, make sure to
4433         continue holding a reference until we've replaced the name string
4434         within our feature hash table. Make sure to use g_hash_table_replace
4435         instead of g_hash_table_insert to ensure the new name string is used
4436         as a key instead of the old one that we're about to free.
4437         Fixes: #462085
4438
4439 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4440
4441         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4442         (gst_plugin_feature_set_name):
4443         Revert patch from #459466 until after the release and we can work
4444         out exactly what the problem is (if any).
4445
4446 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4447
4448         * docs/gst/gstreamer-sections.txt:
4449         * gst/gsttaglist.c:
4450         * gst/gsttaglist.h:
4451           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
4452
4453 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4454
4455         * docs/libs/Makefile.am:
4456         Include our build-prefix libs and includes before the generic ones to
4457         avoid linking against the installed libs when we want the build-tree
4458         ones.
4459
4460 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4461
4462         Patch by: Steve Fink  <sphink gmail com>
4463
4464         * docs/pwg/building-testapp.xml:
4465           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
4466           if people try to build or install the example from the plugin
4467           template against a GStreamer from package using the configure
4468           defaults.
4469
4470 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4471
4472         Patch by: Steve Fink  <sphink gmail com>
4473
4474         * tools/gst-inspect.1.in:
4475           Document --print-all and --print-plugin-auto-install-info command
4476           line options in man page.
4477
4478 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
4479
4480         * docs/gst/gstreamer-sections.txt:
4481         Add docs for new api function.
4482
4483 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
4484
4485         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
4486         * gst/gstelementfactory.h:
4487         API: gst_element_factory_has_interface()
4488         Added method to check if an element factory implements a named
4489         interface.
4490
4491 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
4492
4493         * configure.ac:
4494         * docs/gst/gstreamer.types.in:
4495           Another conditional doc check.
4496
4497         * gst/gstmessage.c:
4498         * gst/gstparamspecs.h:
4499         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4500         * gst/gstvalue.c:
4501         * gst/gstxml.h:
4502           API-doc fixes.
4503
4504 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
4505
4506         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
4507         (gst_registry_binary_load_feature),
4508         (gst_registry_binary_load_plugin),
4509         (gst_registry_binary_read_cache):
4510           Print error just once and with additional info.
4511
4512 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
4513
4514         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4515         (helper_find_suggest), (helper_find_get_length),
4516         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
4517         (gst_type_find_helper_for_buffer):
4518           Cleanup the typefindhelper code and add private doc comments.
4519
4520 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
4521
4522         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4523         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
4524         Fix capsfilter for cases where the caps set on capsfilter will provide
4525         additional information.
4526         Fixes #449197
4527
4528 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
4529
4530         * gst/gsttypefindfactory.c:
4531           Fix docs that recommened wrong function to use.
4532
4533 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
4534
4535         * tools/gst-inspect.c: (print_plugin_features):
4536           Also give media-type for typefinders in element output.
4537
4538 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
4539
4540         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
4541         (gst_registry_remove_features_for_plugin_unlocked),
4542         (gst_registry_add_feature), (gst_registry_remove_feature),
4543         (gst_registry_lookup_feature_locked):
4544         * gst/gstregistry.h:
4545           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
4546           Fixes #459501.
4547
4548 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
4549
4550         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4551         (gst_plugin_feature_set_name):
4552           Avoid double memory usage for pluginfeature names. Fixes #459466.
4553
4554 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
4555
4556         * gst/gstpad.h:
4557           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
4558           driving the pipeline may need to explicitly check for NOT_LINKED as
4559           well, since IS_FATAL doesn't cover that.
4560
4561 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
4562
4563         * docs/pwg/advanced-types.xml:
4564           Fix typo and duplicate entry in video formats list.
4565
4566 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
4567
4568         * libs/gst/controller/gstinterpolation.c:
4569         Also round to the nearest int when using cubic interpolation.
4570
4571 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
4572
4573         * libs/gst/controller/gstinterpolation.c:
4574         When linearly interpolating integer types, round to the nearest int
4575         by adding 0.5. Don't do it for float/double types.
4576         Fixes the failing controller test on my machine, which is somehow
4577         rounding differently than on the buildbots.
4578
4579 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
4580
4581         * tools/gst-plot-timeline.py:
4582           Better log parsing (categories can have -). Adjust text vs. lines, so
4583           that they span the same y-range.        
4584
4585 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
4586
4587         * docs/random/ensonic/audiobaseclasses.txt:
4588         * docs/random/ensonic/dynlink.txt:
4589         * docs/random/ensonic/profiling.txt:
4590           Save my thoughts.
4591
4592         * docs/random/moving-plugins:
4593           Add note to use g_assert type macros.
4594
4595 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
4596
4597         * configure.ac:
4598         * libs/gst/check/Makefile.am:
4599           Add libm check as we use in for plugins.
4600
4601 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
4602
4603         * gst/gstbin.c: (gst_bin_continue_func):
4604         Check that the state_cookie hasn't changed since the continue_func
4605         was scheduled. Avoids problems where the state changes back to
4606         something it shouldn't be because it was changed in the meantime.
4607
4608 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
4609
4610         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
4611         (gst_registry_binary_save_string),
4612         (gst_registry_binary_save_pad_template),
4613         (gst_registry_binary_save_feature),
4614         (gst_registry_binary_save_plugin),
4615         (gst_registry_binary_load_feature),
4616         (gst_registry_binary_load_plugin),
4617         (gst_registry_binary_read_cache):
4618           Fix memory leak. Be less verbose in the log.
4619
4620 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
4621
4622         * tests/check/elements/.cvsignore:
4623         Add file to cvsignore as commanded.
4624
4625 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
4626
4627         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4628         (mq_dummypad_event), (run_output_order_test):
4629         Use a GStaticMutex to protect all cases where libcheck
4630         fail_if/fail_unless macros might be called from multiple threads
4631         simultaneously to avoid errors like:
4632           "check_pack.c:107: :-1081725400:Bad message type arg"
4633
4634 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
4635
4636         * tests/check/pipelines/stress.c: (GST_START_TEST):
4637         Make sure we set the pipeline back to the NULL state before
4638         dropping our final reference.
4639
4640 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
4641
4642         * tests/check/elements/tee.c: (GST_START_TEST):
4643         Make the tee stress-test a little less stressful so it doesn't just
4644         time out on slow-machines, and remove a small race when it's starting 
4645         up by adding a get_state() call.
4646
4647 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
4648
4649         * gst/gst.c:
4650           Avoid reading registry twice on startup. Fixes #457322.
4651
4652 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
4653
4654         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4655         * pkgconfig/gstreamer-check.pc.in:
4656         Substitute the CFLAGS for libcheck into our .pc file too so that
4657         dependent modules will pick it up properly if libcheck is installed
4658         into some other prefix.
4659
4660 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
4661
4662         * configure.ac:
4663         Revert the pkg-config check for libcheck, since it pulls in the
4664         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
4665         a proper solution, either from the check project, or something else.
4666
4667 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
4668
4669         * configure.ac:
4670           Use pkg-config to locate check.
4671
4672 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
4673
4674         * gst/gsttaglist.c:
4675           Fix doc syntax.
4676
4677         * gst/gstutils.c:
4678         * gst/gstutils.h:
4679           Add deprecation guards.
4680
4681         * libs/gst/base/gstcollectpads.h:
4682           Don't document object (this is implicitly private).
4683
4684 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
4685
4686         * gst/gststructure.c: (gst_structure_parse_value):
4687           When deserialising foo=bar without a type cast, check if it's a
4688           boolean before falling back to a string type, otherwise things like
4689           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
4690           because the filtercaps end up having a signed=(string)true field,
4691           which causes problems later when intersection caps.
4692
4693         * tests/check/gst/gststructure.c: (GST_START_TEST):
4694           Add a unit test for this.
4695
4696 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
4697
4698         Reviewed by: Stefan Kost <ensonic@users.sf.net>
4699
4700         * libs/gst/controller/Makefile.am:
4701         * libs/gst/controller/gstcontroller.c:
4702         (gst_controlled_property_add_interpolation_control_source),
4703         (gst_controlled_property_new), (gst_controlled_property_free),
4704         (gst_controller_find_controlled_property),
4705         (gst_controller_new_valist), (gst_controller_new_list),
4706         (gst_controller_new), (gst_controller_remove_properties_valist),
4707         (gst_controller_remove_properties_list),
4708         (gst_controller_remove_properties),
4709         (gst_controller_set_property_disabled),
4710         (gst_controller_set_disabled), (gst_controller_set_control_source),
4711         (gst_controller_get_control_source), (gst_controller_get),
4712         (gst_controller_sync_values), (gst_controller_get_value_array),
4713         (_gst_controller_dispose), (gst_controller_get_type),
4714         (gst_controlled_property_set_interpolation_mode),
4715         (gst_controller_set), (gst_controller_set_from_list),
4716         (gst_controller_unset), (gst_controller_unset_all),
4717         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
4718         * libs/gst/controller/gstcontroller.h:
4719         * libs/gst/controller/gstcontrollerprivate.h:
4720         * libs/gst/controller/gstcontrolsource.c:
4721         (gst_control_source_class_init), (gst_control_source_init),
4722         (gst_control_source_get_value),
4723         (gst_control_source_get_value_array), (gst_control_source_bind):
4724         * libs/gst/controller/gstcontrolsource.h:
4725         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
4726         (gst_object_get_control_source):
4727         * libs/gst/controller/gstinterpolation.c:
4728         (gst_interpolation_control_source_find_control_point_node),
4729         (gst_interpolation_control_source_get_first_value),
4730         (_interpolate_none_get), (interpolate_none_get),
4731         (interpolate_none_get_boolean_value_array),
4732         (interpolate_none_get_enum_value_array),
4733         (interpolate_none_get_string_value_array),
4734         (_interpolate_trigger_get), (interpolate_trigger_get),
4735         (interpolate_trigger_get_boolean_value_array),
4736         (interpolate_trigger_get_enum_value_array),
4737         (interpolate_trigger_get_string_value_array):
4738         * libs/gst/controller/gstinterpolationcontrolsource.c:
4739         (gst_control_point_free), (gst_interpolation_control_source_reset),
4740         (gst_interpolation_control_source_new),
4741         (gst_interpolation_control_source_set_interpolation_mode),
4742         (gst_interpolation_control_source_bind),
4743         (gst_control_point_compare), (gst_control_point_find),
4744         (gst_interpolation_control_source_set_internal),
4745         (gst_interpolation_control_source_set),
4746         (gst_interpolation_control_source_set_from_list),
4747         (gst_interpolation_control_source_unset),
4748         (gst_interpolation_control_source_unset_all),
4749         (gst_interpolation_control_source_get_all),
4750         (gst_interpolation_control_source_get_count),
4751         (gst_interpolation_control_source_init),
4752         (gst_interpolation_control_source_finalize),
4753         (gst_interpolation_control_source_dispose),
4754         (gst_interpolation_control_source_class_init):
4755         * libs/gst/controller/gstinterpolationcontrolsource.h:
4756         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
4757         API: Refactor GstController into the core controller which can take
4758         a GstControlSource for providing actual values for timestamps.
4759         Implement a interpolation control source and use this for backward
4760         compatibility, deprecate a bunch of functions that are now handled
4761         by GstControlSource or GstInterpolationControlSource.
4762         Make it possible to disable the controller completely or only for
4763         specific properties. Fixes #450711.
4764         * docs/libs/gstreamer-libs-docs.sgml:
4765         * docs/libs/gstreamer-libs-sections.txt:
4766         * docs/libs/gstreamer-libs.types:
4767         Add new functions and classes to the docs.
4768         * tests/check/libs/controller.c: (GST_START_TEST),
4769         (gst_controller_suite):
4770         * tests/examples/controller/audio-example.c: (main):
4771         Port unit test and example to the new API and add some new
4772         unit tests.
4773
4774 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
4775
4776         Patch by: Mark Nauwelaerts <manauw at skynet be>
4777
4778         * plugins/elements/gstmultiqueue.c:
4779         (gst_multi_queue_get_internal_links), (apply_buffer),
4780         (single_queue_overrun_cb), (gst_single_queue_new):
4781         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
4782         the pipeline layout can be tracked correctly. Fixes #453732.
4783
4784 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
4785
4786         * docs/gst/Makefile.am:
4787         * docs/libs/Makefile.am:
4788         * docs/plugins/Makefile.am:
4789           Simplify --extra-dir as gtkdoc scans recursively.
4790
4791 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
4792
4793         * tools/gst-launch.c: (main):
4794         When we got an error, there is no point in waiting for preroll when
4795         shutting down.
4796
4797 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
4798
4799         * plugins/elements/gsttee.c: (gst_tee_base_init),
4800         (gst_tee_request_new_pad), (gst_tee_release_pad),
4801         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
4802         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
4803         (gst_tee_chain):
4804         Be a lot smarter when deciding what srcpad to use for proxying
4805         the buffer_alloc. Also handle pad added/removed when doing so.
4806         Fixes #357959.
4807         Keep track of what pads we already pushed on in case we have pads
4808         added/removed while pushing. Fixes #374639 
4809
4810         * tests/check/Makefile.am:
4811         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
4812         (tee_suite):
4813         Added unit test for pad resync.
4814
4815 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * po/nl.po:
4818         * po/sv.po:
4819           Updated translations.
4820
4821 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4822
4823         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
4824
4825         * po/LINGUAS:
4826         * po/fi.po:
4827           Added new Finnish translation.
4828
4829 2007-06-28  Wim Taymans  <wim@fluendo.com>
4830
4831         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4832         (single_queue_overrun_cb):
4833         When figuring out when a queue is filled, use our internal time estimate
4834         based on segments, just like check_full does.
4835
4836 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
4837
4838         * gst/gstminiobject.c: (gst_mini_object_get_type):
4839           Remove 3 do-nothing methods.
4840
4841 2007-06-27  Wim Taymans  <wim@fluendo.com>
4842
4843         Patch by: Tim Angus <tim at ngus dot net>
4844
4845         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4846         (gst_capsfilter_set_property):
4847         Take a reference instead of a copy when setting "caps".
4848         Fix documentation to clarify this behaviour. Fixes #449414.
4849
4850 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
4851
4852         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4853         * gst/gstplugin.c: (gst_plugin_init):
4854         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
4855         * gst/gstquery.c: (gst_query_get_type):
4856         * gst/gstregistry.c: (gst_registry_init):
4857         * gst/gsturi.c: (gst_uri_handler_base_init):
4858           Remove empty instance_init() functions to save relocs and lessen the
4859           noise. Remove some of the function prototypes that are doubled by
4860           G_DEFINE_TYPE.
4861           
4862 2007-06-27  Wim Taymans  <wim@fluendo.com>
4863
4864         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
4865
4866         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
4867         Add peer and direction in the XML serialisation of ghostpads.
4868         Fixes #449226.
4869
4870 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4871
4872         * configure.ac:
4873           Preserve useful information, thanks Tim.
4874
4875 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
4876
4877         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4878         (gst_single_queue_flush), (apply_segment), (apply_buffer),
4879         (gst_single_queue_push_one), (gst_multi_queue_loop),
4880         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4881         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
4882         (compute_high_id), (gst_single_queue_new):
4883         * plugins/elements/gstmultiqueue.h:
4884         Take the multiqueue lock when updating the fill level so we don't get
4885         confused. 
4886
4887         After applying a buffer or event on the src pad segment, make sure to
4888         call gst_data_queue_limits_changed() to get the data queue to unblock
4889         and check the filled state again.
4890         
4891         Rework the not-linked pad handling so the logic is that not-linked 
4892         pads can push as fast as they like, but only so they never get 
4893         ahead of any linked pads.
4894
4895         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
4896         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
4897         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
4898
4899         Add a test to check that not-linked pads always stay behind
4900         linked pads.
4901
4902         Fixes: #430682
4903
4904 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
4905
4906         * docs/random/release:
4907           Some updates to the release procedure.
4908
4909 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4910
4911         * gst/gstelementfactory.c: (__gst_element_details_clear):
4912           Microoptimization that saves stunning 80 bytes.
4913
4914 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
4915
4916         * docs/plugins/gstreamer-plugins.args:
4917         * docs/plugins/inspect/plugin-coreelements.xml:
4918         * docs/plugins/inspect/plugin-coreindexers.xml:
4919           Update docs with caps info.
4920
4921 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * po/it.po:
4924           Updated Italian translation.
4925
4926 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * ChangeLog:
4929         * po/vi.po:
4930           Update Vietnamese translations.
4931
4932 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * libs/gst/base/gstbasesink.c:
4935           Remove unused signal enum.
4936
4937 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4938
4939         * docs/gst/gstreamer-sections.txt:
4940         * gst/gstelement.c:
4941         * gst/gstutils.c: (gst_type_register_static_full):
4942         Beef up and include the docs for gst_type_register_static_full and
4943         gst_element_class_set_details_simple and add the API keyword
4944         in the ChangeLog.
4945
4946 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4947
4948         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4949         (update_time_level), (gst_single_queue_push_one),
4950         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
4951         (single_queue_overrun_cb), (single_queue_underrun_cb),
4952         (single_queue_check_full):
4953         Fix setting max-* properties after adding queues.
4954         Use IS_FILLED for checking visible items.
4955         Signal overrun if multiple queues overrun.
4956         Add extra debug output.
4957         Patch by: Wim Taymans <wim@fluendo.com>
4958
4959 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
4960
4961         * gst/gstelement.c: (gst_element_class_set_details_simple):
4962         * gst/gstelement.h:
4963         * gst/gstutils.c: (gst_type_register_static_full):
4964         * gst/gstutils.h:
4965         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
4966         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
4967         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
4968         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
4969         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
4970         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
4971         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
4972         * plugins/elements/gstidentity.c: (gst_identity_base_init):
4973         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
4974         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4975         (apply_buffer), (gst_queue_chain):
4976         * plugins/elements/gsttee.c: (gst_tee_base_init):
4977         * plugins/elements/gsttypefindelement.c:
4978         (gst_type_find_element_base_init),
4979         (gst_type_find_element_class_init):
4980           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
4981           API: add gst_type_register_static_full
4982           API: add gst_element_class_set_details_simple
4983
4984 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4985
4986         * docs/pwg/advanced-types.xml:
4987           Fix typo in iana.org URI.
4988
4989 2007-06-19  Andy Wingo  <wingo@pobox.com>
4990
4991         * tests/check/pipelines/simple-launch-lines.c
4992         (test_state_change_returns): Enable pull-mode tests now that
4993         basesink has been fixed.
4994
4995         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4996         Changed from gst_base_sink_is_prerolled, reversing the sense of
4997         the return value. Returns FALSE also if the sink is in pull mode,
4998         in which case it needs no preroll.
4999         (gst_base_sink_query, gst_base_sink_change_state): Update for
5000         needs_preroll change.
5001         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
5002         chaining up, in which we return SUCCESS directly if we activated
5003         in pull mode instead of ASYNC. Involves countering an async_start
5004         message sent before chaining up; not sure if this is correct, in
5005         an ideal world we only send async-start when activating in push
5006         mode.
5007
5008         * tests/check/pipelines/simple-launch-lines.c
5009         (test_state_change_returns): New test, partially disabled until
5010         basesink is fixed.
5011
5012 2007-06-19  Wim Taymans  <wim@fluendo.com>
5013
5014         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5015         (gst_multi_queue_sink_event):
5016         Fix event leak.
5017
5018 2007-06-19  Wim Taymans  <wim@fluendo.com>
5019
5020         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5021         (gst_bin_change_state_func), (bin_push_state_continue),
5022         (bin_handle_async_start), (bin_handle_async_done),
5023         (gst_bin_handle_message_func):
5024         Move the common code for posting state-change messages into
5025         one function.
5026         Broadcast the state signal after we posted the messages.
5027         Mark the bin as busy when it's doing a state-change.
5028         Make sure async-start/done messages don't interfere with the bin's
5029         state when it's busy.
5030         After the state change, let the bin check which elements completed the
5031         state change while it was busy so that it can update its state.
5032
5033 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
5034
5035         * docs/random/release:
5036         Add a note about updating the doap file to the release checklist
5037
5038 2007-06-18  Wim Taymans  <wim@fluendo.com>
5039
5040         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5041         (gst_single_queue_push_one), (gst_multi_queue_chain),
5042         (gst_multi_queue_sink_event):
5043         Make sure we don't reference the buffer/event after we have given away
5044         ownership in the queue.
5045
5046 2007-06-18  Wim Taymans  <wim@fluendo.com>
5047
5048         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5049         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
5050         Update queue state _after_ adding the item in the queue because else we
5051         could end up being full without the element added yet.
5052
5053 2007-06-18  Wim Taymans  <wim@fluendo.com>
5054
5055         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5056         (gst_bin_remove_func), (gst_bin_get_state_func),
5057         (gst_bin_element_set_state), (gst_bin_continue_func),
5058         (bin_push_state_continue), (bin_handle_async_start),
5059         (bin_handle_async_done), (gst_bin_handle_message_func):
5060         * gst/gstbin.h:
5061         Immediatly commit the toplevel bin state when receiving an async-done
5062         message. This enables us to avoid spawning a thread to commit the state
5063         in some common cases and it also avoids some races.
5064         Avoid spawning a state thread when adding/removing async elements to a
5065         toplevel bin. Instead we immediatly update the bin state.
5066         Get rid of iterating all the children when getting the state in the bin
5067         because it is now always up-to-date.
5068         Fix bug where locked elements would always return _SUCCESS even it they
5069         returned NO_PREROLL before being locked.
5070         Fix the order of the state_change, async-start/done messages that was
5071         sometimes incorrect.
5072         Mark the state_dirty field as deprecated, we don't need it anymore as we
5073         are always up-to-date.
5074
5075         * gst/gstelement.c: (gst_element_get_state_func),
5076         (gst_element_continue_state):
5077         Small debug inprovements.
5078         Return the previous element state return when nothing is pending instead
5079         of blindly returning SUCCESS.
5080
5081         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
5082         (gst_sinks_suite):
5083         Add a whole bunch of new testcases.
5084
5085 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5086
5087         * po/uk.po:
5088         * po/vi.po:
5089           Update translations.
5090
5091 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
5092
5093         * gst/gstpad.c:
5094         Fix typo in the docs.
5095
5096 2007-06-15  Wim Taymans  <wim@fluendo.com>
5097
5098         * docs/libs/gstreamer-libs-sections.txt:
5099         Add docs for new methods.
5100
5101 2007-06-15  Wim Taymans  <wim@fluendo.com>
5102
5103         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
5104         (gst_multi_queue_item_new):
5105         Don't use GSlice because we don't depend on >= 2.10 yet.
5106
5107 2007-06-15  Wim Taymans  <wim@fluendo.com>
5108
5109         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5110         (update_time_level), (apply_segment), (apply_buffer),
5111         (gst_single_queue_push_one), (gst_multi_queue_item_new),
5112         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
5113         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
5114         (single_queue_underrun_cb), (single_queue_check_full):
5115         Remove debug printf.
5116
5117 2007-06-15  Wim Taymans  <wim@fluendo.com>
5118
5119         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
5120         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
5121         (gst_data_queue_set_flushing), (gst_data_queue_push),
5122         (gst_data_queue_pop), (gst_data_queue_drop_head),
5123         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
5124         * libs/gst/base/gstdataqueue.h:
5125         Various cleanups.
5126         Added methods to get the current levels and to inform the queue that the
5127         'full' limits changed.
5128
5129         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5130         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5131         (gst_single_queue_flush), (update_time_level), (apply_segment),
5132         (apply_buffer), (gst_single_queue_push_one),
5133         (gst_multi_queue_item_steal_object),
5134         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5135         (gst_multi_queue_loop), (gst_multi_queue_chain),
5136         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5137         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
5138         (gst_multi_queue_src_query), (single_queue_overrun_cb),
5139         (single_queue_underrun_cb), (single_queue_check_full),
5140         (gst_single_queue_new):
5141         Keep track of time in the queue by measuring the difference between
5142         running_time on input and output. This gives more accurate results and
5143         can compensate for segments correctly.
5144         Make a queue by default only 5 buffers deep. We will now increase the
5145         buffer size depending on the filledness of the other queues.
5146         Factor out commong flush code.
5147         Make sure we don't add additional refcounts to buffers when we can avoid
5148         it.
5149         Propagate GstFlowReturn differently.
5150         Use GSlice for intermediate GstMultiQueueItems.
5151         Keep track of EOS.
5152         Resize queues on over and underruns based on filled level of other
5153         queues.
5154         When checking if the queue is filled, prefer to measure in time if we
5155         can and fall back to bytes when no time is known.
5156
5157         * plugins/elements/gstqueue.c:
5158         Fix return value.
5159
5160 2007-06-15  Wim Taymans  <wim@fluendo.com>
5161
5162         * libs/gst/base/gstbasetransform.c:
5163         (gst_base_transform_sink_event):
5164         Work around the brokenness of the event vmethod in basetransform. Prefer
5165         to return TRUE when the subclass returned FALSE (meaning don't forward
5166         the event). 
5167
5168         * libs/gst/base/gstbasetransform.h:
5169         Clarify the docs.
5170
5171 2007-06-15  Wim Taymans  <wim@fluendo.com>
5172
5173         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
5174         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5175         (gst_base_src_default_query), (gst_base_src_get_range),
5176         (gst_base_src_start):
5177         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
5178         Improve debugging.
5179
5180 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5181
5182         * docs/pwg/advanced-types.xml:
5183           Added more formats to caps table.
5184
5185 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5186
5187         * tools/gst-launch.c: (main):
5188           Remove crufy code. GOption does not need this workaround.
5189
5190 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5191
5192         * libs/gst/controller/gstcontroller.c:
5193         (gst_controlled_property_set_interpolation_mode):
5194           Fix wrong getter for enums in controller.
5195
5196 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5197
5198         * libs/gst/check/gstcheck.c: (gst_check_init):
5199           Intercept criticals and warnings in the Gst-Phonon log domain, so
5200           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
5201           well.
5202         
5203 2007-06-14  Edward Hervey  <edward@fluendo.com>
5204
5205         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
5206         Since this file doesn't include "gst.h" it will not go through the
5207         macros that disable GST_LOG if debugging was disabled.
5208
5209 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5210
5211         * libs/gst/check/Makefile.am:
5212         * libs/gst/check/gstcheck.h:
5213         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5214         * pkgconfig/gstreamer-check.pc.in:
5215           Ugly 'fix' for the controller unit test on the p5 bot: in
5216           fail_unless_equals_float() check whether the values are 'almost
5217           equal' by allowing a small absolute error, which should be good
5218           enough for our use cases (normal numbers and values close to 0).
5219           Proper fixage left to floating point arithmetic aficionados.
5220
5221 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5222
5223         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
5224         (gst_base_sink_render_object), (gst_base_sink_get_position):
5225           Add two breaks thats where missing.
5226
5227 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         * docs/libs/gstreamer-libs-sections.txt:
5230         * libs/gst/check/gstcheck.h:
5231           API: add fail_unless_equals_float() and assert_equals_float().
5232           Add documentation for some of the macros.
5233
5234         * tests/check/libs/controller.c: (GST_START_TEST):
5235           Use newly-added asserts.
5236
5237 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5238
5239         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
5240           Show the caps change in the log to help spotting the case of not
5241           exactly matching caps.
5242
5243 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5244
5245         * docs/pwg/building-boiler.xml:
5246           Fix typos, spotted by Thijs Vermeir (#447190).
5247
5248 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
5249
5250         * docs/plugins/tmpl/.cvsignore:
5251         Ignore file to keep the buildbots happy
5252
5253 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
5254
5255         * docs/plugins/Makefile.am:
5256         * docs/plugins/gstreamer-plugins-docs.sgml:
5257         * docs/plugins/gstreamer-plugins-sections.txt:
5258         Pull fdsink into the docs too.
5259
5260 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
5261
5262         * libs/gst/controller/gstinterpolation.c:
5263         Actually use the new functions with min/max checks for the trigger and
5264         none interpolation modes for get() and get_value_array() instead of
5265         just the latter.
5266
5267 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
5268
5269         * libs/gst/controller/gstcontroller.c:
5270         (gst_controlled_property_free):
5271         Unset the minimum and maximum GValues when freeing the corresponding
5272         GstControllerProperty struct.
5273
5274 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
5275
5276         * libs/gst/controller/gstcontroller.c:
5277         (gst_controlled_property_new):
5278         * libs/gst/controller/gstcontrollerprivate.h:
5279         * libs/gst/controller/gstinterpolation.c:
5280         (gst_controlled_property_find_control_point_node),
5281         (interpolate_none_get), (interpolate_none_get_enum_value_array),
5282         (interpolate_none_get_string_value_array),
5283         (interpolate_trigger_get),
5284         (interpolate_trigger_get_enum_value_array),
5285         (interpolate_trigger_get_string_value_array):
5286         Protect against values larger or smaller than the minimum or maximum
5287         allowed value for the property when using values that can be compared.
5288
5289         Optimize trigger interpolator a bit by taking the last requested value
5290         into account instead of always looping through the complete list.
5291
5292         Fix coding style a bit, everywhere else we use "return foo" instead
5293         of "return (foo)".
5294         
5295         * tests/check/libs/controller.c: (GST_START_TEST),
5296         (gst_controller_suite):
5297         Add unit test for the protection against too large or too small
5298         values.
5299
5300 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
5301
5302         * docs/random/slomo/controller.txt:
5303         Add some thoughts about the future of the controller.
5304
5305 2007-06-08  Wim Taymans  <wim@fluendo.com>
5306
5307         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5308         Don't overflow in retimestamping code.
5309
5310 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
5311
5312         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
5313         Use gst_util_guint64_to_gdouble for conversions.
5314         * win32/common/libgstreamer.def:
5315         Add new exported functions.
5316
5317 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
5318
5319         * gst/gstutils.c:
5320           Small docs addition.
5321
5322 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5323
5324         * README:
5325           Remove that test line again.
5326
5327 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5328
5329         * README:
5330           Test commit mail sending.
5331
5332 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5333
5334         * configure.ac:
5335           Fix typo and test commit mail sending.
5336
5337 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5338
5339         * tests/examples/controller/audio-example.c:
5340           Improve comment and test commit mail sending.
5341
5342 2007-06-07  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
5345         (gst_bin_remove_func), (gst_bin_element_set_state),
5346         (bin_handle_async_start), (bin_handle_async_done),
5347         (gst_bin_handle_message_func):
5348         Add helper function to find messages.
5349         Generate the async-done messages together with the state change
5350         messages.
5351         Small cleanups in handling toplevel bins.
5352
5353 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
5354
5355         * libs/gst/base/gstdataqueue.c:
5356         * libs/gst/base/gstdataqueue.h:
5357         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5358         (gst_multi_queue_item_new), (gst_multi_queue_chain),
5359         (gst_multi_queue_sink_event):
5360         * tests/check/elements/multiqueue.c: (multiqueue_suite):
5361           Fix multiqueue leaking buffers and events when downstream or the
5362           queue are flushing. Make refcounting assumptions explicit and
5363           document them (shouldn't break existing code that uses it other than
5364           maybe leak miniobjects, but that already happens anyway). Add unit
5365           test for the most common flushing case. Fixes #423700.
5366           
5367 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
5368
5369         * libs/gst/controller/gstcontroller.c:
5370         Clarify docs: The get_all, get_value_array(s) functions
5371         don't modify the GObject properties.
5372
5373 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
5374
5375         * libs/gst/controller/gstcontroller.c:
5376         (gst_controlled_property_set_interpolation_mode),
5377         (gst_controlled_property_prepend_default),
5378         (gst_controlled_property_new), (gst_controller_set_unlocked),
5379         (gst_controller_set), (gst_controller_set_from_list),
5380         (gst_controller_unset), (gst_controller_unset_all):
5381         * libs/gst/controller/gstcontrollerprivate.h:
5382         * libs/gst/controller/gstinterpolation.c:
5383         Factor out the 'set' logic into gst_controller_set_unlocked for the
5384         gst_controller_set and gst_controller_set_from_list functions.
5385
5386         To make life of the interpolators easier always add a control point
5387         at timestamp zero with the default value.
5388
5389         In the linear interpolator make things more obvious by better variable
5390         naming (slope).
5391
5392         Implement cubic interpolation mode (by using a natural cubic spline)
5393         and map the quadratic interpolation mode to this too (as quadratic
5394         doesn't make much sense, see discussion on the list).
5395
5396         * tests/check/libs/controller.c: (GST_START_TEST),
5397         (gst_controller_suite):
5398         Add unit test for the cubic interpolation mode and check everywhere
5399         if the interpolation mode could be set as expected.
5400
5401 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
5402
5403         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
5404           Don't use GLib-2.10 functions, we still depend on
5405           GLib-how-old-is-it-again-2.8.
5406
5407 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
5408
5409         * docs/gst/gstreamer-sections.txt:
5410         * gst/Makefile.am:
5411         * gst/gst.c:
5412         * gst/gst.h:
5413         * gst/gstparamspecs.c: (_gst_param_fraction_init),
5414         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
5415         (_gst_param_fraction_values_cmp),
5416         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
5417         * gst/gstparamspecs.h:
5418         * gst/gstvalue.c:
5419         * tests/check/Makefile.am:
5420         * tests/check/gst/.cvsignore:
5421         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
5422         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
5423         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
5424         (GST_START_TEST), (gst_param_spec_suite):
5425           API: add GstParamSpecFraction, so elements can have fraction
5426           properties without lots of painful string parsing (#444648).
5427
5428 2007-06-05  Wim Taymans  <wim@fluendo.com>
5429
5430         * gst/gstobject.c: (gst_object_class_init):
5431         Fix signal signature.
5432
5433         * gst/gstsegment.c:
5434         Add small clarification in the api docs.
5435
5436         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
5437         States are protected with object lock.
5438
5439 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
5440
5441         * AUTHORS:
5442         I should probably be listed as an author by now.
5443
5444         * docs/random/release:
5445         Update the release doc
5446
5447 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
5448
5449         * gst/gstvalue.c:
5450           Make docs for gst_value_compare() mention return enums that
5451           actually exist.
5452
5453 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
5454
5455         * configure.ac:
5456           Back to CVS
5457
5458 === release 0.10.13 ===
5459
5460 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
5461
5462         * configure.ac:
5463           releasing 0.10.13, "With or without you"
5464
5465 2007-05-25  Wim Taymans  <wim@fluendo.com>
5466
5467         * gst/gstbin.c: (bin_handle_async_done):
5468         Make sure that the child bin stops after completing the async state
5469         change so that the parent can continue the state change to PLAYING.
5470         Fixes #441159.
5471
5472 2007-05-25  Wim Taymans  <wim@fluendo.com>
5473
5474         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5475         (unref_data), (gst_collect_pads_remove_pad),
5476         (gst_collect_pads_check_pads):
5477         Use additional refcounting to avoid crashes when dynamically adding and
5478         removing pads. Fixes #420206.
5479
5480 2007-05-24  Wim Taymans  <wim@fluendo.com>
5481
5482         * tools/gst-launch.c: (event_loop):
5483         When buffering goes from a two digit to a single digit number, make sure
5484         to remove the old second digit by writing a blank over it.
5485
5486 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5487
5488         * libs/gst/base/gstdataqueue.c:
5489           Eliminate tabs and trailing comma in enum list; fix some typos.
5490
5491 2007-05-24  Wim Taymans  <wim@fluendo.com>
5492
5493         * tests/check/gst/gstbin.c: (GST_START_TEST):
5494         Allow refcount of 3 and 4 because some state thread might still be busy
5495         with it.
5496
5497 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5498
5499         * plugins/elements/Makefile.am:
5500         * plugins/elements/gstmultiqueue.h:
5501         * plugins/elements/gstqueue.h:
5502           These are not installed headers, no need for padding.
5503
5504 2007-05-24  Wim Taymans  <wim@fluendo.com>
5505
5506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5507         (gst_bin_continue_func):
5508         Enable latency for next release.
5509         Restore STATE_LOCK around recalc_state that was left out during the
5510         rewrite and could result in racy behaviour when _get_state and
5511         recalc_state are run concurrently. See #440463.
5512
5513 2007-05-23  Wim Taymans  <wim@fluendo.com>
5514
5515         * tests/check/gst/gstsystemclock.c: (store_callback),
5516         (GST_START_TEST):
5517         Improve test_async_order to also work when both timers are already
5518         expired when we get scheduled to check it.
5519
5520 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
5521
5522         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
5523         (gst_bin_set_property), (gst_bin_get_property),
5524         (gst_bin_remove_func), (gst_bin_handle_message_func):
5525         * gst/gstbin.h:
5526           'private' is a c++ keyword, let's not use that in header files,
5527           otherwise c++ compilers will throw a tantrum.
5528
5529 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         * plugins/elements/gstelements.c:
5532         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
5533         (gst_file_sink_get_current_offset):
5534         * plugins/indexers/gstindexers.c: (plugin_init):
5535           Use #ifdef for HAVE_XYZ for consistency.
5536
5537         * tests/check/Makefile.am:
5538         * tests/check/elements/.cvsignore:
5539         * tests/check/elements/filesink.c: (setup_filesink),
5540         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
5541           Add some unit tests for filesink.
5542
5543 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
5544
5545         Patch by: Mark Nauwelaerts <manauw at skynet be>
5546
5547         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5548         (gst_file_sink_query), (gst_file_sink_do_seek),
5549         (gst_file_sink_get_current_offset), (gst_file_sink_render):
5550         * plugins/elements/gstfilesink.h:
5551           Fix position reporting; rename data_written member to current_pos to
5552           reflect its real meaning (fixes #412648).
5553
5554 2007-05-22  Edward Hervey  <edward@fluendo.com>
5555
5556         * docs/gst/gstreamer-sections.txt:
5557         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5558         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
5559         (gst_bin_remove_func), (gst_bin_handle_message_func):
5560         * gst/gstbin.h:
5561         Add a property for bins that handle the state change of their childs.
5562         Fixes #435880
5563
5564 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
5565
5566         * libs/gst/controller/gstinterpolation.c:
5567         Use an array of the correct type when using _get_value_array with
5568         linear interpolation.
5569
5570 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
5571
5572         * gst/gstelement.c (gst_element_requires_clock,
5573           gst_element_provides_clock, gst_element_request_pad,
5574           gst_element_class_set_details, gst_element_class_set_details_simple,
5575           gst_element_default_send_event, gst_element_abort_state,
5576           gst_element_continue_state, gst_element_set_state,
5577           gst_element_set_state_func, iterator_activate_fold_with_resync):
5578         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
5579           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
5580           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
5581           gst_pad_get_range, gst_pad_pull_range):
5582         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
5583           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
5584           GstPadActivateModeFunction, GstPadChainFunction,
5585           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
5586           GstPadFixateCapsFunction, GstPadTemplate):
5587         * gst/gstpipeline.c (gst_pipeline_change_state,
5588           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
5589           gst_pipeline_set_clock, gst_pipeline_auto_clock,
5590           gst_pipeline_get_delay):
5591           Whitespace and docs fixes.
5592
5593 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
5594
5595         * libs/gst/controller/gstinterpolation.c:
5596         (interpolate_trigger_get_enum_value_array),
5597         (interpolate_trigger_get_string_value_array):
5598         Add support for retrieving value arrays when using the trigger
5599         interpolation mode. 
5600
5601 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
5602
5603         * libs/gst/controller/gstcontroller.c:
5604         (gst_controller_get_value_array):
5605         * libs/gst/controller/gstcontroller.h:
5606         Clarify the docs of gst_controller_get_value_array(): The array where
5607         the values should be written to must be allocated as there seems to be
5608         no way to get the size of a random GType. This doesn't change any
5609         behaviour. Also fix some typos all over the place and remove an unused,
5610         commented function that is not necessary as g_object_set() could be
5611         used instead.
5612         * tests/check/libs/controller.c: (GST_START_TEST),
5613         (gst_controller_suite):
5614         Add unit test for gst_controller_get_value_array().
5615
5616 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
5617
5618         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5619
5620         Disable part of the gst_buffer_try_new_and_alloc test, because
5621         it can happily succeed on 64-bit systems where there's more address
5622         space available.
5623
5624 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
5625
5626         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5627         Add unit test for the improved caps checking from bug #421543.
5628
5629 2007-05-21  Wim Taymans  <wim@fluendo.com>
5630
5631         * docs/design/part-synchronisation.txt:
5632         Small addition.
5633
5634         * gst/gstbin.c: (gst_bin_query):
5635         * plugins/elements/gstqueue.c: (apply_segment):
5636         Improve debugging.
5637
5638         * gst/gstmessage.h:
5639         Improve docs.
5640
5641 2007-05-21  Wim Taymans  <wim@fluendo.com>
5642
5643         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5644         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
5645         (gst_pad_configure_src):
5646         Added simple version of improved caps checking. It was previously
5647         assumed that a setcaps function would check the validity of the caps but
5648         people prefer us to check caps against the template automatically. 
5649         Fixes #421543.
5650
5651 2007-05-21  Wim Taymans  <wim@fluendo.com>
5652
5653         * libs/gst/base/gstbasetransform.h:
5654         Fix macro for locking/unlocking the transform lock.
5655
5656 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5657
5658         * docs/plugins/tmpl/.cvsignore:
5659           Ignore more.
5660
5661 2007-05-18  Edward Hervey  <edward@fluendo.com>
5662
5663         * plugins/elements/gstqueue.c: (gst_queue_loop):
5664         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
5665         for the subtle art of warning a potentially blocking thread that it
5666         should check the source pad return value, and relay the information
5667         upstream.
5668
5669 2007-05-18  Edward Hervey  <edward@fluendo.com>
5670
5671         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5672         Release the queue lock !
5673
5674 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5675
5676         * docs/libs/gstreamer-libs-sections.txt:
5677         Add the two new controller functions to the appropiate places.
5678
5679 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5680
5681         reviewed by: Stefan Kost <ensonic@users.sf.net>
5682
5683         * libs/gst/controller/gstcontroller.c:
5684         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
5685         (_gst_controller_get_property), (_gst_controller_set_property),
5686         (_gst_controller_init), (_gst_controller_class_init):
5687         * libs/gst/controller/gstcontroller.h:
5688         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
5689         (gst_object_get_control_rate), (gst_object_set_control_rate):
5690         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
5691         Add API that provides sync suggestion timestamps for elements that
5692         call gst_object_sync_values() from which those elements can subdivide
5693         their processing loop to get the best results for the controlled
5694         properties. For now it just suggests last_sync + control_rate as
5695         new timestamp but this will be improved in the future.
5696
5697         While doing that change the control-rate property to a GstClockTime
5698         from guint and change it's meaning from samples to nanoseconds as
5699         the GstController doesn't know anything about sampling rate. Strictly
5700         speaking this breaks ABI but as the control-rate property didn't do
5701         anything in the past and as such couldn't be used this should be no
5702         problem.        
5703
5704 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5705
5706         reviewed by: Stefan Kost <ensonic@users.sf.net>
5707
5708         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
5709         (gst_controller_unset_all):
5710         * libs/gst/controller/gstcontrollerprivate.h:
5711         * libs/gst/controller/gstinterpolation.c:
5712         (gst_controlled_property_find_control_point_node):
5713         Save last synced value from the list to continue searching from there
5714         in future syncs. This speeds everything up a bit.
5715         
5716 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5717
5718         reviewed by: Stefan Kost <ensonic@users.sf.net>
5719
5720         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
5721         (gst_control_point_find), (gst_controlled_property_new),
5722         (gst_control_point_free), (gst_controlled_property_free),
5723         (gst_controller_set), (gst_controller_set_from_list),
5724         (gst_controller_unset), (gst_controller_unset_all),
5725         (gst_controller_sync_values):
5726         * libs/gst/controller/gstcontroller.h:
5727         * libs/gst/controller/gstcontrollerprivate.h:
5728         * libs/gst/controller/gstinterpolation.c:
5729         (gst_controlled_property_find_control_point_node),
5730         (interpolate_none_get), (interpolate_trigger_get):
5731         Add a new private GstControlPoint struct which "inherits" from
5732         GstTimedValue to allow different interpolators to store internal
5733         values next to each control point. From the outside everything is
5734         still a GstControlPoint so we don't loose binary compatibility.
5735         Also fixup all the GValue handling to not leak GValues or list nodes.
5736         * tests/check/libs/controller.c: (GST_START_TEST):
5737         Free the list nodes and GValues in the controller_misc test.
5738
5739 2007-05-17  Edward Hervey  <edward@fluendo.com>
5740
5741         * gst/gstsegment.c:
5742         Small doc fix.
5743
5744 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5745
5746         * gst/gstplugin.c: (gst_plugin_load_file):
5747           If we fail to load a plugin because of unresolved symbols or missing
5748           libraries and spew a warning to stderr, we may just as well mention
5749           which plugin it was that failed to load.
5750
5751 2007-05-13  David Schleef  <ds@schleef.org>
5752
5753         * docs/Makefile.am: the gtk-doc makefile snippet correctly
5754           handles the case when ENABLE_GTK_DOC is false, and installs
5755           the prebuilt documentation.  So gtk-doc subdirs are 
5756           unconditionally enabled.  Fixes: #349099.
5757
5758 2007-05-13  David Schleef  <ds@schleef.org>
5759
5760         * gst/gstutils.h: Reword some documentation.
5761
5762 2007-05-12  David Schleef  <ds@schleef.org>
5763
5764         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
5765           do anything with the passed "module" parameter, so remove it.
5766           Allows removal of additional vestigal code.
5767
5768 2007-05-12  David Schleef  <ds@schleef.org>
5769
5770         * gst/gstplugin.c:
5771           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
5772           Switch to using g_stat() because it's more portable.
5773
5774 2007-05-12  David Schleef  <ds@schleef.org>
5775
5776         * gst/gst.c:
5777           Add GST_DISABLE_OPTION_PARSING, in order to disable option
5778           parsing for embedded systems.
5779         * gst/gstelementfactory.c:
5780           Allow gst_element_register() to be called with plugin==NULL.
5781           Did nobody notice that static elements were broken?
5782
5783 2007-05-12  Wim Taymans  <wim@fluendo.com>
5784
5785         * tools/gst-launch.c: (event_loop):
5786         Give more interesting info when buffering starts and stops.
5787         Fix case where buffering starts but we fail to update the buffering flag
5788         because the target state is not PLAYING.
5789
5790 2007-05-12  Wim Taymans  <wim@fluendo.com>
5791
5792         * plugins/elements/gstqueue.c: (gst_queue_init),
5793         (gst_queue_finalize), (update_time_level), (apply_segment),
5794         (apply_buffer), (gst_queue_locked_flush),
5795         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
5796         (gst_queue_handle_sink_event), (gst_queue_chain),
5797         (gst_queue_push_one), (gst_queue_loop):
5798         * plugins/elements/gstqueue.h:
5799         Refactor an cleanup queue a bit.
5800         Do better time level calculations that also work when the srcpad is not
5801         yet running.
5802         Remove some unneeded debug lines.
5803
5804         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
5805         Added testcase for time level measurement.
5806         Try to make some stuff more racefree.
5807
5808 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
5809
5810         * gst/gsturi.c: (gst_element_make_from_uri):
5811           Don't leak plugin feature.
5812
5813         * tests/check/Makefile.am:
5814         * tests/check/gst/.cvsignore:
5815         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
5816           Add brain-dead unit test.
5817
5818 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
5819
5820         Patch by: Jeroen Wouters <woutersj at gmail com>
5821
5822         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
5823           Treat protocol strings in a case-insensitive way (#437563).
5824
5825 2007-05-11  Michael Smith <msmith@fluendo.com>
5826
5827         * gst/gstplugin.c: (gst_plugin_load_file):
5828         * gst/gstregistry.c: (gst_registry_scan_path_level):
5829           Don't print a g_warning for any failure to load a shared object.
5830           Instead, push this down into gstplugin.c, and warn _only_ if we
5831           failed to open the module (i.e. failure to link).
5832           Avoids warnings on normal, working, non-plugin .so files.
5833
5834 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * gst/gstplugin.c (gst_plugin_load_file):
5837         * gst/gstregistry.c (GST_CAT_DEFAULT,
5838           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
5839           Print a g_warning if there was an error when loading a plugins during
5840           registry scan. The shuld help beginners starting with gst-plugin
5841           template.
5842
5843 2007-05-10  Wim Taymans  <wim@fluendo.com>
5844
5845         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5846         (update_time_level), (gst_queue_locked_flush),
5847         (gst_queue_handle_sink_event), (gst_queue_chain),
5848         (gst_queue_push_one), (gst_queue_loop):
5849         * plugins/elements/gstqueue.h:
5850         Be smarter when calculating the current amount of data in the queue by
5851         measuring the difference between start and end timestamps (in running
5852         time) inside the queue. Fixes #432876.
5853         API: GstQueue::pushing to notify elements that we are pushing data again
5854         since the running signal is rather broken for this purpose.
5855
5856 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
5857
5858         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
5859           gst_queue_base_init, gst_queue_init):
5860           use GST_BOILERPLATE
5861
5862 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
5863
5864         * win32/common/libgstreamer.def:
5865         Add new exported functions.
5866         * win32/vs6/grammar.dsp:
5867         Use grammar pre-generated files.
5868
5869 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5870
5871         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
5872
5873         * gst/Makefile.am:
5874         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
5875         * gst/gstparse.h:
5876         * gst/gstutils.c: (gst_parse_bin_from_description):
5877         * gst/gstutils.h:
5878           Maintain API and ABI when --disable-parse is used. Now that
5879           we have an appropriate error code, we can just return NULL and the
5880           appropriate error when gst_parse_launch() is used despite it having
5881           been disabled (#342564).
5882
5883         * tests/check/Makefile.am:
5884         * tests/check/pipelines/.cvsignore:
5885         * tests/check/pipelines/parse-disabled.c:
5886           Make sure these functions exist and return NULL plus a GError when
5887           --disable-parse is used.
5888
5889 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5890
5891         * tests/benchmarks/complexity.c: (main):
5892         * tests/benchmarks/mass-elements.c: (main):
5893           Set a good example and don't leak messages.
5894
5895 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
5896
5897         * docs/gst/Makefile.am:
5898         * docs/libs/Makefile.am:
5899           Correct fixxrefs options.
5900
5901         * docs/plugins/Makefile.am:
5902         * docs/plugins/gstreamer-plugins-docs.sgml:
5903         * docs/plugins/gstreamer-plugins-sections.txt:
5904         * plugins/elements/Makefile.am:
5905         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
5906         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
5907           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
5908           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
5909           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
5910           _GstCapsFilterClass, trans_class):
5911         * plugins/elements/gstelements.c (name, rank, type, _elements):
5912         * plugins/elements/gstidentity.c
5913           (gst_identity_check_imperfect_timestamp,
5914           gst_identity_check_imperfect_offset):
5915           Document capsfilter and add doc-blurb to identity.
5916
5917 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
5918
5919         * libs/gst/controller/gstcontroller.c:
5920         (gst_controlled_property_set_interpolation_mode):
5921         * libs/gst/controller/gstinterpolation.c:
5922           Don't crash if someone tries to set an interpolation mode that
5923           is invalid or that isn't supported yet. Fixes #422295.
5924
5925         * tests/check/libs/controller.c: (GST_START_TEST),
5926         (gst_controller_suite):
5927           Add a test case for the above.
5928
5929 2007-05-03  Edward Hervey  <edward@fluendo.com>
5930
5931         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5932         Properly set the last_stop position on GstSegment. This will only happen
5933         if there is a buffer to push out.
5934
5935 2007-05-03  Wim Taymans  <wim@fluendo.com>
5936
5937         * libs/gst/base/gstbasetransform.c:
5938         (gst_base_transform_buffer_alloc):
5939         always_in_place does not mean that the sink and source caps are the
5940         same! Make sure we don't blindly proxy the buffer_alloc in this case.
5941
5942 2007-05-03  Wim Taymans  <wim@fluendo.com>
5943
5944         * docs/libs/gstreamer-libs-sections.txt:
5945         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5946         (gst_base_src_default_query), (gst_base_src_get_range):
5947         * libs/gst/base/gstbasesrc.h:
5948         API: gst_base_src_query_latency(). Added method so that subclasses can
5949         easily get the latency values of the base source class.
5950
5951 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
5952
5953         * tools/gst-inspect.c (print_implementation_info):
5954         Remove 0.8 cruft.
5955
5956 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
5957
5958         * tools/Makefile.am:
5959         * tools/gst-launch.1.in:
5960           Don't create a customised man page based on the host architecture,
5961           describe the default registry path generically. That way the man
5962           page is the same for all architectures and packagers have one
5963           multilib issue less to deal with. Fixes #434926.
5964
5965 2007-05-02  Wim Taymans  <wim@fluendo.com>
5966
5967         * gst/gstpad.c:
5968         Fix documentation as spotted by rg on IRC. 
5969
5970 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
5971
5972         * gst/gstutils.c:
5973           Improve docs for gst_element_{link,unlink}.
5974
5975 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
5976
5977         * docs/design/part-events.txt:
5978         * docs/design/part-overview.txt:
5979         * gst/gstevent.c:
5980         * gst/gsturi.c:
5981         * gst/gsturi.h:
5982         * libs/gst/base/gstbasesink.c:
5983           Typo fixes; minor docs addition.
5984
5985 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5986
5987         * docs/gst/gstreamer-sections.txt:
5988         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5989         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5990         * gst/gsturi.h:
5991         API: Add gst_uri_protocol_is_supported(), which checks if a sink
5992         or src that supports a given URI protocol exists.
5993
5994 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5995
5996         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5997         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5998         Set the location to NULL if "file://" is set as URI. Otherwise
5999         some random previous URI would still be set if "file://" is
6000         set on an already used filesink/filesrc.
6001
6002 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6003
6004         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6005         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6006         Special case the "file://" URI as as this is used by some
6007         applications to test with gst_element_make_from_uri if there's
6008         an element that supports the URI protocol.
6009         Also move the g_path_is_absolute() check for the location part
6010         of the URI to also check this for "file://localhost/bla" URIs.
6011
6012 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
6013
6014         * docs/gst/gstreamer-sections.txt:
6015         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
6016         * gst/gstbuffer.h:
6017         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6018         (gst_buffer_suite):
6019           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
6020
6021 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
6022
6023         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6024         (gst_registry_binary_load_pad_template),
6025         (gst_registry_binary_load_plugin),
6026         (gst_registry_binary_read_cache):
6027         * gst/gstregistrybinary.h:
6028           Implement no-mmap alternative for registry reading. Do code cleanups.
6029           Add more comments about avoiding strdups for all text data. Comments
6030           welcome.
6031
6032 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6033
6034         * gst/gstregistrybinary.h (GstBinaryPluginElement,
6035           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
6036           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
6037           Comment structs and reformat to fix the build (that stuff should go
6038           into a priv. header).
6039
6040 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
6043         (gst_registry_binary_load_feature):
6044         * gst/gstregistrybinary.h:
6045           Refactor so that we can implement multiple features. Add support for
6046           TypeFindFactory features.
6047
6048 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
6049
6050         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
6051
6052         * configure.ac:
6053           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
6054
6055 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * gst/gstbin.c: (gst_bin_element_set_state),
6058         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
6059         (bin_handle_async_done), (gst_bin_handle_message_func):
6060           Fix build with --gst-disable-gst-debug
6061
6062 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
6063
6064         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
6065           Make sure streaming has finished before calling the ::stop() vfunc,
6066           since that vfunc might clear state which is being used in the
6067           streaming thread. This fixes a race that caused crashes in
6068           audioresample when shutting down a pipeline (#420106).
6069
6070 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6071
6072         * docs/gst/gstreamer-sections.txt:
6073           That was one byte missing.
6074
6075 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6076
6077         * configure.ac:
6078         * docs/gst/gstreamer-sections.txt:
6079         * gst/Makefile.am:
6080         * gst/gstconfig.h.in:
6081         * gst/gstobject.c: (gst_object_class_init),
6082         (gst_signal_object_class_init):
6083         * gst/gstobject.h:
6084           2nd attempt to have a xml-less build as a joined effort of #413123
6085           and #421480.
6086
6087 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6088
6089         * docs/design/draft-tagreading.txt:
6090           Added open issues/thoughts to draft.
6091
6092 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6093
6094         * gst/parse/grammar.tab.pre.c:
6095         * gst/parse/grammar.tab.pre.h:
6096         * gst/parse/lex._gst_parse_yy.pre.c:
6097         Update the prebuild parser sources.
6098
6099 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6100
6101         * gst/parse/Makefile.am:
6102         And now fix the building of the flex sources. Now everything should
6103         work as expected.
6104
6105 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6106
6107         * gst/parse/Makefile.am:
6108         Now hopefully fix the build failures by setting proper rule
6109         dependencies and moving instead of copying.
6110
6111 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * tests/benchmarks/complexity.gnuplot:
6114         * tests/benchmarks/complexity.scm:
6115         * tests/benchmarks/mass-elements.gnuplot:
6116         * tests/benchmarks/mass-elements.scm:
6117           Total licensification.
6118
6119 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6120
6121         * gst/parse/Makefile.am:
6122           Fix the build by correcting the rule that gave wrong files to flex.
6123
6124 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6125
6126         * tests/benchmarks/complexity.c:
6127         * tests/benchmarks/mass-elements.c:
6128           Change licence to LGPL as granted by Benjamin and Andy.
6129
6130 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6131
6132         * gst/parse/Makefile.am:
6133         Add correct grammar.tab.h dependency if compiling without new enough
6134         flex. Fixes #431150.
6135
6136 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6137
6138         * gst/parse/Makefile.am:
6139         Fix typo and use outdated sources if the flex/bison sources are newer
6140         than the pregenerated ones but flex is too old. Print a warning in
6141         that case. This should fix the build on the build bot.
6142
6143 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6144
6145         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
6146         * gst/parse/Makefile.am:
6147         * gst/parse/grammar.y:
6148         * gst/parse/parse.l:
6149         Make the parser reentrant and recursively callable. This requires flex
6150         >= 2.5.31, for older versions pregenerated sources are used as we
6151         can't bump the build dependency. Finally fixes #349180.
6152
6153         * gst/gstparse.c: (gst_parse_launch):
6154         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
6155         now anyway.
6156
6157         * docs/gst/Makefile.am:
6158         * docs/gst/Makefile.am:
6159         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
6160         (__gst_parse_strfree), (__gst_parse_link_new),
6161         (__gst_parse_link_free), (__gst_parse_chain_new),
6162         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
6163         (gst_parse_element_set), (gst_parse_free_link),
6164         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
6165         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
6166         (_gst_parse_launch):
6167         * gst/parse/grammar.tab.pre.h:
6168         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
6169         (yy_get_previous_state), (yy_try_NUL_trans), (input),
6170         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
6171         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
6172         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
6173         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
6174         (_gst_parse_yypop_buffer_state),
6175         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
6176         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
6177         (yy_fatal_error), (_gst_parse_yyget_extra),
6178         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
6179         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
6180         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
6181         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
6182         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
6183         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
6184         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
6185         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
6186         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
6187         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
6188         (_gst_parse_yyfree):
6189         If the installed flex version is too old use pre-generated parser
6190         sources. These pre-generated parser sources are always updated when
6191         the actual flex/bison sources change but require everybody who wants
6192         to change something in the parser to have flex >= 2.5.31 installed.
6193
6194 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
6195
6196         * common/m4/gst-gettext.m4:
6197         * gst/gst-i18n-lib.h:
6198           Make --disable-nls to work
6199
6200 2007-04-17  Wim Taymans  <wim@fluendo.com>
6201
6202         * gst/gstconfig.h.in:
6203         Revert previous change that broke the build.
6204
6205 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
6206
6207         * configure.ac:
6208         * gst/Makefile.am:
6209         * gst/gstconfig.h.in:
6210           Drop libxml2 dependency when building with 
6211           --enable-binary-registry --disable-loadsave
6212
6213 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
6214
6215         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6216         (gst_registry_binary_read_cache):
6217         * gst/gstregistrybinary.h:
6218           Remove unnecessary <sys/mman.h> include which broke the win32 build
6219           with MingW; move includes from header file to .c file, even if the
6220           header file isn't installed; use g_strerror() where UTF-8 strings
6221           are expected, such as in GST_DEBUG messages.
6222
6223 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6224
6225         * docs/libs/gstreamer-libs-sections.txt:
6226         Remove bogus addition for API I didn't end up keeping.
6227
6228         * libs/gst/base/gstbasesrc.h:
6229         Mention Since: 0.10.13 in the documentation.
6230
6231         Add the API keyword to the previous ChangeLog entry.
6232
6233 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6234
6235         * docs/libs/gstreamer-libs-sections.txt:
6236         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6237         (gst_base_src_default_prepare_seek_segment),
6238         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
6239         * libs/gst/base/gstbasesrc.h:
6240         Allow basesrc derived classes to execute seeks in other formats
6241         by providing a prepare_seek_segment vmethod. Sub-classes can choose
6242         to prepare the GstSegment in any format that their perform_seek method
6243         will be able to understand. The default implementation provides the
6244         old behaviour of attempting to convert the seek offsets to the 
6245         configured native format.
6246
6247         API: basesrc::prepare_seek_segment vmethod.
6248
6249 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6250
6251         * gst/gstelement.c: (gst_element_get_state_func):
6252         Don't output the same debug statement twice.
6253
6254         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
6255         (gst_adapter_peek), (gst_adapter_take_buffer):
6256         Optimise the case where we have buffers at the head of the queue that
6257         can be joined quickly (because they're contiguous sub-buffers) by
6258         merging them together rather than copying data out into new memory.
6259
6260         * gst/parse/grammar.y:
6261         * tests/check/pipelines/parse-launch.c:
6262         Fix a leak in an error path for parse_launch, and add a check 
6263         for it to the testsuite.
6264
6265 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6266
6267         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6268           Don't deadlock when releasing a pad - gst_pad_set_active may try
6269           and take the multiqueue lock too.
6270
6271 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6272
6273         * gst/gsterror.c: (_gst_core_errors_init):
6274         * gst/gsterror.h:
6275           API: add GST_CORE_ERROR_DISABLED (#392804).
6276
6277 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6278
6279         * docs/faq/gst-uninstalled:
6280           don't get empty paths on the PATH variables
6281         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
6282           Don't format for the uncommon terminal width of 84 characters.
6283
6284 2007-04-06  Wim Taymans  <wim@fluendo.com>
6285
6286         * gst/gstpipeline.c: (reset_stream_time),
6287         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
6288         Only try to select a different pipeline clock when we went back to
6289         PAUSED and not when we merely got flushed.
6290
6291 2007-04-05  Michael Smith  <msmith@fluendo.com>
6292
6293         * tools/gst-launch.1.in:
6294           fractions are better supported in gstreamer than ractions, so
6295           suggest using those.
6296
6297 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6298
6299         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
6300
6301         * po/LINGUAS:
6302         * po/da.po:
6303           Added Danish translation.
6304
6305 2007-04-05  Wim Taymans  <wim@fluendo.com>
6306
6307         * libs/gst/base/gstbasesink.c:
6308         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
6309         Fix leak caused when refusing newsegment after EOS.
6310
6311         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6312         (gst_fake_sink_init), (gst_fake_sink_set_property),
6313         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
6314         (gst_fake_sink_render), (gst_fake_sink_change_state):
6315         * plugins/elements/gstfakesink.h:
6316         Add num-buffers property to make the element generate EOS after a
6317         configurable amount of buffers.
6318         API: fakesink::num-buffers property.
6319
6320         * tests/check/elements/fakesink.c: (GST_START_TEST),
6321         (fakesink_suite):
6322         Fix GstBus leak in test.
6323         Test for fakesink num-buffers.
6324
6325 2007-04-05  Wim Taymans  <wim@fluendo.com>
6326
6327         * libs/gst/base/gstbasesink.c:
6328         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6329         (gst_base_sink_change_state):
6330         Don't accept anything after an EOS, return UNEXPECTED instead.
6331
6332         * tests/check/elements/fakesink.c: (GST_START_TEST),
6333         (fakesink_suite):
6334         Unit test for new EOS behaviour.
6335
6336 2007-04-05  Wim Taymans  <wim@fluendo.com>
6337
6338         * gst/gstelement.c: (gst_element_get_request_pad):
6339         Make padtemplates also work when they don't contain %s or %d.
6340
6341 2007-04-05  Wim Taymans  <wim@fluendo.com>
6342
6343         * docs/gst/gstreamer-sections.txt:
6344         * gst/gstclock.c: (gst_clock_adjust_unlocked),
6345         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
6346         * gst/gstclock.h:
6347         Improve _adjust_unlocked() so that it overflows less.
6348         Add gst_clock_unadjust_unlocked to convert from external time to
6349         internal time based on calibration.
6350         Add some more debug.
6351         API: GstClock::gst_clock_unadjust_unlocked()
6352
6353 2007-04-03  Wim Taymans  <wim@fluendo.com>
6354
6355         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6356
6357         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6358         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
6359         when releasing sink pad. Fixes #425400.
6360
6361 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
6362
6363         * docs/random/ensonic/dynlink.txt:
6364           More work on proposal for new core api.
6365
6366         * docs/libs/gstreamer-libs-sections.txt:
6367         * libs/gst/base/gstbasetransform.h:
6368           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
6369           
6370         * libs/gst/controller/gstcontroller.c:
6371         (on_object_controlled_property_changed),
6372         (gst_controller_sync_values),
6373         (gst_controller_set_interpolation_mode):
6374         * libs/gst/controller/gstcontroller.h:
6375           Less verbose logging add docs for unimplemented parts and correctly
6376           return when using unavailable parts.
6377
6378 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
6379
6380         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
6381         Move all the debug to the CLOCK category, and associate it with
6382         the clock object.
6383
6384 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
6385
6386         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
6387         Make take_buffer a bit quicker by removing redundant checks
6388         caused by calling gst_adapter_take.
6389
6390 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
6393           Don't leak GCond.
6394
6395         * tests/check/Makefile.am:
6396         * tests/check/elements/.cvsignore:
6397         * tests/check/elements/multiqueue.c: (setup_multiqueue),
6398         (GST_START_TEST), (multiqueue_suite):
6399           Add some dead simple unit tests for the 'multiqueue' element
6400           (some bits don't work yet and are disabled for now).
6401
6402 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
6403
6404         * gst/gstelement.c: (gst_element_get_request_pad),
6405         (gst_element_class_get_request_pad_template):
6406           Make gst_element_get_request_pad() create request pads only for
6407           request pad templates and not for, say, sometimes pad templates.
6408
6409 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
6410
6411         * docs/design/draft-klass.txt:
6412           Add example that needs more thinking.
6413         
6414         * docs/design/draft-missing-plugins.txt:
6415           More thoughts about wrapper plugins.
6416         
6417         * docs/random/ensonic/embedded.txt:
6418         * docs/random/ensonic/profiling.txt:
6419           More design work.
6420
6421 2007-03-25  Wim Taymans  <wim@fluendo.com>
6422
6423         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
6424         (gst_base_src_loop):
6425         Only push the segment events in the PLAYING state for live sources.
6426
6427 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
6428
6429         * gst/gstpipeline.c: (gst_pipeline_change_state):
6430         Modify the clock distribution path in PAUSED->PLAYING so that we 
6431         never attempt to choose a new clock unless we're actually leaving
6432         the PAUSED state for the first time. This prevents choosing a
6433         different clock when the state_change gets called for a 2nd time due
6434         to some element doing an async state change.
6435
6436 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
6437
6438         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
6439         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
6440         (gst_pad_chain_unchecked), (gst_pad_push):
6441         Revert last commit. This needs some more thoughts.
6442
6443 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
6444
6445         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
6446         (gst_pad_chain_unchecked), (gst_pad_push):
6447         Check in set_caps if the caps are compatible with the pad and remove
6448         two functions that are redundant now. Fixes #421543.
6449
6450 2007-03-22  Wim Taymans  <wim@fluendo.com>
6451
6452         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
6453         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
6454         Unref some more to make valgrind happy.
6455
6456 2007-03-22  Wim Taymans  <wim@fluendo.com>
6457
6458         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
6459         (gst_system_clock_id_wait_jitter),
6460         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
6461         Fix anoying regression that survived a few releases. When adding an
6462         async entry while blocking on a sync entry, the sync entry will unblock
6463         but still be busy, so it should continue to wait instead of returning
6464         _BUSY to the app.
6465         Add some comments here and there.
6466
6467         * tests/check/gst/gstsystemclock.c: (mixed_thread),
6468         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
6469         Add testcase for this.
6470
6471 2007-03-22  Wim Taymans  <wim@fluendo.com>
6472
6473         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6474         Handle errors from the clock sync better, only UNSCHEDULED indicates a
6475         WRONG_STATE and can silently pause the task. All other cases should
6476         error out.
6477
6478 2007-03-22  Wim Taymans  <wim@fluendo.com>
6479
6480         Patch by: Ville Syrjala <syrjala at sci dot fi>
6481
6482         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
6483         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
6484         Improve debugging.
6485
6486 2007-03-21  Michael Smith  <msmith@fluendo.com>
6487
6488         * docs/pwg/advanced-types.xml:
6489           Fix some errors in the typefinding docs pointed out on irc.
6490
6491 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
6492
6493         * libs/gst/base/gstbasesrc.c:
6494         Clarify FIXME comment in the face of having added unlock_stop()
6495
6496 2007-03-21  Wim Taymans  <wim@fluendo.com>
6497
6498         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
6499         Prepare for release where we warn against possible app breakage in the
6500         case of live pipelines along with an env var to enable/disable live
6501         preroll mode (GST_COMPAT=[no-]live-preroll).
6502
6503 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6504
6505         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
6506         So we should use correct constants for checking for None offset.
6507
6508 2007-03-20  Wim Taymans  <wim@fluendo.com>
6509
6510         * docs/design/part-block.txt:
6511         Mention the fact that the newly switched element should be set to at
6512         least PAUSED.
6513
6514 2007-03-20  Wim Taymans  <wim@fluendo.com>
6515
6516         * gst/gst.c:
6517         Fix compilation with registry disabled as spotted by Saur.
6518
6519 2007-03-20  Wim Taymans  <wim@fluendo.com>
6520
6521         Patch by: Olivier Crete <tester at tester dot ca>
6522
6523         * gst/gstelement.c: (gst_element_sync_state_with_parent):
6524         Look at the pending state too when syncing the element state to the
6525         parent. Fixes #420133.
6526
6527 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
6528
6529         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6530         (gst_base_sink_change_state):
6531         * libs/gst/base/gstbasesink.h:
6532         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6533         (gst_base_src_default_event), (gst_base_src_unlock_stop),
6534         (gst_base_src_deactivate):
6535         * libs/gst/base/gstbasesrc.h:
6536         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
6537         for sub-classes to correctly clear any state they set trying to
6538         unlock, such as clearing out unlock commands from a command fd.
6539         API: basesrc::unlock_stop
6540         API: basesink::unlock_stop
6541
6542         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
6543         (gst_fd_sink_render), (gst_fd_sink_unlock),
6544         (gst_fd_sink_unlock_stop):
6545         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
6546         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
6547         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
6548
6549         Implement unlock_stop in fdsrc and fdsink.
6550         Implement seeking in fdsrc when a seekable fd is passed, as in
6551         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
6552
6553 2007-03-19  Wim Taymans  <wim@fluendo.com>
6554
6555         Patch by: Evan Nemerson <evan at coeus dash group dot com>
6556
6557         * gst/gstelement.c: (gst_element_class_init):
6558         Fix pad-added and pad-removed signal signatures so that the pad type is
6559         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
6560
6561 2007-03-19  Wim Taymans  <wim@fluendo.com>
6562
6563         * docs/gst/gstreamer-sections.txt:
6564         Add new element field and method.
6565
6566         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6567         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
6568         (gst_bin_recalc_state), (gst_bin_get_state_func),
6569         (gst_bin_element_set_state), (gst_bin_change_state_func),
6570         (gst_bin_continue_func), (bin_bus_handler),
6571         (bin_push_state_continue), (bin_handle_async_start),
6572         (bin_handle_async_done), (gst_bin_handle_message_func):
6573         Make async state changes a bit smarter by using new ASYNC_START and
6574         ASYNC_DONE messages. This reduces the number of times we run the state
6575         recalculation thread.
6576         Don't change state of element with a pending ASYNC_START message.
6577         Deprecate STATE_DIRTY messages.
6578         
6579         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
6580         (gst_element_get_state_func), (gst_element_continue_state),
6581         (gst_element_lost_state), (gst_element_set_state_func),
6582         (gst_element_change_state):
6583         * gst/gstelement.h:
6584         Keep the state that was last set by the app in a new element field.
6585         Don't allow state changes when handling an element event.
6586         Post ASYNC_START and ASYNC_DONE messages.
6587         Change lost_state so that we go to PAUSED and wait for the parent to set
6588         us to PLAYING again (so latency calculation can be performed)
6589         Export gst_element_change_state() method so that subclasses can use it.
6590         API: gst_element_change_state()
6591         API: GST_STATE_TARGET
6592
6593         * gst/gstpipeline.c: (gst_pipeline_class_init),
6594         (reset_stream_time), (gst_pipeline_change_state),
6595         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
6596         Using the new ASYNC_START message we can reset the base_time when
6597         needed. This can then be used to implement base_time redistribution in
6598         flushing seeks so that we can remove the explicit seek handling.
6599         Perform latency query and configuration when going to PLAYING.
6600
6601         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6602         (gst_base_sink_query), (gst_base_sink_change_state):
6603         Post new ASYNC_START/ASYNC_DONE messages.
6604
6605         * tests/check/generic/sinks.c: (GST_START_TEST):
6606         Fix test because the bin will not set the async element to PLAYING right
6607         away.
6608
6609         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
6610         Make the message check a little stronger.
6611         Handle ASYNC messages.
6612
6613         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
6614         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
6615         Expect ASYNC_DONE messages.
6616
6617 2007-03-19  Wim Taymans  <wim@fluendo.com>
6618
6619         * docs/gst/gstreamer-sections.txt:
6620         * gst/gstmessage.c: (gst_message_new_async_start),
6621         (gst_message_new_async_done), (gst_message_parse_info),
6622         (gst_message_parse_async_start):
6623         * gst/gstmessage.h:
6624         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
6625         support.
6626
6627 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
6628
6629         * tools/gst-inspect.c:
6630         (print_plugin_automatic_install_info_codecs):
6631           Now that we don't check for the 'Codec' keyword any longer in the
6632           klass, we shouldn't spew a warning if the klass isn't a decoder or
6633           encoder (since it might be a Source/Network, for example).
6634
6635 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
6636
6637         * tools/gst-inspect.c:
6638         (print_plugin_automatic_install_info_codecs):
6639           Don't require decoder/demuxer/depayloader elements or
6640           encoder/muxer/paylader elements to have 'Codec' as part of their
6641           factory class string when introspecting a plugin's capabilities.
6642           draft-klass.txt mentions that it might be removed in future, and
6643           flump3dec doesn't have it as part of its class string, so chances
6644           are others might also not have it.
6645
6646 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * po/af.po:
6649         * po/az.po:
6650         * po/bg.po:
6651         * po/ca.po:
6652         * po/cs.po:
6653         * po/de.po:
6654         * po/en_GB.po:
6655         * po/fr.po:
6656         * po/it.po:
6657         * po/nb.po:
6658         * po/nl.po:
6659         * po/ru.po:
6660         * po/sq.po:
6661         * po/sr.po:
6662         * po/sv.po:
6663         * po/tr.po:
6664         * po/uk.po:
6665         * po/vi.po:
6666         * po/zh_CN.po:
6667         * po/zh_TW.po:
6668           Update translations from translation project
6669
6670 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
6673         (gst_child_proxy_set_property):
6674           Invert precondition check to be alike the ones in the mimiced gobject
6675           api.
6676
6677 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
6678
6679         * docs/design/draft-tagreading.txt:
6680         * docs/random/ensonic/audiobaseclasses.txt:
6681           Do some Architect work.
6682
6683         * gst/gstobject.c: (gst_object_set_name):
6684           Add a WARNING.
6685
6686         * gst/gstpad.c:
6687           Add docs that point from gst_pad_get_range to gst_pad_pull_range
6688
6689 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
6690
6691         * gst/gstsystemclock.c: (gst_system_clock_init),
6692         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
6693         Defer starting the async system clock thread until the first async
6694         wait is scheduled. Fixes #414986.
6695
6696 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
6699         (gst_single_queue_free):
6700           Fix small leak (free GstSingleQueue structure too, not only contents).
6701
6702 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
6703
6704         * gst/gstbin.c:(gst_bin_add):
6705         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
6706         * win32/common/libgstbase.def:
6707         * win32/common/libgstreamer.def:
6708         Add new exported functions.
6709
6710 2007-03-09  Wim Taymans  <wim@fluendo.com>
6711
6712         * docs/plugins/gstreamer-plugins-sections.txt:
6713         Fix GstTee docs.
6714
6715 2007-03-09  Wim Taymans  <wim@fluendo.com>
6716
6717         * docs/gst/gstreamer-sections.txt:
6718         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
6719         * gst/gstbuffer.h:
6720         Add metadata copy functions. Fixes #393099.
6721         API: gst_buffer_copy_metadata()
6722
6723         * gst/gstutils.c: (gst_buffer_stamp):
6724         * libs/gst/base/gstbasetransform.c:
6725         (gst_base_transform_prepare_output_buffer):
6726         Use new metadata copy functions.
6727
6728 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6729
6730         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6731         (gst_identity_init), (gst_identity_check_perfect),
6732         (gst_identity_check_imperfect_timestamp),
6733         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
6734         (gst_identity_set_property), (gst_identity_get_property):
6735         * plugins/elements/gstidentity.h:
6736         Separate out check-imperfect-timestamp and check-imperfect-offset.
6737         Put back check-perfect as it was to keep compatibility.
6738
6739 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
6740
6741         * gst/gstelement.c: (gst_element_dispose):
6742         There's no need to warn if VOID_PENDING is not NONE here, as
6743         long as the state is NULL it's ok, and that's checked immediately
6744         above.
6745
6746 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6747
6748         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6749         Fix check for perfect stream to ignore buffers with -1 
6750         offsets/offset ends when checking data contiguity.
6751
6752 2007-03-08  Wim Taymans  <wim@fluendo.com>
6753
6754         * tools/gst-launch.c: (event_loop):
6755         Print INFO messages.
6756
6757 2007-03-08  Wim Taymans  <wim@fluendo.com>
6758
6759         * libs/gst/base/gstbasetransform.c:
6760         (gst_base_transform_sink_eventfunc),
6761         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6762         (gst_base_transform_activate):
6763         * libs/gst/base/gstbasetransform.h:
6764         Add support for dropping buffers with custom GstFlowReturn.
6765         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
6766         buffers or dropped buffers.
6767
6768         * docs/libs/gstreamer-libs-sections.txt:
6769         docs for new custom return code.
6770
6771         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6772         Use drop support in base class to implement drop-probability.
6773
6774 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
6775
6776         * gst/gst.c: (load_plugin_func):
6777         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
6778         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6779         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6780           Remove newlines at end of debug log strings.
6781
6782 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6783
6784         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6785         Only post bus message at max, once per buffer received.
6786
6787 2007-03-07  Wim Taymans  <wim@fluendo.com>
6788
6789         * docs/design/Makefile.am:
6790         * docs/design/part-synchronisation.txt:
6791         Add doc about synchronisation
6792
6793         * docs/design/draft-latency.txt:
6794         * docs/design/part-TODO.txt:
6795         * docs/design/part-clocks.txt:
6796         * docs/design/part-events.txt:
6797         * docs/design/part-gstbus.txt:
6798         * docs/design/part-gstpipeline.txt:
6799         * docs/design/part-live-source.txt:
6800         * docs/design/part-messages.txt:
6801         * docs/design/part-overview.txt:
6802         * docs/design/part-streams.txt:
6803         * docs/design/part-trickmodes.txt:
6804         Documentation updates.
6805
6806 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
6807
6808         * gstreamer.doap:
6809         Update the doap file.
6810
6811 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6812
6813         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6814         Rename non-perfect to imperfect for Mike and for the sanctity of the
6815         language.
6816         Also make sure bus message gets emitted for data-incontiguities.
6817
6818 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6819
6820         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
6821         (gst_identity_start):
6822         * plugins/elements/gstidentity.h:
6823         Emit bus message if check-perfect is true and we encounter a
6824         non-perfect stream between 2 consecutive buffers.
6825         Fixes #415394.
6826
6827 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
6828
6829         * configure.ac:
6830         Back to CVS
6831
6832 === release 0.10.12 ===
6833
6834 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
6835
6836         * configure.ac:
6837           releasing 0.10.12, "Inevitable Demise"
6838
6839 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
6840
6841         * configure.ac:
6842          Version 0.10.11.2 (0.10.12 pre-release)
6843          Bump libtool versioning.
6844
6845 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
6846
6847         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6848           Log flow-names and not numbers.
6849
6850 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6851
6852         * configure.ac:
6853           Convert to new AG_GST style.
6854
6855 2007-02-28  Wim Taymans  <wim@fluendo.com>
6856
6857         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
6858         Don't unref query twice.
6859
6860 2007-02-28  Wim Taymans  <wim@fluendo.com>
6861
6862         * gst/gstvalue.c: (gst_value_transform_object_string),
6863         (_gst_value_initialize):
6864         Implement GstObject -> string transform so we print object names
6865         when serializing GValues containing GstObjects.
6866
6867 2007-02-28  Wim Taymans  <wim@fluendo.com>
6868
6869         * docs/gst/gstreamer-sections.txt:
6870         Add new stuff to docs.
6871
6872 2007-02-28  Wim Taymans  <wim@fluendo.com>
6873
6874         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6875         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
6876         (gst_base_sink_change_state):
6877         Improve latency query code.
6878         Don't leak latency events.
6879
6880         * tests/check/gst/gstbin.c: (GST_START_TEST):
6881         Improve debugging.
6882
6883 2007-02-28  Wim Taymans  <wim@fluendo.com>
6884
6885         * gst/gstelement.c: (gst_element_message_full),
6886         (gst_element_get_state_func):
6887         * gst/gstelement.h:
6888         Improve docs a little. Added Since: for new macro.
6889
6890         * gst/gstobject.c: (gst_object_sink):
6891         * gst/gstpipeline.c: (gst_pipeline_change_state),
6892         (gst_pipeline_set_new_stream_time):
6893         * gst/gstpipeline.h:
6894         Improve debugging and docs.
6895
6896         * gst/gstutils.c: (gst_element_state_change_return_get_name):
6897         Improve debugging.
6898
6899 2007-02-28  Wim Taymans  <wim@fluendo.com>
6900
6901         * gst/gstelement.c: (gst_element_message_full),
6902         (gst_element_set_locked_state), (gst_element_get_state_func),
6903         (gst_element_change_state):
6904         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
6905         Documentation updates.
6906         Small code cleanups.
6907
6908         * gst/gstmessage.c: (gst_message_new_info),
6909         (gst_message_parse_info):
6910         * gst/gstmessage.h:
6911         API: gst_message_new_info()
6912         API: gst_message_parse_info()
6913         Add INFO message create and parse code.
6914
6915 2007-02-28  Wim Taymans  <wim@fluendo.com>
6916
6917         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
6918         (bin_query_latency_done):
6919         Also report the live parameter of a latency query.
6920
6921 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6922
6923         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
6924           Copy the current generic/states example from -base and adapt so
6925           we can use the exact same code everywhere.
6926           Check a STATES_IGNORE_ELEMENTS env var which can be used
6927           to ignore certain element factories for this test, which is
6928           what is being done in -base
6929         * tests/check/Makefile.am:
6930           Mention this environment variable.
6931
6932 2007-02-27  Wim Taymans  <wim@fluendo.com>
6933
6934         * docs/gst/gstreamer-sections.txt:
6935         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6936         (gst_bus_timed_pop), (gst_bus_pop):
6937         * gst/gstbus.h:
6938         API: gst_bus_timed_pop()
6939         Implement gst_bus_timed_pop() to do a blocking timed wait for a
6940         message to arrive on the bus.
6941
6942         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
6943         (gst_bus_suite):
6944         Two unit tests for new _timed_pop() function.
6945
6946 2007-02-23  Wim Taymans  <wim@fluendo.com>
6947
6948         * gst/gstpipeline.c: (gst_pipeline_change_state),
6949         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
6950         Don't ref a NULL clock in _provide_clock_func().
6951         Don't allow an INVALID delay.
6952         Don't try to calculate base_time with an invalid start_time.
6953         Also distribute and notify a NULL clock when it was selected.
6954
6955         * tools/gst-launch.c: (event_loop):
6956         Don't crash when a NULL clock was selected in the pipeline.
6957
6958 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6959
6960         * docs/design/Makefile.am:
6961         * docs/design/draft-missing-plugins.txt:
6962         * docs/random/draft-missing-plugins.txt:
6963           Some small updates: update plugin system identifier prefix
6964           ('gstreamer.net' to 'gstreamer'), mention our new install
6965           API in libgstbaseutils rather than libgimme-codec, add
6966           reference to the online docs.
6967
6968 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * win32/common/config.h:
6971           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
6972           use moap cl ci to only check in what is mentioned in the ChangeLog.
6973
6974 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6975
6976         * docs/gst/gstreamer-sections.txt:
6977         * gst/gstelement.h:
6978           Fix up documentation to link to the correct GstGError section.
6979           Add GST_ELEMENT_INFO macro since someone else added a Info message.
6980
6981 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6982
6983         * tools/gst-launch.c: (event_loop):
6984           Make sure that we actually show the important message part of a
6985           warning message.
6986           No need to check if the gerror is not NULL to free; first of all
6987           g_free accepts NULL; and second the default error handler would
6988           segfault if gerror was NULL.
6989
6990 2007-02-21  Wim Taymans  <wim@fluendo.com>
6991
6992         * docs/gst/gstreamer-sections.txt:
6993         Removed docs as well.
6994
6995 2007-02-21  Wim Taymans  <wim@fluendo.com>
6996
6997         * gst/gstmessage.c: (gst_message_parse_duration):
6998         * gst/gstmessage.h:
6999         Remove new messages for release.
7000
7001 2007-02-20  Wim Taymans  <wim@fluendo.com>
7002
7003         * docs/design/part-gstghostpad.txt:
7004         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
7005         (gst_ghost_pad_new_full):
7006         Make the ghostpad a parent of the internal pad again for better backward
7007         compatibility. Don't write code that relies on this however.
7008
7009         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7010         (gst_pad_link_check_hierarchy):
7011         Require that parents should be GstElements in the hierarchy check.
7012
7013 2007-02-20  Wim Taymans  <wim@fluendo.com>
7014
7015         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
7016         (gst_bin_change_state_func), (bin_query_min_max_init),
7017         (bin_query_latency_fold), (bin_query_latency_done),
7018         (gst_bin_query):
7019         Improve debug info.
7020         Implement latency query.
7021
7022 2007-02-20  Wim Taymans  <wim@fluendo.com>
7023
7024         * docs/design/part-gstghostpad.txt:
7025         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
7026         (gst_ghost_pad_internal_do_activate_push),
7027         (gst_ghost_pad_internal_do_activate_pull),
7028         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7029         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
7030         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
7031         Do not set the internal pad as a parent anymore so we can avoid
7032         hierarchy linking errors when the ghostpad has no parent yet. This also
7033         fixes failed activation because of unlinked internal pads, which in
7034         turn fixes the impossible case where you have to activate a pad before
7035         you can add it to a running element.
7036         Also fix the docs.
7037
7038         * gst/gstpad.c: (pre_activate), (post_activate),
7039         (gst_pad_set_active), (gst_pad_activate_pull),
7040         (gst_pad_activate_push), (gst_pad_check_pull_range):
7041         Add some more debug info.
7042         Mark activation mode in pre_activate so that we don't try to activate in
7043         endless loops. Fixes #385084.
7044
7045 2007-02-19  Wim Taymans  <wim@fluendo.com>
7046
7047         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
7048         (gst_base_transform_check_get_range):
7049         Implement a checkgetrange function instead of relying on the default
7050         core behaviour that assumes we can operate in pull mode if we have a
7051         getrange function. First step at fixing #385084.
7052
7053 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
7054
7055         * gst/gstchildproxy.h:
7056         * libs/gst/base/gstbasesink.h:
7057         * libs/gst/base/gstbasesrc.h:
7058         * libs/gst/base/gstbasetransform.h:
7059         More docs coverage and some ChangeLog surgery (add missing names)
7060
7061 2007-02-15  Wim Taymans  <wim@fluendo.com>
7062
7063         * docs/design/part-TODO.txt:
7064         * docs/design/part-activation.txt:
7065         * docs/design/part-block.txt:
7066         * docs/design/part-buffering.txt:
7067         * docs/design/part-clocks.txt:
7068         * docs/design/part-element-source.txt:
7069         * docs/design/part-events.txt:
7070         * docs/design/part-gstbin.txt:
7071         * docs/design/part-gstbus.txt:
7072         * docs/design/part-gstpipeline.txt:
7073         * docs/design/part-live-source.txt:
7074         * docs/design/part-messages.txt:
7075         * docs/design/part-overview.txt:
7076         * docs/design/part-qos.txt:
7077         * docs/design/part-query.txt:
7078         * docs/design/part-states.txt:
7079         * docs/design/part-trickmodes.txt:
7080         Some doc updates. Start renaming from stream_time to running_time where
7081         it was used wrongly.
7082
7083 2007-02-15  Wim Taymans  <wim@fluendo.com>
7084
7085         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7086         Answer LATENCY query.
7087
7088 2007-02-15  Wim Taymans  <wim@fluendo.com>
7089
7090         * tests/check/gst/gstevent.c: (event_probe), (test_event),
7091         (GST_START_TEST):
7092         Improve debugging.
7093
7094 2007-02-15  Wim Taymans  <wim@fluendo.com>
7095
7096         * gst/gstpad.c: (gst_pad_get_internal_links_default),
7097         (gst_pad_dispatcher):
7098         Improve debugging of default pad dispatcher and query functions.
7099
7100 2007-02-15  Wim Taymans  <wim@fluendo.com>
7101
7102         * docs/gst/gstreamer-sections.txt:
7103         Remove old unused method.
7104
7105 2007-02-13  Wim Taymans  <wim@fluendo.com>
7106
7107         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7108         Fix check
7109
7110 2007-02-13  Wim Taymans  <wim@fluendo.com>
7111
7112         * docs/design/part-seeking.txt:
7113         Some small update.
7114
7115         * gst/gstsegment.c: (gst_segment_set_seek):
7116         Revert old bogus change that should make seeking work again.
7117
7118 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7119
7120         * docs/random/ensonic/dynlink.txt:
7121         * docs/random/ensonic/interfaces.txt:
7122         * docs/random/ensonic/receipies.txt:
7123           Possible dynamic reconnection api, plus some type fixes the other two
7124           docs.
7125
7126 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
7127
7128         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7129         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7130         Also check for an absolute path following file:// in the filesrc
7131         element. Remove redundant check and call g_path_is_absolute() on the
7132         unescaped location.
7133
7134 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7135
7136         * docs/design/draft-klass.txt:
7137           Add existing category analysis.
7138           
7139         * gst/gstcaps.c:
7140           Fix doc example, framerate is a fraction.
7141
7142 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7143
7144         * configure.ac:
7145         * docs/gst/Makefile.am:
7146         * docs/gst/gstreamer-sections.txt:
7147         * docs/libs/Makefile.am:
7148           Erm, forgot a bunch of --extra-dir.
7149
7150 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7151
7152         * configure.ac:
7153         * docs/gst/Makefile.am:
7154         * docs/libs/Makefile.am:
7155         * docs/plugins/Makefile.am:
7156           Add crossreferences to glib/gobject docs.
7157
7158 2007-02-12  Wim Taymans  <wim@fluendo.com>
7159
7160         * docs/design/draft-latency.txt:
7161         Small update.
7162
7163         * docs/libs/gstreamer-libs-sections.txt:
7164         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7165         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
7166         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
7167         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
7168         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
7169         (gst_base_sink_get_position), (gst_base_sink_query),
7170         (gst_base_sink_change_state):
7171         * libs/gst/base/gstbasesink.h:
7172         API: gst_base_sink_query_latency() to let subclasses query the upstream
7173         latency.
7174         API: gst_base_sink_get_latency() to let subclasses query the configured
7175         latency in the sink.
7176         Implement query and set latency.
7177         Update some docs.
7178         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
7179         don't continue preroll when we are flushing. Fixes #405284.
7180
7181         * tests/check/pipelines/stress.c: (change_state_timeout),
7182         (quit_timeout), (GST_START_TEST), (stress_suite):
7183         Test for #405284.
7184
7185 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
7186
7187         Patch by: René Stadler <mail at renestadler de>
7188
7189         * docs/gst/gstreamer-sections.txt:
7190         * gst/gsttaglist.c: (_gst_tag_initialize):
7191         * gst/gsttaglist.h:
7192           API: add GST_TAG_REFERENCE_LEVEL (#403597).
7193
7194 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
7195
7196         * docs/libs/Makefile.am:
7197           Fix path to core docs.
7198
7199         * gst/gstbin.c: (gst_bin_get_by_interface),
7200         (gst_bin_iterate_all_by_interface):
7201           Refix docs by also renaming 'interface' to 'iface' in implementation.
7202
7203         * docs/gst/gstreamer-sections.txt:
7204         * gst/gstcaps.c:
7205         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
7206         * gst/gstchildproxy.h:
7207         * gst/gstelementfactory.c:
7208         * gst/gstpadtemplate.h:
7209         * libs/gst/controller/gstcontroller.c:
7210         (gst_controlled_property_new):
7211           Document more.
7212
7213 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
7214
7215         * gst/gstbin.h:(gst_bin_get_by_interface),
7216         (gst_bin_iterate_all_by_interface):
7217         Replace interface parameter name by iface as interface is 
7218         a reserved keyword in Visual Studio for C++ projects so it removes
7219         a build error for application developpers using VS.
7220         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
7221         Fix a bug on Windows in uri format check. Now the prefix checked
7222         is file:// and next we check if the path after file:// is absolute.
7223         * win32/common/libgstbase.def:
7224         * win32/common/libgstdataprotocol.def:
7225         * win32/common/libgstgstreamer.def:
7226         Add new exported functions.
7227
7228 2007-02-09  Andy Wingo  <wingo@pobox.com>
7229
7230         * tests/check/pipelines/simple-launch-lines.c
7231         (simple_launch_lines_suite, test_tee): Disable tee test until I
7232         have time to fix it :-(
7233
7234         * tests/check/Makefile.am (noinst_HEADERS): 
7235         * tests/check/libs/libsabi.c: 
7236         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
7237         * tests/check/gst/gstabi.c: 
7238         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
7239
7240         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
7241         tests for push and pull tee behavior.
7242
7243         * plugins/elements/gsttee.h: 
7244         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
7245         mark as deprecated as well as unimplemented. It was a crack idea.
7246         Add support for tee operating in pull mode, off by default.
7247
7248         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
7249         normal-case logs down to LOG, raise errors to WARNING.
7250         (gst_registry_xml_read_cache): Don't log before calling a function
7251         that logs.
7252
7253         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
7254         exit (registry finalize).
7255         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
7256         DEBUG log when we emit signals that people don't even have the
7257         chance to connect to.
7258         (gst_registry_scan_path_level): Less logging in the normal case.
7259
7260 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
7261
7262         Patch by: Michal Benes <michal dot benes at itonis dot tv>
7263
7264         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7265         Correctly generate EOS for non-seekable files. We don't have a total
7266         length for them and would get an unexpected end of file if we only
7267         special-cased for regular files. (Fixes: #404569)
7268
7269 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
7270
7271         * tests/check/elements/filesrc.c: (GST_START_TEST),
7272         (filesrc_suite):
7273         Add unit test for the GstURIHandler interface in filesrc. This also
7274         tests the newly added file://localhost/foo/bar support.
7275
7276 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
7277
7278         * gst/gstelementfactory.h:
7279           The klass string is not a hierarchy. Add reference to the design doc
7280           for more information and common types.
7281
7282 2007-02-02  Wim Taymans  <wim@fluendo.com>
7283
7284         * gst/gstquery.c: (gst_query_new_latency):
7285         Remove old structure field.
7286
7287 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
7288
7289         * tools/gst-launch.1.in:
7290           Give example for network streaming (#351998)
7291
7292 2007-02-02  Wim Taymans  <wim@fluendo.com>
7293
7294         * docs/gst/gstreamer-sections.txt:
7295         Add docs for new methods.
7296
7297         * gst/gstevent.c: (gst_event_new_latency),
7298         (gst_event_parse_latency):
7299         * gst/gstevent.h:
7300         Add new LATENCY event to configure latency in a pipeline.
7301         API: gst_event_new_latency
7302         API: gst_event_parse_latency
7303
7304         * gst/gstmessage.c: (gst_message_new_buffering),
7305         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
7306         (gst_message_new_latency), (gst_message_parse_buffering),
7307         (gst_message_parse_lost_preroll):
7308         * gst/gstmessage.h:
7309         Added messages used in draft-latency.
7310         API: gst_message_new_lost_preroll
7311         API: gst_message_parse_lost_preroll
7312         API: gst_message_new_prerolled
7313         API: gst_message_new_latency
7314
7315         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
7316         (gst_query_parse_latency):
7317         * gst/gstquery.h:
7318         Implemented new latency query as in design doc.
7319         API: gst_query_new_latency
7320         API: gst_query_set_latency
7321         API: gst_query_parse_latency
7322
7323 2007-02-02  Wim Taymans  <wim@fluendo.com>
7324
7325         * docs/design/draft-latency.txt:
7326         Slight redesign to allow for dynamic latency adjustments.
7327
7328         * docs/design/part-negotiation.txt:
7329         Fix some typos.
7330
7331 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
7332
7333         reviewed by: Wim Taymans <wim@fluendo.com>
7334
7335         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7336         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7337         Allow file://localhost/foo/bar URLs and correctly fail for every other
7338         hostname that one sets. This was gnomevfssrc is linked for those if
7339         installed as it can handle it (#403172)
7340
7341 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
7342
7343         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7344
7345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7346         (unref_data), (gst_collect_pads_add_pad_full):
7347         * libs/gst/base/gstcollectpads.h:
7348         Don't put the previously added destroy notify in the GstCollectData
7349         struct as all it's padding is already used and we don't want to break
7350         ABI. Instead put in the pad's GObject data for now. This should be
7351         cleaned up for 0.11 (#402393).
7352
7353 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
7354
7355         reviewed by: Wim Taymans <wim@fluendo.com>
7356
7357         * docs/libs/gstreamer-libs-sections.txt:
7358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7359         (unref_data), (gst_collect_pads_add_pad),
7360         (gst_collect_pads_add_pad_full):
7361         * libs/gst/base/gstcollectpads.h:
7362         API: Add function to specify a destroy notification for custom
7363         GstCollectData when adding new pads in GstCollectPads (#402393).
7364
7365 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
7366
7367         * po/sv.po:
7368           Update Swedish translation (#378255).
7369
7370 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * docs/design/draft-klass.txt:
7373           Fix the previous change, this is a list of categories and not a hierarchy.
7374
7375 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
7376
7377         * docs/design/draft-klass.txt:
7378           Add info about how to get a list of used classes.
7379
7380 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
7381
7382         * plugins/elements/gsttypefindelement.c:
7383         (gst_type_find_element_chain_do_typefinding),
7384         (gst_type_find_element_change_state):
7385           Don't leak found caps in chain function (no idea why that never
7386           showed up as a leak anywhere).
7387
7388 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
7389
7390         * gst/gstplugin.h:
7391           Fix and expand GstPluginDesc API docs.
7392
7393 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
7394
7395         * gst/gstcaps.c:
7396         * gst/gstelementfactory.c:
7397         * gst/gstpadtemplate.h:
7398           api doc fixes
7399
7400         * libs/gst/controller/gstcontroller.c:
7401         (gst_controlled_property_new):
7402         * tests/examples/controller/audio-example.c:
7403           comment fixes
7404
7405 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
7406
7407         * configure.ac:
7408           comment about refining the xml deps
7409
7410         * docs/manuals.mak:
7411           comments about moving away from jade for docs
7412         
7413         * gst/gst.c:
7414           recommit the ifdefs to use the binary registry
7415         
7416         * gst/gstbin.c: (gst_bin_change_state_func):
7417           this break is obsolete
7418
7419         * gst/gstelementfactory.h:
7420           better GST_ELEMENT_DETAILS docs, add comment about translation
7421
7422         * gst/gstinfo.h:
7423           remove eol slash
7424
7425         * gst/gstobject.c: (gst_signal_object_get_type):
7426           add G_UNLIKELY as usual
7427
7428         * gst/gstpad.c: (gst_pad_event_default):
7429           add fall trhu comment
7430
7431         * gst/gstregistrybinary.c: (gst_registry_binary_write),
7432         (gst_registry_binary_initialize_magic),
7433         (gst_registry_binary_save_string),
7434         (gst_registry_binary_save_pad_template),
7435         (gst_registry_binary_save_feature),
7436         (gst_registry_binary_save_plugin),
7437         (gst_registry_binary_write_cache),
7438         (gst_registry_binary_check_magic),
7439         (gst_registry_binary_load_pad_template),
7440         (gst_registry_binary_load_feature),
7441         (gst_registry_binary_load_plugin),
7442         (gst_registry_binary_read_cache):
7443           comment typo and formatting
7444
7445         * gst/gstutils.c: (gst_element_state_get_name),
7446         (gst_element_state_change_return_get_name):
7447           remove obsolete breaks
7448
7449         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7450           add FIXME 0.11 and remove cpp comment
7451
7452 2007-01-29  Edward Hervey  <edward@fluendo.com>
7453
7454         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7455         Fix print statement in an even more portable way.
7456
7457 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
7458
7459         * docs/gst/gstreamer-sections.txt:
7460         * gst/gstutils.h:
7461           API: add GST_ROUND_DOWN_* macros (#401781).
7462
7463 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
7464
7465         * docs/gst/gstreamer.types.in:
7466         * gst/gstregistry.c: (gst_registry_class_init):
7467           Document registry signals and make gtk-doc pick them up (#401381).
7468
7469 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
7470
7471         * docs/pwg/building-testapp.xml:
7472           Add some audioconverts and audioresample to the pipeline, and some
7473           more comments and error handling.
7474
7475 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
7476
7477         * docs/manual/manual.xml:
7478         * docs/pwg/pwg.xml:
7479           Fix typo (#400987).
7480
7481 2007-01-26  Wim Taymans  <wim@fluendo.com>
7482
7483         * gst/gstcaps.c: (gst_static_caps_get):
7484         Init caps flags too.
7485
7486 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
7487
7488         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
7489
7490         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7491         If not using mmap'ed files try to seek to the end instead of the
7492         start to determine whether we can seek at all. This fixes the case
7493         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
7494         seeks for everything afterwards fail. Fixes #400656
7495
7496 2007-01-25  Wim Taymans  <wim@fluendo.com>
7497
7498         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
7499         Add some refcount debugging.
7500         Make gst_static_caps_get threadsafe, which is needed when autoplugging
7501         in multiple streaming threads.
7502
7503 2007-01-25  Wim Taymans  <wim@fluendo.com>
7504
7505         Patch by: David Schleef <ds at schleef dot org>
7506
7507         * docs/libs/gstreamer-libs-sections.txt:
7508         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
7509         * libs/gst/base/gstadapter.h:
7510         API: gst_adapter_copy() that can reduce the amount of memcpy when
7511         getting data from the adapter. Fixes #388201.
7512
7513 2007-01-25  Edward Hervey  <edward@fluendo.com>
7514
7515         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7516         In print statements, "%x" is for guint. Fixes build on macosx.
7517
7518 2007-01-24  Edward Hervey  <edward@fluendo.com>
7519
7520         * plugins/elements/gstmultiqueue.c:
7521         (gst_multi_queue_loop):
7522         Small fix.
7523         (single_queue_overrun_cb), (single_queue_underrun_cb),
7524         (single_queue_check_full), (gst_single_queue_new):
7525         Implement single queue growth system.
7526         This uses the extra-size properties, and will grow single queues by
7527         that much if one goes full whereas there are others empty. This is
7528         called extra-mode in the code.
7529         When a single queue's levels go back below the initial max-size
7530         limits, it is no longer in extra-mode. This is to ensure we don't
7531         consume too much memory.
7532         Fixes #399875
7533
7534 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
7535
7536         * gst/gst.c: (gst_init_get_option_group):
7537           Make warning about late g_thread_init() calls a bit more explicit,
7538           so that it's more obvious to application developers what they need
7539           to do if a user files a bug against their application.
7540
7541 2007-01-22  Edward Hervey  <edward@fluendo.com>
7542
7543         * plugins/elements/gstmultiqueue.c:
7544         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
7545         Remove previous hack of unsetting the flushing flag for the source pad
7546         instead of activating it. Instead, fix the source pad activate function
7547         so that it no longer depends on having a parent set or not.
7548
7549 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
7550
7551         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
7552
7553         * docs/manual/basics-bus.xml:
7554           Fix example code, gst_element_unref() doesn't exist any longer.
7555
7556 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
7557
7558         Patch by: Mark Nauwelaerts <manauw at skynet be>
7559
7560         * gst/gstpad.c:
7561           Fix two docs typoes (#399094).
7562
7563 2007-01-19  Edward Hervey  <edward@fluendo.com>
7564
7565         * docs/faq/gst-uninstalled:
7566         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
7567         depending on libgstbaseutils can work in uninstalled environment.
7568
7569 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
7570
7571         * gst/gsttaglist.h:
7572         * gst/gsttagsetter.c:
7573         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
7574         statement for new tag.
7575
7576 2007-01-17  Edward Hervey  <edward@fluendo.com>
7577
7578         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
7579         When dynamically creating single queues, activate sinkpad before adding
7580         it.
7581         We should be doing the same thing for the source pad, but we can't
7582         since it would call a method which needs the parent to be set in order
7583         to work propertly. Instead of activating the source pad, we just unset
7584         the flushing flag, which is the minimal requirement for adding a pad
7585         to an element in a state greater than READY.
7586
7587 2007-01-17  Edward Hervey  <edward@fluendo.com>
7588
7589         * docs/faq/gst-uninstalled:
7590         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
7591         Mac OS X.
7592
7593 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
7594
7595         * tests/check/gst/gstabi.c:
7596         * tests/check/gst/struct_hppa.h:
7597         * tests/check/libs/libsabi.c:
7598         * tests/check/libs/struct_hppa.h:
7599           Add ABI structs for HPPA (see #393796).
7600
7601 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
7602
7603         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
7604           Actually write ABI structs to the file specified in the GST_ABI
7605           environment variable, as the message we print claims we would.
7606
7607 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
7608
7609         * tests/check/gst/gsttask.c:
7610           Fix header comment.
7611
7612 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
7613
7614         * gst/gsttaglist.c: (_gst_tag_initialize):
7615           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
7616           previous two entries.
7617
7618 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
7619
7620         * docs/gst/gstreamer-sections.txt:
7621         * gst/gsttaglist.c: (_gst_tag_initialize):
7622         * gst/gsttaglist.h:
7623           Add tag support for beat-per-minute.
7624
7625 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * gst/gstregistrybinary.c: (gst_registry_binary_write),
7628         (gst_registry_binary_initialize_magic),
7629         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
7630         (gst_registry_binary_save_pad_template),
7631         (gst_registry_binary_save_feature),
7632         (gst_registry_binary_save_plugin),
7633         (gst_registry_binary_write_cache),
7634         (gst_registry_binary_check_magic),
7635         (gst_registry_binary_load_pad_template),
7636         (gst_registry_binary_load_feature),
7637         (gst_registry_binary_load_plugin),
7638         (gst_registry_binary_read_cache):
7639         * gst/gstregistrybinary.h:
7640           Use glib types, cleanup comments, impement interfaces and uri-types.
7641
7642 2007-01-13  Andy Wingo  <wingo@pobox.com>
7643
7644         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
7645         getrange() to return buffers with other caps, while we fix
7646         demuxers and typefind, or otherwise change part-negotiation.txt.
7647
7648 2007-01-12  Andy Wingo  <wingo@pobox.com>
7649
7650         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
7651         Factor start/stop into this private function instead of partially
7652         in activate functions and partially in the change_state function.
7653         Fixes setup before the element has changed from READY->PAUSED, as
7654         is the case in pull-mode pipelines.
7655         (gst_base_transform_sink_activate_push)
7656         (gst_base_transform_src_activate_pull): Refactor to use
7657         gst_base_transform_activate().
7658         (gst_base_transform_change_state): Removed, not needed any more.
7659
7660         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7661         Truncate before fixating.
7662         
7663         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7664         Don't set_caps() if the result of fixating is ANY, as it's not
7665         supported, and not necessary in the case of a link with no
7666         template caps on either side. Fixes tests/check/libs/basesrc in
7667         some pull-mode tests.
7668
7669         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
7670         (gst_base_transform_init, gst_base_transform_sink_activate_push)
7671         (gst_base_transform_src_activate_pull): 
7672         Track the activation mode.
7673         (gst_base_transform_setcaps): In pull mode, when activating the
7674         src pad, after activating the sink pad, activate the sink pad's
7675         peer, as discussed in part-negotiation.txt.
7676
7677         * libs/gst/base/gstbasesrc.h: 
7678         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
7679         vmethod, as in basesink.
7680
7681         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
7682
7683         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
7684         mode, first proxy the setcaps to the peer pad.
7685         (gst_base_sink_pad_fixate): Add a fixate function that calls the
7686         new fixate vmethod.
7687         (gst_base_sink_default_activate_pull): Rename from
7688         gst_base_sink_activate_pull.
7689         (gst_base_sink_negotiate_pull): New function, performs negotiation
7690         in pull mode before calling ::activate_pull().
7691         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
7692         vmethod instead of the default implementation. I have no idea how
7693         this worked before. Negotiate before calling activate_pull.
7694
7695         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
7696         sink pads in pull mode. In addition to being correct, fixes
7697         filesrc ! decodebin ! identity ! fakesink.
7698         (gst_pad_get_range, gst_pad_pull_range): Don't call
7699         gst_pad_set_caps() if the caps changes; instead error out with
7700         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
7701
7702 2007-01-12  Andy Wingo  <wingo@pobox.com>
7703
7704         * docs/design/part-negotiation.txt: Update with more policy.
7705
7706 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
7707
7708         * libs/gst/check/gstbufferstraw.h:
7709         * libs/gst/check/gstcheck.h:
7710           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
7711           belongs.
7712
7713 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
7714
7715         * tests/check/Makefile.am:
7716         * tests/check/gst/.cvsignore:
7717         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
7718         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
7719         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
7720         (GST_START_TEST), (gst_tag_setter_suite):
7721           Add minimal unit test for beforementioned GstTagSetter bug.
7722
7723 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
7724
7725         Patch by: René Stadler <mail at renestadler dot de>
7726
7727         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
7728           gst_tag_list_merge() returns a new list, so it's not the best idea
7729           to ingore its return value. Effectively meant that tags could only
7730           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
7731           Also add function guard to require a non-NULL taglist as input (has
7732           always been so due to gst_tag_list_copy(), just making it explicit).
7733
7734 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7735
7736         * docs/random/draft-missing-plugins.txt:
7737           Some additions: mention new API that is supposed to be used at the
7738           various stages; short blob about new gst-inspect introspection
7739           option; mention potential future problem with plugins that have
7740           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
7741
7742 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7743
7744         * tools/gst-inspect.c:
7745         (print_plugin_automatic_install_info_codecs),
7746         (print_plugin_automatic_install_info_protocols),
7747         (print_plugin_automatic_install_info), (main):
7748         Add --print-plugin-auto-install-info option to gst-inspect, so we can
7749         introspect plugin files and get machine-parsable output that corresponds
7750         to the last bit of the missing-plugin installer string (small gotcha:
7751         doesn't take into account ranks).
7752
7753 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
7754
7755         * configure.ac:
7756         * docs/gst/gstreamer-sections.txt:
7757         * gst/Makefile.am:
7758         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
7759         (gst_registry_lookup_locked):
7760         * gst/gstregistry.h:
7761         * gst/gstregistrybinary.c: (gst_registry_binary_write),
7762         (gst_registry_binary_initialize_magic),
7763         (gst_registry_binary_save_string),
7764         (gst_registry_binary_save_pad_template),
7765         (gst_registry_binary_save_feature),
7766         (gst_registry_binary_save_plugin),
7767         (gst_registry_binary_write_cache),
7768         (gst_registry_binary_check_magic),
7769         (gst_registry_binary_load_pad_template),
7770         (gst_registry_binary_load_feature),
7771         (gst_registry_binary_load_plugin),
7772         (gst_registry_binary_read_cache):
7773         * gst/gstregistrybinary.h:
7774         * gst/gstregistryxml.c: (load_feature),
7775         (gst_registry_xml_read_cache):
7776           commit binary registry (disabled by default, see #359653)
7777
7778 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7779
7780         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
7781           Fix 'make check' too.
7782
7783 2007-01-10  Andy Wingo  <wingo@pobox.com>
7784
7785         * docs/design/part-negotiation.txt: Fix a typo, add a couple
7786         notes.
7787         
7788         * docs/design/part-negotiation.txt: Update with, um, one way that
7789         pull-mode negotiation might work?
7790
7791         * gst/gstpad.h: 
7792         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
7793         that the pad must be a src pad; makes sense to call it the other
7794         way in pull mode, and the logic is symmetric anyway.
7795
7796 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
7797
7798         * plugins/elements/gstfilesink.c:
7799           Include <stdio.h> for fseeko().
7800
7801 2007-01-10  Wim Taymans  <wim@fluendo.com>
7802
7803         * gst/gstevent.c:
7804         * gst/gstevent.h:
7805         Reserve LATENCY event.
7806
7807 2007-01-09  Wim Taymans  <wim@fluendo.com>
7808
7809         * docs/design/draft-latency.txt:
7810         Updates.
7811
7812 2007-01-09  Wim Taymans  <wim@fluendo.com>
7813
7814         * docs/design/draft-latency.txt:
7815         Updates.
7816
7817         * gst/gstelement.h:
7818         * gst/gststructure.c:
7819         * gst/gsttrace.c:
7820         Small typo fixes.
7821
7822 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
7823
7824         * tests/check/.cvsignore:
7825           Ignore test-registry.xml as well.
7826
7827 2007-01-09  Wim Taymans  <wim@fluendo.com>
7828
7829         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7830         unref data at the end when we are done with the pad.
7831
7832 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
7833
7834         * docs/gst/gstreamer-sections.txt:
7835         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
7836         (init_post), (gst_deinit), (gst_update_registry):
7837         * gst/gst.h:
7838           API: add gst_update_registry() (#391296).
7839
7840         * tests/check/Makefile.am:
7841         * tests/check/gst/gstregistry.c:
7842         * tests/check/gst/.cvsignore:
7843           Simple unit test for the above.
7844
7845 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
7846
7847         * gst/gstregistry.c: (gst_registry_scan_path_level):
7848           Plugin extension on HP-UX is .sl, add that to the list of approved
7849           plugin extensions (see #393796).
7850
7851         * tests/check/gst/gstpad.c: (GST_START_TEST):
7852           ulong => gulong. Fixes compilation with HP-UX compiler.
7853
7854         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7855           Fix compilation if valgrind headers are not available.
7856
7857 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
7858
7859         * win32/common/libgstreamer.def: 
7860           Add new exported function.
7861         * win32/vs6/libgstbase.dsp: 
7862           Add gstdataqueue.c to the build.
7863         * win32/vs6/libgstcoreelements.dsp:
7864           Add gstmultiqueue.c to the build.
7865         
7866 2007-01-06  Andy Wingo  <wingo@pobox.com>
7867
7868         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
7869         activate_pull(), providing for a way to specialize the process of
7870         spawning a thread to pull on the sink pad. There is a default
7871         implementation.
7872
7873         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
7874         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
7875         (gst_base_sink_init): Renamed pad activation functions (inserting
7876         "_pad" in their names). Refactor to use the new activate_pull
7877         vmethod, as appropriate.
7878         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
7879         default activate_pull function to start a task pulling from the
7880         sink pad, as before.
7881
7882         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
7883         on the pads if necessary, as in push()/chain(). Update docs.
7884         Shouldn't affect existing pull() usage as it is currently only
7885         being used on buffers without caps.
7886
7887 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7888
7889         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7890         (init_pre):
7891           Call g_thread_init() first thing in gst_init() / gst_check_init().
7892           When initialisation is done via gst_init_get_option_group() and
7893           GOption parsing, issue a warning if the GLib thread system has not
7894           been initialised yet by the time gst_init_get_option_group() is
7895           called, as it's quite likely other GLib functions such as
7896           g_option_context_new() have been called already then, and
7897           g_thread_init() must be called before any other GLib function. The
7898           application in question must be fixed in that case, since memory
7899           corruption might happen otherwise.
7900           We issue the warning because even if the GLib folks decide to work
7901           around the problem on their end in future, this is still an issue
7902           with all GLib versions >= 2.10.0, so we should warn until we depend
7903           on a GLib version we know to be safe.
7904           Update documentation as well.
7905           Closes bug #391278.
7906
7907 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7908
7909         * tools/gst-inspect.c: (main):
7910         * tools/gst-launch.c: (main):
7911         * tools/gst-typefind.c: (main):
7912         * tools/gst-xmlinspect.c: (main):
7913           Call g_thread_init() really really early, before any other GLib
7914           function (see #342564 and recent discussion on gtk-devel-list).
7915
7916 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7917
7918         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
7919
7920         * gst/gst_private.h:
7921         * gst/gstconfig.h.in:
7922         * gst/gstinfo.h:
7923           On win32, all the __declspec stuff for symbol exporting is
7924           apparently only needed with MSVC, but doesn't work with MingW.
7925           Fixes compilation with MingW and #391909.
7926
7927 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7928
7929         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
7930           Change some GST_ERROR_OBJECT that aren't really errors to
7931           GST_WARNING_OBJECT in order to reduce terminal spam.
7932
7933 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7934
7935         * tests/check/Makefile.am:
7936           disable test again, as there seem to be still race problems
7937
7938 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7939
7940         * tests/check/Makefile.am:
7941         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7942         (GST_START_TEST), (queue_suite):
7943           enable queue test again, add tests for the leaky behaviour
7944
7945 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
7946
7947         * configure.ac:
7948         * tests/examples/Makefile.am:
7949           Compile adapter test/example only if the required headers are
7950           available (fixes #391915).
7951
7952 2007-01-01  David Schleef  <ds@schleef.org>
7953
7954         * gst/gstplugin.c:
7955           Restore the previous signal handler for SIGSEGV instead of
7956           setting to default, since we may have stolen it away from
7957           someone.  (i.e., Mono)
7958
7959 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7960
7961         * docs/random/draft-missing-plugins.txt:
7962           Some small additions and clarifications.
7963
7964 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7965
7966         * gst/gstregistryxml.c: (gst_registry_save_escaped):
7967           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
7968           since that can lead to random memory corruptions and crashes
7969           (may or may not be related to #383244, #386711, and #386711).
7970
7971 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7972
7973         * tests/check/.cvsignore:
7974         * tests/check/Makefile.am:
7975           sync .cvsignome and CLEANFILES
7976
7977 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7978
7979         * tests/check/Makefile.am:
7980           fix distcheck
7981
7982 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7983
7984         * docs/design/part-states.txt:
7985           two tiny additional comments
7986         
7987         * gst/gststructure.c:
7988           doc fixing
7989
7990         * tests/check/Makefile.am:
7991         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7992         (GST_START_TEST):
7993           disable test for now, unless it gets fixed
7994
7995 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7996
7997         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7998         (GST_START_TEST):
7999           fix race in underrun test
8000
8001 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8002
8003         * tests/check/elements/.cvsignore:
8004           ignore more
8005
8006         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8007         (GST_START_TEST):
8008           try to narrow test failure
8009
8010 2006-12-21  David Schleef  <ds@schleef.org>
8011
8012         * plugins/elements/gstfakesrc.c:
8013           Use g_random_int_range(), since it produces better random
8014           numbers in a range than almost-correct floating point code.
8015
8016 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8017
8018         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8019         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8020         (gst_check_teardown_sink_pad):
8021           do not automatically (de)activate pads
8022
8023         * tests/check/Makefile.am:
8024         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8025         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
8026           add new, yet simple tests for queue
8027
8028         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
8029         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
8030         * tests/check/elements/filesrc.c: (cleanup_filesrc),
8031         (GST_START_TEST):
8032         * tests/check/elements/identity.c: (cleanup_identity):
8033           consistent pad (de)activation
8034
8035 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
8036
8037         Patch by: Sebastian Dröge  <slomo ubuntu com>
8038
8039         * libs/gst/base/gstcollectpads.c:
8040           Fix two doc typos (#387866).
8041
8042 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8043
8044         * docs/manual/advanced-dparams.xml:
8045           Fix typo (g_object_control_properties() doesn't exist).
8046
8047 2006-12-19  Edward Hervey  <edward@fluendo.com>
8048
8049         * gst/gstsegment.c: (gst_segment_set_seek):
8050         Fine tune the cases where the segment start/stop values are really
8051         updated.
8052         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8053         Add tests for the return values of gst_segment_set_seek().
8054
8055 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8056
8057         * gst/gst.c:
8058           Docs typo fix.
8059
8060         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8061         (gst_queue_init):
8062           Fix incorrect documentation and flesh it out a bit more.
8063           Set default values for the max properties on the GParamSpec as well,
8064           so it shows up correctly in gst-inspect.
8065
8066 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
8067
8068         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8069           Correct docs of queue, add more detail and crosslink it more.
8070
8071 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8072
8073         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8074           Print additional debug info when the stream isn't perfectly
8075           timestamped; don't try to use invalid durations.
8076
8077 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8078
8079         * docs/design/Makefile.am:
8080           Dist new design docs.
8081
8082 2006-12-16  Wim Taymans  <wim@fluendo.com>
8083
8084         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8085
8086         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
8087         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8088         (gst_collect_pads_stop), (gst_collect_pads_event),
8089         (gst_collect_pads_chain):
8090         * libs/gst/base/gstcollectpads.h:
8091         Add refcounting to the collectpads data so we can track when it's safe
8092         to free the data. Fixes #383382.
8093
8094 2006-12-15  Wim Taymans  <wim@fluendo.com>
8095
8096         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8097         (gst_collect_pads_remove_pad):
8098         Automatically activate/deactivate pads when they are added to a
8099         started/stoped collectpads.
8100
8101 2006-12-15  Wim Taymans  <wim@fluendo.com>
8102
8103         * gst/gstelement.c: (gst_element_add_pad):
8104         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8105         * gst/gstpad.c: (gst_pad_init):
8106         Set pads to FLUSHING when they are created. Check, warn and fix when a
8107         demuxer adds an inactive pad to itself when running. Fixes #339326.
8108
8109 2006-12-15  Wim Taymans  <wim@fluendo.com>
8110
8111         * gst/gstelement.c: (gst_element_class_init),
8112         (gst_element_default_send_event), (gst_element_send_event),
8113         (gst_element_default_query), (gst_element_query):
8114         Expose default element send_event and query handling as vmethods that
8115         subclasses can chain up to.
8116
8117 2006-12-15  Wim Taymans  <wim@fluendo.com>
8118
8119         * gst/gstelement.c: (gst_element_set_state_func):
8120         Small documentation fixes.
8121
8122 2006-12-15  Wim Taymans  <wim@fluendo.com>
8123
8124         * docs/design/draft-latency.txt:
8125         Checked in draft for handling latency in pipelines.
8126
8127 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * Makefile.am:
8130         * gstreamer.doap:
8131         * gstreamer.spec.in:
8132           adding .doap file
8133
8134 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
8135
8136         * gst/gst.c: (init_pre), (init_post):
8137           init_pre() and init_post() might be called via our GOptionGroup or
8138           from gst_init(), and we should skip both of them if we've already
8139           been initialised, otherwise we will init some things twice or add
8140           two default log functions.
8141
8142 2006-12-13  Edward Hervey  <edward@fluendo.com>
8143
8144         * docs/manual/basics-bus.xml:
8145         No, gst_main_loop does not exist. Its g_main_loop.
8146         Discovered by somebody who abused the copy-paste technique of coding :)
8147
8148 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
8149
8150         * gst/gstghostpad.c:
8151           Log ghostpad debug stuff to the GST_PADS category as well rather
8152           than just to the default category.
8153
8154 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
8155
8156         * configure.ac:
8157         * gst/gst.c: (init_pre):
8158           Add some basic system details such as OS and architecture
8159           to the debug output if possible, courtesy of uname().
8160
8161 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
8162
8163         * docs/gst/running.xml:
8164           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
8165           environment variables.
8166
8167 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8168
8169         * tests/check/gst/gstbin.c: (GST_START_TEST):
8170         It is acceptable to have a refcount of 2 or 3 at this point in the
8171         test, because the pipeline might be just posting its state_change
8172         message. The next line then waits for that message to appear using
8173         bus_poll, so that should be fine too.
8174
8175 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8176
8177         * gst/gst.c: (ensure_current_registry_forking):
8178         Ignore EINTR when reading from the child registry pipe.
8179         Explicitly ignore the return value from close, since it makes no
8180         difference.
8181
8182         * gst/gstminiobject.c: (gst_mini_object_ref),
8183         (gst_mini_object_unref):
8184         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
8185
8186         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
8187         When removing cached plugins, remove their features too, so they're
8188         not visible after they've disappeared.
8189
8190         * gst/gstutils.c: (prepare_link_maybe_ghosting):
8191         In the unlikely case that we are linking pads with no parents, don't
8192         crash trying to get the non-existent parent bin.
8193
8194         * gst/parse/grammar.y:
8195         Output debug in the PIPELINE category
8196
8197 2005-03-08  Wim Taymans  <wim@fluendo.com>
8198
8199         Patch by: René Stadler <mail at renestadler dot de>
8200
8201         * gst/gstclock.c: (gst_clock_new_periodic_id):
8202         Reject invalid clock times for interval of periodic ids.
8203         Fixes ##383506.
8204
8205 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
8206
8207         * gst/gstelementfactory.c: (gst_element_factory_create):
8208         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8209         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
8210         * tools/gst-inspect.c: (print_element_info):
8211         Fix refcounting of gst_plugin_feature_load to match the docs. 
8212         Fixes: #380129
8213
8214 2006-12-07  Wim Taymans  <wim@fluendo.com>
8215
8216         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
8217         (gst_base_sink_get_position):
8218         Improve debugging of events.
8219
8220 2006-12-07  Wim Taymans  <wim@fluendo.com>
8221
8222         Patch by: René Stadler <mail at renestadler dot de>
8223
8224         * gst/gstclock.c: (gst_clock_id_wait):
8225         Make period ids add the interval to the origial requested time instead
8226         of the possibly updated time which can be wrong when there are multiple
8227         waiters for the same id. Fixes #382592.
8228
8229         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
8230         (gst_system_clock_id_wait_jitter_unlocked),
8231         (gst_system_clock_id_wait_jitter):
8232         Fix restart in the async notify thread when an async entry is added to
8233         the front of the list. Fixes #381492. 
8234
8235         * tests/check/gst/gstsystemclock.c: (store_callback),
8236         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
8237         Added test for multiple async waits.
8238         Added test for async wait order.
8239
8240 2006-12-07  Wim Taymans  <wim@fluendo.com>
8241
8242         * gst/gstbin.c: (gst_bin_query):
8243         Add some more docs about the POSITION query.
8244
8245 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
8246
8247         * configure.ac:
8248         Bump version nano - back to CVS.
8249
8250 === release 0.10.11 ===
8251
8252 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
8253
8254         * configure.ac:
8255           releasing 0.10.11, "Love never runs on time"
8256
8257 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
8258
8259         * win32/common/libgstbase.def:
8260         * win32/common/libgstreamer.def:
8261         * win32/vs8/libgstbase.vcproj:
8262         * win32/vs8/libgstcoreelements.vcproj:
8263         * win32/vs8/libgstreamer.vcproj:
8264         Fix compilation on win32 under VS8
8265         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8266         Partially fixes #381175
8267
8268 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8269
8270         * gst/gstvalue.c: (gst_value_compare_fraction):
8271         If someone is foolish enough to compare 2 fractions with denominator =
8272         0, return UNORDERED rather than aborting.
8273
8274 2006-11-28  Edward Hervey  <edward@fluendo.com>
8275
8276         * libs/gst/base/Makefile.am:
8277         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
8278         (gst_data_queue_base_init), (gst_data_queue_class_init),
8279         (gst_data_queue_init), (gst_data_queue_new),
8280         (gst_data_queue_cleanup), (gst_data_queue_finalize),
8281         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
8282         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
8283         (gst_data_queue_is_empty), (gst_data_queue_is_full),
8284         (gst_data_queue_set_flushing), (gst_data_queue_push),
8285         (gst_data_queue_pop), (gst_data_queue_drop_head),
8286         (gst_data_queue_set_property), (gst_data_queue_get_property):
8287         * libs/gst/base/gstdataqueue.h:
8288         New GstDataQueue object for threadsafe queueing. Most useful for
8289         elements that need some queueing functionnality.
8290         * docs/libs/gstreamer-libs-docs.sgml:
8291         * docs/libs/gstreamer-libs-sections.txt:
8292         Insert documentation for GstDataQueue
8293         * plugins/elements/Makefile.am:
8294         * plugins/elements/gstelements.c:
8295         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
8296         (gst_multi_queue_class_init), (gst_multi_queue_init),
8297         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8298         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
8299         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
8300         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8301         (gst_multi_queue_loop), (gst_multi_queue_chain),
8302         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8303         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
8304         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
8305         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
8306         (wake_up_next_non_linked), (compute_next_non_linked),
8307         (single_queue_overrun_cb), (single_queue_underrun_cb),
8308         (single_queue_check_full), (gst_single_queue_new):
8309         * plugins/elements/gstmultiqueue.h:
8310         New multiqueue element, using GstDataQueue. Used for queuing multiple
8311         streams.
8312         Closes #344639 and #347785
8313
8314 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
8315
8316         * docs/pwg/advanced-types.xml:
8317           add more missing type details
8318
8319         * tools/gst-run.c: (main):
8320           remove unused variable
8321
8322 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
8323
8324         * docs/libs/Makefile.am:
8325         * docs/libs/gstreamer-libs.types:
8326           add types of base classes to enable gobject specific stuff in the docs
8327
8328         * docs/random/ensonic/embedded.txt:
8329           more ideas about isolating platform specific things
8330
8331 2006-11-20  Wim Taymans  <wim@fluendo.com>
8332
8333         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
8334
8335         * libs/gst/check/gstcheck.h:
8336         Fix compilation and running against 0.9.4. Fixes #377332.
8337
8338 2006-11-20  Wim Taymans  <wim@fluendo.com>
8339
8340         * gst/gstsegment.c: (gst_segment_set_seek),
8341         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8342         (gst_segment_to_running_time):
8343         Fix boundary checking in to_running_time() and to_stream_time().
8344         Fixes #377183.
8345
8346         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8347         stream and running time can now be calculated for the complete
8348         clipped segment.
8349
8350 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
8351
8352         * gst/gstpad.c: (gst_pad_push_event):
8353           Can't access event structure after giving away ownership of
8354           the event.
8355
8356 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
8357
8358         * docs/random/ensonic/embedded.txt:
8359         * docs/random/ensonic/profiling.txt:
8360         * docs/random/ensonic/receipies.txt:
8361           more thinking
8362
8363 2006-11-13  Wim Taymans  <wim@fluendo.com>
8364
8365         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8366
8367         * gst/gstpad.c:
8368         Fix documentation for gst_pad_dispatcher. Fixes #374475.
8369
8370 2006-11-13  Wim Taymans  <wim@fluendo.com>
8371
8372         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
8373
8374         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8375         Store new length in segment duration so we don't keep on calling the
8376         potentially expensize get_size() call. Fixes #370865.
8377
8378 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
8379
8380         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
8381
8382         * win32/common/libgstreamer.def:
8383           Add two missing symbols (#366492).
8384
8385 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
8386
8387         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
8388         (gst_adapter_take_buffer):
8389         Fix format string to use all its arguments.
8390         Remove useless >= check on a guint
8391
8392 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
8393
8394         * tests/examples/adapter/.cvsignore:
8395         Ignore build file as commanded by the build-bot
8396
8397 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
8398
8399         * tests/examples/adapter/Makefile.am:
8400         * tests/examples/adapter/adapter_test.c: (run_test_take),
8401         (run_test_take_buffer), (run_tests), (main):
8402
8403         Add new files from the previous commit
8404
8405 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
8406
8407         * Makefile.am:
8408         * configure.ac:
8409         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
8410         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
8411         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
8412         * libs/gst/base/gstadapter.h:
8413         * tests/check/libs/adapter.c: (create_and_fill_adapter),
8414         (GST_START_TEST), (gst_adapter_suite):
8415         * tests/examples/Makefile.am:
8416         Do some optimisation work in GstAdapter to avoid copies in more cases.
8417         It could still do slightly better by merging buffers when
8418         gst_buffer_is_span_fast is true, but is already faster. 
8419
8420         Also, avoid traversing a single-linked list to append each incoming 
8421         buffer inside the adapter.
8422
8423         Add simple test app that times the adapter behaviour in different
8424         situations, and extend the unit test to check that bytes enter and
8425         exit the adapter in their original order.
8426
8427 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8428
8429         * docs/random/draft-missing-plugins.txt:
8430           Update: use element message instead of adding a new message
8431           type to the core; don't provide GStreamer API to initiate the
8432           plugin download, just provide API to compose the strings needed
8433           and let an external libgimmestuff handle the rest.
8434
8435 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
8436
8437         * tools/gst-inspect.c: (print_element_properties_info):
8438         Print a string instead of 'unknown type' for GValueArray properties
8439
8440 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
8441
8442         * docs/random/draft-missing-plugins.txt:
8443         More small fixes.
8444
8445 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8446
8447         * tests/examples/typefind/typefind.c: (type_found), (main):
8448           Make typefind element example work again (#371894); add a
8449           license header.
8450
8451 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8452
8453         * docs/random/draft-missing-plugins.txt:
8454           Commit initial draft about how to deal with missing plugins,
8455           needs work (API too).
8456
8457 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
8458
8459         * docs/pwg/advanced-types.xml:
8460           documents the new caps elements (see #363118)
8461
8462 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
8463
8464         * gst/gstplugin.c: (gst_plugin_load_file):
8465         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
8466         (gst_file_src_map_region), (gst_file_src_start):
8467         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
8468         (gst_file_index_commit):
8469           Use g_strerror() instead of strerror() - we want UTF-8.
8470
8471 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
8472
8473         Patch by: Peter Kjellerstedt <pkj at axis com>
8474
8475         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8476           Another printf fix (#371493).
8477
8478 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
8479
8480         * tests/check/gst/gsttag.c:
8481           relicence (okay with author=company)
8482
8483 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
8484
8485         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8486         (gst_pad_push_event):
8487           Enhance debug and improve docs
8488         
8489         * gst/gsturi.c:
8490           Fix docs
8491
8492 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
8493
8494         * docs/random/ensonic/distributed.txt:
8495         * docs/random/ensonic/profiling.txt:
8496           more ideas
8497
8498 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
8499
8500         * docs/gst/gstreamer-sections.txt:
8501           add new API and fix the build
8502           
8503         * gst/gstbin.c: (gst_bin_recalc_state):
8504         * gst/gstelement.c: (gst_element_message_full),
8505         (gst_element_get_state_func), (gst_element_set_state_func):
8506           use new API and improve logging
8507         
8508         * gst/gstutils.c: (gst_element_state_change_return_get_name):
8509         * gst/gstutils.h:
8510           API: add function to get StateChangereturn names to improve logs 
8511
8512 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8513
8514         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8515           I'm considering shooting the next person to put strerror stuff
8516           in the translateable part of the message.
8517
8518 2006-11-03  Wim Taymans  <wim@fluendo.com>
8519
8520         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8521         Get the type and printf conversion specifiers right.
8522
8523 2006-11-03  Wim Taymans  <wim@fluendo.com>
8524
8525         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8526
8527         * gst/gstpad.c: (gst_pad_init), (pre_activate),
8528         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
8529         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
8530         Some small cleanups. Improve debugging.
8531         * gst/gstpad.h:
8532         Signal all waiting threads with a broadcast instead of just one.
8533         Fixes #369942.
8534
8535 2006-11-03  Wim Taymans  <wim@fluendo.com>
8536
8537         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
8538         (gst_fd_src_create):
8539         Add some debugging. 
8540         Only update fd when it's different from the old.
8541
8542 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8543
8544         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
8545           Printf fixes for PPC/OSX, take two (#369366).
8546
8547 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8548
8549         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
8550
8551         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8552         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8553         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
8554           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
8555           don't cast to long long for portability reasons, but use
8556           GLib's types instead.
8557
8558 2006-10-30  Michael Smith  <msmith@fluendo.com>
8559
8560         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8561           Get the arguments to lseek() the right way around.
8562           Fixes 367677.
8563
8564 2006-10-30  Wim Taymans  <wim@fluendo.com>
8565
8566         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
8567
8568         * gst/gstinfo.h:
8569         _declspec should be __declspec (two underscores, not one). Fixes 366572.
8570
8571 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
8572
8573         Patch by: Kjartan Maraas  <kmaraas at gnome org>
8574
8575         * docs/design/part-MT-refcounting.txt:
8576         * docs/random/wtay/capsnego2-docs:
8577         * gst/gstclock.c:
8578         * gst/gstxml.c:
8579           Typo fixes (#366212).
8580
8581 2006-10-28  Wim Taymans  <wim@fluendo.com>
8582
8583         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8584
8585         * gst/gst.c:
8586         * win32/common/libgstbase.def:
8587         * win32/common/libgstreamer.def:
8588         * win32/vs8/libgstbase.vcproj:
8589         * win32/vs8/libgstcontroller.vcproj:
8590         Add needed entries in .def files.
8591         Use HAVE_UNISTD_H.
8592         Rearrange def files in vs8 solutions. Fixes #366286.
8593
8594 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * win32/common/gstconfig.h:
8597           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
8598           hand-made win32 gstconfig.h. Fixes #366321.
8599
8600 2006-10-27  Wim Taymans  <wim@fluendo.com>
8601
8602         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
8603         (gst_ghost_pad_new_full):
8604         Make acceptcaps return TRUE when we don't have a target, just like
8605         setcaps does.
8606
8607 2006-10-27  Wim Taymans  <wim@fluendo.com>
8608
8609         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8610         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
8611
8612 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
8613
8614         * gst/gststructure.c: (gst_structure_id_set_value):
8615           If someone tries to set a non-UTF8 string field on a structure,
8616           don't just print a warning, but also ignore the request and do
8617           not change/add that field to the structure.
8618
8619         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8620           Test for the above.
8621
8622 2006-10-25  David Schleef  <ds@schleef.org>
8623
8624         * gst/gstinfo.c:
8625           g_hash_table_insert() needs a cast to a non-const pointer duh.
8626
8627 2006-10-25  David Schleef  <ds@schleef.org>
8628
8629         * gst/gstinfo.c:
8630         * gst/gstinfo.h:
8631           Change name parameter of _gst_debug_register_funcptr to const
8632           to reflect the constness of its use in the function as well
8633           as to quiet a gcc warning.
8634
8635 2006-10-25  Edward Hervey  <edward@fluendo.com>
8636
8637         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8638         Don't push the buffer if it's empty.
8639         Closes #363095
8640
8641 2006-10-24  Wim Taymans  <wim@fluendo.com>
8642
8643         * gst/gstevent.h:
8644         Add small comment.
8645
8646         * libs/gst/base/gstbasetransform.c:
8647         (gst_base_transform_sink_eventfunc):
8648         Debug segment values *after* updating them as this is more
8649         interesting.
8650
8651 2006-10-23  Wim Taymans  <wim@fluendo.com>
8652
8653         * docs/design/part-events.txt:
8654         Update some docs.
8655
8656         * docs/design/part-block.txt:
8657         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8658         (gst_pad_push_event):
8659         Revert BLOCKING patch, it tries to be smart without really having a
8660         clear idea what or how. So, now we discard all FLUSHING events again on
8661         a blocking pad. Should fix gnonlin again.
8662
8663 2006-10-23  Wim Taymans  <wim@fluendo.com>
8664
8665         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8666
8667         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8668         (gst_base_src_start), (gst_base_src_activate_push):
8669         Make sure size is always initialized. Fixes #364388.
8670
8671 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
8672
8673         * docs/random/ensonic/distributed.txt:
8674           add some ideas about doing distributed processing
8675
8676         * docs/random/ensonic/profiling.txt:
8677           get_rusage look promising
8678
8679 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
8680
8681         * docs/manual/basics-helloworld.xml:
8682           Add a cast in example to fix compile warning
8683
8684 2006-10-18  Wim Taymans  <wim@fluendo.com>
8685
8686         * gst/gstsegment.c: (gst_segment_set_last_stop),
8687         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8688         Relax arg checking again, -1 is allowed.
8689
8690 2006-10-18  Wim Taymans  <wim@fluendo.com>
8691
8692         * gst/gstsegment.c: (gst_segment_set_last_stop),
8693         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8694         _set_last_stop() must be with a value != -1
8695         A _TYPE_SET to -1 means seek to 0.
8696         Calc last_stop correctly for negative rates.
8697         Make sure we work with positive durations when updating a segment.
8698
8699 2006-10-18  Wim Taymans  <wim@fluendo.com>
8700
8701         * docs/design/part-live-source.txt:
8702         * gst/gstclock.h:
8703         Small docs fixes.
8704
8705 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
8706
8707         * gst/gstbuffer.h:
8708           Add an explicit cast to GstBuffer** to keep old code that added an
8709           explicit cast to GstMiniObject** for gst_mini_object_replace()
8710           compiling without warning.
8711
8712 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
8713
8714         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
8715           check for validity of dates
8716
8717 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
8718
8719         * docs/gst/gstreamer-sections.txt:
8720           Forgot this one, makes gtk-doc shut up.
8721
8722 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
8723
8724         Patch by: Peter Kjellerstedt <pkj at axis com>
8725
8726         * gst/gstobject.h:
8727           Don't define xmlNodePtr to gpointer if the core was built with
8728           --disable-loadsave and --disable-registry, this will break
8729           applications that want to use libxml2 but are buildling against a
8730           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
8731           instead so we don't have to mess with the libxml2 namespace
8732           (#361675).
8733
8734 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
8735
8736         * gst/gstbuffer.h:
8737           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
8738           type-punned pointer warnings.
8739
8740 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
8741
8742         * gst/gstelement.h:
8743           Add casts to the correct return type to state <=> state transition
8744           macros.
8745
8746 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
8747
8748         * docs/design/part-live-source.txt:
8749           describe howto handle latency
8750         
8751         * docs/random/ensonic/profiling.txt:
8752           more ideas
8753
8754         * tools/gst-plot-timeline.py:
8755           fix log parsing for solaris, remove unused function
8756
8757 2006-10-16  Wim Taymans  <wim@fluendo.com>
8758
8759         * docs/design/part-trickmodes.txt:
8760         * gst/gstevent.c:
8761         Update some docs regarding reverse playback.
8762
8763 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8764
8765         Patch by: Marcus Granado  <mrc dot gran at gmail com>
8766
8767         * win32/vs8/grammar.vcproj:
8768           Error out with a warning if glib-genmarshal.exe is not in path,
8769           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
8770
8771 2006-10-13  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/gstsegment.c: (gst_segment_set_seek):
8774         When seeking to stop -1, set last_stop (current position) to the
8775         duration of the segment.
8776
8777 2006-10-13  Wim Taymans  <wim@fluendo.com>
8778
8779         * gst/gstelement.h:
8780         Clarify _NO_PREROLL a bit more.
8781
8782         * gst/gstevent.c:
8783         Fix docs.
8784
8785         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
8786         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
8787         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
8788         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
8789         due to wrong locking order. Fixes #361769.
8790         Remove some redundant/misplaced checks in pad_block.
8791
8792         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8793         For negative rates, count backwards from the duration.
8794
8795 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8796
8797         * gst/gsterror.c: (_gst_library_errors_init):
8798           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
8799           up with something better).
8800
8801 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
8802
8803         * win32/vs6/libgstreamer.dsp:
8804         * win32/vs7/libgstreamer.vcproj:
8805         * win32/vs8/libgstreamer.vcproj:
8806           Don't reference glib-compat.c which is currently not used and not
8807           disted; add gstquark.c which was recently added. Fixes #361730.
8808
8809 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
8810
8811         * win32/common/libgstbase.def:
8812         * win32/common/libgstcontroller.def:
8813         * win32/common/libgstreamer.def:
8814           Add gst_caps_merge() and a bunch of other recently-added functions.
8815           Fixes #361732.
8816
8817 2006-10-11  Wim Taymans  <wim@fluendo.com>
8818
8819         * docs/plugins/gstreamer-plugins.args:
8820         * docs/plugins/inspect/plugin-coreelements.xml:
8821         * docs/plugins/inspect/plugin-coreindexers.xml:
8822         Update element args.
8823
8824         * gst/gstsystemclock.c:
8825         Small comment update.
8826
8827         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8828         (gst_tee_request_new_pad), (gst_tee_release_pad),
8829         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
8830         (gst_tee_sink_activate_pull):
8831         * plugins/elements/gsttee.h:
8832         Some tee loving:
8833         Add default property defines.
8834         Implement release pad function.
8835         Give properties better blubs etc.
8836         Activate pads before adding them to a running tee.
8837         Do simple buffer_alloc on the first requested pad.
8838         Post error when activation fails.
8839
8840 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
8841
8842         * gst/gst.c: (ensure_current_registry_forking):
8843           Check return value of write() to make compiler happy.
8844
8845 2006-10-11  Wim Taymans  <wim@fluendo.com>
8846
8847         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8848
8849         * plugins/elements/gstqueue.c: (gst_queue_chain):
8850         Recheck queue filledness after signalling the overrun when we're about
8851         to leak downstream because we released the lock when emitting the signal
8852         and the queue could be empty again. Fixes #352345.
8853
8854 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
8855
8856         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
8857           Fix refcounting here too, just like we did for _new_valist() a few
8858           days ago (#357180) (thanks to René Stadler). Also remove all those
8859           'Since: 0.9' from the gtk-doc blobs.
8860
8861         * tests/check/libs/controller.c: (controller_refcount_new_list),
8862         (gst_controller_suite):
8863           Unit test for the above.
8864
8865 2006-10-10  Wim Taymans  <wim@fluendo.com>
8866
8867         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
8868
8869         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8870         (gst_pad_save_thyself):
8871         Update some docs.
8872         Write pad direction in XML output. Fixes #345496.
8873
8874 2006-10-10  Wim Taymans  <wim@fluendo.com>
8875
8876         Patch by: René Stadler <mail at renestadler dot de>
8877
8878         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8879         (gst_controller_new_list), (_gst_controller_dispose),
8880         (_gst_controller_finalize), (_gst_controller_class_init):
8881         Take ref to controlled object so that it cannot disappear. 
8882         Fixes #357432.
8883
8884 2006-10-10  Wim Taymans  <wim@fluendo.com>
8885
8886         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8887         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8888         (gst_check_teardown_sink_pad):
8889         Activate/deactivate pads in setup/teardown respectively.
8890
8891 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8892
8893         Patch by: Josep Torra Valles <josep@fluendo.com>
8894
8895         * gst/Makefile.am:
8896         Cast values when making gstenumtypes.h.  This pacifies Forte
8897         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
8898         in the enumeration.
8899
8900 2006-10-09  Wim Taymans  <wim@fluendo.com>
8901
8902         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
8903         Rename some more @cur to @start to fix docs. 
8904
8905         * gst/gstsegment.c: (gst_segment_set_seek):
8906         Fix typo.
8907         time and start must always stay in sync as defined in design doc.
8908
8909         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8910         Rename param to fix docs.
8911
8912         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8913         Check that start and time are in sync.
8914
8915         * tests/check/pipelines/parse-launch.c:
8916         (gst_parse_test_element_change_state):
8917         Activate pad before adding to the element.
8918
8919 2006-10-09  Wim Taymans  <wim@fluendo.com>
8920
8921         * docs/design/part-qos.txt:
8922         Fix typo.
8923
8924         * gst/gstevent.c:
8925         * gst/gstevent.h:
8926         Update seek event docs regarding negative rates.
8927         Rename @cur to @start. 
8928
8929         * gst/gstsegment.c: (gst_segment_set_seek):
8930         * gst/gstsegment.h:
8931         Update set_seek docs regarding negative rates.
8932         Correctly update last_stop to @stop when dealing with negative
8933         rates.
8934         Rename @cur to @start. 
8935
8936         * tests/check/gst/gstpad.c: (GST_START_TEST):
8937         Activate pads before trying to use them.
8938
8939         * tests/check/gst/gstsegment.c: (GST_START_TEST),
8940         (gst_segment_suite):
8941         Add simple check for segments and negative rates.
8942
8943 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8944
8945         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8946         * gst/gsttaglist.h:
8947         * docs/gst/gstreamer-sections.txt:
8948           API: add gst_tag_list_is_empty() (#360467).
8949
8950         * tests/check/gst/gsttag.c: (GST_START_TEST):
8951           And a test case.
8952
8953 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8954
8955         * gst/gstmessage.h:
8956         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
8957         a value that doesn't fit on enumeration.
8958
8959 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8960
8961         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8962         Remove local debugging system and use Gstreamer's instead.
8963
8964 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8965
8966         Patch by: Josep Torra Valles <josep@fluendo.com>
8967
8968         * common/m4/gst-error.m4:
8969         Disable warning of statement not reached on Forte.
8970         * gst/gstmessage.h:
8971         Fix warning on Forte (value doesn't fit on enumeration).
8972         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
8973         Fix warning on Forte (value doesn't fit on enumeration).
8974         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8975         DEBUG macro says it takes minimum of 2 args and so Forte
8976         complains about the use with just 1 arg.
8977         * plugins/elements/gstfdsink.c:
8978         * plugins/elements/gstfdsrc.c:
8979         * plugins/elements/gstfilesink.c:
8980         * plugins/elements/gstfilesrc.c:
8981         Use correct return type for the uri handler implementations.
8982
8983         All these fix warnings in Forte.  Fixes bug #360860.
8984
8985 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8986
8987         * gst/gstelement.h:
8988           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8989           format string, so don't use G_GNUC_PRINTF for those versions.
8990
8991 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8992
8993         * gst/gsttaglist.c: (gst_is_tag_list):
8994         * gst/gsttaglist.h:
8995           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8996
8997         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8998           Small test for the above.
8999
9000 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9001
9002         * gst/gsttaglist.h:
9003           Less tabs, more spaces.
9004
9005 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
9006
9007         * gst/gstinfo.h:
9008           Those two function declarations do actually belong there, revert
9009           commit from yesterday that turned them intro macros.
9010
9011 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9012
9013         Patch by: Josep Torra Valles <josep@fluendo.com>
9014
9015         * gst/gst.c: (gst_init_get_option_group):
9016         Fix empty declaration and type mismatch.
9017         * gst/gstbin.c: (gst_bin_change_state_func):
9018         Fix type mismatch.
9019         * gst/gstelement.c: (gst_element_continue_state),
9020         (gst_element_set_state_func), (gst_element_change_state),
9021         (gst_element_change_state_func):
9022         Fix type mismatches.
9023         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
9024         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
9025         Cast as appropriate.
9026         * gst/gstobject.c: (gst_class_signal_connect):
9027         Cast as appropriate.  The function pointer parameter really
9028         has the wrong type but would break API if we change it.
9029         * gst/gstquery.c:
9030         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
9031         order of including string.h.
9032         * gst/gstutils.c: (gst_element_state_get_name):
9033         Remove unreachable line.
9034         * gst/gstxml.c: (gst_xml_parse_doc):
9035         Fix type mismatch.
9036         All these caught by Forte.
9037
9038 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9039
9040         Patch by: Josep Torra Valles <josep@fluendo.com>
9041
9042         * common/m4/gst-error.m4:
9043         Fixed bug #360151.
9044         We need to disable warnings on Forte for empty declarations
9045         due to gst-indent adding ;s to lines that just use macros
9046         where the macro actually doesn't need a ; at end to end
9047         statement.
9048
9049 2006-10-06  Wim Taymans  <wim@fluendo.com>
9050
9051         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9052         (gst_file_sink_close_file), (gst_file_sink_event),
9053         (gst_file_sink_render):
9054         Add some FIXME for the NEWSEGMENT handling.
9055
9056 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9057
9058         * gst/parse/grammar.y:
9059         Remove static function gst_parse_element_lock as all it does
9060         is return.  Looks like cruft from 0.8.
9061
9062 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9063
9064         Patch by: Josep Torra Valles <josep@fluendo.com>
9065
9066         * common/m4/gst-error.m4:
9067         * configure.ac:
9068         * libs/gst/net/Makefile.am:
9069         Fix a compilation issue with Forte on Solaris.  inet_aton is in
9070         libresolv.
9071
9072 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9073
9074         * gst/gstpad.c: (pre_activate):
9075         * gst/gstregistry.c: (gst_registry_scan_path_level):
9076         * gst/gstregistryxml.c: (load_plugin):
9077         * libs/gst/controller/gstcontroller.c:
9078         (gst_controlled_property_set_interpolation_mode):
9079         * libs/gst/dataprotocol/dataprotocol.c:
9080         (gst_dp_packet_from_event_1_0):
9081         * libs/gst/net/gstnetclientclock.c:
9082         (gst_net_client_clock_observe_times):
9083         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9084           Printf fixes.
9085
9086 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9087
9088         * configure.ac:
9089         * docs/gst/gstreamer-sections.txt:
9090         * gst/gstconfig.h.in:
9091         * gst/gstelement.h:
9092         * gst/gstinfo.h:
9093           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
9094           whether we can use G_GNUC_PRINTF in other header files and at
9095           least check the printf format/arguments of debug messages and
9096           GST_ELEMENT_ERROR messages when the printf extension is not
9097           being used.
9098           Replace more tabs with spaces in gstinfo.h and remove two spurious
9099           function declarations in GST_DISABLE_DEBUG part with macros.
9100
9101 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
9102
9103         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
9104           More docs for the sync-message signal (mention that it is not
9105           emitted by default); log message structures of messages posted on
9106           the bus as well.
9107
9108 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
9109
9110         * gst/gst.c: (ensure_current_registry_forking):
9111         Use a pipe pair to receive status results from the forked child, and
9112         ignore the result from waitpid. Fixes #355499
9113
9114 2006-10-02  Wim Taymans  <wim@fluendo.com>
9115
9116         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9117         (gst_ghost_pad_suite):
9118         Fix leak in check.
9119
9120 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9121
9122         * gst/gstpad.c:
9123           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
9124
9125 2006-10-02  Edward Hervey  <edward@fluendo.com>
9126
9127         * docs/design/part-block.txt:
9128         Further explain the use of flushing on blocked pads.
9129         * docs/gst/gstreamer-sections.txt:
9130         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9131         (gst_pad_push_event):
9132         * gst/gstpad.h:
9133         Added new GstPadFlag : GST_PAD_BLOCKING.
9134         Adds the notion of pads really blocking, which enables to properly
9135         handle FLUSH_START/FLUSH_STOP events on blocked pads.
9136         Fixes #358999
9137         API: gst_pad_is_blocking()
9138         API: GST_PAD_IS_BLOCKING() macro
9139         API: GST_PAD_BLOCKING GstPadFlag
9140         
9141 2006-10-02  Wim Taymans  <wim@fluendo.com>
9142
9143         Patch by: mrcgran <mrc.gran at gmail dot com>
9144
9145         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
9146         Filter the proxied caps against the padtemplate if we have one.
9147
9148         * gst/gstquery.c: (gst_query_new_segment):
9149         Add include for gstinfo.h so that compilation with
9150         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
9151
9152 2006-10-02  Wim Taymans  <wim@fluendo.com>
9153
9154         Patch by: Alessandro Decina  <alessandro at nnva org>
9155
9156         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
9157         (gst_file_sink_set_location), (gst_file_sink_open_file),
9158         (gst_file_sink_close_file), (gst_file_sink_event),
9159         (gst_file_sink_render):
9160         Set file to NULL when closing filesink so that we can set a new filename
9161         in READY. Fixes #358613.
9162
9163 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9164
9165         Patch by: Alessandro Decina  <alessandro at nnva org>
9166
9167         * gst/gstevent.c: (_gst_event_copy):
9168           Fix gst_mini_object_make_writable() and gst_event_copy() for events
9169           with event structures by setting the parent refcount address of the
9170           copied structure to the address of the refcount member of the newly
9171           copied event rather than the address of the refcount member of the
9172           original event. Fixes #358737.
9173
9174         * tests/check/gst/gstevent.c: (GST_START_TEST):
9175           Unit test for the above.
9176
9177 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
9178
9179         * docs/design/Makefile.am:
9180           Dist some more files.
9181
9182 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9183
9184         * tests/check/libs/controller.c: (GST_START_TEST),
9185         (gst_controller_suite):
9186           Add test for the previous fix; add some more tests
9187           for correct refcounting behaviour; fix a few leaks
9188           in test cases; call gst_controller_init() at start
9189           of all tests.
9190
9191 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9192
9193         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9194         (gst_controller_set_from_list):
9195           Don't g_return_val_if_fail() on timed values with invalid timestamps
9196           inside a critical section without unlocking the mutex. Spotted by
9197           René Stadler. (#357617)
9198           Also, fix up refcounting properly: when returning an existing
9199           controller, we should increase the reference only once and not
9200           once per property and when trying to control a property again
9201           we should also increase the refcount.
9202
9203 2006-09-29  Wim Taymans  <wim@fluendo.com>
9204
9205         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9206         * libs/gst/net/gstnettimeprovider.c:
9207         (gst_net_time_provider_thread):
9208         Stop reading commands when EOF as well.
9209
9210         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9211         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9212         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9213         Unify description of the dump property.
9214
9215 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9216
9217         * tests/examples/manual/.cvsignore:
9218         OK, so it's actually cvsignore that needs changing. Stop laughing.
9219
9220 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9221
9222         * tests/examples/manual/Makefile.am:
9223         Gah, declare vars *before* using them
9224
9225 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9226
9227         * gst/gst.c: (init_pre), (scan_and_update_registry),
9228         (ensure_current_registry_nonforking),
9229         (ensure_current_registry_forking), (ensure_current_registry),
9230         (init_post), (gst_debug_help), (gst_deinit):
9231         * gst/gst_private.h:
9232         * gst/gstregistry.c: (gst_registry_finalize),
9233         (gst_registry_remove_features_for_plugin_unlocked),
9234         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9235         (gst_registry_scan_path),
9236         (_priv_gst_registry_remove_cache_plugins),
9237         (_priv_gst_registry_cleanup):
9238         * gst/gstregistry.h:
9239         Re-commit the registry changes, along with an extra fix:
9240           When a cached plugin is encountered at a different file path,
9241           update the stored path in the registry cache so that the parent
9242           process knows where it actually is now when it re-reads the registry
9243           cache. Fixes the thing that broke distcheck with the previous commit.
9244
9245         * tests/check/Makefile.am:
9246         Clean up files named 'core' too when running make clean.
9247
9248         * tests/examples/manual/Makefile.am:
9249         Set up a registry path for running these tests, and clean it properly
9250         for distcheck.
9251
9252 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9253
9254         * configure.ac:
9255         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
9256         want gmodule-no-export-2.0.pc instead so that we don't drag in
9257         --export-dynamic on every project that links to GStreamer.
9258
9259         Also, make our export regex only match the start of symbols, rather 
9260         than any symbol that contains '_gst' somewhere.
9261
9262         * libs/gst/check/Makefile.am:
9263         The libgstcheck we build does however need export-dynamic, as it
9264         produces some symbols that don't match our _gst... style regex.
9265         Fixes: #318031
9266
9267 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
9268
9269         * gst/gst.c: (init_pre), (scan_and_update_registry),
9270         (ensure_current_registry_nonforking),
9271         (ensure_current_registry_forking), (ensure_current_registry),
9272         (init_post), (gst_debug_help), (gst_deinit):
9273         * gst/gst_private.h:
9274         * gst/gstregistry.c: (gst_registry_finalize),
9275         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9276         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
9277         (_gst_registry_cleanup):
9278         * gst/gstregistry.h:
9279           Revert previous change until I figure out why it breaks distcheck.
9280
9281 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
9282
9283         * gst/gst.c: (init_pre), (scan_and_update_registry),
9284         (ensure_current_registry_nonforking),
9285         (ensure_current_registry_forking), (ensure_current_registry),
9286         (init_post), (gst_debug_help), (gst_deinit):
9287
9288           Make init_pre and init_post take the full complement of GOptionFunc
9289           args so they can return useful GErrors. Make the registry updating
9290           functions do so.
9291
9292           Call _priv_gst_registry_remove_cache_plugins after scanning files to
9293           ensure that the registry we're about to write out doesn't contain
9294           stale information about old-deleted plugin files.
9295
9296           Make _priv_gst_registry_remove_cache_plugins return a boolean so
9297           that deletion of plugin files is considered a registry change.
9298
9299         * gst/gst_private.h:
9300         * gst/gstregistry.c: (gst_registry_finalize),
9301         (gst_registry_remove_features_for_plugin_unlocked),
9302         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9303         (gst_registry_scan_path),
9304         (_priv_gst_registry_remove_cache_plugins),
9305         (_priv_gst_registry_cleanup):
9306         * gst/gstregistry.h:
9307         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
9308         by adding _priv prefix, so that they won't appear in the global
9309         symbol table. They still do atm though because of #318031. Move the
9310         prototypes to gst_private.h
9311
9312         When removing a plugin, remove all features for that plugin too. 
9313         Fixes #340878.
9314
9315 2006-09-27  Wim Taymans  <wim@fluendo.com>
9316
9317         * docs/random/moving-plugins:
9318         Make it clear that the "compiled-in descriptions" really mean
9319         the element details.
9320
9321         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9322         (gst_base_sink_wait_preroll):
9323         Update docs.
9324
9325         * docs/libs/gstreamer-libs-sections.txt:
9326         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9327         (gst_base_src_get_range), (gst_base_src_activate_push):
9328         * libs/gst/base/gstbasesrc.h:
9329         Added function to block while waiting for PLAYING, this function
9330         is used by live sources that block on the clock.
9331         API: gst_base_src_wait_playing()
9332
9333 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9334
9335         Patch by: Peter Kjellerstedt <pkj at axis com>
9336
9337         * Makefile.am:
9338           gst-element-check.m4 is generated and should therefore be
9339           copied from the build dir rather than the source dir (#357593).
9340           'make distcheck' hasn't noticed this because we were disting
9341           the file as well, so stop doing that.
9342
9343 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9344
9345         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9346           Add some tests for gst_caps_intersect().
9347
9348         * tools/gst-launch.c: (event_loop):
9349           Print all buffering percentages we get, even the 100% one.
9350
9351 2006-09-26  Wim Taymans  <wim@fluendo.com>
9352
9353         * tools/gst-inspect.c: (print_element_properties_info),
9354         (print_signal_info):
9355         Fix printing of flags to match the look of enums.
9356
9357 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
9358
9359         * gst/gstelementfactory.c:
9360           Fix typo in docs blurb.
9361
9362 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
9363
9364         * gst/gsturi.c: (search_by_entry):
9365           Don't assert/crash here if a uri handler doesn't return any
9366           supported protocols. The list of protocols could be generated
9367           dynamically at runtime or at plugin registration, and an error
9368           in the underlying library shouldn't be fatal (#353301).
9369
9370 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
9371
9372         * gst/gstinfo.c:
9373           Fix warning if HAVE_PRINTF_EXTENSION is undefined
9374           (spotted by Peter Kjellerstedt).
9375
9376 2006-09-23  Wim Taymans  <wim@fluendo.com>
9377
9378         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
9379
9380         * libs/gst/base/gstbasesrc.c:
9381         (gst_base_src_default_check_get_range), (gst_base_src_start),
9382         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9383         (gst_base_src_change_state):
9384         Match _start/_stop calls in the activate functions. Remove redundant
9385         _stop call from the state change function. Fixes #356910.
9386         Turn failure DEBUG into ERROR. 
9387
9388 2006-09-22  Wim Taymans  <wim@fluendo.com>
9389
9390         * docs/design/part-buffering.txt:
9391         * gst/gstmessage.c: (gst_message_new_buffering),
9392         (gst_message_parse_buffering):
9393         Update docs about buffering.
9394
9395         * docs/design/part-trickmodes.txt:
9396         Fix typo.
9397
9398 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
9399
9400         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9401         (gst_controller_new_list):
9402           Ref instances when returning them again (fixes #357180)
9403
9404 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9405
9406         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
9407           Don't forget to release proxy lock when there's an error.
9408
9409 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
9410
9411         * gst/gstcaps.h:
9412           Add extra initialisers for Caps things, to fix some plugin warnings
9413           when using -Wextra
9414
9415 2006-09-18  Wim Taymans  <wim@fluendo.com>
9416
9417         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9418           Also set template on the internal pad so that a getcaps from the 
9419           target pad returns the template caps.
9420
9421 2006-09-18  Wim Taymans  <wim@fluendo.com>
9422
9423         * gst/gstelement.c: (gst_element_post_message),
9424         (gst_element_dispose):
9425         Use _DEBUG_OBJECT some more.
9426
9427         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9428         Avoid typechecks.
9429
9430         * tools/gst-launch.c: (main):
9431         If the toplevel element is not a GstPipeline, it must be put in a
9432         pipeline so that a bus and clock is selected.
9433
9434 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
9435
9436         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9437           JITTER, RATE, and LATENCY query should be handled by the
9438           default case and not by the CONVERT query code.
9439
9440 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
9441
9442         * gst/gstformat.c: (gst_format_register):
9443           Fix locking order (must take lock before using n_values).
9444
9445         * gst/gstvalue.c: (gst_value_serialize_enum),
9446         (gst_value_deserialize_enum_iter_cmp),
9447         (gst_value_deserialize_enum):
9448           Fix serialisation/deserialisation of custom registered GstFormats.
9449
9450         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9451           Unit test for custom format serialisation/deserialisation.
9452
9453 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
9454
9455         * docs/pwg/building-boiler.xml:
9456         * plugins/elements/gstcapsfilter.c:
9457         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
9458         section.
9459
9460 2006-09-16  Edward Hervey  <edward@fluendo.com>
9461
9462         * libs/gst/base/gstbasetransform.c:
9463         (gst_base_transform_buffer_alloc):
9464         Check if requested caps are the same as the sinks caps IF
9465         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
9466         is FALSE.
9467         This fixes the renegotiation issues stated in #352827.
9468
9469 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * configure.ac:
9472         * docs/manual/advanced-autoplugging.xml:
9473         * tests/examples/Makefile.am:
9474         * tests/examples/manual/.cvsignore:
9475         * tests/examples/manual/Makefile.am:
9476         * tests/examples/manual/extract.pl:
9477           Extract the manual examples again like we used to do.
9478           Fix one of them.
9479
9480 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9481
9482         * win32/common/config.h:
9483           update for version
9484
9485 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
9486
9487         * gst/gsterror.c:
9488           Documents how to receive errors.
9489
9490 2006-09-15  Wim Taymans  <wim@fluendo.com>
9491
9492         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
9493         (event_loop), (main):
9494         Added some comments here and there.
9495         Post an application message when an interrupt is caught instead of doing
9496         an uncontrolled state change.
9497         Clean up the event loop.
9498         Handle buffering messages, pause/resume the pipeline.
9499         Make shutdown because of an interrupt more reliable.
9500
9501 2006-09-15  Wim Taymans  <wim@fluendo.com>
9502
9503         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9504         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
9505         (gst_base_sink_preroll_object):
9506         Make sure that our internal state is correct when we commit our state
9507         asynchronously. This solves a race where a state change to PLAYING
9508         could cause the sink to remain blocked in preroll in some situations.
9509
9510 2006-09-15  Wim Taymans  <wim@fluendo.com>
9511
9512         * tools/gst-inspect.c: (print_element_properties_info),
9513         (print_signal_info):
9514         List flags as hex so it's easier to deal with.
9515
9516 2006-09-15  Wim Taymans  <wim@fluendo.com>
9517
9518         * docs/libs/gstreamer-libs-sections.txt:
9519         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
9520         (gst_base_sink_do_sync):
9521         * libs/gst/base/gstbasesink.h:
9522         Expose logic to wait for preroll so that subclasses such as audiosink
9523         can also use this method.
9524         API: gst_base_sink_wait_preroll()
9525
9526 2006-09-15  Wim Taymans  <wim@fluendo.com>
9527
9528         * gst/gstobject.c: (gst_object_set_parent):
9529         * gst/gstpipeline.c: (do_pipeline_seek):
9530         Small cleanups in docs and code.
9531
9532         * gst/gstsegment.c: (gst_segment_clip):
9533         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9534         if stop == start and start is in the segment, no clipping should be
9535         done. Also add a test for this.
9536
9537 2006-09-15  Wim Taymans  <wim@fluendo.com>
9538
9539         * docs/design/part-buffering.txt:
9540         * docs/gst/gstreamer-sections.txt:
9541         * gst/gstmessage.c: (gst_message_new_buffering),
9542         (gst_message_parse_buffering):
9543         * gst/gstmessage.h:
9544         Added methods to create and parse BUFFERING messages.
9545         Added preliminary docs about buffering.
9546         API: gst_message_new_buffering
9547         API: gst_message_parse_buffering
9548
9549 2006-09-06  Wim Taymans  <wim@fluendo.com>
9550
9551         * gst/gstbin.c:
9552         Update documentation.
9553
9554         * gst/gstelement.c: (gst_element_class_init),
9555         (gst_element_release_request_pad), (gst_element_set_clock),
9556         (gst_element_get_index), (gst_element_add_pad),
9557         (gst_element_remove_pad), (gst_element_get_random_pad),
9558         (gst_element_send_event), (gst_element_get_query_types),
9559         (gst_element_query), (gst_element_post_message),
9560         (gst_element_message_full), (gst_element_continue_state),
9561         (gst_element_lost_state), (gst_element_save_thyself),
9562         (gst_element_restore_thyself):
9563         Documentation updates.
9564         Rename last bit of the new-pad -> pad-added signal rename.
9565         Fix the case where an element query would only work if the source
9566         pad was linked.
9567         Avoid some useless type checking in message handling.
9568
9569         * gst/gstevent.c:
9570         * gst/gstevent.h:
9571         * gst/gstutils.c:
9572         Documentation updates.
9573
9574 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9575
9576         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9577           add an INFO line for when we actually update the fd
9578
9579 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9580
9581         * configure.ac:
9582           back to TRUNK
9583
9584 === release 0.10.10 ===
9585
9586 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
9587
9588         * configure.ac:
9589           releasing 0.10.10, "Pais"
9590
9591 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
9592
9593         * docs/manual/advanced-position.xml:
9594           Fix typo in sample code.
9595
9596 2006-09-05  Wim Taymans  <wim@fluendo.com>
9597
9598         * libs/gst/net/gstnetclientclock.c: (inet_aton),
9599         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
9600         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
9601         * libs/gst/net/gstnetclientclock.h:
9602         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9603         * libs/gst/net/gstnettimepacket.h:
9604         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
9605         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
9606         (gst_net_time_provider_thread), (gst_net_time_provider_new):
9607         * libs/gst/net/gstnettimeprovider.h:
9608         Make stuff compile on windows. Fixes #345295.
9609
9610 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9611
9612         * gst/gst.c: (ensure_current_registry_forking):
9613           Print better details when child was terminated by signal.
9614
9615 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9616
9617         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
9618           Print a warning rather than g_assert() if a plugin feature
9619           is a URI handler but returns no protocols (#353976).
9620
9621 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
9622
9623         * docs/random/moving-plugins:
9624         Fix two typos.         
9625
9626 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
9627
9628         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
9629           Fix locking order, handle NULL function values properly.
9630
9631         * gst/gstinfo.h:
9632           Fix docs.
9633
9634         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
9635           Initialise variable before using it and fix debug statement to
9636           print the address of the function rather than the address of the
9637           variable on the stack holding the address of the function.
9638
9639 2006-09-01  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
9642         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
9643         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9644         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
9645         (gst_ghost_pad_parent_unset),
9646         (gst_ghost_pad_internal_do_activate_push),
9647         (gst_ghost_pad_internal_do_activate_pull),
9648         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9649         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9650         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9651         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
9652         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
9653         (gst_ghost_pad_new_no_target_from_template),
9654         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9655         More cleanups.
9656         Avoid needless typechecking in macros.
9657         Since the internal pad is always present and never changes, there is
9658         no need to locking or ref when retrieving it.
9659         Improve debugging a bit.
9660         Handle link errors when setting the target. Fixes #341029.
9661
9662 2006-09-01  Wim Taymans  <wim@fluendo.com>
9663
9664         * docs/libs/gstreamer-libs-sections.txt:
9665         * docs/plugins/gstreamer-plugins-sections.txt:
9666         Fix docs some more.
9667
9668         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9669         (gst_collect_pads_event):
9670         * libs/gst/base/gstcollectpads.h:
9671         Documentation updates.
9672         Free queued buffer when removing a pad.
9673
9674 2006-08-31  Michael Smith  <msmith@fluendo.com>
9675
9676         * gst/gstutils.c: (gst_element_link_pads),
9677         (gst_element_link_pads_filtered):
9678           Ensure that we set a capsfilter to NULL if we failed to link it
9679           when doing filtered linking, to avoid criticals.
9680
9681           No need to check for unreffing srcpad, which is explicly NULLed
9682           above (a trivial code cleanup).
9683
9684 2006-08-31  Wim Taymans  <wim@fluendo.com>
9685
9686         * docs/design/part-gstghostpad.txt:
9687         Update ascii art in documentation.
9688
9689         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
9690         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
9691         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9692         (gst_ghost_pad_internal_do_activate_push),
9693         (gst_ghost_pad_internal_do_activate_pull),
9694         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9695         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9696         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
9697         (gst_ghost_pad_set_target):
9698         Small cleanups and leak fixes.
9699         Remove some checks now that the internal pad is never NULL.
9700         Fix the case where linking pads without a target would create nasty
9701         criticals. Fixes #341029.
9702         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
9703         value of _set_target().
9704
9705         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9706         (gst_ghost_pad_suite):
9707         Some more tests for creating and linking untargeted ghostpads.
9708
9709 2006-08-31  Edward Hervey  <edward@fluendo.com>
9710
9711         * docs/gst/gstreamer-sections.txt:
9712         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
9713         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9714         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
9715         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
9716         (gst_ghost_pad_new_from_template),
9717         (gst_ghost_pad_new_no_target_from_template):
9718         * gst/gstghostpad.h:
9719         Refactored *_new() functions.
9720         Templates are now used as a g_object_new() parameter.
9721         Use template in _do_getcaps() if we don't have a target.
9722         Small documentation cleanups.
9723         Added two new constructors:
9724         gst_ghost_pad_new_from_template()
9725         gst_ghost_pad_new_no_target_from_template()
9726         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9727         (gst_ghost_pad_suite):
9728         Added tests for new ghostpad instanciation functions.
9729
9730         API additions: gst_ghost_pad_new_from_template,
9731         gst_ghost_pad_new_no_target_from_template
9732
9733 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
9734
9735         * docs/random/ensonic/profiling.txt:
9736           Ideas about qos profiling.
9737
9738 2006-08-29  Wim Taymans  <wim@fluendo.com>
9739
9740         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
9741         Code cleanups.
9742         Fix memleak.
9743
9744 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
9745
9746         * gst/gstxml.c:
9747           Improve and detypofy docs.
9748
9749         * tests/check/Makefile.am:
9750         * tests/check/gst/.cvsignore:
9751         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
9752           Add a basic test suite for GstXML.
9753
9754 2006-08-29  Wim Taymans  <wim@fluendo.com>
9755
9756         * gst/gstelement.c: (activate_pads), (clear_caps),
9757         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9758         Clear the pad caps when the element shut down all of the pads and
9759         is not streaming data that could modify the caps. 
9760         Fixes #352958.
9761
9762 2006-08-28  Michael Smith  <msmith@fluendo.com>
9763
9764         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9765           Revert previous change; I misunderstood single-segment mode.
9766
9767 2006-08-28  Michael Smith  <msmith@fluendo.com>
9768
9769         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9770           Unset DISCONT on buffers when using single-segment mode.
9771
9772 2006-08-28  Wim Taymans  <wim@fluendo.com>
9773
9774         * gst/gstcaps.c: (gst_caps_merge_structure):
9775         * gst/gstcaps.h:
9776         Fix docs and indentation again.
9777
9778         * tests/check/gst/gstquery.c: (GST_START_TEST):
9779         Fix leak in tests and add some more tests.
9780
9781 2006-08-28  Edward Hervey  <edward@fluendo.com>
9782
9783         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9784         Inform GstSegment of the last stop position in order for the current
9785         segment to have a proper duration if it doesn't have a specific stop
9786         position from which a duration could be calculated.
9787         This bug was noticeable when a non-flushing, non-update new segment was
9788         followed by another segment (all buffers from the new segment were being
9789         dropped).
9790
9791 2006-08-28  Wim Taymans  <wim@fluendo.com>
9792
9793         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9794         Small comment update.
9795
9796         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9797         (gst_identity_transform_ip):
9798         Drop-probability is broken, mention this in the code with a 
9799         FIXME and also in the property description.
9800         Make silent also be silent about the drop messages.
9801
9802 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
9803
9804         * docs/manual/appendix-win32.xml:
9805           Remove mention of popt, we don't depend on that any
9806           longer (#353136). Add some comments pointing out that
9807           this section is slightly outdated.
9808
9809 2006-08-28  Wim Taymans  <wim@fluendo.com>
9810
9811         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9812
9813         * gst/gstquery.c: (gst_query_new_segment):
9814         * tests/check/gst/gstquery.c: (GST_START_TEST):
9815         Initialize variables when creating a new segment query.
9816         Fixes #353121.
9817
9818 2006-08-28  Wim Taymans  <wim@fluendo.com>
9819
9820         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9821
9822         * gst/gstelement.c: (gst_element_get_bus):
9823         * tests/check/gst/gstelement.c: (GST_START_TEST):
9824         Check for NULL before _reffing the bus. Fixes #353122.
9825
9826 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
9827
9828         * docs/manual/basics-bus.xml:
9829           Docs update: fix wrong callback return value explanation; add
9830           some lines about the implicit relationship between main loop
9831           and main context; remove duplicate main loop variable declaration.
9832
9833 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
9834
9835         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9836           Don't leak caps in unit test; add a few more simple
9837           checks. 
9838
9839 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
9840
9841         * docs/gst/gstreamer-sections.txt:
9842         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
9843         (gst_caps_structure_is_subset), (gst_caps_merge),
9844         (gst_caps_merge_structure):
9845         * gst/gstcaps.h:
9846         * libs/gst/base/gstbasetransform.c:
9847         (gst_base_transform_transform_caps):
9848         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9849           implement caps merging (fixes #352580)
9850
9851 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
9852
9853         * tools/Makefile.am:
9854         * tools/gst-plot-timeline.py:
9855           add debug-log plotting developer tool (#340674)
9856
9857 2006-08-23  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
9860         (gst_pad_stop_task):
9861         Improve debugging for task functions.
9862
9863         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
9864         (gst_task_start), (gst_task_pause), (gst_task_join):
9865         Make sure that the task function started and finished after a 
9866         join(). 
9867         Don't try to push the task function on the threadpool multiple
9868         times.
9869         Improve the g_warning message with some useful suggestions
9870         about how to fix the problem. 
9871
9872 2006-08-23  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/gstutils.c: (gst_pad_proxy_getcaps):
9875         Handle RESYNC correctly in _proxy_getcaps.
9876
9877 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
9878
9879         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
9880         (gst_xml_parse_memory), (gst_xml_get_element):
9881           Chain up to parent class in dispose function and also
9882           unref the elements in the toplevel_elements GList.
9883           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
9884           Always return a reference in gst_xml_get_element() rather
9885           than only sometimes.
9886
9887         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9888           Don't leak GstXml object.
9889
9890 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
9891
9892         * docs/gst/gstreamer-sections.txt:
9893         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
9894         (gst_caps_merge):
9895         * gst/gstcaps.h:
9896         * libs/gst/base/gstbasetransform.c:
9897         (gst_base_transform_transform_caps):
9898           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
9899           in a better way
9900
9901 2006-08-21  Edward Hervey  <edward@fluendo.com>
9902
9903         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
9904         Implement GObject::dispose virtual method in GstXML so we can free the
9905         top_elements GList.
9906
9907 2006-08-21  Wim Taymans  <wim@fluendo.com>
9908
9909         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
9910         (gst_buffer_create_sub):
9911         Copy duration/offset_end/caps when creating a subbuffer of the
9912         complete parent.
9913         Make the subbuffer read-only when we make the metadata writable for
9914         now. Fixes #351768.
9915
9916         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9917         Added check for metadata copy when creating subbuffers.
9918
9919 2006-08-21  Edward Hervey  <edward@fluendo.com>
9920
9921         * libs/gst/base/gstbasetransform.c:
9922         (gst_base_transform_buffer_alloc):
9923         Only call downstream buffer_alloc if transform element is passthrough
9924         or always_in_place. Closes #350449.
9925
9926 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9927
9928         * ChangeLog:
9929           ChangeLog surgery to add comments to previous changes
9930
9931 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9932
9933         * gst/gst.c:
9934           Add comments
9935
9936         * gst/gstpad.c: (gst_pad_set_active):
9937           Be more verbose in the log
9938
9939         * libs/gst/base/gstbasetransform.c:
9940         (gst_base_transform_transform_caps):
9941           Simplify caps to get rid of duplicates, fixes #345444
9942
9943 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9944
9945         * gst/gstvalue.c:
9946         * gst/gstvalue.h:
9947           Use these optimizations only internally.
9948
9949 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9950
9951         * gst/gstvalue.c: (gst_value_compare_list),
9952         (gst_value_compare_fraction_range),
9953         (gst_value_intersect_fraction_fraction_range),
9954         (gst_value_intersect_fraction_range_fraction_range),
9955         (gst_value_subtract_fraction_fraction_range),
9956         (gst_value_subtract_fraction_range_fraction_range),
9957         (gst_value_get_compare_func), (gst_value_compare),
9958         (gst_value_compare_with_func):
9959         * gst/gstvalue.h:
9960           Saves the expensive lookup of the compare function in many cases
9961          (#345444)
9962
9963 2006-08-18  Edward Hervey  <edward@fluendo.com>
9964
9965         * tests/check/gst/gstinfo.c: (gst_info_suite):
9966         Disable test that require gstdebug if it wasn't built in core.
9967
9968 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9969
9970         * docs/random/ensonic/logging.txt:
9971           update ideas
9972           
9973         * gst/gstinfo.c: (gst_debug_log_default):
9974           reorder fields, save some columns, add optional color codes for log
9975           levels
9976
9977 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9978
9979         * docs/random/ensonic/logging.txt:
9980           add ideas about making the logs a bit more useful
9981
9982 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9983
9984         * docs/pwg/advanced-events.xml:
9985         * docs/pwg/titlepage.xml:
9986           Update for 0.10 API (#340627). Add myself
9987           to authors list.
9988
9989 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9990
9991         * docs/libs/gstreamer-libs-docs.sgml:
9992         * docs/libs/gstreamer-libs-sections.txt:
9993         * libs/gst/check/gstbufferstraw.c:
9994           Make gstcheck stuff show up in docs (still needs to
9995           be documented properly though).
9996
9997 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
9998
9999         * docs/gst/gstreamer-sections.txt:
10000         * gst/Makefile.am:
10001         * gst/gst.c: (init_post):
10002         * gst/gst_private.h:
10003         * gst/gstquark.c: (_priv_gst_quarks_initialize):
10004         * gst/gstquark.h:
10005         * gst/gstquery.c: (gst_query_new_position),
10006         (gst_query_set_position), (gst_query_parse_position),
10007         (gst_query_new_duration), (gst_query_set_duration),
10008         (gst_query_parse_duration), (gst_query_new_convert),
10009         (gst_query_set_convert), (gst_query_parse_convert),
10010         (gst_query_new_segment), (gst_query_set_segment),
10011         (gst_query_parse_segment), (gst_query_new_seeking),
10012         (gst_query_set_seeking), (gst_query_parse_seeking):
10013         Add internal helpers for pre-registering quarks from static strings
10014         and using the quark values directly instead of looking them up when
10015         creating and parsing queries. Can be used for event construction too.
10016         Closes #350432.
10017
10018 2006-08-16  Wim Taymans  <wim@fluendo.com>
10019
10020         * gst/gstbin.c:
10021         Fix bogus docs.
10022
10023 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10024
10025         * gst/gstutils.c: (gst_util_set_value_from_string):
10026           Fix memleak (#351502).
10027
10028         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10029           Add unit test for most of gst_util_set_value_from_string()
10030           (not that one would want to encourage use of this function).
10031
10032 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10033
10034         * libs/gst/check/gstcheck.h:
10035           Use const gchar * variables in fail_unless_equals_string
10036           macro to avoid compiler warnings (and don't use tabs for
10037           indenting).
10038
10039 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10040
10041         * tools/gst-launch.c: (print_tag):
10042           More space on the left for the tag names, to cater
10043           for the 'extended comment' tag (not touching the
10044           string for the first line since it's translated).
10045
10046 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10047
10048         * libs/gst/check/gstcheck.h:
10049           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
10050           print something when they fail.
10051
10052 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10053
10054         * docs/gst/gstreamer-sections.txt:
10055         * gst/gsttaglist.c: (_gst_tag_initialize):
10056         * gst/gsttaglist.h:
10057           API: add GST_TAG_EXTENDED_COMMENT (#350935).
10058           Also change merge function for GST_TAG_COMMENT to
10059           use_first.
10060
10061 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10062
10063         * gst/gstinfo.c: (gst_debug_print_object):
10064           Make GST_PTR_FORMAT print messages as well.
10065
10066         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
10067         (GST_START_TEST), (gst_info_suite):
10068           More tests.
10069
10070 2006-08-14  Edward Hervey  <edward@fluendo.com>
10071
10072         * gst/gstelementfactory.c: (gst_element_register):
10073         If the GstElementClass doesn't have a GstElementDetails with all fields
10074         filled up correctly (longname, description AND author), then error out
10075         nicely instead of crashing.
10076
10077 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10078
10079         * gst/gststructure.c:
10080           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
10081
10082         * gst/gstvalue.h:
10083           Expand on the difference between arrays and lists as we use them.
10084           
10085 2006-08-14  Wim Taymans  <wim@fluendo.com>
10086
10087         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
10088         If the parent state change function failed, don't assume we can safely
10089         stop the source, this will be done when the pads are deactivated.
10090
10091 2006-08-14  Wim Taymans  <wim@fluendo.com>
10092
10093         * gst/gstbuffer.c:
10094         * gst/gsttask.c: (gst_task_join):
10095         Small doc updates.
10096
10097         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10098         (gst_pad_stop_task):
10099         When pad (de)activation failed for some reason, restore the old
10100         activation mode and set the pad to flushing instead of assuming the
10101         pad is deactivated.
10102         If the _task_join() failed, reinstall the task on the pad so that it can
10103         be stopped later and return an error.
10104
10105 2006-08-11  Andy Wingo  <wingo@pobox.com>
10106
10107         * configure.ac:
10108         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10109         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
10110         is only for users of API that don't want to see deprecated
10111         functions in the headers; people that want to compile out
10112         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
10113         CFLAGS. Fixes the build of multifdsink, or will soon..
10114
10115 2006-08-11  Wim Taymans  <wim@fluendo.com>
10116
10117         * docs/gst/gstreamer-sections.txt:
10118         Add GstClockClass vmethod docs.
10119
10120         * gst/gstcaps.h:
10121         Mark #endif with comment for associated #if
10122
10123         * gst/gstclock.c: (gst_clock_id_wait):
10124         * gst/gstclock.h:
10125         Add vmethod wait_jitter to avoid an unneeded _get_time() for
10126         most clock implementations.
10127         Document vmethods.
10128         Flesh out docs about resolution methods.
10129         API: GstClockClass::wait_jitter
10130
10131         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10132         (gst_system_clock_async_thread),
10133         (gst_system_clock_id_wait_jitter_unlocked),
10134         (gst_system_clock_id_wait_jitter):
10135         Use base class wait_jitter variant for improved performance
10136         due to less clock polling.
10137
10138 2006-08-11  Edward Hervey  <edward@fluendo.com>
10139
10140         * gst/gst.c: (gst_init_check), (init_post):
10141         Set gst as being initialized before scanning/updating the registry,
10142         since there might be my python plugin loader that calls gst_init() and
10143         we don't want to loop back in.
10144         Closes #350879
10145
10146 2006-08-11  Wim Taymans  <wim@fluendo.com>
10147
10148         * docs/design/part-qos.txt:
10149         Bring docs in line with the code. Mostly the sign of the jitter was
10150         wrong in the docs. Fixes #349943.
10151
10152         * gst/gstclock.c:
10153         Fix the docs for the jitter.
10154
10155         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
10156         (gst_event_parse_tag), (gst_event_new_buffer_size),
10157         (gst_event_parse_buffer_size), (gst_event_parse_qos),
10158         (gst_event_new_seek), (gst_event_parse_seek),
10159         (gst_event_new_navigation):
10160         Make sure the GstStructure has no parent when creating custom
10161         events.
10162         Add some more argument checking so that we avoid 0.0 rates.
10163         Flesh out the docs for the QoS event some more.
10164
10165 2006-08-11  Wim Taymans  <wim@fluendo.com>
10166
10167         * docs/gst/gstreamer-sections.txt:
10168         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10169         (ensure_current_registry_forking), (ensure_current_registry),
10170         (parse_one_option), (parse_goption_arg), (gst_deinit),
10171         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
10172         * gst/gst.h:
10173         Doc updates.
10174         Added API and command line option to disable registry forking in
10175         addition to the environment variable.
10176         Constify some static arrays.
10177         Added some more debug.
10178         Don't deinit twice.
10179         API: gst_registry_fork_is_enabled()
10180         API: gst_registry_fork_set_enabled()
10181         API: --gst-disable-registry-fork command line option
10182         Fixes #348918.
10183
10184 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
10185
10186         * gst/gst.c: (gst_init):
10187           Fix typo in error message.
10188
10189 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
10190
10191         * libs/gst/controller/gstcontroller.h:
10192           fix ABI size-correction
10193
10194         * tests/check/libs/gdp.c: (gst_dp_suite):
10195           make tests that use deprecated API conditional
10196
10197 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
10198
10199         * docs/libs/gstreamer-libs-sections.txt:
10200         * libs/gst/controller/gstcontroller.c:
10201         (_gst_controller_get_property), (_gst_controller_set_property),
10202         (_gst_controller_init), (_gst_controller_class_init):
10203         * libs/gst/controller/gstcontroller.h:
10204         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
10205         (gst_object_set_control_rate):
10206           API: add gst_object_{s,g}et_control_rate(), add private data section,
10207           fix docs
10208
10209         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10210         * libs/gst/dataprotocol/dataprotocol.h:
10211           add deprecation guards to make gtk-doc happy and allow disabling cruft
10212
10213 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10214
10215         * tests/check/Makefile.am:
10216         * tests/check/gst/.cvsignore:
10217           Let's enable the new unit test as well.
10218
10219 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10220
10221         * configure.ac:
10222         * docs/gst/gstreamer-sections.txt:
10223         * gst/gstconfig.h.in:
10224         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
10225         (_gst_info_printf_extension_ptr),
10226         (_gst_info_printf_extension_segment):
10227           API: add GST_SEGMENT_FORMAT, which is a printf extension we
10228           register that lets us easily dump GstSegments into debug
10229           logs (#350419).
10230
10231         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
10232         (info_segment_format_printf_extension), (gst_info_suite):
10233           Add simple unit test that logs a bunch of different segments (not
10234           valgrinded at the moment because of leaks in
10235           gst_debug_add_log_function).
10236
10237 2006-08-09  Edward Hervey  <edward@fluendo.com>
10238
10239         * libs/gst/base/gstbasetransform.c:
10240         (gst_base_transform_buffer_alloc):
10241         Even if we can't figure out the proper format to request downstream,
10242         call buffer_alloc() downstream with the input parameters without setting
10243         the caps on the srcpad. This will force negotiation in the chain
10244         function.
10245         Closes #350449
10246
10247 2006-08-08  Edward Hervey  <edward@fluendo.com>
10248
10249         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10250         Unlinking from a pad without a target is now a perfectly valid case
10251         which should NOT raise an assertion.
10252         This case would happen if a linked ghostpad its target set to NULL after
10253         it was previously linked.
10254
10255 2006-08-08  Edward Hervey  <edward@fluendo.com>
10256
10257         * tests/check/libs/gdp.c:
10258         Also comment out the test (see below).
10259
10260 2006-08-08  Edward Hervey  <edward@fluendo.com>
10261
10262         * tests/check/libs/gdp.c: (gst_dp_suite):
10263         Use the architecture information from config.h and not gcc macros
10264         in order to properly disable a test that fails on PPC64.
10265
10266 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
10267
10268         * gst/gstelement.c: (gst_element_remove_pad):
10269           Don't crash printing the warning if the pad has no parent.
10270
10271 2006-08-02  Wim Taymans  <wim@fluendo.com>
10272
10273         * libs/gst/dataprotocol/dataprotocol.c:
10274         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10275         (gst_dp_crc), (gst_dp_header_payload_length),
10276         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
10277         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
10278         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
10279         (gst_dp_event_from_packet), (gst_dp_validate_header),
10280         (gst_dp_validate_payload):
10281         Make debug category static
10282         Constify the crc table.
10283         Do some more arg checking in public functions.
10284         Fix some docs and do some small cleanups.
10285
10286         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
10287         Add some more checks to see if GDP deals with bogus input.
10288
10289 2006-07-31  Wim Taymans  <wim@fluendo.com>
10290
10291         * gst/gstvalue.c: (gst_value_compare_list):
10292         Fix GstValueList comparison code. Fixes #347293.
10293
10294         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10295         Check to test GstValueList comparison.
10296
10297 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
10298
10299         * gst/gstelementfactory.c: (gst_element_factory_create):
10300         Remove unnecessary ref/unref pair
10301
10302         * gst/parse/grammar.y:
10303         Make sure to free the parse buffer on all code paths.
10304         Move a g_free up to the error handler where it's easier to see.
10305
10306         * tests/check/gst/gstevent.c: (test_event):
10307         Extending timeout for downstream travelling events to 10 seconds to
10308         hopefully avoid intermittent failure on the buildbots.
10309
10310         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
10311         Don't manually set the state of the src element - it will happen as a
10312         natural consequence of the pipeline changing state, and that way it
10313         will do it in the right order too.
10314
10315 2006-07-31  Wim Taymans  <wim@fluendo.com>
10316
10317         * libs/gst/base/gstbasetransform.c:
10318         (gst_base_transform_buffer_alloc):
10319         Use OBJECT_LOCK and refcounting to get the pad caps in the
10320         buffer_alloc function because the caps could change while we are
10321         busy with them. Fixes #349105
10322
10323 2006-07-31  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
10326         Protect _PAD_CAPS with OBJECT_LOCK.
10327
10328 2006-07-31  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10331         (gst_pad_get_property), (gst_pad_activate_pull),
10332         (gst_pad_activate_push), (gst_pad_set_blocked_async),
10333         (gst_pad_set_activate_function),
10334         (gst_pad_set_activatepull_function),
10335         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
10336         (gst_pad_set_getrange_function),
10337         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
10338         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10339         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
10340         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
10341         (gst_pad_set_acceptcaps_function),
10342         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10343         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
10344         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
10345         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
10346         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
10347         (gst_pad_configure_sink), (gst_pad_configure_src),
10348         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
10349         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
10350         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
10351         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
10352         (gst_pad_send_event):
10353         Use _DEBUG_OBJECT when it makes sense.
10354         Protect GST_PAD_CAPS with the OBJECT_LOCK.
10355         Small cleanups and code reflows.
10356         Avoid caps refcounting in _accept_caps.
10357         Refactor alloc_buffer so that the code performed on the peer is in a
10358         separate function. Also if the pad does not implement a buffer alloc
10359         function, we should still check if the pad is flushing before falling
10360         back to the default allocator.
10361
10362 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
10363
10364         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10365         Make all uses of identity and fakesink have silent=true to avoid
10366         serialising every passing data structure, which is breaking tests
10367         on FC4 for some unknown reason.
10368
10369 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
10370
10371         * gst/parse/Makefile.am:
10372         * gst/parse/grammar.y:
10373         * gst/parse/parse.l:
10374           Reverted previous patch as it required to bump the flex dependency to
10375           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
10376
10377 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
10378
10379         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
10380
10381         * gst/parse/Makefile.am:
10382         * gst/parse/grammar.y:
10383         * gst/parse/parse.l:
10384           push & pop the state of the lexer for reentrant use case
10385           Fixes #349180
10386
10387 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
10388
10389         * libs/gst/base/gstbasesrc.h:
10390           Note in the docs that the ::newsegment vfunc is not actually used by
10391           GstBaseSrc.
10392
10393 2006-07-28  Wim Taymans  <wim@fluendo.com>
10394
10395         * libs/gst/base/gstcollectpads.c:
10396         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
10397         (gst_collect_pads_clear), (gst_collect_pads_flush),
10398         (gst_collect_pads_event), (gst_collect_pads_chain):
10399         When flushing a pad, also clear the queued buffer so that we don't
10400         accidentally use it when we shouldn't.
10401         Fix leaks by inreffing incomming buffer.
10402         Flush out queued buffers in case of errors.
10403         Fixes #347452.
10404
10405 2006-07-28  Wim Taymans  <wim@fluendo.com>
10406
10407         * docs/random/phonon-gst:
10408         Random notes about a Phonon backend.
10409
10410 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
10411
10412         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10413         Extra debug output
10414         * tests/check/libs/gdp.c: (gst_dp_suite):
10415         Take a whack at fixing the ppc compile using a different define to
10416         disable the broken test.
10417
10418         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10419         Remove excess g_print()
10420
10421 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
10422
10423         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10424         Oops, meant to uncomment this line too to dampen the noise a bit.
10425
10426 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
10427
10428         * gst/parse/grammar.y:
10429         * gst/parse/parse.l:
10430         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10431         (GST_START_TEST), (parse_suite):
10432         Fix some of the leaks exposed by extending the parse-launch testsuite,
10433         and move the 3 I can't figure out into a separate test that won't run
10434         the pipelines unless the appropriate line is uncommented.
10435
10436 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
10437
10438         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10439           Requesting 0 bytes before the end of the file should result in
10440           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
10441           unit test.
10442
10443 2006-07-27  Wim Taymans  <wim@fluendo.com>
10444
10445         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
10446         Fix useless assert, a uint is always positive.
10447
10448         * gst/gststructure.c: (gst_structure_nth_field_name),
10449         (gst_structure_foreach), (gst_structure_map_in_place):
10450         Check input arguments for public functions to avoid obvious crashes.
10451
10452         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
10453         * plugins/elements/gstfakesink.h:
10454         Do less useless typechecking.
10455
10456 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
10457
10458         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10459           Do not use mmap() by default since there are a number of error
10460           conditions that we would like to handle in a non-fatal way that
10461           will result in a SIGBUS if we use mmap(). Examples: external
10462           devices (USB harddrive, portable music player) being unplugged
10463           while in use; file on mounted CD/DVD that can't be read because
10464           the medium is partly damaged. Fixes #348455 and #348475.
10465
10466 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
10467
10468         * gst/gstquery.h:
10469         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
10470         rates are a gdouble
10471
10472 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
10473
10474         * gst/gstregistry.c:
10475           Move big documentation comment into class section header, so that it
10476           appears in the API docs.
10477
10478 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
10479
10480         * docs/gst/gstreamer-sections.txt:
10481         Oops. Commit the docs additions too for new API.
10482         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
10483
10484 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
10485
10486         * gst/gststructure.c: (gst_structure_id_set),
10487         (gst_structure_id_set_valist):
10488         * gst/gststructure.h:
10489         Add API for setting values into structures without performing
10490         a quark lookup, if the appropriate quark is already known.
10491
10492         API: gst_structure_id_set
10493         API: gst_structure_id_set_valist
10494
10495         * gst/parse/grammar.y:
10496         * gst/parse/parse.l:
10497         Remove some dead code shown by the coverage information.
10498         Don't throw a critical g_warning when encountering a syntax error,
10499         just warn and let the normal error path handle it.
10500
10501         * plugins/elements/gstelements.c:
10502         Bump the rank of filesink up to PRIMARY so that it is preferred over
10503         gnomevfssink for file:// sink uri's
10504
10505         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10506         (GST_START_TEST), (run_delayed_test),
10507         (gst_parse_test_element_base_init),
10508         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
10509         (gst_parse_test_element_change_state),
10510         (gst_register_parse_element), (parse_suite):
10511         Beef up the tests for parse syntax to check that more error cases
10512         fail as they are supposed to. Increases the test coverage a bit.
10513
10514 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
10515
10516         * docs/manual/basics-elements.xml:
10517           Fix gst_element_link() example.
10518
10519         * gst/gstutils.c:
10520           Mention in API docs that one should usually gst_bin_add()
10521           elements to a bin or pipeline before doing the linking.
10522           
10523 2006-07-26  Wim Taymans  <wim@fluendo.com>
10524
10525         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
10526         (gst_subbuffer_get_type), (gst_buffer_create_sub):
10527         Avoid function call for known types by keeping the buffer and
10528         subbuffer GType global.
10529
10530         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10531         Random silly optimisations in read() path.
10532
10533 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
10534
10535         * tools/gst-launch.c: (main):
10536           If the top-level of the parse is a normal bin, it doesn't do the
10537           right logic to run as a top-level element, so place it inside a
10538           pipeline.
10539
10540 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
10541
10542         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
10543           Remove superfluous g_object_notify() calls, GObject does
10544           that for us automatically.
10545
10546 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
10547
10548         * gst/gstinfo.h:
10549           on Win32, use dllspec to export the debug category symbols
10550
10551 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         * gst/gsttaglist.c: (_gst_tag_initialize):
10554           Allow more than one GST_TAG_IMAGE per taglist.
10555
10556 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10557
10558         * gst/gstminiobject.c:
10559           update docs
10560         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
10561         (gst_fd_src_create):
10562           log recurring events at LOG level
10563           add more debug for when the fd gets set
10564
10565 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
10566
10567         * gst/gstparse.c: (gst_parse_launch):
10568           Also remove reentrance checks if flex is MT safe (#348179)
10569          Fix my empty ChangeLog entry below
10570
10571 2006-07-21  Andy Wingo  <wingo@pobox.com>
10572
10573         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
10574
10575         * libs/gst/check/Makefile.am
10576         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
10577         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
10578         * libs/gst/check/gstbufferstraw.h:
10579         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
10580         functions, thus proving I am still a GStreamer haxor. OK I wrote
10581         them a long time ago, but anyways.
10582
10583 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
10584
10585         * configure.ac:
10586         * gst/gstparse.c: (gst_parse_launch):
10587           Check for flex version and omit mutex if we have a MT save flex
10588           (fixes #348179)
10589
10590 2006-07-21  Wim Taymans  <wim@fluendo.com>
10591
10592         * gst/gstparse.c: (gst_parse_launch):
10593         Protect recursive calls to _parse with a recursive mutex
10594         and busy flag.
10595
10596 2006-07-21  Wim Taymans  <wim@fluendo.com>
10597
10598         * tests/check/gst/gstpad.c: (GST_START_TEST):
10599         Fix leak in test.
10600
10601 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
10602
10603         * gst/gstparse.c: (gst_parse_launch):
10604           Do not hang on recursive usage of gst_parse_launch()
10605
10606 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
10607
10608         * gst/gsttaglist.c:
10609           Add some more docs, comments and FIXME 0.11s here and there
10610           and also fix some typos.
10611
10612 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
10613
10614         * gst/gstsegment.h:
10615           Convert tabs to spaces for better readability. 
10616
10617 2006-07-20  Edward Hervey  <edward@fluendo.com>
10618
10619         * tests/check/libs/gdp.c: (gst_dp_suite):
10620         the test_buffer test fails at line 140 on ppc64 at the following
10621         check:
10622         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
10623                 GST_BUFFER_FLAG_IN_CAPS),
10624                 "GST_BUFFER_IN_CAPS flag should have been copied !");
10625         See bug #348114 for more details.
10626
10627 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
10628
10629         * docs/pwg/advanced-scheduling.xml:
10630         * gst/gstpad.c:
10631           Fix typos (#348000).
10632
10633 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
10634
10635         * docs/pwg/intro-basics.xml:
10636           Fix wrong links (#347927).
10637
10638 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
10639
10640         * gst/gstregistry.h:
10641         * gst/gstregistryxml.c: (load_feature),
10642         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
10643         * win32/common/config.h:
10644           make --disable-index work (#342564)
10645
10646 2006-07-18  Wim Taymans  <wim@fluendo.com>
10647
10648         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10649
10650         * gst/Makefile.am:
10651         * gst/gsttrace.h:
10652         The attached patch adds two missing defines to gsttrace.h when tracing
10653         is disabled.  It also corrects one existing define.
10654         Fixes #347756.
10655
10656 2006-07-17  Wim Taymans  <wim@fluendo.com>
10657
10658         * docs/gst/gstreamer-sections.txt:
10659         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
10660         * gst/gst.h:
10661         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
10662         Add two functions to check and change the SIGSEGV behaviour
10663         when loading plugins.
10664         Don't mess with the SIGSEGV handler when we were told not to.
10665         Fixes #347794.
10666         API: gst_segtrap_is_enabled
10667         API: gst_segtrap_set_enabled
10668
10669 2006-07-14  Wim Taymans  <wim@fluendo.com>
10670
10671         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10672         * tests/check/elements/filesrc.c: (GST_START_TEST):
10673         Revert fix for regression in #347408 after release.
10674
10675 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
10676
10677         Patch by: Antoine Tremblay <hexa00 at gmail com>
10678
10679         * gst/gstutils.c: (gst_element_unlink):
10680           Free iterator when done (#347311).
10681
10682         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10683           And add a test case for this.
10684
10685 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
10686
10687         * configure.ac:
10688         Bump nano back to CVS
10689
10690 === release 0.10.9 ===
10691
10692 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
10693
10694         * configure.ac:
10695           releasing 0.10.9, "On the road again"
10696
10697 2006-07-13  Wim Taymans  <wim@fluendo.com>
10698
10699         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10700         * tests/check/elements/filesrc.c: (GST_START_TEST):
10701         Revert pull-0 fix for release. Disable check. Fixes #347408.
10702
10703 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10704
10705         * libs/gst/dataprotocol/dataprotocol.c:
10706         (gst_dp_event_from_packet_1_0):
10707           Fixes #347337: failure to deserialize event packets with
10708           empty payload (only event type)
10709
10710 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10711
10712         * gst/Makefile.am:
10713           do not install a .c file in the header directory
10714
10715 2006-07-13  Edward Hervey  <edward@fluendo.com>
10716
10717         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10718         GhostPad no longer implicitely use the padtemplates of the targets.
10719         Fixes #347384
10720
10721 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
10722
10723         * gst/gstvalue.c: (gst_value_compare_list),
10724         (gst_value_compare_array), (_gst_value_initialize):
10725         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10726         Make GstValueArray comparison be order dependent as designed.
10727         Add checks for value lists and value array comparisons.
10728         Fixes #347221
10729
10730 2006-07-11  Edward Hervey  <edward@fluendo.com>
10731
10732         * gst/gstbin.c: (activate_pads),
10733         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
10734         (gst_bin_change_state_func):
10735         (de)activate src pads before calling state_change on the childs.
10736         This is to avoid the case where a src ghostpad is blocked (holding the
10737         stream lock), which would block the deactivation of the ghostpad's
10738         target pad.
10739         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
10740         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
10741         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
10742         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10743         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10744         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10745         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10746         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
10747         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
10748         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10749         (gst_ghost_pad_class_init),
10750         (gst_ghost_pad_internal_do_activate_push),
10751         (gst_ghost_pad_internal_do_activate_pull),
10752         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10753         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10754         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
10755         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
10756         GhostPads now create their internal GstProxyPad at creation (and not
10757         when they're linked, as it was being done previously).
10758         The internal and target pads are linked straight away.
10759         The data will also travel through the other pad in order to make
10760         pad blocking and probes non-hackish (the probe/block now really happens
10761         on the GhostPad and not on the target).
10762         * gst/gstpad.c: (gst_pad_set_blocked_async),
10763         (gst_pad_link_prepare), (gst_pad_push_event):
10764         Remove previous ghostpad cruft.
10765         * gst/gstutils.c: (gst_pad_add_data_probe),
10766         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10767         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10768         (gst_pad_remove_buffer_probe):
10769         Remove previous ghost pad cruft.
10770         Added more detailed debug statements.
10771         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10772         Fix the testsuite for refcounting changes.
10773         The comments about who has references were correct, but the refcount
10774         being checked wasn't the same (!?!).
10775
10776         Fixes #341029
10777
10778 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
10779
10780         * docs/gst/gstreamer-sections.txt:
10781         * gst/gstconfig.h.in:
10782         More docs for configuration options, add docs to gtk-doc.
10783
10784 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
10785
10786         * gst/Makefile.am:
10787         * gst/gstconfig.h.in:
10788         * win32/common/config.h:
10789         Fix build when disabling tracing (fixes #344016). Also start to document
10790         the defines that disable the sub-systems.
10791
10792 2006-07-10  Edward Hervey  <edward@fluendo.com>
10793
10794         * gst/gst.c: (ensure_current_registry_forking):
10795         let's make valgrind happy...
10796
10797 2006-07-09  Wim Taymans  <wim@fluendo.com>
10798
10799         * gst/gstelement.c: (activate_pads),
10800         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10801         Better pad activation code: Reset the collect value too on resync.
10802         Add some comments.
10803
10804 2006-07-09  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
10807         (gst_pad_activate_push):
10808         Use some more macros where it makes sense.
10809         Allow pad mode switching instead of asserting. When a pad
10810         is activated in one mode and we activate it in another, 
10811         deactivate it first before activating it in a different mode.
10812         Fixes #329198.
10813
10814 2006-07-08  Andy Wingo  <wingo@pobox.com>
10815
10816         * tools/gst-launch.c (main): Handle err == NULL.
10817
10818         * gst/gst.c (init_post, ensure_current_registry)
10819         (ensure_current_registry_forking)
10820         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
10821         factoring out the registry scanning into separate functions. Don't
10822         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10823         Better environment var name/interface suggestions accepted.
10824
10825 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10826
10827         * gst/gstobject.c: (gst_object_set_name_default),
10828         (gst_object_set_name):
10829           Random micro-optimisation: don't use a hash table
10830           with strings as keys and the usual strdup/strcmp
10831           involved, but rather just use the GQuark of the
10832           type name as key, since it needs to be looked up
10833           anyway to get the type name string.
10834
10835         * tests/check/gst/gstobject.c: (GST_START_TEST):
10836           Fix various leaks.
10837
10838 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10839
10840         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
10841         (gst_bin_iterate_all_by_interface):
10842           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
10843           GTypes are gulongs and thus the top 4 bytes might be cut
10844           off on some platforms when doing GPOINTER_TO_INT, leading
10845           to invalid GTypes and bad things happening (see RH bug #179654).
10846           Also add a check to make sure the type passed in is really
10847           an interface type.
10848
10849 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10850
10851         * .cvsignore:
10852           Ignore more.
10853
10854 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10855
10856         * Makefile.am:
10857         * configure.ac:
10858         * gst-element-check.m4:
10859         * gst-element-check.m4.in:
10860           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
10861           instead of the unversioned gst-inspect (#324176, #168659).
10862
10863 2006-07-06  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/gstmessage.h:
10866         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
10867         warnings.
10868
10869 2006-07-06  Wim Taymans  <wim@fluendo.com>
10870
10871         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10872         (gst_base_src_wait), (gst_base_src_update_length),
10873         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
10874         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
10875         (gst_base_src_loop), (gst_base_src_start),
10876         (gst_base_src_activate_pull):
10877         Update docs.
10878         blocksize == 0 now means the default blocksize when working in push
10879         based mode.
10880         Remove some pointless asserts in _wait function.
10881         Fix offset/length calculations and EOS handling. We can now pull 0
10882         bytes as well, which is allowed.
10883         use _check_get_range() to decide if we can operate in _pull based
10884         mode.
10885         Fix refcounting leak when check_get_range function was not 
10886         implemented.
10887         API GstBaseSrc::blocksize range can be 0 too now (default)
10888
10889         * tests/check/elements/filesrc.c: (GST_START_TEST),
10890         (filesrc_suite):
10891         Added check to test _get_range() behaviour.
10892
10893 2006-07-06  Wim Taymans  <wim@fluendo.com>
10894
10895         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10896         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
10897         (gst_pad_pull_range):
10898         * gst/gstpad.h:
10899         Lots of comments and docs added to the pad functions.
10900         Flesh out the expected behaviour of the get_range() functions.
10901
10902 2006-07-06  Wim Taymans  <wim@fluendo.com>
10903
10904         * gst/gstbus.h:
10905         * gst/gstclock.h:
10906         * gst/gstevent.h:
10907         * gst/gstiterator.h:
10908         * gst/gstpad.h:
10909         * gst/gstplugin.h:
10910         * gst/gsttask.h:
10911         Remove comma at end of enumerator list. 
10912
10913 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
10914
10915         * win32/common/libgstbase.def:
10916         * win32/common/libgstdataprotocol.def:
10917         * win32/common/libsgtreamer.def:
10918         Add new exported functions.
10919
10920 2006-07-05  Wim Taymans  <wim@fluendo.com>
10921
10922         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
10923         Add some more docs here and there.
10924
10925 2006-07-05  Wim Taymans  <wim@fluendo.com>
10926
10927         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
10928         (gst_base_sink_loop), (gst_base_sink_get_position):
10929         When operating in pull mode update the offset so that we
10930         read sequentially.
10931
10932 2006-07-05  Wim Taymans  <wim@fluendo.com>
10933
10934         * gst/gstregistryxml.c: (read_string):
10935         Avoid strdup. (will happen in libxml, but hey!)
10936
10937         * gst/gsturi.c:
10938         Add some more docs.
10939
10940 2006-07-05  Wim Taymans  <wim@fluendo.com>
10941
10942         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
10943         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
10944         (gst_buffer_suite):
10945         No point in checking if the size of the subbuffer > 0, the
10946         code handles it correclty as demonstrated by unit test.
10947         Also add a unit test for the zero sized _new_and_alloc and
10948         _copy. Fixes #346663.
10949
10950 2006-07-05  Wim Taymans  <wim@fluendo.com>
10951
10952         * libs/gst/base/gstbasetransform.c:
10953         (gst_base_transform_prepare_output_buffer),
10954         (gst_base_transform_buffer_alloc),
10955         (gst_base_transform_handle_buffer):
10956         Make sure the buffer we pass to transform_ip has a refcount of
10957         1 and thus is writable. Fixes #343196
10958
10959 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
10960
10961         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10962         (gst_file_src_init), (gst_file_src_set_property),
10963         (gst_file_src_get_property), (gst_file_src_map_region):
10964         * plugins/elements/gstfilesrc.h:
10965         Add "sequential" property, off by default, to use madvise and hint
10966         to the kernel that sequential access is desired.
10967         Touch all retrieved pages by default to ensure they are pulled
10968         into memory. (Closes #345720)
10969
10970 2006-07-03  Wim Taymans  <wim@fluendo.com>
10971
10972         * docs/design/part-block.txt:
10973         * docs/design/part-dynamic.txt:
10974         Small docs updates.
10975
10976 2006-07-03  Wim Taymans  <wim@fluendo.com>
10977
10978         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
10979         (gst_caps_unref), (gst_static_caps_get),
10980         (gst_caps_append_structure):
10981         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
10982         Use GSlice when the glib we build against is >= 2.10
10983
10984 2006-07-03  Wim Taymans  <wim@fluendo.com>
10985
10986         * gst/gstelement.c: (gst_element_pads_activate):
10987         Small cleanup in pad activation code.
10988
10989 2006-07-03  Wim Taymans  <wim@fluendo.com>
10990
10991         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10992
10993         * gst/gst-i18n-app.h:
10994         * gst/gst-i18n-lib.h:
10995         * tools/gst-inspect.c: (print_signal_info):
10996         The attached patch will make the inclusion of gettext.h unconditional in
10997         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10998         libintl.h in tools/gst-inspect.c.
10999         This allows use of --disable-nls again and fixes #344642.
11000
11001 2006-07-03  Edward Hervey  <edward@fluendo.com>
11002
11003         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
11004         Implement pad blocking on events according to part-block.txt.
11005         More comments on behaviour.
11006         * tests/check/gst/gstevent.c: (test_event):
11007         Send event to peer pad of blocked pad (else it will block).
11008
11009 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11010
11011         * libs/gst/check/gstcheck.c: (gst_check_message_error),
11012         (gst_check_run_suite):
11013           if we get the wrong message, give us the types as string
11014         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11015           Fix a translatable
11016         * tests/check/elements/filesrc.c: (GST_START_TEST):
11017           add a test for trying to open a non-existing file
11018
11019 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11022           add a test for adding self
11023
11024 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11025
11026         * libs/gst/check/gstcheck.h:
11027           add some assert_ as alias for fail_unless_*
11028         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
11029           increase test coverage
11030
11031 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11032
11033         * Makefile.am:
11034           include lcov.mak for lcov coverage generation
11035         * tools/Makefile.am:
11036           add to CLEANFILES
11037
11038 2006-07-02  Edward Hervey  <edward@fluendo.com>
11039
11040         * tests/check/elements/.cvsignore:
11041         moaping
11042
11043 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11044
11045         * configure.ac:
11046           don't set CFLAGS and friends for gcov, done from GST_GCOV now
11047         * tests/check/Makefile.am:
11048           clean up gcov files
11049
11050 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
11053           remove gst_caps_simplify; it was not declared and not used
11054           and deprecated in 0.8
11055
11056 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11057
11058         * docs/faq/gst-uninstalled:
11059           don't put empty paths on PYTHONPATH
11060         * docs/gst/gstreamer-sections.txt:
11061           remove some symbols that are not there
11062
11063 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * gst/gstcaps.c: (gst_caps_compare_structures):
11066           whitespace fixes
11067         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11068         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11069           add more tests
11070
11071 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11072
11073         * libs/gst/dataprotocol/Makefile.am:
11074           build dataprotocol test by linking to the lib, instead of
11075           compiling the source, so we get coverage
11076         * tests/check/Makefile.am:
11077         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
11078         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
11079           add a test for filesrc
11080
11081 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * tests/check/gst/gststructure.c: (GST_START_TEST),
11084         (gst_structure_suite):
11085           Push coverage from 59.04% to 70.00%
11086
11087 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * tests/check/Makefile.am:
11090           gst-inspect every element; this makes sure that we also get
11091           coverage on element's get/set functions
11092
11093 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11094
11095         * configure.ac:
11096           set CFLAGS and friends to -O0 if gcov is being used
11097           add GCOV LIBS
11098         * gst/Makefile.am:
11099         * libs/gst/base/Makefile.am:
11100         * libs/gst/check/Makefile.am:
11101         * libs/gst/controller/Makefile.am:
11102         * libs/gst/dataprotocol/Makefile.am:
11103         * libs/gst/net/Makefile.am:
11104         * plugins/elements/Makefile.am:
11105         * plugins/indexers/Makefile.am:
11106           add makefile rules to generate gcov data and clean up
11107         * tests/check/Makefile.am:
11108           add a coverage target that generates an html overview
11109           of coverage data
11110
11111 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * tests/check/elements/fakesink.c:
11114         * tests/check/elements/fakesrc.c:
11115         * tests/check/elements/fdsrc.c:
11116         * tests/check/elements/identity.c:
11117         * tests/check/generic/sinks.c: (gst_sinks_suite):
11118         * tests/check/generic/states.c:
11119         * tests/check/gst/gst.c:
11120         * tests/check/gst/gstabi.c:
11121         * tests/check/gst/gstbin.c:
11122         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
11123         * tests/check/gst/gstbus.c: (gst_bus_suite):
11124         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11125         * tests/check/gst/gstelement.c:
11126         * tests/check/gst/gstevent.c: (gst_event_suite):
11127         * tests/check/gst/gstghostpad.c:
11128         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
11129         * tests/check/gst/gstmessage.c: (gst_message_suite):
11130         * tests/check/gst/gstminiobject.c:
11131         * tests/check/gst/gstobject.c:
11132         * tests/check/gst/gstpad.c:
11133         * tests/check/gst/gstpipeline.c:
11134         * tests/check/gst/gstplugin.c:
11135         * tests/check/gst/gstquery.c: (gst_query_suite):
11136         * tests/check/gst/gstsegment.c: (gst_segment_suite):
11137         * tests/check/gst/gststructure.c:
11138         * tests/check/gst/gstsystemclock.c:
11139         * tests/check/gst/gsttag.c:
11140         * tests/check/gst/gsttask.c: (gst_task_suite):
11141         * tests/check/gst/gstutils.c:
11142         * tests/check/gst/gstvalue.c:
11143         * tests/check/libs/adapter.c:
11144         * tests/check/libs/basesrc.c:
11145         * tests/check/libs/collectpads.c:
11146         * tests/check/libs/controller.c:
11147         * tests/check/libs/gdp.c: (gst_dp_suite):
11148         * tests/check/libs/gstnetclientclock.c:
11149         * tests/check/libs/gstnettimeprovider.c:
11150         * tests/check/libs/libsabi.c: (libsabi_suite):
11151         * tests/check/libs/typefindhelper.c:
11152         * tests/check/pipelines/cleanup.c:
11153         * tests/check/pipelines/parse-launch.c:
11154         * tests/check/pipelines/simple-launch-lines.c:
11155         * tests/check/pipelines/stress.c: (stress_suite):
11156           use the new macro
11157
11158 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
11161         * libs/gst/check/gstcheck.h:
11162           create a macro and function so that the simple unit test
11163           case can be just one macro to create main()
11164
11165 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
11166
11167         * gst/gstbin.c: (gst_bin_restore_thyself):
11168         * gst/gstxml.c: (gst_xml_make_element):
11169           Fix deserialisation from XML. Set parent manually
11170           instead of using gst_bin_add(), since gst_bin_add()
11171           will unlink all pads of the element being added.
11172           Fixes #341667.
11173
11174 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
11175
11176         Patch by: Peter Kjellerstedt <pkj at axis com>
11177
11178         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
11179           Fix missing g_strdup() and double free when using the
11180           --gst-plugin-load command line option (#346097).
11181
11182 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
11183
11184         * gst/gstinfo.c:
11185           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
11186
11187         * libs/gst/net/gstnetclientclock.c:
11188         * libs/gst/net/gstnettimeprovider.c:
11189           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
11190
11191 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
11192
11193         * docs/manual/advanced-dataaccess.xml:
11194           Fix buffer probe example compilation in
11195           ADM (#345708).
11196         
11197 2006-06-22  Edward Hervey  <edward@fluendo.com>
11198
11199         * gst/gstelement.c: (gst_element_pads_activate):
11200         We need to deactivate src pads first and then sink pads.
11201         The reason is the src pads might be blocking while holding the streaming
11202         lock, so we need to deactivate them first so that deactivating the sink
11203         pads doesn't block (since it will require the streaming lock).
11204
11205 2006-06-22  Wim Taymans  <wim@fluendo.com>
11206
11207         * libs/gst/base/gstbasetransform.c:
11208         (gst_base_transform_buffer_alloc):
11209         Forgot to remove two unneeded unrefs.
11210         Simplify a check _is_equal allready checks the obvious case.
11211
11212 2006-06-22  Wim Taymans  <wim@fluendo.com>
11213
11214         * docs/design/part-block.txt:
11215         Some docs about what pad_block should do.
11216
11217 2006-06-22  Wim Taymans  <wim@fluendo.com>
11218
11219         * gst/gstcaps.c: (gst_caps_replace):
11220         Fix crasher when passed NULL. Doc clarification.
11221         Optimize for the trivial case.
11222
11223         * gst/gstpipeline.c: (gst_pipeline_change_state):
11224         Small cleanups.
11225
11226         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11227         Small documentation cleanup.
11228
11229         * libs/gst/base/gstbasetransform.c:
11230         (gst_base_transform_buffer_alloc):
11231         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
11232         is what we need and it avoids a whole lot of redundant 
11233         refcount operations.
11234
11235 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
11236
11237         Patch by: Philip Jägenstedt  <philip at lysator liu se>
11238
11239         * docs/manual/advanced-dataaccess.xml:
11240           Fix 'Embedding static elements' section to use
11241           GST_PLUGIN_DEFINE_STATIC (#345607).
11242
11243 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
11244
11245         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
11246           Attempt to 'fix' spuriously failing test case: it seems like the
11247           timeout of half a second is simply too small when the system is under
11248           load otherwise, and the timeout doesn't really seem to serve any
11249           particular purpose here. Give the pipeline a few seconds to preroll
11250           first, and then give it another half a second to go from PAUSED to
11251           PLAYING and marshal the message into the main thread.
11252
11253 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
11254
11255         * tools/gst-feedback-m.m:
11256           Don't only use unversioned tools, try versioned tools as well
11257           (#345086).
11258
11259 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
11260
11261         * gst/gstbus.c: (gst_bus_class_init):
11262           Fix some typos, make docs more explicit.
11263
11264 2006-06-20  Wim Taymans  <wim@fluendo.com>
11265
11266         * tests/check/gst/gstghostpad.c: (block_callback),
11267         (GST_START_TEST), (gst_ghost_pad_suite):
11268         Added some more ghostpad tests, mainly blocking
11269         and probes.
11270
11271 2006-06-16  Wim Taymans  <wim@fluendo.com>
11272
11273         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11274         (gst_file_sink_close_file), (gst_file_sink_do_seek),
11275         (gst_file_sink_event), (gst_file_sink_render):
11276         * plugins/elements/gstfilesink.h:
11277         Check if we can seek in the file instead of assuming
11278         we always can. Post an error when we are asked to seek in a
11279         non-seekable file (like a fifo). Fixes #343312.
11280         Some cleanups.
11281
11282 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
11283
11284         * tools/gst-launch.1.in:
11285           Un-garble (fourcc) bit in filtered caps section.
11286
11287 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
11288
11289         * docs/manual/advanced-autoplugging.xml:
11290         * docs/manual/basics-helloworld.xml:
11291         * docs/manual/highlevel-components.xml:
11292           Don't leak bus reference in sample code.
11293
11294 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
11295
11296         * autogen.sh:
11297           Add default for new --enable-plugin-docs switch.
11298
11299         * configure.ac:
11300           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
11301           Fixes #344039.
11302
11303         * docs/Makefile.am:
11304           Use new ENABLE_PLUGIN_DOCS conditional.
11305
11306 2006-06-14  Wim Taymans  <wim@fluendo.com>
11307
11308         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
11309         Make it clear with a FIXME and a real define what the #if 0
11310         previously disabled.
11311
11312 2006-06-14  Wim Taymans  <wim@fluendo.com>
11313
11314         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11315         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11316         * libs/gst/base/gstbasetransform.c:
11317         (gst_base_transform_sink_eventfunc):
11318         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11319         Don't randomly and silently reset a segment when the format 
11320         changes as this is a bug somewhere upstream. Fixes #330379.
11321
11322 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
11323
11324         Patch by: Wouter Paesen  <wouter at kangaroot net>
11325
11326         * libs/gst/controller/gstcontroller.c:
11327         (gst_controlled_property_new):
11328           Fix controlling of float properties (#344849).
11329
11330         * tests/check/libs/controller.c:
11331         (gst_test_mono_source_get_property),
11332         (gst_test_mono_source_set_property),
11333         (gst_test_mono_source_class_init), (GST_START_TEST):
11334           While we're at it, add some float stuff to unit test.
11335
11336 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * docs/README:
11339         * docs/images/gdp-header.svg:
11340           add a gdp image
11341         * docs/libs/Makefile.am:
11342         * docs/libs/gdp-header.png:
11343         * libs/gst/dataprotocol/dataprotocol.c:
11344           add it to the API docs
11345         * docs/manual/intro-motivation.xml:
11346           fix typo
11347
11348 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
11349
11350         * gst/gst.c: (scan_and_update_registry), (init_post):
11351           If the fork()'ed child process can't write the updated registry cache
11352           file to disk for some reason, make it exit with a failure exit code,
11353           so that the parent can then re-scan the plugins itself and update the
11354           registry structures in memory and work with that (rather than failing
11355           when creating elements because seemingly no plugins are available).
11356           Refactor registry scanning code into separate function for this and
11357           also separate fork() and non-fork() code paths. Fixes #344748.
11358
11359 2006-06-13  Wim Taymans  <wim@fluendo.com>
11360
11361         * docs/manual/advanced-dataaccess.xml:
11362         Fix wrong PluginDesc. Fixes #344755.
11363
11364 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
11365
11366         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11367           Fix silly bug that prevented us from creating
11368           ~/.gstreamer-0.10 and writing the registry in one
11369           go (the first call to g_mkstemp() would overwrite the
11370           placeholder in the template string, so the second call
11371           to g_mkstemp() after creating the missing directory
11372           would then error out with 'invalid argument').
11373
11374 2006-06-13  Edward Hervey  <edward@fluendo.com>
11375
11376         * gst/gst.c: (init_post):
11377         Free string.
11378
11379 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11380
11381         * gst/glib-compat-private.h:
11382         * gst/glib-compat.c:
11383         * gst/glib-compat.h:
11384         * gst/gstvalue.c: (gst_value_serialize_flags):
11385           remove GLib 2.6 compatibility code
11386
11387 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
11388
11389         * gst/parse/Makefile.am:
11390           Fix build with 'make -j N' even more (#340016).
11391
11392 2006-06-12  Wim Taymans  <wim@fluendo.com>
11393
11394         * docs/gst/gstreamer-sections.txt:
11395         Fix docs.
11396
11397 2006-06-12  Wim Taymans  <wim@fluendo.com>
11398
11399         * gst/gstsegment.c: (gst_segment_set_duration),
11400         (gst_segment_set_last_stop), (gst_segment_set_seek),
11401         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11402         (gst_segment_to_running_time), (gst_segment_clip):
11403         Use G_UNLIKELY to help the compiler a bit.
11404
11405 2006-06-12  Wim Taymans  <wim@fluendo.com>
11406
11407         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11408
11409         * gst/gstevent.c: (gst_event_get_type):
11410         * gst/gstmessage.c:
11411         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11412         (gst_pad_push):
11413         constify quark registration strings. Fixes #344115
11414         Avoid unneeded type checking is _pad_push() by internally
11415         calling gst_pad_chain_unchecked().
11416
11417 2006-06-12  Wim Taymans  <wim@fluendo.com>
11418
11419         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
11420         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
11421         (gst_subbuffer_finalize), (gst_buffer_create_sub),
11422         (gst_buffer_is_span_fast), (gst_buffer_span):
11423         Init _type for consistency.
11424         Use _FLAGS macro to avoid type check.
11425         Avoid unneeded type checks in subbufer code.
11426
11427 2006-06-12  Wim Taymans  <wim@fluendo.com>
11428
11429         * gst/gst.c: (gst_debug_help):
11430         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
11431         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
11432         (gst_plugin_feature_list_free):
11433         * gst/gstregistry.c: (gst_registry_add_plugin),
11434         (gst_registry_add_feature), (gst_registry_plugin_filter),
11435         (gst_registry_feature_filter), (gst_registry_find_plugin),
11436         (gst_registry_find_feature), (gst_registry_get_plugin_list),
11437         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
11438         * gst/gstregistryxml.c: (load_feature),
11439         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
11440         * gst/gstminiobject.c: (gst_mini_object_unref),
11441         (gst_mini_object_replace), (gst_value_mini_object_free),
11442         (gst_value_mini_object_copy):
11443         Use _CAST macros to avoid unneeded type checking.
11444         Added some more G_UNLIKELY.
11445
11446 2006-06-12  Wim Taymans  <wim@fluendo.com>
11447
11448         * gst/gstbuffer.h:
11449         Avoid unneeded type checking.
11450         API: GST_BUFFER_IS_DISCONT
11451
11452         * gst/gstminiobject.h:
11453         Avoid type check in flag accessor.
11454
11455         * gst/gstelementfactory.h:
11456         * gst/gstplugin.h:
11457         * gst/gstpluginfeature.h:
11458         Add _CAST macros.
11459         API: GST_ELEMENT_FACTORY_CAST
11460         API: GST_PLUGIN_CAST
11461         API: GST_PLUGIN_FEATURE_CAST
11462
11463 2006-06-12  Wim Taymans  <wim@fluendo.com>
11464
11465         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
11466         (gst_object_unref):
11467         Add G_UNLIKELY in type registration.
11468         Avoid type check in _ref/_unref since that is also
11469         done in glib.
11470
11471 2006-06-12  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/gsterror.c: (gst_g_error_get_type):
11474         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11475         (gst_static_pad_template_get_type):
11476         * gst/gsttaglist.c: (gst_tag_list_get_type):
11477         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
11478         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
11479         * gst/gsturi.c: (gst_uri_handler_get_type):
11480         * gst/gstvalue.c: (gst_date_get_type):
11481         * gst/gstxml.c: (gst_xml_get_type):
11482         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
11483         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11484         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
11485         Add G_UNLIKELY in type registration.
11486
11487 2006-06-12  Wim Taymans  <wim@fluendo.com>
11488
11489         * tools/gst-inspect.c: (print_signal_info):
11490         Properly print enum values.
11491
11492 2006-06-12  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/gstinfo.c: (gst_debug_set_active),
11495         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
11496         * gst/gstinfo.h:
11497         Add some G_[UN]LIKELY.
11498         Maintain __gst_debug_min to avoid formatting the arguments of
11499         debug messages that will be dropped anyway to avoid a lot of 
11500         overhead from the debugging system.
11501
11502 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
11503
11504         * po/POTFILES.in:
11505         * po/POTFILES.skip:
11506           add missing files containing translatable strings, tell intltool about
11507           one exception
11508
11509 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
11510
11511         * tests/check/libs/.cvsignore:
11512         add test-binary to ignore list
11513
11514 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
11515
11516         * docs/libs/gstreamer-libs-docs.sgml:
11517         reorder (put dp into a chapter) and indent
11518
11519 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11520
11521         * configure.ac:
11522           back to HEAD
11523
11524 === release 0.10.8 ===
11525
11526 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
11527
11528         * configure.ac:
11529           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
11530
11531 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11532
11533         * gst/gst.c: (init_post):
11534           move pid declaration to declaration block
11535
11536 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11537
11538         * gst/gst.c: (init_post):
11539           use _exit() instead of exit() in our forked child; this ensures
11540           that none of the registered exit handlers from whatever is using
11541           GStreamer get executed.  This fixes gnome-mixer-applet failing
11542           to load, because ORBit would shut down.
11543           Spotted by: Edward Hervey  <edward@fluendo.com>
11544           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
11545           Fixes #344474
11546
11547 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11548
11549         * configure.ac:
11550           back to TRUNK
11551
11552 === release 0.10.7 ===
11553
11554 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
11555
11556         * configure.ac:
11557           releasing 0.10.7, "Soepeke, ik zie ou"
11558
11559 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11560
11561         * configure.ac:
11562         * po/af.po:
11563         * po/az.po:
11564         * po/bg.po:
11565         * po/ca.po:
11566         * po/cs.po:
11567         * po/de.po:
11568         * po/en_GB.po:
11569         * po/fr.po:
11570         * po/it.po:
11571         * po/nb.po:
11572         * po/nl.po:
11573         * po/ru.po:
11574         * po/sq.po:
11575         * po/sr.po:
11576         * po/sv.po:
11577         * po/tr.po:
11578         * po/uk.po:
11579         * po/vi.po:
11580         * po/zh_CN.po:
11581         * po/zh_TW.po:
11582         * win32/common/config.h:
11583           0.10.6.2 prerelease
11584
11585 2006-06-07  Wim Taymans  <wim@fluendo.com>
11586
11587         * gst/gstindex.c: (gst_index_gtype_resolver):
11588         * tools/gst-xmlinspect.c: (print_plugin_info):
11589         Fix leak spotted by coverity checker. Fixes #343827
11590         Fix another other leak found by paolo borelli.
11591
11592 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11593
11594         * libs/gst/dataprotocol/dataprotocol.c:
11595         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11596         (gst_dp_version_get_type), (gst_dp_init),
11597         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
11598         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
11599         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
11600         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
11601         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
11602         (gst_dp_packetizer_free):
11603         * libs/gst/dataprotocol/dataprotocol.h:
11604           API: add a GstDPPacketizer object, and create/free functions
11605           API: add GstDPVersion enum
11606           Add 1.0 event function that uses the string serialization
11607           Serialize more useful buffer flags
11608           Fixes #343988
11609
11610 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * tests/check/Makefile.am:
11613         * tests/check/gst/gstabi.c:
11614         * tests/check/gst/struct_ppc64.h:
11615         * tests/check/libs/libsabi.c:
11616         * tests/check/libs/struct_ppc64.h:
11617           add ppc64 structure sizes
11618
11619 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11620
11621         * tests/check/Makefile.am:
11622         * tests/check/gst/gstabi.c:
11623         * tests/check/gst/struct_x86_64.h:
11624         * tests/check/libs/libsabi.c:
11625         * tests/check/libs/struct_x86_64.h:
11626           generate and add structure size lists for x86_64
11627
11628 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11629
11630         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
11631         * libs/gst/check/gstcheck.h:
11632           factor out the method from tests that checks size of structures,
11633           and add code to generate the header containing these sizes
11634         * tests/check/gst/gstabi.c: (GST_START_TEST):
11635         * tests/check/gst/struct_i386.h:
11636         * tests/check/libs/libsabi.c: (GST_START_TEST):
11637         * tests/check/libs/struct_i386.h:
11638           use it
11639
11640 2006-06-06  Michael Smith  <msmith@fluendo.com>
11641
11642         * gst/gstsegment.h:
11643           Don't use c++-style comments, fixes #343929
11644
11645 2006-06-05  Edward Hervey  <edward@fluendo.com>
11646
11647         * gst/gst.c:
11648         plugin_paths is not used if we build without registry support.
11649
11650         * gst/gstsegment.c: (gst_segment_copy): 
11651         _copy() was always returning NULL...
11652
11653 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11654
11655         * libs/gst/dataprotocol/dataprotocol.c:
11656         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11657         (gst_dp_packet_from_event):
11658           factor out CRC code
11659
11660 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11661
11662         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
11663           make sure we unset caps
11664
11665 2006-06-02  Michael Smith  <msmith@fluendo.com>
11666
11667         * libs/gst/check/gstcheck.c: (gst_check_init),
11668         (gst_check_chain_func):
11669         * libs/gst/check/gstcheck.h:
11670           Add a cond/mutex to the check support lib, signal this whenever we
11671           add to the buffers list. This will allow tests to not busy-wait on
11672           the buffer-list.
11673
11674 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11675
11676         * libs/gst/dataprotocol/dataprotocol.c:
11677         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11678         (gst_dp_packet_from_event):
11679           factor out some common header init code
11680
11681 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11682
11683         * docs/libs/gstreamer-libs-sections.txt:
11684         * docs/libs/tmpl/gstdataprotocol.sgml:
11685         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
11686         * libs/gst/dataprotocol/dataprotocol.h:
11687           API: make gst_dp_crc() public
11688
11689 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
11690
11691         * plugins/indexers/gstindexers.c: (plugin_init):
11692         conditionally register fileindexer (fixes #343598)
11693
11694 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
11695
11696         * gst/gsttagsetter.h:
11697         Can't cast ifaces to a class
11698
11699         * libs/gst/net/gstnetclientclock.h:
11700         * libs/gst/net/gstnettimeprovider.h:
11701         * plugins/elements/gstfakesink.h:
11702         * plugins/elements/gstfakesrc.h:
11703         * plugins/elements/gstfdsink.h:
11704         * plugins/elements/gstfdsrc.h:
11705         * plugins/elements/gstfilesink.h:
11706         * plugins/elements/gstfilesrc.h:
11707         * plugins/elements/gstidentity.h:
11708         * plugins/elements/gstqueue.h:
11709         * plugins/elements/gsttee.h:
11710         * plugins/indexers/gstfileindex.c:
11711         * plugins/indexers/gstmemindex.c:
11712         * tests/old/examples/plugins/example.h:
11713         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
11714
11715 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11716
11717         * libs/gst/dataprotocol/dataprotocol.c:
11718         (gst_dp_header_from_buffer):
11719           make sure we zero the whole ABI-compatible area
11720
11721 2006-06-01  Wim Taymans  <wim@fluendo.com>
11722
11723         Patch by: Alessandro Decina <alessandro at nnva dot org>
11724
11725         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
11726         Make sure the EOS flag is cleared from pads after a flush
11727         or stop. Fixes #343538.
11728
11729         * tests/check/libs/collectpads.c: (GST_START_TEST),
11730         (gst_collect_pads_suite):
11731         Added test for collectpads reusage after EOS.
11732
11733 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
11734
11735         * gst/gst.c:
11736          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
11737         * win32/common/libgstbase.def:
11738          export gst_collect_pads_set_flushing
11739         * win32/common/libgstreamer.def:
11740          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
11741          gst_value_fraction_multiply
11742         * win32/vs6/gst_inspect.dsp:
11743          add a link to intl.lib
11744
11745 2006-05-30  Wim Taymans  <wim@fluendo.com>
11746
11747         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11748         (gst_collect_pads_chain):
11749         Handle the case where a pad is removed from the collection
11750         that could cause the other pads to become collectable.
11751
11752 2006-05-30  Wim Taymans  <wim@fluendo.com>
11753
11754         * gst/gstelement.c:
11755         Clarify the use of _release_request_pad() and
11756         _get_request_pad() a bit better.
11757
11758         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
11759         (gst_adapter_take_buffer):
11760         Fix some doc and comment typos.
11761
11762 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11763
11764         * docs/gst/gstreamer-sections.txt:
11765         * docs/libs/gstreamer-libs-sections.txt:
11766           add declared symbols
11767
11768 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
11769
11770         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11771         Add debug that can be enabled using a #define at the top of the file,
11772         for dumping stats about how late/early we were when waking up from
11773         waiting on the clock.
11774
11775 2006-05-30  Wim Taymans  <wim@fluendo.com>
11776
11777         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
11778         When rebuilding the pad list, don't leak the previous list.
11779
11780 2006-05-30  Wim Taymans  <wim@fluendo.com>
11781
11782         Patch by: Lutz Mueller <lutz at topfrose dot de>
11783
11784         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11785         (gst_base_src_get_query_types), (gst_base_src_update_length):
11786         Publish supported query types.
11787         Update last_stop field in get_range mode so the position
11788         query works. Fixes #342321.
11789
11790 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
11791
11792         * docs/gst/gstreamer-sections.txt:
11793         * gst/gsttaglist.c: (_gst_tag_initialize):
11794         * gst/gsttaglist.h:
11795           API: add GST_TAG_PREVIEW_IMAGE (#343341).
11796
11797 2006-05-30  Wim Taymans  <wim@fluendo.com>
11798
11799         Patch by: Alessandro Decina <alessandro at nnva dot org>
11800
11801         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11802         Unlock mutex when removing an unknown pad.
11803         Fixes #343334.
11804
11805         * tests/check/Makefile.am:
11806         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
11807         (push_event), (setup), (teardown), (GST_START_TEST),
11808         (gst_collect_pads_suite), (main):
11809         Added collecpads check, disabled for now as check crashes for
11810         some reason.
11811
11812 2006-05-29  Wim Taymans  <wim@fluendo.com>
11813
11814         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
11815         Don't leak pads lists.
11816
11817 2006-05-29  Wim Taymans  <wim@fluendo.com>
11818
11819         * docs/libs/gstreamer-libs-sections.txt:
11820         * libs/gst/base/gstcollectpads.c:
11821         (gst_collect_pads_set_flushing_unlocked),
11822         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11823         (gst_collect_pads_stop):
11824         * libs/gst/base/gstcollectpads.h:
11825         API: gst_collect_pads_set_flushing()
11826         Added api to set the pads to flushing, useful for seeking
11827         code in elements using collectpads.
11828         Clear segment when receiving a flush.
11829
11830 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
11831
11832         * gst/gst.c: (add_path_func), (init_post):
11833           Don't scan registry paths passed via --gst-plugin-path immediately
11834           (will crash, because absolutely nothing is set up and no types are
11835           registered etc.); do this later in init_post(). Fixes #343057.
11836
11837 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11838
11839         * gst/gst.c: (init_post):
11840           if we have fork, fork while reading/rebuilding the registry
11841           so the parent doesn't take the hit of having all plugins loaded
11842           in memory.  Fixes #342777.
11843         * configure.ac:
11844           Check if we have fork()
11845         * win32/common/config.h.in:
11846           no fork() on win32
11847
11848 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
11849
11850         * plugins/elements/gstelements.c:
11851         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11852         (gst_file_src_init), (gst_file_src_set_property),
11853         (gst_file_src_get_property), (gst_file_src_start):
11854         * plugins/elements/gstfilesrc.h:
11855           API: GstFileSrc::use-mmap
11856
11857         Add a use-mmap property to enable easier testing of all code paths.
11858         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
11859         in the absence of gnomevfssrc. (Closes #340501)
11860
11861 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11862
11863         * tools/gst-inspect.c:
11864         Add missing include, removes warning of ngettext not being defined on
11865         some arches.
11866
11867 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
11868
11869         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11870         Handle NULL input and output pointers silently as a failed conversion,
11871         rather than g_warnings.
11872
11873 2006-05-25  Wim Taymans  <wim@fluendo.com>
11874
11875         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
11876         Initialize variable before using. Fixes #342820.
11877
11878 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
11879
11880         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
11881           Fix off-by-one bug that would only allow peeks of N-1 bytes
11882           from the start even if the buffer to typefind on contains
11883           in fact N bytes of data (makes vorbis typefinding from a
11884           vorbis identification header buffer work).
11885
11886         * tests/check/Makefile.am:
11887         * tests/check/libs/.cvsignore:
11888         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
11889         (gst_typefindhelper_suite), (main), (foobar_typefind),
11890         (plugin_init):
11891           Add very basic unit test for gst_type_find_helper_for_buffer()
11892           that checks for the problem fixed above.
11893
11894 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11895
11896         * tools/gst-inspect.c: (print_interfaces),
11897         (print_element_properties_info), (print_element_list), (main):
11898           add more translatable strings
11899
11900 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
11901
11902         Patch by: Julien Moutte  <julien at moutte net>
11903
11904         * docs/gst/gstreamer-sections.txt:
11905           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
11906           
11907         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
11908         (gst_fake_sink_preroll):
11909         * plugins/elements/gstfakesink.h:
11910           API: Add new GstFakeSink::preroll-handoff signal (#337100).
11911
11912 2006-05-23  Wim Taymans  <wim@fluendo.com>
11913
11914         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
11915         * gst/gstpad.h:
11916         Added _CUSTOM error and success GstFlowReturn that can be
11917         used be elements internally. 
11918         Added macro to check for SUCCESS flowreturns.
11919         API: GST_FLOW_CUSTOM_SUCCESS
11920         API: GST_FLOW_CUSTOM_ERROR
11921         API: GST_FLOW_IS_SUCCESS
11922
11923         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
11924         Added check for GstFlowReturn sanity.
11925
11926 2006-05-23  Wim Taymans  <wim@fluendo.com>
11927
11928         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11929
11930         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11931         (gst_collect_pads_event):
11932         clear/reset segment info in FLUSH_STOP.
11933         Fixes #336929.
11934
11935 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
11936
11937         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
11938         (gst_collect_pads_check_collected):
11939         Flush queued buffer on _stop(), fixes playing again (#342454)
11940
11941 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11942
11943         * tests/check/gst/gststructure.c: (GST_START_TEST),
11944         (gst_structure_suite):
11945           add a test for a complete structure
11946
11947 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11948
11949         * docs/faq/developing.xml:
11950         * docs/faq/faq.xml:
11951         * docs/faq/troubleshooting.xml:
11952         * docs/faq/using.xml:
11953           Some minor FAQ updates that won't change the fact that
11954           our FAQ is badly structured, full of information hardly
11955           anyone new to GStreamer needs to know and lacking lots
11956           of information people constantly ask for.
11957           
11958 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
11959
11960         * gst/gstpad.c: (gst_pad_set_caps):
11961           Short-circuit gst_pad_set_caps if setting the existing
11962           caps pointer again, and avoid printing debug and 
11963           reffing/unreffing the caps.
11964
11965         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11966           There's actually no need to set the caps before pushing -
11967           the acceptcaps method will handle it anyway.
11968
11969 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11970
11971         * docs/gst/gstreamer-sections.txt:
11972         * win32/common/libgstreamer.def:
11973         * gst/gstutils.c: (gst_element_seek_simple):
11974         * gst/gstutils.h:
11975           API: add gst_element_seek_simple() (#342238).
11976
11977 2006-05-18  Edward Hervey  <edward@fluendo.com>
11978
11979         * gst/gsttypefind.c: (gst_type_find_get_type):
11980         * gst/gsttypefind.h:
11981         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
11982         registered for GstTypeFind pointers. This allows wrapping the structure
11983         in bindings (i.e. gst-python).
11984
11985 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11986
11987         * gst/gsttagsetter.c:
11988           Docs additions and fixes (see #339918).
11989
11990 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11991
11992         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11993         The caps intersection algorithm can produce multiple copies of the
11994         caps. Until that is fixed, we need to simplify the result to be
11995         sure whether the allowed caps are fixed or not.
11996
11997         * plugins/elements/gstqueue.c: (gst_queue_init),
11998         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11999         (gst_queue_push_one):
12000         Proxied buffer alloc should not set the caps on the source pad.
12001         When pushing buffers, we always accept the caps change that triggers.
12002         This prevents negotiation errors caused by caps changing mid-stream 
12003         and then being refused on our source pad (because upstream is now
12004         refusing those caps).
12005
12006 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12007
12008         * tests/examples/helloworld/helloworld.c: (main):
12009           Must plug audioconvert and audioresample between decoder
12010           and audio sink.
12011
12012 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
12013
12014         * gst/gstregistryxml.c: (read_string), (load_pad_template),
12015         (load_feature), (load_plugin):
12016         Allow empty strings for some of the plugin fields so we don't 
12017         drop valid plugin entries that were written out correctly
12018         (Fixes #341479)
12019
12020 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
12021         
12022         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12023           Use g_remove and g_rename instead of remove and rename that don't 
12024           handle utf8 characters. rename was failing for users who had specific
12025           characters in their name then the registry was built at each 
12026           gstreamer init.
12027         * win32/vs6/gst_inspect.dsp:
12028         * win32/vs6/gst_launch.dsp:
12029         * win32/vs6/libgstbase.dsp:
12030         * win32/vs6/libgstcoreelements.dsp:
12031         * win32/vs6/libgstreamer.dsp:
12032           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
12033           build of libgstreamer and clean unused libraries in projects link 
12034           settings.
12035
12036 2006-05-17  Edward Hervey  <edward@fluendo.com>
12037
12038         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12039         The queue is not responsible for pushing an EOS when receiving a fatal
12040         flow error. It's up to the real element driving the pipeline to do that.
12041
12042 2006-05-16  Edward Hervey  <edward@fluendo.com>
12043
12044         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12045         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
12046         buffer returned a fatal error. It should just send an EOS and stop
12047         its task.
12048         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
12049         when pushing buffers on the queue and will be able to handle the event.
12050
12051 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
12052
12053         * docs/manual/basics-bins.xml:
12054         * docs/manual/basics-init.xml:
12055           Fix typos and minor errors in sample code (#341856).
12056
12057 2006-05-16  Wim Taymans  <wim@fluendo.com>
12058
12059         * docs/design/part-qos.txt:
12060         Fix indexes in formulas to make more sense.
12061
12062 2006-05-15  Wim Taymans  <wim@fluendo.com>
12063
12064         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12065         Don't report POSITION based on clock time if sync is
12066         disabled in a sink.
12067
12068 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
12069
12070         * gst/gstobject.h:
12071           Add cast to make compiler happy - refcount variable was a gint
12072           in GstObject but is a guint in GObject and g_atomic_int_get()
12073           wants a gint *.
12074
12075 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/parse/Makefile.am:
12078           chain commands using &&, which also makes parallel make work
12079
12080 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
12081
12082         * docs/gst/gstreamer-sections.txt:
12083         * gst/gstevent.c:
12084         * gst/gstevent.h:
12085         * gst/gstmessage.h:
12086           Minor docs fixes.
12087
12088 === release 0.10.6 ===
12089
12090 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
12091
12092         * configure.ac:
12093           releasing 0.10.6, "Take the cannoli"
12094
12095 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12096
12097         * tools/gst-launch.c: (print_tag):
12098           Fix use of uninitialized variable in the hypothetical
12099           case that some broken plugin creates a GST_TAG_IMAGE
12100           tag containing a NULL buffer (#341667).
12101
12102 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12103
12104         * tools/gst-launch.c: (print_tag):
12105           Print something more intelligible for image tags when
12106           using the -t switch (#341556).
12107
12108 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12109
12110         * Makefile.am:
12111           updates for win32
12112         * configure.ac:
12113           define GST_MAJORMINOR so we have it available in win32/common/config.h
12114           Possibly remove it from our Makefile.am files later
12115         * win32/common/config.h:
12116         * win32/common/config.h.in:
12117           added GST_MAJORMINOR
12118         * win32/common/gstenumtypes.c: (register_gst_resource_error):
12119         * win32/common/gstversion.h:
12120           updated
12121
12122 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
12123
12124         * win32/MANIFEST:
12125           Update win32 files listing.
12126         * win32/common/gstversion.h:
12127           Add GST_MAJORMINOR definition.
12128         * win32/common/libgstreamer.def:
12129           Add new exported functions.
12130           
12131 2006-05-12  Michael Smith  <msmith@fluendo.com>
12132
12133         * gst/gstplugin.c: (gst_plugin_load_file):
12134           If an so file has no plugin entry point, unload the module.
12135
12136 2006-05-11  Wim Taymans  <wim@fluendo.com>
12137
12138         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
12139         (gst_queue_set_property):
12140         Don't forget to signal the _chain or _loop function 
12141         when the queue size or thresholds change since that might
12142         cause them to make progres again.
12143
12144 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
12145
12146         * gst/gstclock.c: (gst_clock_class_init):
12147         * gst/gstindex.c: (gst_index_class_init):
12148         * gst/gstobject.c: (gst_object_class_init):
12149         * gst/gstpad.c: (gst_pad_class_init):
12150         * gst/gstpipeline.c: (gst_pipeline_class_init):
12151         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12152         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
12153         * libs/gst/base/gstbasetransform.c:
12154         (gst_base_transform_class_init):
12155         * libs/gst/net/gstnetclientclock.c:
12156         (gst_net_client_clock_class_init):
12157         * libs/gst/net/gstnettimeprovider.c:
12158         (gst_net_time_provider_class_init):
12159         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
12160         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12161         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12162         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
12163         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12164         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
12165         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12166         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12167         * plugins/elements/gsttee.c: (gst_tee_class_init):
12168         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12169         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12170           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
12171
12172 2006-05-11  Wim Taymans  <wim@fluendo.com>
12173
12174         * gst/gstbuffer.c: (_gst_buffer_initialize):
12175         Register subbufer along with the buffer type so that
12176         it does not accidentally gets registered from N
12177         different streaming threads in a non threadsafe way.
12178
12179 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12180
12181         * gst/gstbuffer.h:
12182         * gst/gstevent.h:
12183         * gst/gstmessage.h:
12184           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
12185           gst_event_ref() and gst_message_ref() functions again
12186           (ugly hack, please do fix if there's a better way besides
12187           overrides.txt, which doesn't seem to work).
12188
12189 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12190
12191         * libs/gst/check/gstcheck.h:
12192           add an assert for setting state to avoid lots of repetitive code
12193           in the future
12194
12195 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12196
12197         * gst/gstvalue.c: (gst_value_serialize_flags):
12198           fix a leak if no flags are set
12199         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12200           fix leak in tests
12201
12202 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12203
12204         * docs/manual/basics-pads.xml:
12205           Expand a bit on caps and filtered links and update
12206           examples that were still using the no longer existing
12207           gst_pad_link_filtered() (#338206).
12208
12209 2006-05-10  Wim Taymans  <wim@fluendo.com>
12210
12211         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
12212         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
12213         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12214         (gst_collect_pads_stop):
12215         * libs/gst/base/gstcollectpads.h:
12216         No need to call _stop in _finalize.
12217         Iterate the main pad list in _finalize.
12218         Added some more debug.
12219         Free lists and data in the right order.
12220         Also free data whem doing _remove_pad when stopped for
12221         backward compatibility protect ::started with PAD_LOCK as
12222         well.
12223
12224 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12225
12226         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
12227         (gst_structure_parse_value):
12228           add some comments
12229           rename a method so that it actually says what it does better
12230
12231 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12232
12233         * gst/gstevent.c: (_gst_event_initialize):
12234         * gst/gstformat.c: (_gst_format_initialize):
12235           make sure some essential types used by events are registered
12236           as part of gst_init()
12237         * gst/gstvalue.c: (gst_value_serialize_flags):
12238           if no flags are set, serialize them to a value that represents NONE
12239           so that deserializing them works
12240         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12241           add tests for serialization and deserialization of flags
12242
12243 2006-05-10  Wim Taymans  <wim@fluendo.com>
12244
12245         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
12246         (gst_collect_pads_collect_range), (gst_collect_pads_available),
12247         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
12248         (gst_collect_pads_event), (gst_collect_pads_chain):
12249         Update docs.
12250         Better debug info.
12251         Catch and return errors from the collect function
12252         Refuse data on eos pads.
12253
12254 2006-05-10  Edward Hervey  <edward@fluendo.com>
12255
12256         * gst/gstinterface.h:
12257         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
12258         GInterface type checking.
12259         They were previously using non-defined macros.
12260
12261 2006-05-09  Wim Taymans  <wim@fluendo.com>
12262
12263         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
12264         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
12265         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
12266         (gst_collect_pads_start), (gst_collect_pads_stop),
12267         (gst_collect_pads_peek), (gst_collect_pads_pop),
12268         (gst_collect_pads_available), (gst_collect_pads_read),
12269         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
12270         (gst_collect_pads_is_collected), (gst_collect_pads_event),
12271         (gst_collect_pads_chain):
12272         * libs/gst/base/gstcollectpads.h:
12273         Clean up the mess that is collectpads, add comments and
12274         FIXMEs where needed.
12275         Maintain a separate pad list so we can add pads while
12276         collecting the other ones. For this we need a new separate 
12277         lock (see comics).
12278         Fix memory leak in finalize.
12279         Refactor some weird code to set/unset pad flushing flags, mark
12280         with comments.
12281         Don't crash in _available, _read, _flush when we're EOS.
12282
12283         * tests/check/libs/.cvsignore:
12284         Ignore adapter check binary.
12285
12286 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12287
12288         * gst/gstindex.c: (gst_index_resolver_get_type):
12289         * plugins/elements/gstfakesink.c:
12290         (gst_fake_sink_state_error_get_type):
12291         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12292         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
12293         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
12294           Const-ify GEnumValue arrays.
12295
12296 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12297
12298         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12299           Add test case for flags + gst_buffer_make_metadata_writable().
12300
12301 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12302
12303         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
12304           gst_buffer_make_metadata_writable() should maintain the
12305           buffer flags (those that make sense at least) (see #340859).
12306
12307 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12308
12309         * tools/gst-inspect.c:
12310         * tools/gst-launch.c:
12311         * tools/gst-typefind.c:
12312         * tools/gst-xmlinspect.c:
12313         * tools/tools.h:
12314           Fix up includes: need to include stdlib.h in tools.h for exit().
12315
12316 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12317
12318         * gst/gsttaglist.c: (_gst_tag_initialize):
12319         * gst/gsttaglist.h:
12320           API: add GST_TAG_IMAGE tag (#340721).
12321
12322 2006-05-08  Wim Taymans  <wim@fluendo.com>
12323
12324         * gst/gstquery.c:
12325         Added some docs for the segment query.
12326
12327 2006-05-08  Wim Taymans  <wim@fluendo.com>
12328
12329         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12330         (gst_base_src_loop), (gst_base_src_change_state):
12331         Always push non-flushing serialized events in the streaming 
12332         thread.
12333
12334 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12335
12336         * gst/gsterror.c: (_gst_stream_errors_init):
12337           Add a missing error string.
12338
12339 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
12340
12341         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
12342         Add applied_rate to the debug
12343
12344         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12345         Copy applied_rate into the outgoing NEWSEGMENT event
12346
12347 2006-05-08  Wim Taymans  <wim@fluendo.com>
12348
12349         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
12350
12351         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
12352         (gst_base_sink_change_state):
12353         call ::unlock before taking the PREROLL_LOCK so we can safely
12354         handle elements that lock in ::render.
12355         Fixes #340174.
12356
12357 2006-05-08  Edward Hervey  <edward@fluendo.com>
12358
12359         * autogen.sh: (CONFIGURE_DEF_OPT): 
12360         Darwin's libtoolize is in fact called glibtoolize.
12361         Adding glibtoolize to the list of accepted names for libtoolize.
12362
12363 2006-05-08  Wim Taymans  <wim@fluendo.com>
12364
12365         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12366         Unify error handling, don't post an error message
12367         when a push() returns EOS but perform our normal EOS
12368         handling code. Fixes #340772.
12369
12370 2006-05-08  Wim Taymans  <wim@fluendo.com>
12371
12372         * docs/design/part-overview.txt:
12373         Make upsteam/downstream concepts more clear.
12374         Give an example of serialized/non-serialized events.
12375
12376         * docs/design/part-events.txt:
12377         * docs/design/part-streams.txt:
12378         Mention applied_rate.
12379
12380         * docs/design/part-trickmodes.txt:
12381         Mention applied rate, flesh out some more use cases.
12382
12383         * gst/gstevent.c: (gst_event_new_new_segment),
12384         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
12385         (gst_event_parse_new_segment_full), (gst_event_new_tag),
12386         (gst_event_parse_tag), (gst_event_new_buffer_size),
12387         (gst_event_parse_buffer_size), (gst_event_new_qos),
12388         (gst_event_parse_qos), (gst_event_parse_seek),
12389         (gst_event_new_navigation):
12390         * gst/gstevent.h:
12391         Add applied_rate field to NEWSEGMENT event.
12392         API: gst_event_new_new_segment_full()
12393         API: gst_event_parse_new_segment_full()
12394
12395         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
12396         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
12397         (gst_segment_to_stream_time), (gst_segment_to_running_time):
12398         * gst/gstsegment.h:
12399         Add applied_rate to GstSegment structure.
12400         Make calculation of stream_time and running_time more correct
12401         wrt rate/applied_rate.
12402         Add some more docs.
12403         API: GstSegment::applied_rate field
12404         API: gst_segment_set_newsegment_full();
12405
12406         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12407         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
12408         * libs/gst/base/gstbasetransform.c:
12409         (gst_base_transform_sink_eventfunc),
12410         (gst_base_transform_handle_buffer):
12411         Parse and use applied_rate in the GstSegment field.
12412
12413         * tests/check/gst/gstevent.c: (GST_START_TEST):
12414         Add check for applied_rate field.
12415
12416         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12417         (gstsegments_suite):
12418         Add more checks for various GstSegment operations.
12419
12420 2006-05-08  Wim Taymans  <wim@fluendo.com>
12421
12422         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12423         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
12424         (gst_base_sink_get_position), (gst_base_sink_change_state):
12425         Store the sync time of the buffer end position separatly in a
12426         new variable eos_rtime so we can properly sync the EOS event.
12427         Fixes #340697.
12428         Fix the docs for gst_base_sink_set_qos_enabled().
12429         Don't set segment start to invalid value when we receive a 
12430         non TIME newsegment.
12431         get closer to handling position reporting for negative rates 
12432         correctly.
12433
12434 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
12435
12436         * gst/gstcaps.c:
12437         Docs about how to print caps for debug purposes.
12438
12439         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
12440         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
12441
12442 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
12443
12444         * gst/gstelement.c:
12445           use full enum names and preprend a '%' in docs strings to make recent 
12446           gtk-doc turn that into a link
12447
12448 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12449
12450         * docs/manual/basics-bins.xml:
12451         * docs/manual/basics-bus.xml:
12452         * docs/manual/basics-pads.xml:
12453           Some typo fixes, some additions, some clarifications. 
12454
12455 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12456
12457         * tools/gst-inspect.c: (main):
12458         * tools/gst-launch.c: (main):
12459         * tools/gst-run.c: (main):
12460         * tools/gst-typefind.c: (main):
12461         * tools/gst-xmlinspect.c: (main):
12462           Use the string passed to g_option_context_new() for
12463           what it's intended for - the program name is already
12464           printed elsewhere.
12465
12466 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12467
12468         * tools/Makefile.am:
12469         * tools/gst-inspect.c: (main):
12470         * tools/gst-launch.c: (main):
12471         * tools/gst-xmlinspect.c: (main):
12472         * tools/tools.h:
12473           Add back --version command line option (#340460).
12474
12475         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
12476           Add --version option and use GOption for argument parsing; refactor a
12477           bit; accept directories as arguments and recurse into them; lastly,
12478           print a decent error message when things go wrong.
12479
12480 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
12481
12482         * docs/manual/basics-bins.xml:
12483         Don't mention GstThread (#340611)
12484         * docs/manual/basics-elements.xml:
12485         Update link to GObject tutorial (#340607)
12486         
12487 2006-05-05  Wim Taymans  <wim@fluendo.com>
12488
12489         * gst/gstbuffer.h:
12490         * gst/gstminiobject.c:
12491         Add note about refcounting and miniobject/buffer writeability
12492         to docs. Fixes #340604
12493
12494         * gst/gstelementfactory.h:
12495         Added some explanation about @klass.
12496
12497 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
12498
12499         * docs/manual/intro-motivation.xml:
12500         * docs/manual/manual.xml:
12501         Avoid CORBA & Bonobo references (#340598)
12502
12503 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
12504
12505         * docs/manual/basics-bus.xml:
12506         * docs/manual/basics-pads.xml:
12507         Fix up some inaccuracies and omissions (#340609)
12508         
12509 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
12510
12511         * gst/gstghostpad.c:
12512           Small typo in docs (#340625)
12513
12514 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12515
12516         * gst/parse/Makefile.am:
12517           Make 'make -j' proof (see #340698).
12518
12519 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12520
12521         * configure.ac:
12522           Require GLib-2.8 here as well.
12523
12524 2006-05-05  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/glib-compat.c:
12527         * gst/gst.c: (init_pre):
12528         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12529         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
12530         (gst_object_dispatch_properties_changed):
12531         * gst/gstobject.h:
12532         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12533         * gst/gststructure.c: (gst_structure_set_valist):
12534         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
12535         Remove pre glib2.8 compatibility, fixes #340508
12536
12537 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
12538
12539         * gst/gsttaglist.h:
12540           Mention type of tags in doc blurbs.
12541
12542 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
12543
12544         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12545         (gst_pad_configure_src), (gst_pad_push):
12546         Restore acceptcaps checking behaviour now that good plugins have
12547         been released.
12548
12549 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
12550
12551         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
12552
12553         * gst/gst.c:
12554         * gst/gstbus.c:
12555         * gst/gstclock.c:
12556         * gst/gstevent.c:
12557         * gst/gstformat.c:
12558         * gst/gstmessage.c:
12559         * gst/gstparse.c:
12560         * gst/gstquery.c:
12561         * gst/gstutils.c:
12562         * gst/parse/Makefile.am:
12563         * libs/gst/base/gstadapter.c:
12564         * libs/gst/base/gstbasesrc.c:
12565         * libs/gst/base/gstpushsrc.c:
12566         * libs/gst/base/gsttypefindhelper.c:
12567         * plugins/elements/gstfakesrc.c:
12568         * plugins/elements/gstidentity.c:
12569           Make sure gstprivate.h and/or config.h are
12570           always included first, otherwise some of our
12571           defines (like _FILE_OFFSET_BITS) might be
12572           redefined in the system headers. Fixes build
12573           on opensolaris (#340016).
12574
12575 2006-05-04  Wim Taymans  <wim@fluendo.com>
12576
12577         * docs/libs/gstreamer-libs-sections.txt:
12578         API: addition: gst_adapter_take_buffer()
12579         
12580         * libs/gst/base/gstadapter.c: (gst_adapter_push),
12581         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
12582         (gst_adapter_available_fast):
12583         * libs/gst/base/gstadapter.h:
12584         Prepare for optimizing the hell out of this hugely inefficient
12585         piece of code. 
12586         Added gst_adapter_take_buffer() so we can at least start thinking
12587         about subbuffering and merging.
12588         Added some comments.
12589
12590         * tests/check/Makefile.am:
12591         * tests/check/libs/adapter.c: (GST_START_TEST),
12592         (gst_adapter_suite), (main):
12593         Added GstAdapter check.
12594
12595 2006-05-04  Wim Taymans  <wim@fluendo.com>
12596
12597         * docs/design/part-overview.txt:
12598         Fix some typos, add blurb about buffer flags.
12599
12600 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12601
12602         * docs/libs/gstreamer-libs-sections.txt:
12603           make sure GstBaseTransformClass shows up in the docs
12604         * libs/gst/base/gstbasetransform.c:
12605         * libs/gst/base/gstbasetransform.h:
12606           move docs so gtk-doc picks it up now
12607
12608 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
12609
12610         * docs/libs/gstreamer-libs-sections.txt:
12611           add missing symbols to docs
12612
12613 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
12614
12615         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12616           back out the newsegment handling change, see #340060 for ongoing
12617           discussion
12618
12619 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
12620
12621         * tools/gst-run.c: (get_candidates), (main):
12622           Fix wrong g_file_test() usage (see glib docs for why it doesn't
12623           work); fix typo in error message. Fixes #340079.
12624
12625 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12626
12627         * common/Makefile.am:
12628         * docs/Makefile.am:
12629         * docs/faq/Makefile.am:
12630         * docs/gst/Makefile.am:
12631         * docs/libs/Makefile.am:
12632         * docs/manual/Makefile.am:
12633         * docs/plugins/Makefile.am:
12634         * docs/pwg/Makefile.am:
12635         * docs/slides/Makefile.am:
12636         * docs/upload.mak:
12637         * common/upload.mak:
12638           move upload.mak to common
12639
12640 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12641
12642         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12643           add more asserts on refcounts
12644           do more cleanup at end of tests
12645           fix test leaks showing in FC5
12646
12647 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
12648
12649         * plugins/elements/gsttypefindelement.c:
12650         (gst_type_find_element_handle_event):
12651         reverted wrong change and reflowed code to avoid others falling into
12652         this trap
12653
12654 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12655
12656         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12657           fix changelog entry about last collectpads change,
12658           add notes about proper fix
12659
12660 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12661
12662         * gst/gst.c:
12663         * gst/gstregistry.c: (gst_registry_scan_path_level),
12664         (gst_registry_scan_path):
12665         * gst/gstregistry.h:
12666           only write out registry if it has changed, fixes #338339
12667
12668 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12669
12670         * gst/gstbin.c:
12671         * gst/gstpipeline.c:
12672         * plugins/elements/gstcapsfilter.c:
12673         * plugins/elements/gstfakesink.c:
12674         * plugins/elements/gstfakesrc.c:
12675         * plugins/elements/gstfdsink.c:
12676         * plugins/elements/gstfdsrc.c:
12677         * plugins/elements/gstfilesink.c:
12678         * plugins/elements/gstfilesrc.c:
12679         * plugins/elements/gstidentity.c:
12680         * plugins/elements/gstqueue.c:
12681         * plugins/elements/gsttee.c:
12682         * plugins/elements/gsttypefindelement.c:
12683         (gst_type_find_element_handle_event):
12684           make GstElementDetails const
12685
12686 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12687
12688         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
12689         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12690         (gst_collect_pads_is_collected), (gst_collect_pads_event):
12691           more detailed debug and formatting cleanup,
12692           forward newsegments to src-pad (so that e.g. adder not eats them)
12693
12694 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12695
12696         * gst/gstutils.c: (gst_element_link_pads):
12697           cleanup double code
12698
12699 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12700
12701         * libs/gst/controller/gstcontroller.c:
12702         (gst_controller_sync_values):
12703           some little tuning
12704         * tests/check/libs/controller.c: (GST_START_TEST),
12705         (gst_controller_suite):
12706           a new test for live value handling
12707
12708 2006-04-28  Wim Taymans  <wim@fluendo.com>
12709
12710         * gst/gstutils.c: (push_and_ref):
12711         Added some more docs.
12712         Fix refcount issue whith gst_element_found_tags() helper 
12713         function. Fixes #338335
12714
12715         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12716         Added testsuite for gst_element_found_tags().
12717
12718 2006-04-28  Michael Smith  <msmith@fluendo.com>
12719
12720         * gst/gstvalue.c: (gst_value_serialize_flags):
12721           Avoid NULL dereference when trying to serialize flags containing
12722           invalid values.
12723
12724 2006-04-28  Michael Smith  <msmith@fluendo.com>
12725
12726         * plugins/elements/gsttypefindelement.c:
12727         (gst_type_find_element_handle_event):
12728           If we get EOS before any data is accumulated, don't use
12729           uninitialised local variables.
12730
12731 2006-04-28  Michael Smith  <msmith@fluendo.com>
12732
12733         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12734         (gst_dp_event_from_packet):
12735           Fixes in reading/writing events over GDP (not currently used?) - 
12736           dereferencing NULL events for unknown/invalid event types, memory
12737           leak, and change g_warning to GST_WARNING.
12738
12739 2006-04-28  Wim Taymans  <wim@fluendo.com>
12740
12741         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
12742         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12743         (gst_base_sink_get_position), (gst_base_sink_change_state):
12744         When frame dropping is enabled, we should not ignore frames
12745         without a duration.
12746         Update some documentation.
12747
12748 2006-04-28  Wim Taymans  <wim@fluendo.com>
12749
12750         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12751         (gst_base_src_send_event), (gst_base_src_change_state):
12752         Documentation updates.
12753
12754 2006-04-28  Wim Taymans  <wim@fluendo.com>
12755
12756         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
12757         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
12758         handle EAGAIN, EINTR and short writes correctly. Also clean
12759         up some error cases, avoid a deadlock on bad file descriptors and
12760         use GST_DEBUG_OBJECT.
12761         Fixes #339843
12762
12763 2006-04-28  Wim Taymans  <wim@fluendo.com>
12764
12765         * gst/gstvalue.c: (gst_value_serialize_buffer),
12766         (gst_value_deserialize_buffer):
12767         Don't try to serialize a GValue with a NULL buffer. 
12768         Fixes #339821.
12769
12770         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12771         Added check for serialisation of NULL buffers.
12772
12773 2006-04-28  Wim Taymans  <wim@fluendo.com>
12774
12775         * gst/gstminiobject.c: (gst_value_take_mini_object):
12776         Taking a NULL miniobject is valid, fix the case where
12777         we try to unref the NULL miniobject.
12778
12779 2006-04-28  Wim Taymans  <wim@fluendo.com>
12780
12781         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12782
12783         * gst/gstbin.c: (gst_bin_handle_message_func):
12784         Update docs.
12785         Don't leak bin refcount when a state recalc is
12786         in progress and we delay another one #339808.
12787
12788 2006-04-28  Wim Taymans  <wim@fluendo.com>
12789
12790         * docs/design/part-TODO.txt:
12791         Mention QoS as an ongoing work item.
12792
12793         * docs/design/part-buffering.txt:
12794         New doc about buffering that needs to be fleshed out
12795         at some point.
12796
12797         * docs/design/part-qos.txt:
12798         More QoS policy for decoders/demuxers/transforms
12799
12800         * docs/design/part-trickmodes.txt:
12801         Small update.
12802
12803 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12804
12805         * configure.ac:
12806           back to HEAD
12807
12808 === release 0.10.5 ===
12809
12810 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
12811
12812         * configure.ac:
12813           releasing 0.10.5, "Fogo"
12814
12815 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         patch by: Wim Taymans
12818
12819         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12820         (gst_pad_configure_src), (gst_pad_push):
12821         * gst/gstpipeline.c: (gst_pipeline_init):
12822           Fix internal data flow errors.  Fixes #338711.
12823
12824 2006-04-12  Wim Taymans  <wim@fluendo.com>
12825
12826         * tests/check/gst/gstelement.c: (GST_START_TEST):
12827         Don't leak the factory.
12828
12829 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12830
12831         * configure.ac:
12832         * win32/common/config.h:
12833           prerelease
12834
12835 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
12836
12837         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12838         (gst_controller_unset_all):
12839           Free allocated GstTimedValues when freeing list nodes.
12840           Should fix leaks 'make check-valgrind' complains about.
12841
12842         * win32/common/libgstcontroller.def:
12843           Add gst_controller_unset_all.
12844
12845 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
12846
12847         * docs/libs/gstreamer-libs-sections.txt:
12848         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12849         (gst_controller_unset_all):
12850         * libs/gst/controller/gstcontroller.h:
12851         API: Added new method gst_controller_unset_all()
12852         fixed gst_controller_unset()
12853         * tests/check/libs/controller.c: (GST_START_TEST),
12854         (gst_controller_suite):
12855         Added two testcases for new and fixed method
12856
12857 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
12858
12859         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12860           MSG_DONTWAIT is not defined on Cygwin, so work
12861           around that (fixes #317048).
12862           
12863 2006-04-11  Wim Taymans  <wim@fluendo.com>
12864
12865         * gst/gstelementfactory.c: (gst_element_register),
12866         (gst_element_factory_create), (gst_element_factory_make):
12867         Some cleanups.
12868         Fixed a FIXME.
12869         Updated docs (Fixes #131079)
12870
12871         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12872         Small cleanups.
12873
12874         * tests/check/gst/gstelement.c: (GST_START_TEST),
12875         (gst_element_suite):
12876         Added testcase for elementfactory class field.
12877
12878 2006-04-10  Wim Taymans  <wim@fluendo.com>
12879
12880         * gst/gstsegment.c:
12881         Added some more docs.
12882
12883         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
12884         (gst_base_sink_reset_qos):
12885         Calculate more accurate rate values.
12886
12887 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
12888
12889         * gst/gst_private.h:
12890           add a new #ifdef to use __declspec(dllimport) only for
12891           other modules and not for gstreamer core
12892         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
12893           use gst_guint64_to_gdouble for conversion
12894         * win32/common/libgstreamer.def:
12895           add new exported functions
12896         * win32/vs6/gst_inspect.dsp:
12897         * win32/vs6/gst_launch.dsp:
12898         * win32/vs6/libgstbase.dsp:
12899         * win32/vs6/libgstcontroller.dsp:
12900         * win32/vs6/libgstcoreelements.dsp:
12901         * win32/vs6/libgstdataprotocol.dsp:
12902         * win32/vs6/libgstnet.dsp:
12903           update project files
12904
12905 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12906
12907         * gst/gstbuffer.c: (gst_subbuffer_class_init):
12908         * gst/gstclock.c: (gst_clock_class_init):
12909         * gst/gstelement.c: (gst_element_class_init):
12910         * gst/gstindex.c: (gst_index_class_init):
12911         * gst/gstindexfactory.c: (gst_index_factory_class_init):
12912         * gst/gstobject.c: (gst_object_class_init),
12913         (gst_signal_object_class_init):
12914         * gst/gstpad.c: (gst_pad_class_init):
12915         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
12916         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
12917         * gst/gstregistry.c: (gst_registry_class_init):
12918         * gst/gstsystemclock.c: (gst_system_clock_class_init):
12919         * gst/gsttask.c: (gst_task_class_init):
12920         * gst/gstxml.c: (gst_xml_class_init):
12921         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12922         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12923         (gst_base_src_loop):
12924         * libs/gst/controller/gstcontroller.c:/
12925         (_gst_controller_class_init):
12926         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12927         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
12928         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
12929         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12930         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12931         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
12932
12933 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
12934
12935         * gst/gstpad.c: (gst_pad_link):
12936           Must set peer pads before calling the link function, otherwise
12937           a task started from a link function might get a flow-not-linked
12938           result when trying to push because the other thread where the
12939           linking happens hasn't had a chance to set the peers yet. This
12940           might happen for example when a queue gets linked to a downstream
12941           element, as queue starts a streaming task when its source pad
12942           gets linked. Happens in real life when playing back flac/musepack
12943           files in playbin (#332390).
12944           
12945 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12946
12947         * gst/gstindex.h:
12948         * gst/gstxml.h:
12949         * libs/gst/base/gstadapter.h:
12950         * libs/gst/base/gstbasesink.h:
12951         * libs/gst/base/gstbasesrc.h:
12952         * libs/gst/base/gstbasetransform.h:
12953         * libs/gst/base/gstcollectpads.h:
12954         * libs/gst/base/gstpushsrc.h:
12955         Fix broken GObject macros
12956
12957 2006-04-07  Wim Taymans  <wim@fluendo.com>
12958
12959         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12960         Initialize start and stop times, thanks valgrind.
12961
12962 2006-04-07  Wim Taymans  <wim@fluendo.com>
12963
12964         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12965         Be a bit nicer to badly behaving upstream elements that expect
12966         us to deal with non TIME segments and timestamps (such as fakesrc
12967         in the testsuite).
12968
12969 2006-04-07  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/gstbus.c:
12972         Small documentation clarification about the signal watch.
12973
12974         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12975         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12976         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12977         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12978         (gst_base_sink_get_position_last),
12979         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
12980         Convert and store timestamps in stream time and running time, the
12981         raw timestamps are not useful, also document this better.
12982         Use different window sizes for good and bad QoS observations so
12983         we react to badness a little quicker.
12984         Keep track of the amount of rendered and dropped buffers.
12985         Send QoS timestamps in running time.
12986
12987         * libs/gst/base/gstbasetransform.c:
12988         (gst_base_transform_sink_eventfunc),
12989         (gst_base_transform_handle_buffer):
12990         Compare QoS timestamps against running time.
12991
12992 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12993
12994         * gst/gstpad.c:
12995           Typo fixes in docs.
12996
12997 2006-04-06  Michael Smith  <msmith@fluendo.com>
12998
12999         * gst/gstpad.c: (gst_pad_set_property):
13000           Use g_value_get_object() instead of g_value_dup_gst_object(),
13001           to avoid double-reffing the pad template (which we then sink,
13002           so this worked previously if (and only if) the pad template
13003           was floating.
13004
13005         * gst/gstpadtemplate.c: (gst_pad_template_init),
13006         (gst_pad_template_pad_created):
13007           Never return floating references to pad templates, create
13008           them as initially-sunken.
13009
13010           Document an extra function (and make this stop sinking our
13011           pad template, since that is now guaranteed to do nothing,
13012           since we created it sunken).
13013
13014         * gst/gstghostpad.c:
13015           Fix docs typo.
13016
13017 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13018
13019         * gst/gstinfo.c: (__gst_in_valgrind):
13020           Add some newlines.
13021
13022         * plugins/elements/gsttypefindelement.c:
13023         (gst_type_find_element_chain):
13024           Don't leak buffer caps.
13025
13026 2006-04-06  Michael Smith  <msmith@fluendo.com>
13027
13028         * gst/parse/grammar.y:
13029           Fix a leak in parse-launch for any source-or-sink named element 
13030           references used.
13031
13032         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13033           Unref the pipeline if it exists after we've failed parsing.
13034
13035 2006-04-05  Michael Smith  <msmith@fluendo.com>
13036
13037         * gst/gstpipeline.c: (gst_pipeline_init):
13038           When we create a pipeline bus, initially create it in flushing mode.
13039           Fixes leaks in at least one test, and makes a new pipeline work the
13040           same as one that has gone to READY and then back to NULL.
13041
13042         * gst/gstelement.c:
13043           Typo fix in docs.
13044
13045 2006-04-05  Michael Smith  <msmith@fluendo.com>
13046
13047         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13048           Unref a pad we reffed.
13049         * tests/check/gst/gstutils.c: (GST_START_TEST):
13050           Unref bins
13051
13052 2006-04-05  Michael Smith  <msmith@fluendo.com>
13053
13054         * gst/gstquery.c: (gst_query_set_formats),
13055         (gst_query_set_formatsv):
13056           Fix leaking GValues in queries, as shown by valgrind/testsuite.
13057
13058 2006-04-05  Michael Smith  <msmith@fluendo.com>
13059
13060         * tests/check/generic/sinks.c: (GST_START_TEST):
13061           Fix a variety of memleaks in sinks check, which are only sometimes 
13062           shown by running the tests under valgrind (weird?).
13063
13064 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
13065
13066         * docs/version.entities.in:
13067           Fix the substituted entity name after thomas' changes on the
13068           weekend.
13069
13070 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13071
13072         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
13073         VALGRIND_PRINTF
13074         
13075 2006-04-05  Andy Wingo  <wingo@pobox.com>
13076
13077         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
13078
13079         * libs/gst/base/gstbasetransform.c
13080         (gst_base_transform_sink_eventfunc): When resetting our segment on
13081         FLUSH_STOP, also update the flag saying we haven't seen a
13082         newsegment.
13083
13084 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13085
13086         Patch by: Paolo Borelli  <pborelli at katamail dot com>
13087
13088         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13089         (gst_plugin_check_license):
13090           minor clean-ups: G_DEFINE_TYPE already takes care of the
13091           parent_class stuff, no need to do it twice. Mark array of
13092           license strings as constant. (#337103)
13093           
13094 2006-04-04  Michael Smith  <msmith@fluendo.com>
13095
13096         * tools/gst-inspect.c: (print_element_list):
13097           Free the right plugin list; fixes a memory leak.
13098
13099 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13100
13101         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
13102
13103         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13104           Don't error out on empty buffers (#336945).
13105           
13106 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
13107
13108         * docs/libs/gstreamer-libs-sections.txt:
13109         * gst/gsttaglist.c:
13110         * libs/gst/base/gstbasesink.c:
13111         * libs/gst/base/gstbasesink.h:
13112         * libs/gst/base/gstbasesrc.c:
13113         * libs/gst/base/gstbasesrc.h:
13114           Documentation updates. Make BaseSink and BaseSrc docs contain the
13115           class structure so that people can actually see the prototypes for
13116           virtual functions they're supposed to be overriding.
13117
13118 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13119
13120         * plugins/elements/gsttypefindelement.c:
13121         (gst_type_find_element_chain):
13122           More debug info; when skipping typefinding, send cached
13123           events in all cases.
13124
13125 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13126
13127         * configure.ac:
13128           use new AS_VERSION and AS_NANO macros
13129         * gst/gst-i18n-lib.h:
13130         * gst/gst.c:
13131         * gst/gsterror.c:
13132         * gst/gstversion.h.in:
13133         * win32/common/config.h:
13134         * win32/common/config.h.in:
13135           update accordingly
13136
13137 2006-03-31  Michael Smith  <msmith@fluendo.com>
13138
13139         * plugins/elements/gsttypefindelement.c:
13140         (gst_type_find_element_chain):
13141           Do not typefind content if the buffers already have caps.
13142           Neccesary for icydemux (#333657), and the right thing to do anyway.
13143
13144 2006-03-30  Wim Taymans  <wim@fluendo.com>
13145
13146         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13147         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
13148         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
13149         (gst_base_sink_record_qos_observation),
13150         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13151         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13152         (gst_base_sink_change_state):
13153         More QoS measurements as described in the design doc.
13154         Get rid of ringbuffer with observations, running average is
13155         more simple and equally good.
13156         Calculates valid proportion now.
13157         Added beginning of flood measurement.
13158
13159 2006-03-29  Wim Taymans  <wim@fluendo.com>
13160
13161         * docs/design/part-qos.txt:
13162         * gst/gstclock.c:
13163         Small documentation updates and additions.
13164
13165 2006-03-29  Wim Taymans  <wim@fluendo.com>
13166
13167         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13168         (gst_base_src_send_event), (gst_base_src_loop),
13169         (gst_base_src_change_state):
13170         Perform the EOS logic when we reach the segment stop position.
13171         Fix compilation on gcc4.1
13172
13173 2006-03-29  Wim Taymans  <wim@fluendo.com>
13174
13175         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
13176
13177         * plugins/elements/gstqueue.c: (gst_queue_init),
13178         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13179         (gst_queue_set_property):
13180         * plugins/elements/gstqueue.h:
13181         In queue, when EOS is received, if minimum threshold > max_size -
13182         current_level, there is chance that queue blocks forever in conditional
13183         item del wait. This is because the queue is not emptied completely due
13184         to minimum threshold.  Here is another approach. Instead of setting
13185         cur_levels to max in EOS, just zero all minimum threshold levels. This
13186         should make sure that queue gives out all data. When going to READY
13187         (stop) state, just reset the original minimum threshold levels.
13188         Fixes #336336.
13189
13190 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
13191
13192         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
13193         (gst_type_find_element_handle_event),
13194         (gst_type_find_element_send_cached_events),
13195         (gst_type_find_element_change_state):
13196         * plugins/elements/gsttypefindelement.h:
13197           When typefinding is done in push mode, we should cache
13198           events we receive during typefinding instead of just
13199           dropping them (e.g. newsegment, custom events from
13200           dvdreadsrc etc.) and then send them out once we've
13201           determined the type of the stream (and decodebin
13202           has had a chance to plug in a decoder/demuxer).
13203           
13204 2006-03-27  Wim Taymans  <wim@fluendo.com>
13205
13206         * docs/design/part-qos.txt:
13207         First QoS ideas.
13208
13209 2006-03-27  Wim Taymans  <wim@fluendo.com>
13210
13211         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
13212
13213         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13214         (gst_base_src_send_event), (gst_base_src_change_state):
13215         Handle element seek correctly when we are streaming.
13216         Fixes #326998.
13217
13218 2006-03-24  Michael Smith  <msmith@fluendo.com>
13219
13220         * docs/faq/gst-uninstalled:
13221           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
13222           allow you to correctly run intalled applications built against old 
13223           core, using plugins that require updated core (e.g. running
13224           installed totem against a full uninstalled gstreamer stack)
13225
13226 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13227
13228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13229         more debug details
13230
13231 2006-03-24  Wim Taymans  <wim@fluendo.com>
13232
13233         * docs/gst/gstreamer-sections.txt:
13234         Rearrange the order of the methods so that related methods
13235         are grouped together in sections.
13236
13237 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13238
13239         * gst/gstelement.c:
13240           Little clarification in the docs
13241
13242 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13243
13244         * docs/README:
13245         formatting fix
13246         * plugins/elements/gstidentity.c:
13247         * plugins/elements/gstqueue.c:
13248         * plugins/elements/gsttee.c:
13249         * plugins/elements/gsttypefindelement.c:
13250         GST_ELEMENT_DETAILS formatting
13251
13252 2006-03-24  Wim Taymans  <wim@fluendo.com>
13253
13254         * libs/gst/base/gstbasesink.h:
13255         Only add fields, not insert or we break ABI.
13256
13257 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
13258
13259         * win32/common/libgstbase.def:
13260         * win32/common/libgstreamer.def:
13261           Update, add recently added functions.
13262
13263 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
13264
13265         * docs/gst/gstreamer-sections.txt:
13266         * gst/gstutils.c: (gst_pad_query_peer_position),
13267         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
13268         * gst/gstutils.h:
13269           API: add some new utility functions:
13270            - gst_pad_query_peer_position()
13271            - gst_pad_query_peer_duration()
13272            - gst_pad_query_peer_convert()
13273           
13274 2006-03-23  Wim Taymans  <wim@fluendo.com>
13275
13276         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13277         (gst_base_sink_init), (gst_base_sink_finalize),
13278         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
13279         (gst_base_sink_set_property), (gst_base_sink_get_property),
13280         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
13281         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13282         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
13283         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13284         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13285         (gst_base_sink_preroll_object), (gst_base_sink_event),
13286         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
13287         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
13288         (gst_base_sink_query), (gst_base_sink_change_state):
13289         Decouple max-lateness and the fact that QoS messages are generated
13290         with a new property (qos).
13291         added API: GstBaseSink::async_play()
13292         Add vmethod so subclasses can be notified of ASYNC playing
13293         state changes.
13294         Collect timestamp start and stop to report better current
13295         position in EOS/PLAYING/PAUSED/READY/NULL.
13296         Refactor QoS/frame dropping and other measurements.
13297         API: GstBaseSrc::qos
13298         Fixes #326311
13299
13300         * libs/gst/base/gstbasesink.h:
13301         Added Private struct.
13302         API: gst_base_sink_set_qos_enabled()
13303         API: gst_base_sink_is_qos_enabled()
13304
13305 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
13306
13307         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13308           If compiling against GLib-2.8 or newer, try to read the
13309           registry file using GMappedFile first before falling back
13310           to fopen() + fread() (#332151).
13311
13312 2006-03-22  Wim Taymans  <wim@fluendo.com>
13313
13314         * gst/gstinfo.c: (gst_debug_set_active),
13315         (gst_debug_category_set_threshold):
13316         Disable debugging unless explicitly activated.
13317         Fixes #335480.
13318
13319 2006-03-22  Wim Taymans  <wim@fluendo.com>
13320
13321         * gst/gstelement.c: (gst_element_set_locked_state),
13322         (gst_element_dispose):
13323         Cleanup the error case.
13324
13325         * gst/gstobject.c: (gst_object_dispose):
13326         print a critical when some object was disposed with
13327         a parent, also revive the object since it might
13328         crash the parent.
13329
13330 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
13331
13332         * tools/gst-launch.1.in:
13333           Fix another typo.
13334
13335 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13336
13337         * configure.ac:
13338         * tests/check/Makefile.am:
13339           disable some tests when we don't have a registry
13340         * tests/check/gst/gstutils.c: (gst_utils_suite):
13341           don't build the part that needs parsing
13342
13343 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13344
13345         * gst/Makefile.am
13346         * tests/examples/Makefile.am:
13347           fix --disable-parse build
13348
13349 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13350
13351         * tools/gst-feedback.1.in:
13352           Fix typo: s/feeback/feedback/ (#133494).
13353
13354 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13355
13356         * tools/Makefile.am:
13357         * tools/gst-launch.1.in:
13358           Add FILES section and correct entry about GST_REGISTRY_PATH
13359           environment variable (#133495; #133494).
13360
13361 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13362
13363         * tools/Makefile.am:
13364         * tools/gst-md5sum.1.in:
13365         * tools/gst-md5sum.c:
13366           Remove gst-md5sum and man page (the md5sink element
13367           required was removed ages ago)
13368
13369 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13370
13371         * gst/gststructure.c: (gst_structure_id_set_value):
13372           Make sure that string fields in structures/taglists
13373           contain valid UTF-8 - we don't want to pass rubbish to
13374           applications because of a buggy plugin (cp. #334167).
13375
13376 2006-03-21  Edward Hervey  <edward@fluendo.com>
13377
13378         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13379         (gst_bin_handle_message_func):
13380         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
13381         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
13382         (gst_element_set_bus_func):
13383         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
13384         * gst/gstminiobject.c: (gst_value_set_mini_object),
13385         (gst_value_take_mini_object):
13386         * gst/gstpad.c: (gst_pad_set_pad_template):
13387         * gst/gstpipeline.c: (gst_pipeline_dispose),
13388         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13389         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
13390         (gst_collect_pads_chain):
13391         * libs/gst/net/gstnettimeprovider.c:
13392         (gst_net_time_provider_set_property):
13393         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
13394         It's in fact all issues with gst_*object_replace().
13395
13396 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13397
13398         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
13399         
13400         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13401         * pkgconfig/gstreamer-check.pc.in:
13402           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
13403
13404 2006-03-21  Edward Hervey  <edward@fluendo.com>
13405
13406         * gst/gstbuffer.h:
13407         * gst/gstevent.h:
13408         * gst/gstmessage.h:
13409         gst_[buffer|event|message]_ref() macros are replaced by a static
13410         inline functions because gcc-4.1 will about if the return value
13411         isn't used.
13412         * tests/check/gst/gstevent.c: (event_probe):
13413         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
13414
13415 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
13416
13417         * gst/gstutils.h:
13418         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
13419         the type' case. (Closes: #335195 for now). In the future, when we
13420         depend on GLib 2.10, we could also intern the type name using
13421         g_intern_static_string()
13422
13423 2006-03-20  Wim Taymans  <wim@fluendo.com>
13424
13425         * gst/gstbin.c: (gst_bin_handle_message_func),
13426         (bin_query_max_init), (bin_query_position_fold),
13427         (bin_query_position_done), (gst_bin_query):
13428         Position query should also take max of all streams.
13429
13430 2006-03-20  Wim Taymans  <wim@fluendo.com>
13431
13432         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13433         (gst_fake_src_finalize):
13434         Fix leaks in fakesrc.
13435
13436         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13437         Fix leaks in the testcase.
13438
13439 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
13440
13441         * gst/gst_private.h:
13442           add win32 specific import decoration(__declspec(dllimport)) 
13443           for all extern GstDebugCategory * variables
13444         * win32/common/libgstbase.def:
13445         * win32/common/libgstcontroller.def:
13446         * win32/common/libgstreamer.def:
13447           Add some exports, remove empty lines
13448         * win32/common/libgstdataprotocol.def:
13449         * win32/common/libgstdataprotocol.dsp:
13450         * win32/common/libgstnet.def:
13451         * win32/common/libgstnet.dsp:
13452           new project files and exportation files added
13453         
13454 2006-03-19  Wim Taymans  <wim@fluendo.com>
13455
13456         * tests/check/libs/basesrc.c: (eos_event_counter):
13457         Use proper return value for probe.
13458
13459 2006-03-17  Wim Taymans  <wim@fluendo.com>
13460
13461         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
13462         (gst_pad_push):
13463         Don't leak buffers, caps and pads on negotiation errors.
13464
13465 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
13466
13467         * docs/faq/cvs.xml:
13468         * docs/faq/dependencies.xml:
13469         * docs/faq/developing.xml:
13470         * docs/faq/faq.xml:
13471         * docs/faq/general.xml:
13472         * docs/faq/getting.xml:
13473         * docs/faq/legal.xml:
13474         * docs/faq/troubleshooting.xml:
13475         * docs/faq/using.xml:
13476         Faq review and update.
13477
13478 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
13479
13480         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
13481         (gst_pad_push):
13482         Don't pound the cpu to pieces by checking get_caps when accept_caps
13483         is called with the same caps as the pad already has.
13484         Use GST_DEBUG_OBJECT when outputting caps change information.
13485
13486 2006-03-15  Wim Taymans  <wim@fluendo.com>
13487
13488         * gst/gstclock.c: (gst_clock_class_init):
13489         Fix docs.
13490
13491 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
13492
13493         * gst/gstbuffer.h:
13494         Documentation fix.
13495
13496         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
13497         (gst_pad_accept_caps), (gst_pad_configure_sink),
13498         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
13499         Make the default acceptcaps behaviour be to check the requested 
13500         caps against the gst_pad_get_caps output. 
13501
13502         Ensure that gst_pad_accept_caps is used to check caps when a pad
13503         doesn't have a setcaps function, so that pads automatically refuse 
13504         caps that they don't allow in their pad template. (Fixes #332986)
13505
13506         When a buffer with attached caps is pushed, ensure that the source 
13507         pad receives those caps even if the element didn't call
13508         gst_pad_set_caps first.
13509
13510 2006-03-15  Wim Taymans  <wim@fluendo.com>
13511
13512         * libs/gst/base/gstadapter.c:
13513         Add some docs.
13514
13515 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
13516
13517         * win32/common/libgstbase.def:
13518         * win32/common/libgstcontroller.def:
13519         * win32/common/libgstreamer.def:
13520           Add a whole bunch of missing functions (#334434).
13521
13522 2006-03-14  Wim Taymans  <wim@fluendo.com>
13523
13524         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13525         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13526         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
13527         Better debug info when we receive a segment event.
13528         Reorganize a bit so we can pass the get_times() results around.
13529         Use the segment format when calculating the running time.
13530         Don't do QoS is sync is disabled or we have no clock or the
13531         element does not want us to sync to the clock.
13532         Don't drop buffers if QoS is disabled for now.
13533
13534 2006-03-14  Wim Taymans  <wim@fluendo.com>
13535
13536         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
13537         Marked the stats property as unimplemented so people don't get
13538         wild ideas.
13539         Add debug message when regression goes wrong.
13540         Added some more docs.
13541
13542 2006-03-14  Wim Taymans  <wim@fluendo.com>
13543
13544         * gst/gstsegment.c: (gst_segment_to_stream_time):
13545         Return correct return type in case of errors.
13546
13547 2006-03-14  Wim Taymans  <wim@fluendo.com>
13548
13549         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
13550           Don't segfault on invalid formats.
13551
13552 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
13553
13554         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13555           Can't use gst_segment_to_running_time() when the segment
13556           is not in GST_TIME_FORMAT (like with filesink, for example).
13557           Stops flac encoding pipelines from spewing critical warnings
13558           at EOS (#331248).
13559           
13560 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
13561
13562         * gst/gstpipeline.c: (gst_pipeline_class_init):
13563           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
13564
13565         * plugins/elements/gsttypefindelement.c:
13566         (gst_type_find_element_handle_event):
13567           Don't try to typefind empty streams.
13568
13569 2006-03-14  Wim Taymans  <wim@fluendo.com>
13570
13571         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13572         (gst_base_sink_do_qos):
13573         Separate QoS calculation.
13574         Only drop buffers when lateness is bigger than the 
13575         duration of the buffer.
13576
13577 2006-03-13  Wim Taymans  <wim@fluendo.com>
13578
13579         * gst/gstpipeline.c: (gst_pipeline_set_property),
13580         (gst_pipeline_get_property), (do_pipeline_seek),
13581         (gst_pipeline_change_state), (gst_pipeline_set_delay),
13582         (gst_pipeline_get_delay):
13583         Don't deadlock when reading properties.
13584
13585 2006-03-13  Wim Taymans  <wim@fluendo.com>
13586
13587         * libs/gst/base/gstbasetransform.c:
13588         (gst_base_transform_class_init), (gst_base_transform_init),
13589         (gst_base_transform_sink_event),
13590         (gst_base_transform_sink_eventfunc),
13591         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
13592         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13593         (gst_base_transform_set_property),
13594         (gst_base_transform_get_property),
13595         (gst_base_transform_change_state), (gst_base_transform_update_qos),
13596         (gst_base_transform_set_qos_enabled),
13597         (gst_base_transform_is_qos_enabled):
13598         * libs/gst/base/gstbasetransform.h:
13599         Make basetransform virtual method for src events too.
13600         Handle QOS in basetransform.
13601         API: gst_base_transform_update_qos()
13602         API: gst_base_transform_set_qos_enabled()
13603         API: gst_base_transform_is_qos_enabled()
13604
13605 2006-03-13  Wim Taymans  <wim@fluendo.com>
13606
13607         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13608         (gst_base_sink_do_sync):
13609         Small cleanups.
13610         Use QOS debug category.
13611
13612 2006-03-13  Wim Taymans  <wim@fluendo.com>
13613
13614         * plugins/elements/gstqueue.c:
13615         Very small doc update.
13616
13617 2006-03-13  Wim Taymans  <wim@fluendo.com>
13618
13619         * gst/gst_private.h:
13620         * gst/gstinfo.c: (_gst_debug_init):
13621         Added QOS debug category
13622
13623 2006-03-13  Wim Taymans  <wim@fluendo.com>
13624
13625         * docs/gst/gstreamer-sections.txt:
13626         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
13627         * gst/gstbin.h:
13628         * gst/gstbus.c: (gst_bus_class_init):
13629         * gst/gstbus.h:
13630         * gst/gstclock.c:
13631         * gst/gstelement.c: (gst_element_set_locked_state):
13632         * gst/gstsegment.c:
13633         Documentation updates.
13634
13635         * gst/gstpipeline.c: (gst_pipeline_get_type),
13636         (gst_pipeline_class_init), (gst_pipeline_init),
13637         (gst_pipeline_dispose), (gst_pipeline_set_property),
13638         (gst_pipeline_get_property), (do_pipeline_seek),
13639         (gst_pipeline_send_event), (gst_pipeline_change_state),
13640         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
13641         (gst_pipeline_get_delay):
13642         * gst/gstpipeline.h:
13643         Added methods for setting the delay.
13644         API: gst_pipeline_set_delay()
13645         API: gst_pipeline_get_delay()
13646         Add pipeline debug category
13647         Various cleanups.
13648         Updated docs.
13649         Don't reset stream time when seek failed.
13650
13651 2006-03-13  Wim Taymans  <wim@fluendo.com>
13652
13653         * docs/design/draft-klass.txt:
13654         * docs/design/part-clocks.txt:
13655         * docs/design/part-events.txt:
13656         * docs/design/part-gstbin.txt:
13657         * docs/design/part-gstpipeline.txt:
13658         * docs/design/part-messages.txt:
13659         * docs/design/part-negotiation.txt:
13660         * docs/design/part-overview.txt:
13661         * docs/design/part-preroll.txt:
13662         * docs/design/part-seeking.txt:
13663         * docs/design/part-states.txt:
13664         * docs/design/part-streams.txt:
13665         Documentation updates.
13666
13667 2006-03-12  Julien MOUTTE  <julien@moutte.net>
13668
13669         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
13670         us to leak strings...
13671
13672 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13673
13674         * libs/gst/net/gstnettimeprovider.c:
13675           fix docs
13676         * win32/common/config.h:
13677           update
13678
13679 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
13680
13681         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
13682
13683         * configure.ac:
13684           Don't check for libgnomeui (leftover from old examples
13685           that aren't built or disted any longer) (#334303).
13686           
13687 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
13688
13689         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
13690         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13691           Emit RESOURCE_NO_SPACE_LEFT error here as well when
13692           there's no space left on the device.
13693
13694 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
13695
13696         * gst/gstclock.h:
13697           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
13698           to cast the input to GstClockTime before comparing with
13699           another GstClockTime value.
13700
13701 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13702
13703         * configure.ac:
13704           back to trunk
13705
13706 === release 0.10.4 ===
13707
13708 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
13709
13710         * configure.ac:
13711           releasing 0.10.4, "Light"
13712
13713 2006-03-10  Michael Smith  <msmith@fluendo.com>
13714
13715         * libs/gst/dataprotocol/dataprotocol.c:
13716           Fix docs for dataprocotol to not get the return types completely
13717           wrong for a few functions.
13718
13719 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
13720
13721         * docs/gst/gstreamer-sections.txt:
13722         * gst/gstpipeline.c: (gst_pipeline_class_init),
13723         (gst_pipeline_init), (gst_pipeline_set_property),
13724         (gst_pipeline_get_property), (gst_pipeline_change_state),
13725         (gst_pipeline_set_auto_flush_bus),
13726         (gst_pipeline_get_auto_flush_bus):
13727         * gst/gstpipeline.h:
13728           Add new API: gst_pipeline_set_auto_flush_bus() and
13729           gst_pipeline_get_auto_flush_bus() to disable automatic
13730           flushing of the pipeline's GstBus when going from READY
13731           to NULL state (#332045).
13732
13733 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
13734
13735         * docs/gst/gstreamer-sections.txt:
13736         * gst/gsturi.c: (gst_uri_has_protocol):
13737         * gst/gsturi.h:
13738            Add new API: gst_uri_has_protocol() (#333779).
13739
13740 2006-03-09  Wim Taymans  <wim@fluendo.com>
13741
13742         * gst/gstclock.c: (gst_clock_entry_new),
13743         (gst_clock_id_compare_func), (gst_clock_id_wait),
13744         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
13745         (gst_clock_init), (gst_clock_get_internal_time),
13746         (gst_clock_set_master), (do_linear_regression),
13747         (gst_clock_add_observation), (gst_clock_set_property):
13748         * gst/gstclock.h:
13749         Review docs.
13750         Small cleanups.
13751         Fix a possible segfault when the window-size is made smaller.
13752         Calculate jitter before performing the clock wait. Ideally
13753         the clock implementation should calculate jitter but we need
13754         API breakage for that.
13755
13756         * gst/gstsystemclock.c: (gst_system_clock_init):
13757         Docs review.
13758         
13759         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13760         Remove leftover else
13761
13762         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
13763         (gst_systemclock_suite):
13764         Added check to test GST_CLOCK_DIFF.
13765
13766 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
13767
13768         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
13769         (gst_type_find_helper_get_range):
13770           If we are provided with the size, we should implement
13771           GstTypeFind::get_length, so that typefind functions who
13772           want to can actually peek at the middle of a file.
13773
13774 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
13775
13776         * docs/manual/advanced-dataaccess.xml:
13777           Add some very very basic error checking.
13778
13779         * docs/pwg/appendix-checklist.xml:
13780           Some updates to the list of things to check when writing an element.
13781
13782 2006-03-08  Wim Taymans  <wim@fluendo.com>
13783
13784         * docs/design/part-element-transform.txt:
13785         Added some docs about the design of tranform elements.
13786
13787         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13788         (gst_base_src_loop), (gst_base_src_change_state):
13789         Mark buffers with the DISCONT flag.
13790
13791 2006-03-08  Michael Smith  <msmith@fluendo.com>
13792
13793         * gst/gstregistry.h:
13794         * gst/gstregistryxml.c: (gst_registry_save),
13795         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
13796         (gst_registry_xml_save_pad_template),
13797         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
13798         (gst_registry_xml_write_cache):
13799           Rewrite registry-saving to avoid race conditions and check for
13800           failed writes.
13801
13802 2006-03-08  Wim Taymans  <wim@fluendo.com>
13803
13804         * libs/gst/base/gstbasetransform.c:
13805         (gst_base_transform_transform_caps),
13806         (gst_base_transform_transform_size),
13807         (gst_base_transform_prepare_output_buffer),
13808         (gst_base_transform_get_unit_size),
13809         (gst_base_transform_buffer_alloc),
13810         (gst_base_transform_handle_buffer),
13811         (gst_base_transform_change_state):
13812         Cleanups, separate normal flow from errors, add sensible
13813         DEBUG lines.
13814         Don't try to renegotiate when allocating an output buffer.
13815         Also copy DISCONT buffer flag when copying a buffer.
13816         Reset the transform after we finish streaming, not during.
13817
13818 2006-03-08  Wim Taymans  <wim@fluendo.com>
13819
13820         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13821         Use last buffer timestamp in qos message.
13822
13823 2006-03-07  Wim Taymans  <wim@fluendo.com>
13824
13825         Patch by: Christophe Fergeau
13826
13827         * docs/pwg/advanced-tagging.xml:
13828         * docs/pwg/building-pads.xml:
13829           fixes #333416
13830
13831 2006-03-07  Wim Taymans  <wim@fluendo.com>
13832
13833         * docs/libs/gstreamer-libs-sections.txt:
13834         Added basesink new methods.
13835
13836         * gst/gstevent.c:
13837         * gst/gstevent.h:
13838         Docs updates. Flesh out the QoS docs.
13839
13840         * libs/gst/base/gstadapter.c:
13841         Small doc clarification about ownership and flushing.
13842
13843         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
13844         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
13845         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
13846         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13847         * libs/gst/base/gstbasesink.h:
13848         API additions: 
13849         Added new methods to allow subclass to control max-lateness 
13850         and sync.
13851         Generate very basic QoS events based on last sync observation.
13852         Updated docs, fix typo, added some QoS blurb.
13853
13854         * libs/gst/base/gstbasesrc.c:
13855         Remove obsolete _get_state() calls from docs.
13856
13857 2006-03-07  Wim Taymans  <wim@fluendo.com>
13858
13859         * docs/libs/gstreamer-libs-sections.txt:
13860         * libs/gst/base/gstbasetransform.h:
13861         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
13862         Fix docs for GstBaseSrc.
13863
13864 2006-03-07  Wim Taymans  <wim@fluendo.com>
13865
13866         * docs/gst/gstreamer-sections.txt:
13867         * gst/gstbuffer.h:
13868         * gst/gstvalue.c:
13869         * libs/gst/base/gstbasetransform.h:
13870         Small documentation fixes.
13871
13872 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
13873
13874         * gst/gstvalue.c:
13875           Document thread-unsafety of gst_value_register_foo_func()
13876           when used at the same time as gst_value_foo() (#322628).
13877
13878 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
13879
13880         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
13881         (gst_push_src_check_get_range):
13882           Push sources don't support pull mode by default.
13883
13884 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13885
13886         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13887         (gst_base_src_init), (gst_base_src_pad_check_get_range),
13888         (gst_base_src_default_check_get_range):
13889         * libs/gst/base/gstbasesrc.h:
13890           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
13891           provide default implementation, and rename
13892           gst_base_src_check_get_range() to
13893           gst_base_src_pad_check_get_range() for clarity.
13894
13895 2006-03-06  Wim Taymans  <wim@fluendo.com>
13896
13897         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13898         Make property overridable.
13899
13900 2006-03-06  Wim Taymans  <wim@fluendo.com>
13901
13902         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13903         (gst_base_sink_init), (gst_base_sink_set_property),
13904         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13905         * libs/gst/base/gstbasesink.h:
13906         API addition: Make max-lateness a property.
13907
13908 2006-03-06  Wim Taymans  <wim@fluendo.com>
13909
13910         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
13911         (gst_base_sink_do_sync), (gst_base_sink_render_object):
13912         Don't ever draw a frame that is >10ms late.
13913
13914 2006-03-06  Michael Smith  <msmith@fluendo.com>
13915
13916         * gst/gstmessage.c: (_gst_message_copy):
13917           When copying a message, set the parent_refcount of the enclosed
13918           structure to point at the copy, not the original message.
13919
13920 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13921
13922         Patch by: Christophe Fergeau
13923
13924         * gst/gstutils.h:
13925           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
13926           usable in c++ code (#333417)
13927
13928 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13929
13930         * gst/gstclock.h:
13931           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
13932
13933 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
13934
13935         * libs/gst/base/gstbasetransform.c:
13936         (gst_base_transform_transform_caps):
13937           Make sure caps are writable before passing them to
13938           gst_caps_append().
13939
13940 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13941
13942         * gst/gsterror.h:
13943           Fix some minor docs errors.
13944
13945 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13946
13947           Patch by: Ross Burton <ross at burtonini dot com>
13948
13949         * gst/gsterror.c: (_gst_resource_errors_init):
13950         * gst/gsterror.h:
13951           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
13952
13953 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13954
13955         * gst/gst.c:
13956         Add a check and output a g_warning when GStreamer is built
13957         against GLib 2.6 but running against 2.8 or higher, and vice 
13958         versa. (Closes: #323542)
13959
13960 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13961
13962         * gst/parse/parse.l:
13963           Commit patch for parse_launch syntax from #331255. Removes 
13964           support for quoted strings and mimetypes when writing filtered 
13965           caps. See the bug report for more details - I'm pretty sure this
13966           obscure feature is not in use by _anyone_ anywhere.
13967
13968           With this simple change, the size of the gstreamer.so here 
13969           drops from 2193KB to 1565KB.
13970
13971 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13972
13973         * plugins/elements/gsttypefindelement.h:
13974         * plugins/elements/gsttypefindelement.c:
13975         (gst_type_find_element_src_event), (start_typefinding),
13976         (stop_typefinding), (gst_type_find_element_handle_event),
13977         (gst_type_find_element_chain),
13978         (gst_type_find_element_chain_do_typefinding):
13979           Use gst_type_find_helper_for_buffer() for chain-based
13980           typefinding.
13981
13982 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13983
13984         * plugins/elements/gsttypefindelement.c:
13985         (gst_type_find_element_class_init),
13986         (gst_type_find_element_set_property),
13987         (gst_type_find_element_get_property):
13988           Deprecate "maximum" property (not only was it only taken into
13989           account for typefinding in push-mode anyway, it also was never
13990           actually possible to set it in the first place because the
13991           property was registered with the numeric property ID for the
13992           "minimum" property). Register "maximum" property correctly,
13993           for the sake of future copy'n'pasters. Remove some cruft
13994           from property get/set functions.
13995
13996 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13997
13998         * plugins/elements/gsttypefindelement.c:
13999         (gst_type_find_element_activate):
14000           Use gst_type_find_helper_get_range() here, so we
14001           can honour the "minimum" property and also emit
14002           the signal with the correct probability of the found caps.
14003
14004 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
14005
14006         * docs/libs/gstreamer-libs-sections.txt:
14007         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
14008         (helper_find_suggest), (gst_type_find_helper_get_range),
14009         (gst_type_find_helper):
14010         * libs/gst/base/gsttypefindhelper.h:
14011           New API: gst_type_find_helper_get_range() (#333042).
14012
14013 2006-03-02  Michael Smith  <msmith@fluendo.com>
14014
14015         * gst/gstregistryxml.c: (load_feature):
14016           Asserting on a failure to read part of the registry is Not Cool.
14017           Just log a warning and return NULL (which is already handled)
14018
14019 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
14020
14021         * win32/common/libgstbase.def:
14022           added export of gst_type_find_helper_for_buffer
14023         * win32/common/libgstbase.def:
14024           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
14025           gst_ghost_pad_get_target
14026
14027 2006-02-28  Wim Taymans  <wim@fluendo.com>
14028
14029         * docs/design/draft-klass.txt:
14030         We use Filter now.
14031         Added Connector to mark elements that are only used to
14032         allow pipeline connections.
14033         Moved Debug to extra feature since most of them are 
14034         functionally something else.
14035
14036 2006-02-28  Wim Taymans  <wim@fluendo.com>
14037
14038         * docs/design/draft-klass.txt:
14039         Some updates and clarifications.
14040
14041 2006-02-28  Wim Taymans  <wim@fluendo.com>
14042
14043         * docs/design/draft-klass.txt:
14044         Proposal for klass field values.
14045
14046         * docs/design/part-streams.txt:
14047         Start of a doc describing stream anatomy.
14048
14049 2006-02-28  Wim Taymans  <wim@fluendo.com>
14050
14051         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
14052         Help the compiler a bit with type registration.
14053         Use existing forward cod path instead of duplicating it when 
14054         handling a message.
14055         
14056         * gst/gstbus.c: (gst_bus_get_type):
14057         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
14058         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
14059         * gst/gstclock.c: (gst_clock_get_type):
14060         * gst/gstelement.c: (gst_element_get_type),
14061         * gst/gstelementfactory.c: (gst_element_factory_get_type):
14062         * gst/gstindexfactory.c: (gst_index_factory_get_type):
14063         * gst/gstminiobject.c: (gst_mini_object_get_type):
14064         * gst/gstpad.c: (gst_pad_get_type):
14065         * gst/gstsegment.c: (gst_segment_get_type):
14066         * gst/gststructure.c: (gst_structure_get_type):
14067         * gst/gstsystemclock.c: (gst_system_clock_get_type):
14068         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
14069         * gst/gstvalue.c:
14070         Help compiler with type registration.
14071
14072         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
14073         Small doc update.
14074
14075 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14076
14077         * plugins/elements/gsttypefindelement.c:
14078         (gst_type_find_element_handle_event):
14079           When we get an EOS event and have not found a type yet
14080           (most likely because we had not yet accumulated
14081           TYPE_FIND_MIN_SIZE of data yet), try to determine the
14082           type given the data we have so far. Fixes typefinding
14083           for very short streams again, most notably quicktime
14084           redirections as used on Apple's trailer site (#331701).
14085
14086 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14087
14088         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
14089         (gst_type_find_helper):
14090           Try typefinding factories with the highest rank first.
14091
14092 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14093
14094         * docs/libs/gstreamer-libs-docs.sgml:
14095         * docs/libs/gstreamer-libs-sections.txt:
14096         * libs/gst/base/gsttypefindhelper.c:
14097           Add section for typefind helper and add documentation
14098           for the old and the new function.
14099
14100 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14101
14102         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
14103         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
14104         (gst_type_find_helper_for_buffer):
14105         * libs/gst/base/gsttypefindhelper.h:
14106           New API: gst_type_find_helper_for_buffer() (#332723).
14107           
14108 2006-02-27  Michael Smith  <msmith@fluendo.com>
14109
14110         Patch by: Loïc Minier
14111
14112         * configure.ac:
14113         * docs/Makefile.am:
14114         * docs/slides/Makefile.am:
14115           prevent CVS directories getting disted.
14116
14117 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14118
14119         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
14120           Use the REFCOUNTING category for caps refcounting.
14121           
14122 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14123
14124         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14125           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
14126
14127 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14128
14129         * plugins/elements/gsttypefindelement.c:
14130         (gst_type_find_element_activate):
14131           Use gst_pad_check_pull_range() before _activate_pull()
14132           to avoid unnecessary open/close (see #331690).
14133
14134 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14135
14136         * gst/gstutils.c:
14137           Docs enhancement: make it crystal clear what the
14138           gst_pad_add_*_probe() callbacks should look like.
14139
14140 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14141
14142         * libs/gst/base/gstbasesrc.c:
14143           Document how applications can stop recording from
14144           live sources (see #330996).
14145
14146 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14147
14148         * tests/check/Makefile.am:
14149         * tests/check/libs/basesrc.c: (eos_event_counter),
14150         (basesrc_eos_events_pull), (basesrc_eos_events_push),
14151         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
14152         (gst_basesrc_suite), (main):
14153           ... and add some tests for the base source EOS stuff.
14154
14155 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14156
14157         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
14158           Test case originally showed the problem fixed below,
14159           but was then amended. Add checks back at the place
14160           where they used to be.
14161
14162 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14163
14164         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14165         (gst_base_src_init), (gst_base_src_loop),
14166         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14167         (gst_base_src_change_state):
14168         * libs/gst/base/gstbasesrc.h:
14169           Don't unconditionally send EOS when going from PAUSED to
14170           READY state, esp. make sure we don't send two EOS events
14171           in some cases (e.g. one when reaching EOS and one when
14172           going from PAUSED to READY). Also, we don't want to send
14173           EOS events when operating in pull mode. However, we do
14174           want to send an EOS event when shutting down a live
14175           source explicitly, for example (fixes #330996).
14176           
14177 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14178
14179         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
14180           Update src->read_position after a seek when not using mmap.
14181           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
14182
14183 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
14184
14185         * gst/Makefile.am:
14186         * gst/gstparse.h:
14187         * gst/gstutils.c:
14188         * gst/gstutils.h:
14189         Make things work with --disable-parse as they do with 
14190         --disable-load-save - the symbols involved disappear, but the
14191         header is still installed and GST_DISABLE_PARSE is included via
14192         gstconfig.h
14193
14194 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14195
14196         * libs/gst/base/gstbasetransform.c:
14197         (gst_base_transform_change_state): Fix a stupid bug. I was 
14198         sure I compiled that.
14199
14200 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14201
14202         * gst/gstpad.c: (gst_pad_set_blocked_async):
14203         * gst/gstutils.c: (gst_pad_add_data_probe),
14204         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14205         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14206         (gst_pad_remove_buffer_probe): Make those function act on the
14207         ghostpad target when it's a ghostpad. (Closes #331727)
14208
14209 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14210
14211         * libs/gst/base/gstbasetransform.c:
14212         (gst_base_transform_change_state): Make basetransform reusable.
14213         (Closes #331898)
14214
14215 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
14216
14217         * docs/random/release:
14218         Move the current documentation of how to do a release to the top
14219         of the file.
14220
14221         * gst/gstbin.c: (gst_bin_class_init),
14222         (gst_bin_handle_message_func):
14223         Allow multiple state-recalculation threads. (Closes #328873)
14224
14225 2006-02-19  Julien MOUTTE  <julien@moutte.net>
14226
14227         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
14228         * gst/gstpad.c: (gst_pad_set_event_function),
14229         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
14230         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
14231         2 strings. You can't use the STR_NULL macro on that.
14232
14233 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
14234
14235         * gst/gstpad.c: (gst_pad_set_event_function),
14236         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
14237         (gst_pad_set_getcaps_function)
14238         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
14239           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
14240           So now, we can use --gst-debug-level=5 on Windows
14241         * win32/common/libgstcontroller.def:
14242           Added export of gst_controller_init
14243         * win32/vs6/libgstcontroller.dsp:
14244           Fixed Release post build configuration
14245
14246 2006-02-17  Wim Taymans  <wim@fluendo.com>
14247
14248         * tests/check/gst/gstquery.c: (GST_START_TEST):
14249         Added another check.
14250
14251 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
14252
14253         * plugins/elements/gsttypefindelement.c: (find_peek):
14254           We can do peeks at non-zero offsets, as long as they
14255           fall within the buffer we have.
14256
14257 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
14258
14259         * tests/check/Makefile.am:
14260         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
14261         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
14262         (parse_suite), (main):
14263           Add testsuite for parse launch syntax
14264
14265 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
14266
14267         * plugins/elements/gsttypefindelement.c:
14268         (gst_type_find_element_chain):
14269           When typefinding is unsuccessful in the chain function, don't
14270           error out immediately. Only error out with NO_CAPS_FOUND if
14271           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
14272           otherwise simply wait for more data so we can try typefinding
14273           again with more data later. Also, don't attempt to typefind
14274           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
14275           this should improve typefinding from network sources where the
14276           size of the first buffer can be somewhat random.
14277
14278 2006-02-14  Wim Taymans  <wim@fluendo.com>
14279
14280         * docs/gst/gstreamer-sections.txt:
14281         * gst/gstpadtemplate.c:
14282         * gst/gstpadtemplate.h:
14283         Fix padtemplate docs, fixes #328805.
14284
14285 2006-02-14  Wim Taymans  <wim@fluendo.com>
14286
14287         * tools/gst-launch.c: (main):
14288         NO_PREROLL is not an ERROR so don't send confusing messages
14289         to the user.
14290
14291 2006-02-14  Wim Taymans  <wim@fluendo.com>
14292
14293         Patch by: Torsten Schoenfeld
14294
14295         * gst/gstregistry.c: (gst_registry_get_default),
14296         (_gst_registry_cleanup):
14297         Protect default registry with lock and ref/sink it.
14298         Fixes #324818
14299
14300 2006-02-14  Wim Taymans  <wim@fluendo.com>
14301
14302         * gst/gstbuffer.c:
14303         * gst/gstquery.c: (gst_query_list_add_format),
14304         (gst_query_set_formatsv), (gst_query_parse_formats_length),
14305         (gst_query_parse_formats_nth):
14306         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14307         Docs fixes.
14308
14309 2006-02-14  Wim Taymans  <wim@fluendo.com>
14310
14311         * docs/gst/gstreamer-sections.txt:
14312         Reworked query docs.
14313
14314         * gst/gstquery.c: (gst_query_new_formats),
14315         (gst_query_list_add_format), (gst_query_set_formats),
14316         (gst_query_set_formatsv), (gst_query_parse_formats_length),
14317         (gst_query_parse_formats_nth):
14318         * gst/gstquery.h:
14319         Flesh out formats query, added some new methods.
14320         Fix part of #324398.
14321
14322         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
14323         Added query creation tests.
14324
14325 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
14326
14327         * gst/gstpad.c: (fixate_value):
14328         Add a default fixation for fraction lists.
14329
14330 2006-02-13  Wim Taymans  <wim@fluendo.com>
14331
14332         * gst/gsttask.c: (gst_task_init), (gst_task_func),
14333         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
14334         (gst_task_join):
14335         * gst/gsttask.h:
14336         Detect and warn for obvious deadlocks. fixes #320340
14337         Fix error case where lock was not released.
14338
14339         * tests/check/Makefile.am:
14340         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
14341         (task_func), (gst_element_suite), (main):
14342         Add task check.
14343
14344 2006-02-13  Wim Taymans  <wim@fluendo.com>
14345
14346         * docs/gst/gstreamer-sections.txt:
14347         * gst/gstbus.c:
14348         Add new functions to docs.
14349
14350 2006-02-13  Wim Taymans  <wim@fluendo.com>
14351
14352         * docs/design/part-TODO.txt:
14353         Updated TODO list, basesrc supports seeking to non-bytes
14354         formats.
14355
14356         * docs/design/part-element-sink.txt:
14357         Update docs.
14358
14359         * gst/gstbin.c: (bin_replace_message),
14360         (gst_bin_handle_message_func):
14361         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
14362         * gst/gstevent.c: (gst_event_finalize):
14363         * gst/gstpad.c: (gst_pad_event_default_dispatch),
14364         (gst_pad_send_event):
14365         Use shiny new _TYPE_NAME macros.
14366
14367         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14368         Move debug statement up.
14369
14370         * gst/gstelement.c: (gst_element_set_locked_state):
14371         Add some debugging.
14372
14373 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
14374
14375         * docs/gst/gstreamer-sections.txt:
14376         * gst/gstmessage.h:
14377         * gst/gstquery.h:
14378           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
14379           macros (#330906). Also, document the already existing
14380           GST_QUERY_TYPE macro.
14381
14382 2006-02-13  Wim Taymans  <wim@fluendo.com>
14383
14384         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
14385         (event_probe), (GST_START_TEST):
14386         Only events up to the pipeline EOS are counted, there are
14387         some more when going to NULL currently which we don't care
14388         about for now.
14389
14390 2006-02-13  Wim Taymans  <wim@fluendo.com>
14391
14392         * gst/gstpad.c: (gst_pad_send_event):
14393         Correctly check flushing and emit probes. fixes #330125
14394
14395 2006-02-10  Andy Wingo  <wingo@pobox.com>
14396
14397         * gst/gstbus.c (gst_bus_class_init): Declare our private data
14398         structure.
14399         (gst_bus_init): Cache the location of the private data in the
14400         instance structure.
14401         (gst_bus_enable_sync_message_emission) 
14402         (gst_bus_disable_sync_message_emission): Implement new public
14403         functions.
14404         (gst_bus_post): Emit the sync-message signal if the user asked for
14405         it. Fixes #330684.
14406
14407         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
14408         location of the bus-private structure.
14409         (gst_bus_enable_sync_message_emission)
14410         (gst_bus_disable_sync_message_emission): API addition
14411
14412 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
14413
14414         Patch by: Vincent Torri
14415
14416         * docs/pwg/building-boiler.xml:
14417         PWG patch from #326800
14418
14419 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
14420
14421         * configure.ac:
14422         * docs/Makefile.am:
14423         * docs/design/Makefile.am:
14424           Dist design docs.
14425
14426 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
14427
14428         * configure.ac:
14429           back to CVS
14430
14431 === release 0.10.3 ===
14432
14433 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
14434
14435         * configure.ac:
14436           releasing 0.10.3, "Like a virgin"
14437
14438 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
14439
14440         * configure.ac:
14441           2nd prerelease of 0.10.3
14442           Bump libtool versioning.
14443
14444 2006-02-07  Andy Wingo  <wingo@pobox.com>
14445
14446         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
14447         update last_stop if we're in TIME format and the timestamp is
14448         valid.
14449
14450         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
14451         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
14452         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
14453         If we get a new newsegment with a different format, adapt
14454         accordingly.
14455
14456         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
14457         of 0. Not a problem, really.
14458
14459         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
14460         warn if sync=true.
14461
14462 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
14463
14464         * configure.ac:
14465           Prelease of 0.10.3
14466
14467 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
14468
14469         * win32/vs7:
14470           project files updated to the default vs7 configuration
14471         * win32/common/libgstbase.def:
14472         * win32/common/libgstreamer.def:
14473           added new symbols,
14474           removed empty lines,
14475           sorted all exported symbols alphabetically
14476         * win32/common/dirent.c:
14477         * win32/common/dirent.h:
14478         * win32/common/gchar.h:
14479           use windows line end.
14480           
14481 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
14482
14483         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
14484           Send EOS event when stopping.
14485
14486 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
14487
14488         * docs/README:
14489           Tell folks what to do if the plugin-foobar.xml file
14490           hasn't been generated for a newly-added plugin.
14491
14492 2006-02-05  Julien MOUTTE  <julien@moutte.net>
14493
14494         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14495         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14496         (gst_collect_pads_start), (gst_collect_pads_stop),
14497         (gst_collect_pads_event): Collectpads now holds a reference
14498         to the GstPad that was added. Indeed we don't want to look
14499         at pads that might just go away with no warning...
14500
14501 2006-02-05  Julien MOUTTE  <julien@moutte.net>
14502
14503         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14504         (gst_collect_pads_start), (gst_collect_pads_stop),
14505         (gst_collect_pads_event), (gst_collect_pads_chain):
14506         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
14507         Mark Nauwelaerts's patch on bug #328491.
14508
14509 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
14510
14511         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
14512         (gst_utils_suite):
14513           Add some simple tests for gst_parse_bin_from_description() and
14514           gst_bin_find_unconnected_pad() (#329069).
14515
14516 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
14517
14518         * tools/gst-launch.c: (event_loop), (main):
14519           Catch errors during preroll (#320084).
14520
14521 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
14522
14523         * plugins/elements/gsttypefindelement.c:
14524         (gst_type_find_element_activate):
14525           Post TYPE_NOT_FOUND error message when typefinding
14526           is unsuccessful in the activate function as well.
14527
14528 2006-02-02  Wim Taymans  <wim@fluendo.com>
14529
14530         * docs/design/part-element-sink.txt:
14531         Updated doc.
14532
14533 2006-02-02  Wim Taymans  <wim@fluendo.com>
14534
14535         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14536         (gst_base_sink_render_object),
14537         (gst_base_sink_queue_object_unlocked):
14538         Only keep track of prerollable items when we are 
14539         prerolling.
14540         Before rendering after preroll, always check if we
14541         have queued items.
14542         Added some more debugging.
14543
14544 2006-02-02  Wim Taymans  <wim@fluendo.com>
14545
14546         * gst/gstelement.c: (gst_element_continue_state),
14547         (gst_element_set_state_func), (gst_element_change_state):
14548         Fixed #326576, been running this for quite some time with
14549         no regressions at all.
14550
14551 2006-02-02  Wim Taymans  <wim@fluendo.com>
14552
14553         * common/gst.supp:
14554         Added more suppressions
14555
14556 2006-02-02  Wim Taymans  <wim@fluendo.com>
14557
14558         * docs/design/part-element-sink.txt:
14559         Updated document.
14560
14561         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14562         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
14563         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
14564         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14565         (gst_base_sink_do_sync), (gst_base_sink_render_object),
14566         (gst_base_sink_preroll_object),
14567         (gst_base_sink_queue_object_unlocked),
14568         (gst_base_sink_queue_object), (gst_base_sink_event),
14569         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
14570         (gst_base_sink_loop), (gst_base_sink_activate_pull),
14571         (gst_base_sink_get_position), (gst_base_sink_change_state):
14572         * libs/gst/base/gstbasesink.h:
14573         Totally refactored matching the design doc.
14574         Use two segments, one to clip incomming buffers and another to
14575         perform sync.
14576         Handle queueing correctly, bypass the queue when playing.
14577         Make EOS cancelable.
14578         Handle errors correctly when operating in pull based mode.
14579
14580         * tests/check/elements/fakesink.c: (GST_START_TEST),
14581         (fakesink_suite):
14582         Added new check for sinks.
14583
14584 2006-02-02  Wim Taymans  <wim@fluendo.com>
14585
14586         * gst/gstsegment.c: (gst_segment_clip):
14587         No reason to refuse to clip when start == -1
14588
14589 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
14590
14591         * docs/README:
14592         * docs/manual/intro-basics.xml:
14593         * docs/manual/intro-preface.xml:
14594         * docs/manual/manual.xml:
14595         * docs/pwg/advanced-dparams.xml:
14596         * docs/pwg/intro-basics.xml:
14597         * docs/pwg/intro-preface.xml:
14598         * docs/pwg/pwg.xml:
14599           describe dparams (controller) for plugins
14600           unify docs a little more
14601
14602 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
14603
14604         * docs/gst/gstreamer-sections.txt:
14605         * gst/gstutils.c: (element_find_unconnected_pad),
14606         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
14607         * gst/gstutils.h:
14608           Add new API: gst_parse_bin_from_description() and
14609           gst_bin_find_unconnected_pad() (#329069).
14610
14611 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
14612
14613         * docs/manual/README:
14614           uncover a nasty detail of the docs build
14615
14616 2006-01-31  Wim Taymans  <wim@fluendo.com>
14617
14618         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
14619         Don't cache duration messages if we're not going to use or
14620         free them.
14621
14622 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
14623
14624         * docs/manual/advanced-dparams.xml:
14625         * docs/pwg/advanced-dparams.xml:
14626           more dparam docs
14627         * gst/gstindex.c:
14628           fix docs
14629         * libs/gst/controller/lib.c: (gst_controller_init):
14630           init just once
14631
14632 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14633
14634         * gst/gstelement.c: (gst_element_message_full):
14635           also show file/line/func if no additional debug was given
14636
14637 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
14638         
14639         * win32/vs7/grammar.vcproj:
14640           activate copy of autogenerated files for Release mode
14641
14642 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
14643         
14644         * win32/common/libgstreamer.def:
14645           export gst_value_compare
14646
14647 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
14648
14649         * plugins/elements/Makefile.am:
14650         * plugins/elements/gstelements.c:
14651         * plugins/elements/gstfdsink.c: (_do_init),
14652         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
14653         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
14654         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
14655         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
14656         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
14657         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
14658         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
14659         * plugins/elements/gstfdsink.h:
14660         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
14661
14662 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
14663
14664         * docs/manual/advanced-dparams.xml:
14665           describe controller
14666         * docs/manual/advanced-position.xml:
14667         * docs/manual/basics-init.xml:
14668         * docs/manual/manual.xml:
14669         * docs/manual/titlepage.xml:
14670         * docs/pwg/pwg.xml:
14671         * docs/pwg/titlepage.xml:
14672           cleanup xml (more to come)
14673         * libs/gst/controller/gstcontroller.c:
14674           fix typo
14675
14676 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
14677         
14678         * win32/vs6/grammar.dsp:
14679           add autogen of gstmarshal.c,h for Release mode
14680                 
14681 2006-01-30  Wim Taymans  <wim@fluendo.com>
14682
14683         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14684         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
14685         (gst_base_sink_handle_object), (gst_base_sink_event),
14686         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
14687         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14688         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
14689         (gst_base_sink_deactivate), (gst_base_sink_activate),
14690         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14691         (gst_base_sink_query), (gst_base_sink_change_state):
14692         Basesink cleanups, remove some old code.
14693         Handle the case where a subclass can preroll in the render
14694         method (mostly audiosinks).
14695         Handle more events.
14696         Remove some locks around variables that are now protected
14697         with the PREROLL_LOCK (clock_id, flushing, ..).
14698         Optimize position query some more, do correct locking.
14699         Remove old code to push queue in state change, this is not
14700         needed anymore since preroll blocks on all prerollable items 
14701         now.
14702         Almost implemented as described in design doc.
14703
14704 2006-01-30  Wim Taymans  <wim@fluendo.com>
14705
14706         * tests/check/gst/gstbin.c: (GST_START_TEST):
14707         Wait for refcount to settle down before checking.
14708
14709 2006-01-30  Wim Taymans  <wim@fluendo.com>
14710
14711         * docs/design/part-element-sink.txt:
14712         Pseudo code overview of desired sink behaviour regarding
14713         preroll.
14714
14715 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
14716         * win32/vs6/grammar.dsp:
14717           fix some bugs in Release mode for autogenerated files
14718                 
14719 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
14720         * win32/common/libgstbase.def:
14721         * win32/common/libgstreamer.def:
14722           export some new symbols: gst_base_src_set_format,
14723           gst_iterator_next, gst_structure_set_valist
14724
14725 2006-01-29  Julien MOUTTE  <julien@moutte.net>
14726
14727         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
14728         Set pad functions unconditionally. Fixes #329105.
14729
14730 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
14731         * win32/vs8:
14732           add vs8 project files created by Sergey Scobich
14733
14734 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
14735
14736         * gst/gstutils.c: (gst_element_unlink_pads):
14737         Don't leak pad references.
14738
14739         * tests/check/elements/fakesink.c: (GST_START_TEST):
14740         * tests/check/generic/sinks.c: (GST_START_TEST):
14741         * tests/check/generic/states.c: (GST_START_TEST):
14742         * tests/check/gst/gstbin.c: (GST_START_TEST):
14743         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14744         * tests/check/gst/gstelement.c: (GST_START_TEST):
14745         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14746         * tests/check/gst/gstiterator.c: (GST_START_TEST):
14747         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14748         Fix a bunch of leaks. Make generic/sinks.c
14749         use a bit less cpu by slowing the buffer rate
14750         between fakesrc and fakesink.
14751         
14752 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
14753         * gst/gstcaps.c:
14754         * gst/gstelement.c: (gst_element_send_event):
14755         * gst/gstevent.c:
14756         * gst/gstinfo.c:
14757         * gst/gstiterator.c:
14758         * gst/gstiterator.h:
14759         * gst/gstpad.c: (gst_pad_send_event):
14760         * gst/gststructure.c:
14761         * gst/gsturi.c:
14762         * gst/gstutils.c:
14763         * gst/gstvalue.c:
14764         * libs/gst/base/gstadapter.c:
14765           doc fixes, to link to function, just write gst_cool_function(), don't
14766           prefix with '#'
14767
14768 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14769
14770         * plugins/elements/gsttee.c: (gst_tee_do_push),
14771         (gst_tee_handle_buffer):
14772         Always prefer an actual return value from a src
14773         pad in place of NOT_LINKED. This means we return
14774         WRONG_STATE when all src pads are WRONG_STATE
14775         instead of NOT_LINKED.
14776
14777         Lock when replacing the last message to prevent
14778         racing with the get_property method.
14779
14780         Add debug output
14781
14782 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14783
14784         * tests/check/Makefile.am:
14785         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
14786         (main):
14787         Add a very simple check that should have caught the memleak I fixed
14788         last night (if not for the slice allocator hiding it)
14789
14790 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14791
14792         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14793         (gst_bin_remove_func), (gst_bin_handle_message_func),
14794         (bin_query_duration_fold), (bin_query_generic_fold):
14795         Clean up references to the clock provider when disposed or when
14796         handling a clock-lost message from it.
14797
14798         Unref sinks when performing a query via gst_iterator_fold, as the
14799         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
14800
14801         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
14802         (gst_clock_set_master):
14803         Drop our reference to the master clock, if any, when we are disposed.
14804
14805         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
14806         Chain up in dispose. 
14807
14808 2006-01-26  Wim Taymans  <wim@fluendo.com>
14809
14810         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14811         Add some debugging.
14812
14813 2006-01-26  Julien MOUTTE  <julien@moutte.net>
14814
14815         * plugins/elements/gsttee.c: (gst_tee_do_push),
14816         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
14817         handles pad being NOT_LINKED or in WRONG_STATE.
14818
14819 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14820
14821         * win32/MANIFEST:
14822           more updating
14823
14824 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14825
14826         * win32/MANIFEST:
14827           remove obsolete entry
14828
14829 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14830
14831         * docs/gst/gstreamer-sections.txt:
14832         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
14833         (gst_bin_iterate_sources), (gst_bin_send_event):
14834         * gst/gstbin.h:
14835         * gst/gstelement.c: (gst_element_send_event):
14836         * gst/gstevent.c:
14837         * gst/gstpad.c: (gst_pad_send_event):
14838           added code for downstream events, reviewed docs in gstevent.c
14839
14840 2006-01-25  Julien MOUTTE  <julien@moutte.net>
14841
14842         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14843         We only query position using the clock in the playing state.
14844         Query peer in the other cases.
14845         * win32/common/config.h: Updates.
14846
14847 2006-01-24  Wim Taymans  <wim@fluendo.com>
14848
14849         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14850         A clock entry that is scheduled for the exact time of the
14851         clock is still in time.
14852
14853         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14854         (gst_base_sink_do_sync):
14855         Add some more debug info.
14856
14857 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
14858
14859         * win32/vs7:
14860           Add new vs7 project files and solution.
14861
14862 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
14863
14864         * win32/vs7:
14865           all files removed as they were out-dated.
14866
14867 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14868
14869         * docs/random/release:
14870           update notes
14871         * gst/gstbin.c: (gst_bin_init):
14872         * gst/gstbus.c: (gst_bus_new):
14873         * gst/gstbus.h:
14874         * gst/gstpipeline.c: (gst_pipeline_init):
14875           use gst_bus_new(), improve logging, fix docs
14876         * win32/common/config.h:
14877           update for cvs build
14878
14879 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14880
14881         * autogen.sh:
14882           up required version of automake to 1.7
14883
14884 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
14885
14886         * win32/common/libgstreamer.def:
14887           export gst_buffer_is_metadata_writable
14888
14889 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
14890
14891         * docs/gst/gstreamer-sections.txt:
14892         * gst/gstevent.h:
14893           Add gst_event_replace() (#327001)
14894
14895 2006-01-20  Wim Taymans  <wim@fluendo.com>
14896
14897         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14898         Make it actually compile too..
14899
14900 2006-01-20  Wim Taymans  <wim@fluendo.com>
14901
14902         * gst/gstcaps.c:
14903         Clarify behaviour of _is_equal() when passing NULL parameters.
14904
14905         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14906         (gst_pad_set_caps):
14907         Cleanups. Don't unref NULL caps.
14908         When setting the same caps, protect caps of the pad with
14909         proper lock.
14910         Use full functionality of _is_equal() when comparing caps.
14911
14912 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14913
14914         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14915         Don't loop infinitely if there are no buffers to present. Partially
14916         fixes #327197, but collectpads is just broken for reusing elements
14917         to do multiple encodes atm.
14918
14919 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14920
14921         * tools/gst-inspect.c: (print_element_features):
14922         * tools/gst-xmlinspect.c: (main):
14923         URL_HANDLER is not a plugin feature we can search for in
14924         the registry.
14925
14926 2006-01-19  Edward Hervey  <edward@fluendo.com>
14927
14928         * gst/gstelement.c: (gst_element_pads_activate): 
14929         When activating, do src pads first, then sink pads.
14930         When de-activating, do sink pads first, then src pads.
14931
14932 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14933
14934         * docs/gst/gstreamer-sections.txt:
14935         Add gst_index_add_associationv to the docs
14936
14937 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14938
14939         * gst/gstevent.c:
14940           Fix docs typo
14941
14942         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
14943         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
14944           Do some refactoring. Doesn't actually change functionality,
14945           but makes landing the DRAIN event easier later.
14946
14947 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
14948
14949         * docs/pwg/advanced-scheduling.xml:
14950           Update from 0.9.x to 0.10 API and make example a bit
14951           clearer.
14952
14953 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14954
14955         * docs/gst/gstreamer-sections.txt:
14956         Add gst_buffer_(is|make)_metadata_writable methods.
14957
14958 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14959
14960         * docs/design/part-sparsestreams.txt:
14961         Update sparse streams doc, hopefully for greater clarity
14962
14963 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
14964
14965         * docs/design/part-events.txt:
14966         Remove mention of FILLER events.
14967         Add DRAIN event.
14968
14969         * docs/design/part-sparsestreams.txt:
14970         Write some things about using NEWSEGMENT to keep sparse streams
14971         flowing.
14972
14973 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14974
14975         * gst/gstbin.c: (gst_bin_dispose):
14976           Guard gst_object_unref call against a NULL object (dispose
14977           can theoretically be called multiple times).
14978           
14979 2006-01-18  Wim Taymans  <wim@fluendo.com>
14980
14981         * gst/gstbin.c: (gst_bin_element_set_state):
14982         * gst/gstclock.c: (gst_clock_id_wait):
14983         Added some more debug info.
14984
14985         * libs/gst/base/gstadapter.c:
14986         Added more docs.
14987
14988         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14989         (gst_base_sink_do_sync), (gst_base_sink_chain):
14990         Added some comments.
14991
14992 2006-01-18  Wim Taymans  <wim@fluendo.com>
14993
14994         * tests/check/Makefile.am:
14995         * tests/check/elements/fakesink.c: (chain_async_buffer),
14996         (chain_async), (chain_async_return), (GST_START_TEST),
14997         (fakesink_suite), (main):
14998         Added fakesink test that checks prerolling and clipping
14999         behaviour.
15000
15001         * tests/check/gst/gstutils.c: (GST_START_TEST):
15002         Make check run faster so that buildbots don't timeout.
15003
15004 2006-01-18  Wim Taymans  <wim@fluendo.com>
15005
15006         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15007         (gst_base_sink_do_sync):
15008         Some cleanups.
15009         When the sink finishes blocking on the preroll buffer, it can
15010         immediatly render it instead of rendering when the next buffer
15011         arrives.
15012
15013 2006-01-18  Wim Taymans  <wim@fluendo.com>
15014
15015         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
15016         (gst_base_sink_get_property), (gst_base_sink_do_sync),
15017         (gst_base_sink_chain):
15018         Small cleanups.
15019         GST_ELEMENT_CLOCK and sync are protected with LOCK.
15020         Don't store _last_stop if the buffer is dropped.
15021
15022 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15023
15024         * plugins/elements/gsttypefindelement.c:
15025         (gst_type_find_element_class_init):
15026           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
15027           object method handler that sets the caps on the pad and we want
15028           that to happen before we emit the signal (fixes e.g. feeding a
15029           plain text file to decodebin).
15030
15031 2006-01-18  Christian Schaller  <Christian@fluendo.com>
15032
15033         * gst/gstplugin.c: Add MPL and Proprietary as license options
15034
15035 2006-01-18  Andy Wingo  <wingo@pobox.com>
15036
15037         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
15038         symbol was exported before, it appears this was just an oversight.
15039         Fixes #168703.
15040         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
15041
15042         * gst/gstindex.c (gst_index_add_associationv): Changed int in
15043         prototype to gint. OK since this prototype was not in the header.
15044
15045 2006-01-17  Andy Wingo  <wingo@pobox.com>
15046
15047         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
15048         registry while we remove plugins.
15049
15050         * tools/gst-inspect.c (print_element_info): Don't unref the
15051         factory arg, that should be the responsibility of whatever code
15052         received the ref. Fixes a double-free when called from
15053         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
15054         (main): Unref the factory if we have one.
15055         (print_element_list): No change -- relies on the
15056         plugin_feature_list_free to free the list of features.
15057
15058 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
15059
15060         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15061         (gst_buffer_make_metadata_writable):
15062         * gst/gstbuffer.h:
15063         * libs/gst/base/gstbasetransform.c:
15064         (gst_base_transform_prepare_output_buf):
15065         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15066         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15067           Replace gst_buffer_(make|is)_metadata_writable patch now
15068           that the release is out.
15069
15070 2006-01-17  Andy Wingo  <wingo@pobox.com>
15071
15072         * gst/gstregistry.c: Reflow design comment. Update so as to speak
15073         in the present tense without reference to versions.
15074
15075         * gst/gstregistry.c (gst_registry_add_plugin)
15076         (gst_registry_remove_plugin, gst_registry_remove_feature)
15077         (gst_registry_find_feature, gst_registry_get_feature_list)
15078         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
15079         (gst_registry_lookup, gst_registry_scan_path)
15080         (_gst_registry_remove_cache_plugins)
15081         (gst_registry_get_feature_list_by_plugin): Add argument
15082         validation.
15083
15084 === release 0.10.2 ===
15085
15086 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
15087
15088         * configure.ac:
15089           releasing 0.10.2, "If man is five"
15090
15091 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15092
15093         * gst/gstbuffer.c:
15094         * gst/gstbuffer.h:
15095         * libs/gst/base/gstbasetransform.c:
15096         (gst_base_transform_prepare_output_buf):
15097         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15098         * tests/check/gst/gstbuffer.c: (gst_test_suite):
15099           Back out patch until after the release.
15100
15101 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15102
15103         * gst/gstminiobject.c:
15104           Spelling fix in docs.
15105         * ChangeLog - remove conflict indicator
15106
15107 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15108
15109         Reviewed By: Andy Wingo
15110
15111         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15112         (gst_buffer_make_metadata_writable):
15113         * gst/gstbuffer.h:
15114           Add gst_buffer_(is|make)_metadata_writable as analogues of
15115           gst_buffer_(is|make)_writable.
15116
15117         * libs/gst/base/gstbasetransform.c:
15118         (gst_base_transform_prepare_output_buf):
15119         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15120           Use name gst_buffer_(is|make)_metadata_writable functions.
15121
15122         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15123           Test gst_buffer_(is|make)_metadata_writable
15124         
15125           (Closes: #324162)
15126
15127 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15128
15129         * docs/manual/Makefile.am:
15130           don't do parallel make
15131         * configure.ac:
15132           AC_SUBST HOST_CPU
15133         * win32/common/config.h.in:
15134           add generations for HOST_CPU and GST_MAJORMINOR
15135         * win32/common/config.h:
15136           commit generated result
15137
15138 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
15139
15140         * docs/manual/appendix-integration.xml:
15141           Update GNOME integration section to use gst_init_get_option_group()
15142           instead of the old popt stuff (#322911). Also, GNOME applications
15143           should  now use gconf*sink and gconf*src instead of the old gconf
15144           helper lib we had.
15145
15146 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
15147
15148
15149         * docs/gst/gstreamer-docs.sgml:
15150         * docs/gst/gstreamer-sections.txt:
15151         * docs/libs/gstreamer-libs-sections.txt:
15152           add new API entries to the docs
15153         * libs/gst/controller/Makefile.am:
15154         * libs/gst/controller/gstcontroller.c:
15155         * libs/gst/controller/gstcontroller.h:
15156         * libs/gst/controller/gstcontrollerprivate.h:
15157         * libs/gst/controller/gsthelper.c:
15158         * libs/gst/controller/gstinterpolation.c:
15159           move private structs to private header
15160         * po/README:
15161           gstreamer-0.7 -> gstreamer-0.10
15162         * tests/check/libs/struct_i386.h:
15163           remove private structs
15164
15165 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15166
15167         * plugins/indexers/Makefile.am:
15168           Fixes as part of #317048
15169
15170 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15171
15172         * plugins/indexers/Makefile.am:
15173           fix #316086 - compilation when mmap is missing
15174
15175 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
15176
15177         * libs/gst/base/gstbasesink.c:
15178           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
15179           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
15180         * win32/common/config.h:
15181           added some defines GST_MAJORMINOR and HOST_CPU
15182         * win32/common/libgstbase.def:
15183         * win32/common/libgstreamer.def:
15184           added some exported functions.
15185
15186 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
15187
15188         * libs/gst/controller/gstcontroller.c:
15189         (gst_controlled_property_set_interpolation_mode),
15190         (gst_controlled_property_new):
15191         * libs/gst/controller/gstcontroller.h:
15192         * libs/gst/controller/gstinterpolation.c:
15193         (interpolate_none_get_string_value_array):
15194           make G_TYPE_STRING controlable
15195
15196 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
15197
15198         * tools/README:
15199         * tools/gst-feedback.1.in:
15200         * tools/gst-inspect.1.in:
15201         * tools/gst-launch.1.in:
15202         * tools/gst-md5sum.1.in:
15203         * tools/gst-typefind.1.in:
15204         * tools/gst-xmlinspect.1.in:
15205         * tools/gst-xmllaunch.1.in:
15206           cleanup man-pages, remove reference to gst-register, document env-vars
15207
15208 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
15209
15210         * gst/gstbuffer.c: (gst_buffer_span):
15211           gst_buffer_span should copy the timestamp of the first buffer
15212           if they were both originally overlapping subbuffers of the 
15213           same parent, using the same logic as the 'slow copy' case.
15214
15215 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
15216
15217         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
15218           Need to awaken ALL the pads when we pop a buffer, otherwise
15219           collectpads only works when there is 2 input streams.
15220
15221 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
15222
15223         * docs/random/ensonic/media-device-daemon.txt:
15224           more ideas (dbus)
15225         * gst/gstbuffer.c:
15226           fix doc example, add clarification
15227         * tools/gst-launch.1.in:
15228           add initial info about GST_PLUGIN_PATH, needs more work
15229
15230 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
15231
15232         * docs/manual/basics-bins.xml:
15233         * docs/manual/basics-elements.xml:
15234         * docs/manual/intro-basics.xml:
15235           Some more minor docs additions and updates.
15236
15237 2006-01-11  Wim Taymans  <wim@fluendo.com>
15238
15239         * docs/manual/basics-bins.xml:
15240         * docs/manual/basics-elements.xml:
15241         Some small fixes as pointed out by Ser-ver on IRC.
15242
15243 2006-01-10  Edward Hervey  <edward@fluendo.com>
15244
15245         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15246         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
15247         the single-segment mode.
15248
15249 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
15250
15251         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15252
15253         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
15254         (gst_base_src_perform_seek), (gst_base_src_send_event),
15255         (gst_base_src_set_property), (gst_base_src_get_property),
15256         (gst_base_src_loop), (gst_base_src_start),
15257         (gst_base_src_activate_push):
15258         * libs/gst/base/gstbasesrc.h:
15259           Name (private) union; makes Sun's Forte compiler happy (#324900).
15260
15261 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
15262
15263         * README:
15264           gst-register is gone.
15265
15266 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15267
15268         * gst/gstvalue.c: (_gst_value_initialize):
15269           make the G_TYPE_DATE instantiation work if debug is disabled
15270
15271 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
15272
15273         * gst/gstmessage.c: (gst_message_parse_tag),
15274         (gst_message_parse_error), (gst_message_parse_warning):
15275           Don't crash when return location for error/warning debug
15276           string is NULL; add fact that return locations can be
15277           NULL to docs where appropriate.
15278
15279 2006-01-05  Wim Taymans  <wim@fluendo.com>
15280
15281         * gst/gstplugin.c: (gst_plugin_load_file):
15282         Replace strdup by g_strdup.
15283
15284 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15285
15286         * docs/pwg/advanced-types.xml:
15287           fix doc borkage
15288
15289 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15290
15291         submitted by: Abel Cheung
15292
15293         * po/LINGUAS:
15294         * po/zh_TW.po:
15295           Added Chinese (traditional) translation
15296
15297 2006-01-04  Wim Taymans  <wim@fluendo.com>
15298
15299         * docs/manual/basics-pads.xml:
15300         * docs/plugins/Makefile.am:
15301         * docs/plugins/gstreamer-plugins-docs.sgml:
15302         * docs/plugins/gstreamer-plugins-sections.txt:
15303         * docs/pwg/advanced-clock.xml:
15304         * docs/pwg/advanced-scheduling.xml:
15305         * docs/pwg/advanced-types.xml:
15306         * plugins/elements/gstfdsink.c:
15307         * plugins/elements/gstfdsrc.c:
15308         * plugins/elements/gstfdsrc.h:
15309         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15310         * plugins/elements/gstidentity.h:
15311         * plugins/elements/gstqueue.h:
15312         * plugins/elements/gsttee.c:
15313         * plugins/elements/gsttee.h:
15314         * plugins/elements/gsttypefindelement.c:
15315         (gst_type_find_element_class_init):
15316         * plugins/elements/gsttypefindelement.h:
15317         Small updates to various docs.
15318         Added core plugins to docs.
15319
15320 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15321
15322         * common/gst.supp:
15323           add a suppression for liboil's uninitialized variable
15324
15325 2006-01-02  James Livingston  <jrl at ids dot org dot au>
15326
15327         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15328
15329         * gst/gstutils.h:
15330           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
15331           macro, so that gcc doesn't complain if the -Wmissing-prototypes
15332           compiler switch is being used (#325429).
15333
15334 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
15335
15336         * gst/gstbin.c: (gst_bin_query):
15337           Disable duration query caching in bins until it gets
15338           fixed (see #324807).
15339
15340 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
15341
15342         * tools/gst-inspect.c: (print_element_properties_info):
15343           Handle properties of POINTER and BOXED type.
15344
15345 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
15346
15347         * gst/gst.c: (init_post):
15348           Init tags stuff and some other things before loading
15349           any static plugins (there may be other static plugins
15350           than just the GStreamer ones, and they may want to
15351           register their own tags or formats or whatever, and
15352           preferably without segfaulting).
15353
15354         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
15355           Print at least a warning in the debug logs if we drop a
15356           query just because we don't know how to adjust the value
15357           in the particular format.
15358
15359 2005-12-24  David Schleef  <ds@schleef.org>
15360
15361         * tools/gstreamer-completion:
15362           Replacement for gst-complete written in sh and sed.  Only
15363           completes names of features, but that's 90% of what I want
15364           it for.  Properties are not available in registry.xml.  (Maybe
15365           they should be...)
15366
15367 === release 0.10.1 ===
15368
15369 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
15370
15371         * configure.ac:
15372           releasing 0.10.1, "Nollaig chridheil"
15373
15374 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
15375
15376         * docs/faq/cvs.xml:
15377           Add missing quote, should be make ERROR_CFLAGS="".
15378
15379 2005-12-20  Wim Taymans  <wim@fluendo.com>
15380
15381         * docs/design/part-trickmodes.txt:
15382         More documentation on trickmodes.
15383
15384 2005-12-20  Edward Hervey  <edward@fluendo.com>
15385
15386         * gst/gstcaps.c: (gst_static_caps_get_type):
15387         * gst/gstcaps.h:
15388           API addition: GST_TYPE_STATIC_CAPS
15389         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
15390         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
15391         * gst/gstpadtemplate.h:
15392           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
15393         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
15394         bindings.
15395
15396 2005-12-18  Wim Taymans  <wim@fluendo.com>
15397
15398         * libs/gst/base/gstadapter.c:
15399         * libs/gst/base/gstadapter.h:
15400         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15401         (gst_base_sink_get_position):
15402         * libs/gst/base/gstbasesink.h:
15403         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15404         (gst_base_src_default_query), (gst_base_src_default_do_seek),
15405         (gst_base_src_do_seek), (gst_base_src_perform_seek),
15406         (gst_base_src_send_event), (gst_base_src_update_length),
15407         (gst_base_src_get_range), (gst_base_src_loop),
15408         (gst_base_src_start):
15409         * libs/gst/base/gstbasesrc.h:
15410         * libs/gst/base/gstbasetransform.h:
15411         * libs/gst/base/gstcollectpads.h:
15412         * libs/gst/base/gstpushsrc.c:
15413         * libs/gst/base/gstpushsrc.h:
15414         * libs/gst/dataprotocol/dataprotocol.c:
15415         * libs/gst/dataprotocol/dataprotocol.h:
15416         * libs/gst/net/gstnetclientclock.h:
15417         * libs/gst/net/gstnettimeprovider.h:
15418         Documentation updates.
15419
15420 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
15421
15422         * docs/manual/basics-helloworld.xml:
15423           Remove superfluous closing bracket in helloworld example.
15424
15425 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
15426
15427         * tools/gst-launch.1.in:
15428           Update gst-launch man page; add a section with useful
15429           environment variables. Fixes #323882.
15430
15431 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
15432
15433         * gst/gst.c:
15434         * gst/gst_private.h:
15435           change some char* into char[]
15436
15437 2005-12-16  Wim Taymans  <wim@fluendo.com>
15438
15439         * gst/gstregistryxml.c: (load_feature):
15440         Cleanups.
15441         Don't use g_object_unref on GstObjects so that we avoid
15442         leaks on unsafe glibs.
15443
15444 2005-12-16  Wim Taymans  <wim@fluendo.com>
15445
15446         * gst/gstbin.c: (gst_bin_recalc_state):
15447         Small doc updates.
15448
15449 2005-12-16  Wim Taymans  <wim@fluendo.com>
15450
15451         * common/check.mak:
15452         Added make forever target for check.
15453
15454 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15455
15456         * gst/gst.c: (init_post):
15457           make the registry cache file HOST_CPU-dependent
15458
15459 2005-12-16  Andy Wingo  <wingo@pobox.com>
15460
15461         * plugins/elements/gstbufferstore.c
15462         (gst_buffer_store_cleared_func): Pay attention to g_list_append
15463         return value.
15464
15465         * tests/check/gst/gstobject.c
15466         (test_fake_object_name_threaded_unique): Pay attention to
15467         g_list_sort return value.
15468
15469 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
15470
15471         * tools/gst-feedback-m.m:
15472           Update for 0.9/0.10 (fixes #323870).
15473
15474 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
15475
15476         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
15477           Fix lcopy for mini objects, the mini object needs to be ref'ed.
15478           
15479         * tests/check/gst/gstminiobject.c: (my_foo_init),
15480         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
15481         (test_value_collection), (gst_mini_object_suite):
15482           Add test to ensure refcounts end up as expected when passing
15483           GstMiniObjects through g_object_get() and g_object_set().
15484
15485 2005-12-14  Julien MOUTTE  <julien@moutte.net>
15486
15487         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15488         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
15489         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
15490         of collectpads. This version removes a lot of races without
15491         touching API/ABI. Yay !
15492
15493 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
15494
15495         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
15496           Don't allow activation of a srcpad in pull_range if it has no
15497           getrange function.
15498           Change some debug statements to be a little clearer
15499
15500         * plugins/elements/gsttypefindelement.c:
15501         (gst_type_find_handle_src_query):
15502           Check that we have a peer before executing queries thereupon.
15503
15504         * tests/examples/metadata/read-metadata.c: (message_loop):
15505           Use gst_bus_pop instead of gst_bus_poll when we just want it to
15506           immediately return us any available message with 0 timeout.
15507
15508 2005-12-12  Michael Smith  <msmith@fluendo.com>
15509
15510         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
15511           Don't unref factories after calling them.
15512         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
15513         * plugins/elements/gsttypefindelement.c:
15514         (gst_type_find_element_chain):
15515           Free lists of factories after using them. Fixing typefinding memory
15516           leaks.
15517
15518 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
15519
15520         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
15521         (gst_plugin_feature_load):
15522           more meaningful debug output
15523         * configure.ac:
15524         * tests/Makefile.am:
15525         * tests/old/examples/Makefile.am:
15526           make make distcheck happy again
15527
15528 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
15529
15530         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15531           Catch the special case where we are operating chain-based,
15532           but the downstream peer pad has no chain function. Emit a
15533           custom error message in this case instead of letting the
15534           core generate one implying that this is some sort of core
15535           bug. It's not, it just means that whatever got plugged
15536           into the pipeline downstream when we announced the type
15537           can only operate pull-based, while our source can only
15538           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
15539           Error string has not been marked for translation yet, as
15540           it probably needs some more work first.
15541
15542         (gst_type_find_element_get_best_possibility):
15543           Add helper function to find the best of all available
15544           found possibilities that qualify given the min. threshold.
15545
15546         (gst_type_find_element_handle_event):
15547           Fix the case where we get an EOS while still in TYPEFIND
15548           mode (we want to chose the best of all possible types,
15549           not just the first type that happens to be in our unsorted
15550           list of possible types).
15551
15552         (gst_type_find_element_chain):
15553           Make sure we return GST_FLOW_ERROR when we errored out
15554           in stop_typefinding(); also, don't just find the best of
15555           all found type entries and then use the last examined
15556           type entry, but actually use the best entry.
15557
15558 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
15559
15560         * tests/examples/typefind/typefind.c: (type_found):
15561         * tests/examples/xml/runxml.c: (xml_loaded):
15562           More gcc4 fixes and a mem leak fix.
15563
15564 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
15565
15566         * tests/examples/xml/createxml.c: (object_saved):
15567           gcc 4 fixes
15568
15569 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
15570
15571         * tests/Makefile.am:
15572           enable the examples even more
15573
15574 2005-12-12  Andy Wingo  <wingo@pobox.com>
15575
15576         * libs/gst/net/gstnettimeprovider.c
15577         (gst_net_time_provider_class_init, gst_net_time_provider_init)
15578         (gst_net_time_provider_set_property)
15579         (gst_net_time_provider_get_property):
15580         API addition: Export "active" as a GObject property.
15581         (gst_net_time_provider_thread): Only respond to time queries if
15582         the time provider is active.
15583
15584         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
15585         NetTimeProvider, preserving binary compat.
15586
15587 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
15588
15589         * tests/examples/controller/audio-example.c: (main):
15590         * tests/examples/launch/Makefile.am:
15591           convert comments again
15592
15593 2005-12-12  Wim Taymans  <wim@fluendo.com>
15594
15595         * libs/gst/base/gstpushsrc.c:
15596         Fix typo.
15597
15598 2005-12-12  Wim Taymans  <wim@fluendo.com>
15599
15600         * docs/libs/gstreamer-libs-sections.txt:
15601         Added new symbol to docs.
15602
15603         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15604         (gst_base_src_init), (gst_base_src_set_format),
15605         (gst_base_src_default_query), (gst_base_src_query),
15606         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
15607         (gst_base_src_perform_seek), (gst_base_src_send_event),
15608         (gst_base_src_default_event), (gst_base_src_event_handler),
15609         (gst_base_src_set_property), (gst_base_src_get_property),
15610         (gst_base_src_wait), (gst_base_src_do_sync),
15611         (gst_base_src_update_length), (gst_base_src_get_range),
15612         (gst_base_src_check_get_range), (gst_base_src_loop),
15613         (gst_base_src_default_negotiate), (gst_base_src_start),
15614         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15615         (gst_base_src_change_state):
15616         * libs/gst/base/gstbasesrc.h:
15617         Implement seeking to other formats than _BYTES.
15618         Implement more seeking methods correctly.
15619         Doc updates.
15620         Added query vmethod.
15621         Added do_seek vmethod to make life easier for subclasses
15622         when seeking.
15623         API addition: gst_base_src_set_format()
15624
15625 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
15626
15627         * tests/examples/Makefile.am:
15628           added that too
15629
15630 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
15631
15632         * configure.ac:
15633         * docs/random/ensonic/media-device-daemon.txt:
15634         * tests/examples/controller/.cvsignore:
15635         * tests/examples/controller/Makefile.am:
15636         * tests/examples/controller/audio-example.c: (main):
15637         * tests/examples/helloworld/.cvsignore:
15638         * tests/examples/helloworld/Makefile.am:
15639         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
15640         * tests/examples/launch/.cvsignore:
15641         * tests/examples/launch/Makefile.am:
15642         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
15643         * tests/examples/metadata/.cvsignore:
15644         * tests/examples/metadata/Makefile.am:
15645         * tests/examples/metadata/read-metadata.c: (message_loop),
15646         (make_pipeline), (print_tag), (main):
15647         * tests/examples/queue/.cvsignore:
15648         * tests/examples/queue/Makefile.am:
15649         * tests/examples/queue/queue.c: (event_loop), (main):
15650         * tests/examples/typefind/.cvsignore:
15651         * tests/examples/typefind/Makefile.am:
15652         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
15653         (main):
15654         * tests/examples/xml/.cvsignore:
15655         * tests/examples/xml/Makefile.am:
15656         * tests/examples/xml/createxml.c: (object_saved), (main):
15657         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
15658         * tests/old/examples/Makefile.am:
15659         * tests/old/examples/TODO:
15660         * tests/old/examples/controller/.cvsignore:
15661         * tests/old/examples/controller/Makefile.am:
15662         * tests/old/examples/controller/audio-example.c:
15663         * tests/old/examples/helloworld/.cvsignore:
15664         * tests/old/examples/helloworld/Makefile.am:
15665         * tests/old/examples/helloworld/helloworld.c:
15666         * tests/old/examples/launch/.cvsignore:
15667         * tests/old/examples/launch/Makefile.am:
15668         * tests/old/examples/launch/mp3parselaunch.c:
15669         * tests/old/examples/launch/mp3play:
15670         * tests/old/examples/manual/Makefile.am:
15671         * tests/old/examples/metadata/Makefile.am:
15672         * tests/old/examples/metadata/read-metadata.c:
15673         * tests/old/examples/queue/.cvsignore:
15674         * tests/old/examples/queue/Makefile.am:
15675         * tests/old/examples/queue/queue.c:
15676         * tests/old/examples/typefind/.cvsignore:
15677         * tests/old/examples/typefind/Makefile.am:
15678         * tests/old/examples/typefind/typefind.c:
15679         * tests/old/examples/xml/.cvsignore:
15680         * tests/old/examples/xml/Makefile.am:
15681         * tests/old/examples/xml/createxml.c:
15682         * tests/old/examples/xml/runxml.c:
15683           applied some simple fixing to some examples
15684           re-enabled the working examples
15685
15686 2005-12-12  Wim Taymans  <wim@fluendo.com>
15687
15688         * gst/gstsegment.c: (gst_segment_init),
15689         (gst_segment_set_last_stop), (gst_segment_set_seek),
15690         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15691         (gst_segment_to_running_time):
15692         Added more documentation.
15693         Make sure the last_pos value is updated properly.
15694         Make sure to_stream_time and to_running_time don't
15695         operate on wrong values.
15696
15697         * tests/check/gst/gstsegment.c: (GST_START_TEST):
15698         Update check.
15699
15700 2005-12-12  Michael Smith  <msmith@fluendo.com>
15701
15702         * plugins/elements/gsttypefindelement.c: (free_entry),
15703         (gst_type_find_element_chain):
15704           Now that we're not leaking factories, make sure we keep references
15705           to them while we need them.
15706
15707 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15708
15709         * tests/check/gst/struct_i386.h:
15710           ifdef out the XML structs
15711
15712 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15713
15714         * gst/gstvalue.c: (gst_value_transform_double_fraction):
15715           floor is not needed, F is always positive; this obviates the
15716           need for adding -lm when building without libxml
15717
15718 2005-12-12  Wim Taymans  <wim@fluendo.com>
15719
15720         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15721         Take current playback rate into account when reporting
15722         the position.
15723
15724 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15725
15726         * docs/manual/mime-world.fig:
15727           Let's try this again, this time with a file that is
15728           actually in XFig format.
15729
15730 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15731
15732         * docs/manual/mime-world.fig:
15733           Add audioconvert element to diagram so that it
15734           matches the text and the code (fixes #319526).
15735
15736 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15737
15738         * docs/pwg/building-chainfn.xml:
15739         * docs/pwg/building-pads.xml:
15740         * docs/pwg/building-state.xml:
15741         * docs/pwg/other-source.xml:
15742           Update state change stuff for 0.10 (fixes #322969).
15743
15744 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15745
15746         * docs/manual/advanced-dataaccess.xml:
15747         * docs/manual/appendix-checklist.xml:
15748         * docs/manual/appendix-programs.xml:
15749         * docs/manual/basics-pads.xml:
15750         * docs/manual/highlevel-components.xml:
15751         * docs/manual/manual.xml:
15752           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
15753           add converters in front of pipelines; remove curly
15754           brackets for threads stuff, they no longer exist; use
15755           GST_TYPE_FRACTION for framerates; update some pieces of
15756           code to 0.10, but there's plenty more to do.
15757
15758         * docs/manual/appendix-porting.xml:
15759           Expand on asynchroneous state changes; s/0.9/0.10/;
15760           mention disappearance of gst_init_get_popt_table()
15761           (fixes #322916).
15762
15763 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15764
15765         * docs/faq/using.xml:
15766           Spider no longer exists, and neither does gst-launch-ext.
15767           Update examples to use decodebin and playbin and put
15768           converters in front of sinks (fixes #323726).
15769
15770 2005-12-09  Michael Smith  <msmith@fluendo.com>
15771
15772         * plugins/elements/gsttypefindelement.c: (find_peek),
15773         (gst_type_find_element_chain):
15774           Fix leaking element factories in typefinding.
15775           Fix problem where we forgot about a probable type on non-seekable
15776           files, and thus later mis-typefound it.
15777
15778 2005-12-09  Michael Smith  <msmith@fluendo.com>
15779
15780         * common/m4/gst-makecontext.m4:
15781         * common/m4/gst-mcsc.m4:
15782         * configure.ac:
15783         * win32/common/config.h:
15784         * win32/common/config.h.in:
15785           Remove makecontext stuff; not used in 0.10 and causes problems on
15786           HPUX according to bug #322441
15787
15788 2005-12-07  Wim Taymans  <wim@fluendo.com>
15789
15790         * tests/check/Makefile.am:
15791         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
15792         (main):
15793         * tests/check/libs/struct_i386.h:
15794         Added ABI check for libs
15795
15796 2005-12-07  Wim Taymans  <wim@fluendo.com>
15797
15798         * tests/check/Makefile.am:
15799         And add the struct_i386.h to dist.
15800
15801 2005-12-07  Wim Taymans  <wim@fluendo.com>
15802
15803         * tests/check/Makefile.am:
15804         * tests/check/gst/.cvsignore:
15805         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
15806         (main):
15807         * tests/check/gst/struct_i386.h:
15808         Added check for ABI compatibility.
15809
15810 2005-12-07  Wim Taymans  <wim@fluendo.com>
15811
15812         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15813         (gst_fake_src_get_times), (gst_fake_src_create):
15814         Fix broken sync option, fixes #323259
15815
15816 2005-12-07  Wim Taymans  <wim@fluendo.com>
15817
15818         * gst/gstbuffer.c:
15819         Small docs update.
15820
15821         * gst/gstcaps.c: (gst_caps_is_equal):
15822         Don't assert on NULL <--> X. Fixes #323260
15823
15824         * gst/gstminiobject.c: (gst_mini_object_replace):
15825         If we're doing atomic operations, we might just as well use
15826         the proper way to get an atomic pointer.
15827
15828         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15829         Clean up debugging.
15830
15831 2005-12-07  Michael Smith  <msmith@fluendo.com>
15832
15833         * gst/parse/grammar.y:
15834           Remove handling of { } for threads.
15835
15836 2005-12-06  David Schleef  <ds@schleef.org>
15837
15838         * libs/gst/base/gstbasetransform.c: speling fix.
15839
15840 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15841
15842         * docs/libs/tmpl/gstdataprotocol.sgml:
15843         * docs/random/omega/testing/gstobject.c:
15844         * gst/gst.c:
15845         * gst/gstclock.c:
15846         * gst/gstelement.c:
15847         * gst/gstelementfactory.c:
15848         * gst/gsterror.c:
15849         * gst/gstevent.c:
15850         * gst/gstghostpad.c:
15851         * gst/gstinfo.c:
15852         * gst/gstpadtemplate.c:
15853         * gst/gstregistryxml.c:
15854         * gst/gsttaglist.c:
15855         * gst/gsttagsetter.c:
15856         * gst/gsttypefind.c:
15857         * gst/gstvalue.c:
15858         * libs/gst/base/gstbasesrc.c:
15859         * libs/gst/net/gstnetclientclock.c:
15860         * libs/gst/net/gstnettimeprovider.c:
15861         * plugins/elements/gstfakesrc.c:
15862         * plugins/elements/gstfdsrc.c:
15863         * plugins/elements/gstfilesrc.c:
15864         * plugins/elements/gstidentity.c:
15865         * plugins/elements/gstqueue.c:
15866         * plugins/elements/gsttypefindelement.c:
15867         * plugins/indexers/gstfileindex.c:
15868         * plugins/indexers/gstmemindex.c:
15869         * tests/check/gst/gsttag.c:
15870         * tests/old/examples/cutter/cutter.c:
15871         * tests/old/examples/mixer/mixer.c:
15872         * tests/old/examples/xml/runxml.c: (main):
15873         * tests/old/testsuite/caps/normalisation.c:
15874         * tests/old/testsuite/debug/global.c:
15875         * tests/old/testsuite/parse/parse1.c:
15876         * tools/gst-xmlinspect.c:
15877         * win32/common/dirent.c:
15878           expand tabs
15879
15880 === release 0.10.0 ===
15881
15882 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15883
15884         * configure.ac:
15885           releasing 0.10.0, "Maroilles"
15886
15887 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15888
15889         submitted by: Funda Wang <fundawang@linux.net.cn>
15890
15891         * po/LINGUAS:
15892         * po/zh_CN.po:
15893           added Chinese (Traditional) translation
15894
15895 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15896
15897         * docs/gst/gstreamer-sections.txt:
15898         * docs/libs/tmpl/gstdataprotocol.sgml:
15899         * docs/random/thomasvs/TODO:
15900         * gst/gstutils.c:
15901         * gst/gstutils.h:
15902           fix docs
15903
15904 2005-12-05  Andy Wingo  <wingo@pobox.com>
15905
15906         patch by: Wim Taymans <wim@fluendo.com>
15907
15908         * libs/gst/base/gstbasetransform.c
15909         (gst_base_transform_prepare_output_buf)
15910         (gst_base_transform_buffer_alloc):
15911         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
15912         alloc_buffer_and_set_caps.
15913
15914         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
15915         set_caps on the source pad.
15916         (gst_pad_alloc_buffer_and_set_caps): New function, does what
15917         alloc_buffer used to do. Fixes #322874.
15918
15919         * docs/gst/gstreamer-sections.txt: 
15920         * docs/design/part-negotiation.txt: 
15921         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
15922         changes.
15923
15924 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15925
15926         patch by: Sebastien Moutte
15927
15928         * win32/MANIFEST:
15929         * win32/common/config.h.in:
15930         * win32/vs6/libgstcontroller.dsp:
15931           win32 build fixes
15932
15933 2005-12-05  Wim Taymans  <wim@fluendo.com>
15934
15935         * gst/gstcaps.c: (gst_caps_is_equal):
15936         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15937         (gst_fake_src_create):
15938         Back out previous code changes, leave doc updates, file bugs 
15939         instead. 
15940
15941 2005-12-05  Wim Taymans  <wim@fluendo.com>
15942
15943         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15944         (gst_fake_src_get_times), (gst_fake_src_create):
15945         * plugins/elements/gstfakesrc.h:
15946         Fix broken sync code.
15947
15948 2005-12-05  Wim Taymans  <wim@fluendo.com>
15949
15950         * gst/gstcaps.c: (gst_caps_is_equal):
15951         Comparing NULL against !NULL yields different caps, not a
15952         failure.
15953
15954 2005-12-05  Wim Taymans  <wim@fluendo.com>
15955
15956         * gst/gstpipeline.c:
15957         Fix small typo in docs.
15958
15959 2005-12-05  Andy Wingo  <wingo@pobox.com>
15960
15961         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
15962
15963         * gst/gst.c (init_post): remove hard-coded 0.9 location for
15964         registries/plugins with a MAJORMINOR one.
15965         (plugin_desc): Rename library from gstcoreleements to
15966         staticelements. Fixes #323222.
15967
15968 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
15969
15970         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
15971           Change debug category to 'collectpads' from 'collect_pads'
15972           (fixes #323250).
15973
15974 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15975
15976         patch by: Sebastien Moutte
15977
15978         * libs/gst/controller/gstinterpolation.c:
15979           use convert function for uint64/double
15980         * win32/vs6/libgstcontroller.dsp:
15981           link to GLib
15982
15983 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15984
15985         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
15986         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
15987         * gst/gstutils.h:
15988         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15989           add tests that seem to show that the guint64/gdouble conversions
15990           are correct.
15991
15992 2005-12-02  Wim Taymans  <wim@fluendo.com>
15993
15994         * gst/gstregistry.c: (gst_registry_add_path):
15995         * gst/gstregistry.h:
15996         * gst/gstregistryxml.c:
15997         Fix docs again.
15998
15999 2005-12-02  Wim Taymans  <wim@fluendo.com>
16000
16001         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16002         (gst_util_uint64_scale_int):
16003         Small cleanup.
16004
16005         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16006         Add debug log line.
16007
16008         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
16009         Add FIXME.
16010
16011 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16012
16013         * win32/MANIFEST:
16014         * win32/common/config.h:
16015         * win32/vs6/gstreamer.dsw:
16016         * win32/vs6/libgstcoreelements.dsp:
16017         * win32/vs6/libgstelements.dsp:
16018           renamed core elements plugin
16019
16020 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16021
16022         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
16023         (get_candidates):
16024           do piece-wise major/minor comparison so 0.9 < 0.10
16025           also allow .exe extensions for tools
16026
16027 2005-12-02  Michael Smith  <msmith@fluendo.com>
16028
16029         * gst/gst.c:
16030           Escape a % to make gtkdoc happier; bug 322958.
16031
16032 === release 0.9.7 ===
16033
16034 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16035
16036         * configure.ac:
16037           releasing 0.9.7, "My Dog Has No Nose"
16038
16039 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16040
16041         * common/gst-xmlinspect.py:
16042         * configure.ac:
16043         * docs/libs/tmpl/gstdataprotocol.sgml:
16044         * docs/random/release:
16045         * po/af.po:
16046         * po/az.po:
16047         * po/bg.po:
16048         * po/ca.po:
16049         * po/cs.po:
16050         * po/de.po:
16051         * po/en_GB.po:
16052         * po/fr.po:
16053         * po/it.po:
16054         * po/nb.po:
16055         * po/nl.po:
16056         * po/ru.po:
16057         * po/sq.po:
16058         * po/sr.po:
16059         * po/sv.po:
16060         * po/tr.po:
16061         * po/uk.po:
16062         * po/vi.po:
16063         * win32/common/config.h:
16064         * win32/common/config.h.in:
16065         * win32/vs6/gst_inspect.dsp:
16066         * win32/vs6/gst_launch.dsp:
16067         * win32/vs6/libgstbase.dsp:
16068         * win32/vs6/libgstelements.dsp:
16069         * win32/vs6/libgstreamer.dsp:
16070         * win32/vs7/GStreamer.vcproj:
16071         * win32/vs7/gst-inspect.vcproj:
16072         * win32/vs7/gst-launch.vcproj:
16073         * win32/vs7/libgstbase.vcproj:
16074           bump GST_MAJORMINOR to 0.10
16075           reset libtool version
16076
16077 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16078
16079         * po/LINGUAS:
16080         * po/bg.po:
16081           Added Bulgarian translation by (Alexander Shopov)
16082
16083 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16084
16085         * tests/check/gst/gstplugin.c:
16086           fix test
16087
16088 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16089
16090         * common/gst-xmlinspect.py:
16091         * common/gtk-doc-plugins.mak:
16092         * configure.ac:
16093         * docs/Makefile.am:
16094         * docs/gst/Makefile.am:
16095         * docs/gst/gstreamer-docs.sgml:
16096         * docs/gst/gstreamer-sections.txt:
16097         * docs/gst/gstreamer.types:
16098         * docs/gst/gstreamer.types.in:
16099         * docs/plugins/Makefile.am:
16100         * docs/plugins/gstreamer-plugins-docs.sgml:
16101         * docs/plugins/gstreamer-plugins-sections.txt:
16102         * docs/plugins/gstreamer-plugins.types:
16103         * docs/plugins/inspect.stamp:
16104         * docs/plugins/inspect/plugin-coreelements.xml:
16105         * docs/plugins/inspect/plugin-coreindexers.xml:
16106         * docs/plugins/scanobj-build.stamp:
16107         * gstreamer.spec.in:
16108         * plugins/elements/Makefile.am:
16109         * plugins/elements/gstelements.c:
16110         * plugins/elements/gstfakesink.c:
16111         * plugins/elements/gstfakesrc.c:
16112         * plugins/elements/gstfilesink.c:
16113         * plugins/elements/gstfilesrc.c:
16114         * plugins/elements/gstqueue.c:
16115         * plugins/indexers/Makefile.am:
16116         * plugins/indexers/gstindexers.c:
16117           document core plugins in a separate document just like all the
16118           others
16119           rename these plugins to something starting with core
16120
16121 2005-12-01  Andy Wingo  <wingo@pobox.com>
16122
16123         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
16124         padding here before, but it missed the commit.
16125
16126 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16127
16128         * libs/gst/controller/gstinterpolation.c:
16129           whitespace prices have crashed, we should feel free to use some now
16130           use gst_guint64_to_gdouble
16131
16132 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16133
16134         * libs/gst/controller/gstcontroller.c:
16135         * libs/gst/controller/gsthelper.c:
16136         * libs/gst/controller/gstinterpolation.c:
16137         * libs/gst/controller/lib.c:
16138           wrap config.h include
16139
16140 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16141
16142         * docs/gst/gstreamer-sections.txt:
16143           update docs
16144
16145 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16146
16147         * plugins/elements/gstelements.c:
16148         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
16149         (gst_fd_sink__class_init), (gst_fd_sink__init),
16150         (gst_fd_sink__chain), (gst_fd_sink__set_property),
16151         (gst_fd_sink__get_property):
16152         * plugins/elements/gstfdsink.h:
16153         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
16154         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
16155         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
16156         (gst_fd_src_unlock), (gst_fd_src_set_property),
16157         (gst_fd_src_get_property), (gst_fd_src_create),
16158         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
16159         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
16160         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
16161         (gst_fd_src_uri_handler_init):
16162         * plugins/elements/gstfdsrc.h:
16163         * plugins/elements/gstqueue.c: (gst_queue_get_type):
16164           more anal cleanup
16165
16166 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16167
16168         * docs/gst/Makefile.am:
16169         * docs/gst/gstreamer.types.in:
16170         * gst/Makefile.am:
16171           fix the docs build
16172
16173 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16174
16175         * configure.ac:
16176         * gst/Makefile.am:
16177         * gst/gst.c:
16178         * gst/gstplugin.h:
16179         * gst/gstregistry.h:
16180         * tests/benchmarks/complexity.c:
16181         * tests/benchmarks/mass-elements.c:
16182         * tests/check/Makefile.am:
16183         * tools/Makefile.am:
16184         * tools/gst-inspect.c:
16185         * tools/gst-xmlinspect.c:
16186           various fixes to make
16187           --disable-nls --disable-registry --disable-loadsave
16188           --disable-parse --disable-gst-debug
16189           work and get the core .so down to 360444 bytes after stripping
16190
16191 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16192
16193         * Makefile.am:
16194         * configure.ac:
16195           descend into tests
16196         * docs/random/thomasvs/TODO:
16197         * tests/Makefile.am:
16198         * tests/README:
16199           add a README
16200
16201 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16202
16203         * win32/GStreamer.vcproj:
16204         * win32/MANIFEST:
16205         * win32/Makefile:
16206         * win32/Makefile.inspect:
16207         * win32/Makefile.launch:
16208         * win32/Makefile.register:
16209         * win32/README.txt:
16210         * win32/gst-inspect.vcproj:
16211         * win32/gst-launch.vcproj:
16212         * win32/gst-register.vcproj:
16213         * win32/gstelements.vcproj:
16214         * win32/gstgetbits.def:
16215         * win32/gstgetbits.vcproj:
16216         * win32/gstreamer-dbg.def:
16217         * win32/gstreamer.def:
16218         * win32/libgstbase.def:
16219         * win32/libgstbase.vcproj:
16220         * win32/link_oldruntime.c:
16221         * win32/mman.c:
16222         * win32/mman.h:
16223         * win32/mman.inl:
16224         * win32/msvc71.sln:
16225           move even more stuff, win32/ is nice and clean now
16226
16227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16228
16229         * libs/gst/control/.cvsignore:
16230         * win32/MANIFEST:
16231         * win32/config.h:
16232         * win32/dirent.c:
16233         * win32/dirent.h:
16234         * win32/gstbytestream.def:
16235         * win32/gstbytestream.vcproj:
16236         * win32/gstconfig.h:
16237         * win32/gstenumtypes.c:
16238         * win32/gstenumtypes.h:
16239         * win32/gstoptimalscheduler.vcproj:
16240         * win32/gstversion.h:
16241         * win32/gtchar.h:
16242         * win32/testsuite/bins.vcproj:
16243         * win32/testsuite/bytestream.vcproj:
16244         * win32/testsuite/caps.vcproj:
16245         * win32/testsuite/cleanup.vcproj:
16246         * win32/testsuite/clock.vcproj:
16247         * win32/testsuite/debug.vcproj:
16248         * win32/testsuite/dlopen.vcproj:
16249         * win32/testsuite/dynparams.vcproj:
16250         * win32/testsuite/elements.vcproj:
16251         * win32/testsuite/ghostpads.vcproj:
16252         * win32/testsuite/indexers.vcproj:
16253         * win32/testsuite/negotiation.vcproj:
16254         * win32/testsuite/parse.vcproj:
16255         * win32/testsuite/plugin.vcproj:
16256         * win32/testsuite/refcounting.vcproj:
16257         * win32/testsuite/schedulers.vcproj:
16258         * win32/testsuite/states.vcproj:
16259         * win32/testsuite/tags.vcproj:
16260         * win32/testsuite/threads.vcproj:
16261           remove old win32 stuff that isn't maintained and should be
16262           reorganized
16263
16264 2005-11-30  Andy Wingo  <wingo@pobox.com>
16265
16266         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
16267         loading the gst.interfaces python module bork.
16268
16269         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
16270         available since GLib 2.2. Fixes #318031.
16271
16272 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16273
16274         * Makefile.am:
16275         * check/.cvsignore:
16276         * check/Makefile.am:
16277         * check/elements/.cvsignore:
16278         * check/elements/fakesrc.c:
16279         * check/elements/fdsrc.c:
16280         * check/elements/identity.c:
16281         * check/generic/.cvsignore:
16282         * check/generic/states.c:
16283         * check/gst-libs/.cvsignore:
16284         * check/gst-libs/controller.c:
16285         * check/gst-libs/gdp.c:
16286         * check/gst/.cvsignore:
16287         * check/gst/capslist.h:
16288         * check/gst/gst.c:
16289         * check/gst/gstbin.c:
16290         * check/gst/gstbuffer.c:
16291         * check/gst/gstbus.c:
16292         * check/gst/gstcaps.c:
16293         * check/gst/gstelement.c:
16294         * check/gst/gstevent.c:
16295         * check/gst/gstghostpad.c:
16296         * check/gst/gstiterator.c:
16297         * check/gst/gstmessage.c:
16298         * check/gst/gstminiobject.c:
16299         * check/gst/gstobject.c:
16300         * check/gst/gstpad.c:
16301         * check/gst/gstpipeline.c:
16302         * check/gst/gstplugin.c:
16303         * check/gst/gstsegment.c:
16304         * check/gst/gststructure.c:
16305         * check/gst/gstsystemclock.c:
16306         * check/gst/gsttag.c:
16307         * check/gst/gstutils.c:
16308         * check/gst/gstvalue.c:
16309         * check/net/.cvsignore:
16310         * check/net/gstnetclientclock.c:
16311         * check/net/gstnettimeprovider.c:
16312         * check/pipelines/.cvsignore:
16313         * check/pipelines/cleanup.c:
16314         * check/pipelines/simple_launch_lines.c:
16315         * check/pipelines/stress.c:
16316         * check/states/.cvsignore:
16317         * check/states/sinks.c:
16318         * configure.ac:
16319         * examples/Makefile.am:
16320         * examples/appreader/.cvsignore:
16321         * examples/appreader/Makefile.am:
16322         * examples/appreader/appreader.c:
16323         * examples/controller/.cvsignore:
16324         * examples/controller/Makefile.am:
16325         * examples/controller/audio-example.c:
16326         * examples/cutter/.cvsignore:
16327         * examples/cutter/Makefile.am:
16328         * examples/cutter/cutter.c:
16329         * examples/cutter/cutter.h:
16330         * examples/events/Makefile.am:
16331         * examples/events/seek.c:
16332         * examples/helloworld/.cvsignore:
16333         * examples/helloworld/Makefile.am:
16334         * examples/helloworld/helloworld.c:
16335         * examples/helloworld2/.cvsignore:
16336         * examples/helloworld2/Makefile.am:
16337         * examples/helloworld2/helloworld2.c:
16338         * examples/launch/.cvsignore:
16339         * examples/launch/Makefile.am:
16340         * examples/launch/mp3parselaunch.c:
16341         * examples/launch/mp3play:
16342         * examples/manual/.cvsignore:
16343         * examples/manual/Makefile.am:
16344         * examples/manual/extract.pl:
16345         * examples/metadata/Makefile.am:
16346         * examples/metadata/read-metadata.c:
16347         * examples/mixer/.cvsignore:
16348         * examples/mixer/Makefile.am:
16349         * examples/mixer/mixer.c:
16350         * examples/mixer/mixer.h:
16351         * examples/pingpong/.cvsignore:
16352         * examples/pingpong/Makefile.am:
16353         * examples/pingpong/pingpong.c:
16354         * examples/plugins/.cvsignore:
16355         * examples/plugins/Makefile.am:
16356         * examples/plugins/example.c:
16357         * examples/plugins/example.h:
16358         * examples/pwg/.cvsignore:
16359         * examples/pwg/Makefile.am:
16360         * examples/pwg/extract.pl:
16361         * examples/queue/.cvsignore:
16362         * examples/queue/Makefile.am:
16363         * examples/queue/queue.c:
16364         * examples/queue2/.cvsignore:
16365         * examples/queue2/Makefile.am:
16366         * examples/queue2/queue2.c:
16367         * examples/queue3/.cvsignore:
16368         * examples/queue3/Makefile.am:
16369         * examples/queue3/queue3.c:
16370         * examples/queue4/.cvsignore:
16371         * examples/queue4/Makefile.am:
16372         * examples/queue4/queue4.c:
16373         * examples/retag/.cvsignore:
16374         * examples/retag/Makefile.am:
16375         * examples/retag/retag.c:
16376         * examples/retag/transcode.c:
16377         * examples/thread/.cvsignore:
16378         * examples/thread/Makefile.am:
16379         * examples/thread/thread.c:
16380         * examples/typefind/.cvsignore:
16381         * examples/typefind/Makefile.am:
16382         * examples/typefind/typefind.c:
16383         * examples/xml/.cvsignore:
16384         * examples/xml/Makefile.am:
16385         * examples/xml/createxml.c:
16386         * examples/xml/runxml.c:
16387         * tests/Makefile.am:
16388         * tests/check/Makefile.am:
16389         * testsuite/.cvsignore:
16390         * testsuite/Makefile.am:
16391         * testsuite/Rules:
16392         * testsuite/caps/.cvsignore:
16393         * testsuite/caps/Makefile.am:
16394         * testsuite/caps/app_fixate.c:
16395         * testsuite/caps/audioscale.c:
16396         * testsuite/caps/caps.c:
16397         * testsuite/caps/caps.h:
16398         * testsuite/caps/caps_strings:
16399         * testsuite/caps/compatibility.c:
16400         * testsuite/caps/deserialize.c:
16401         * testsuite/caps/enumcaps.c:
16402         * testsuite/caps/eratosthenes.c:
16403         * testsuite/caps/filtercaps.c:
16404         * testsuite/caps/fixed.c:
16405         * testsuite/caps/fraction-convert.c:
16406         * testsuite/caps/fraction-multiply-and-zero.c:
16407         * testsuite/caps/intersect2.c:
16408         * testsuite/caps/intersection.c:
16409         * testsuite/caps/normalisation.c:
16410         * testsuite/caps/random.c:
16411         * testsuite/caps/renegotiate.c:
16412         * testsuite/caps/sets.c:
16413         * testsuite/caps/simplify.c:
16414         * testsuite/caps/string-conversions.c:
16415         * testsuite/caps/structure.c:
16416         * testsuite/caps/subtract.c:
16417         * testsuite/caps/union.c:
16418         * testsuite/debug/.cvsignore:
16419         * testsuite/debug/Makefile.am:
16420         * testsuite/debug/category.c:
16421         * testsuite/debug/commandline.c:
16422         * testsuite/debug/global.c:
16423         * testsuite/debug/output.c:
16424         * testsuite/debug/printf_extension.c:
16425         * testsuite/dlopen/.cvsignore:
16426         * testsuite/dlopen/Makefile.am:
16427         * testsuite/dlopen/dlopen_gst.c:
16428         * testsuite/dlopen/loadgst.c:
16429         * testsuite/elements/.cvsignore:
16430         * testsuite/elements/Makefile.am:
16431         * testsuite/elements/gst-inspect-check.in:
16432         * testsuite/elements/struct_i386.h:
16433         * testsuite/elements/struct_size.c:
16434         * testsuite/indexers/.cvsignore:
16435         * testsuite/indexers/Makefile.am:
16436         * testsuite/indexers/cache1.c:
16437         * testsuite/indexers/indexdump.c:
16438         * testsuite/parse/.cvsignore:
16439         * testsuite/parse/Makefile.am:
16440         * testsuite/parse/parse1.c:
16441         * testsuite/parse/parse2.c:
16442         * testsuite/plugin/.cvsignore:
16443         * testsuite/plugin/Makefile.am:
16444         * testsuite/plugin/README:
16445         * testsuite/plugin/dynamic.c:
16446         * testsuite/plugin/linked.c:
16447         * testsuite/plugin/loading.c:
16448         * testsuite/plugin/registry.c:
16449         * testsuite/plugin/static.c:
16450         * testsuite/plugin/static2.c:
16451         * testsuite/plugin/testplugin.c:
16452         * testsuite/plugin/testplugin2.c:
16453         * testsuite/plugin/testplugin2_s.c:
16454         * testsuite/plugin/testplugin_s.c:
16455         * testsuite/refcounting/.cvsignore:
16456         * testsuite/refcounting/Makefile.am:
16457         * testsuite/refcounting/bin.c:
16458         * testsuite/refcounting/element.c:
16459         * testsuite/refcounting/element_pad.c:
16460         * testsuite/refcounting/mainloop.c:
16461         * testsuite/refcounting/mem.c:
16462         * testsuite/refcounting/mem.h:
16463         * testsuite/refcounting/object.c:
16464         * testsuite/refcounting/pad.c:
16465         * testsuite/refcounting/sched.c:
16466         * testsuite/refcounting/thread.c:
16467         * testsuite/states/.cvsignore:
16468         * testsuite/states/Makefile.am:
16469         * testsuite/states/bin.c:
16470         * testsuite/states/locked.c:
16471         * testsuite/states/parent.c:
16472         * testsuite/threads/.cvsignore:
16473         * testsuite/threads/159566.c:
16474         * testsuite/threads/159852.c:
16475         * testsuite/threads/Makefile.am:
16476         * testsuite/threads/queue.c:
16477         * testsuite/threads/signals.c:
16478         * testsuite/threads/staticrec.c:
16479         * testsuite/threads/thread.c:
16480         * testsuite/threads/threadb.c:
16481         * testsuite/threads/threadc.c:
16482         * testsuite/threads/threadd.c:
16483         * testsuite/threads/threade.c:
16484         * testsuite/threads/threadf.c:
16485         * testsuite/threads/threadg.c:
16486         * testsuite/threads/threadh.c:
16487         * testsuite/threads/threadi.c:
16488           move all of these under tests
16489
16490 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16491
16492         * configure.ac:
16493         * tests/Makefile.am:
16494           fix distcheck
16495
16496 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16497
16498         * docs/gst/gstreamer-sections.txt:
16499         * tests/sched/.cvsignore:
16500         * tests/sched/Makefile.am:
16501         * tests/sched/cases/(fs-fs).xml:
16502         * tests/sched/cases/(fs-i-fs).xml:
16503         * tests/sched/cases/(fs-i-i-fs).xml:
16504         * tests/sched/cases/(fs-i-q[i-fs]).xml:
16505         * tests/sched/dynamic-pipeline.c:
16506         * tests/sched/interrupt1.c:
16507         * tests/sched/interrupt2.c:
16508         * tests/sched/interrupt3.c:
16509         * tests/sched/runtestcases:
16510         * tests/sched/runxml.c:
16511         * tests/sched/sched-stress.c:
16512         * tests/sched/sort.c:
16513         * tests/sched/testcases:
16514         * tests/sched/testcases1.tc:
16515         * tests/seeking/.cvsignore:
16516         * tests/seeking/Makefile.am:
16517         * tests/seeking/seeking1.c:
16518         * tests/threadstate/.cvsignore:
16519         * tests/threadstate/Makefile.am:
16520         * tests/threadstate/test1.c:
16521         * tests/threadstate/test2.c:
16522         * tests/threadstate/threadstate1.c:
16523         * tests/threadstate/threadstate2.c:
16524         * tests/threadstate/threadstate3.c:
16525         * tests/threadstate/threadstate4.c:
16526         * tests/threadstate/threadstate5.c:
16527           remove obsolete tests
16528         * configure.ac:
16529         * tests/bench-complexity.scm:
16530         * tests/bench-mass_elements.scm:
16531         * tests/complexity.c:
16532         * tests/complexity.gnuplot:
16533         * tests/instantiate/.cvsignore:
16534         * tests/instantiate/Makefile.am:
16535         * tests/instantiate/caps.c:
16536         * tests/mass_elements.c:
16537         * tests/network-clock-utils.scm:
16538         * tests/network-clock.scm:
16539         * tests/plot-data:
16540         First pass at cleaning up tests/ dir before moving the rest
16541         Combined with CVS surgery
16542
16543 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16544
16545         * po/POTFILES.in:
16546           queue has moved, update
16547
16548 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16549
16550         * docs/gst/gstreamer-sections.txt:
16551           remove double entries from the docs
16552         * gst/gst_private.h:
16553         * gst/gstinfo.c: (_gst_debug_init):
16554           remove the THREAD debug category
16555         * gst/Makefile.am:
16556         * gst/gstqueue.c:
16557         * gst/gstqueue.h:
16558         * docs/gst/gstreamer.types:
16559         * plugins/elements/gstqueue.c: (gst_queue_get_type),
16560         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
16561           completely move queue and fix up debugging categories
16562
16563 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16564
16565         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16566           make initialization portable, using LL is not
16567
16568 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16569
16570         * win32/common/gstconfig.h:
16571           add large padding
16572
16573 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16574
16575         * win32/common/libgstreamer.def:
16576           rename symbols; sort base section
16577
16578 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16579
16580         * gst/gstclock.c: (do_linear_regression):
16581           remove crack non-portable handrolled DEBUG macro
16582
16583 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16584
16585         * docs/random/release:
16586           update notes
16587         * win32/common/gstenumtypes.c: (register_gst_object_flags),
16588         (gst_object_flags_get_type), (register_gst_bin_flags),
16589         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16590         (gst_buffer_flag_get_type), (register_gst_bus_flags),
16591         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16592         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
16593         (gst_caps_flags_get_type), (register_gst_clock_return),
16594         (gst_clock_return_get_type), (register_gst_clock_entry_type),
16595         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16596         (gst_clock_flags_get_type), (register_gst_state),
16597         (gst_state_get_type), (register_gst_state_change_return),
16598         (gst_state_change_return_get_type), (register_gst_state_change),
16599         (gst_state_change_get_type), (register_gst_element_flags),
16600         (gst_element_flags_get_type), (register_gst_core_error),
16601         (gst_core_error_get_type), (register_gst_library_error),
16602         (gst_library_error_get_type), (register_gst_resource_error),
16603         (gst_resource_error_get_type), (register_gst_stream_error),
16604         (gst_stream_error_get_type), (register_gst_event_type_flags),
16605         (gst_event_type_flags_get_type), (register_gst_event_type),
16606         (gst_event_type_get_type), (register_gst_seek_type),
16607         (gst_seek_type_get_type), (register_gst_seek_flags),
16608         (gst_seek_flags_get_type), (register_gst_format),
16609         (gst_format_get_type), (register_gst_index_certainty),
16610         (gst_index_certainty_get_type), (register_gst_index_entry_type),
16611         (gst_index_entry_type_get_type),
16612         (register_gst_index_lookup_method),
16613         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16614         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16615         (gst_index_resolver_method_get_type), (register_gst_index_flags),
16616         (gst_index_flags_get_type), (register_gst_debug_level),
16617         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16618         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16619         (gst_iterator_result_get_type), (register_gst_iterator_item),
16620         (gst_iterator_item_get_type), (register_gst_message_type),
16621         (gst_message_type_get_type), (register_gst_mini_object_flags),
16622         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16623         (gst_pad_link_return_get_type), (register_gst_flow_return),
16624         (gst_flow_return_get_type), (register_gst_activate_mode),
16625         (gst_activate_mode_get_type), (register_gst_pad_direction),
16626         (gst_pad_direction_get_type), (register_gst_pad_flags),
16627         (gst_pad_flags_get_type), (register_gst_pad_presence),
16628         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16629         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16630         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16631         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16632         (gst_plugin_flags_get_type), (register_gst_rank),
16633         (gst_rank_get_type), (register_gst_query_type),
16634         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16635         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16636         (gst_tag_flag_get_type), (register_gst_task_state),
16637         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16638         (gst_alloc_trace_flags_get_type),
16639         (register_gst_type_find_probability),
16640         (gst_type_find_probability_get_type), (register_gst_uri_type),
16641         (gst_uri_type_get_type), (register_gst_parse_error),
16642         (gst_parse_error_get_type):
16643         * win32/common/gstenumtypes.h:
16644         * win32/common/gstversion.h:
16645           update visual studio generated files
16646
16647 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16648
16649         * win32/vs6/libgstbase.dsp:
16650         * win32/vs6/libgstelements.dsp:
16651           update project files for new locations
16652
16653 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16654
16655         * Makefile.am:
16656           remove some files
16657         * README:
16658           reinstate and update
16659         * DEVEL:
16660         * REQUIREMENTS:
16661           removed
16662         * LICENSE:
16663         * docs/random/LICENSE:
16664           moved to random
16665
16666 2005-11-30  Edward Hervey  <edward@fluendo.com>
16667
16668         * gst/gsttypefind.c: (gst_type_find_register):
16669         * gst/gsttypefind.h:
16670         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
16671         (gst_type_find_factory_dispose):
16672         * gst/gsttypefindfactory.h:
16673         Fix memory leak in GstTypeFindFactory.
16674
16675 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16676
16677         * gst/gst.c:
16678         * plugins/elements/Makefile.am:
16679         * plugins/elements/gstelements.c:
16680         * plugins/elements/gstqueue.c:
16681           move queue from core to the elements plugin
16682
16683 2005-11-29  Andy Wingo  <wingo@pobox.com>
16684
16685         * libs/gst/base/gstbasetransform.h: 
16686         * libs/gst/base/gstbasesrc.h: 
16687         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
16688
16689         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
16690         of pointers by which to pad very extensible base classes (like the
16691         ones in libs/gst/base).
16692
16693 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16694
16695         * docs/gst/gstreamer-docs.sgml:
16696         * docs/gst/gstreamer-sections.txt:
16697         * docs/libs/gstreamer-libs-docs.sgml:
16698         * docs/libs/gstreamer-libs-sections.txt:
16699           moving documentation from core to lib
16700
16701 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16702
16703         * check/Makefile.am:
16704         * configure.ac:
16705         * docs/gst/Makefile.am:
16706         * gst/Makefile.am:
16707         * gst/base/.cvsignore:
16708         * gst/base/Makefile.am:
16709         * gst/base/README:
16710         * gst/base/gstadapter.c:
16711         * gst/base/gstadapter.h:
16712         * gst/base/gstbasesink.c:
16713         * gst/base/gstbasesink.h:
16714         * gst/base/gstbasesrc.c:
16715         * gst/base/gstbasesrc.h:
16716         * gst/base/gstbasetransform.c:
16717         * gst/base/gstbasetransform.h:
16718         * gst/base/gstcollectpads.c:
16719         * gst/base/gstcollectpads.h:
16720         * gst/base/gstpushsrc.c:
16721         * gst/base/gstpushsrc.h:
16722         * gst/base/gsttypefindhelper.c:
16723         * gst/base/gsttypefindhelper.h:
16724         * gst/check/Makefile.am:
16725         * gst/check/gstcheck.c:
16726         * gst/check/gstcheck.h:
16727         * gst/net/Makefile.am:
16728         * gst/net/gstnet.h:
16729         * gst/net/gstnetclientclock.c:
16730         * gst/net/gstnetclientclock.h:
16731         * gst/net/gstnettimepacket.c:
16732         * gst/net/gstnettimepacket.h:
16733         * gst/net/gstnettimeprovider.c:
16734         * gst/net/gstnettimeprovider.h:
16735         * libs/gst/Makefile.am:
16736         * libs/gst/base/Makefile.am:
16737         * libs/gst/base/gstbasetransform.c:
16738         * libs/gst/check/Makefile.am:
16739         * plugins/elements/Makefile.am:
16740         * po/POTFILES.in:
16741           CVS surgery + support to move base, check, and net out of gst
16742           and into libs/gst
16743
16744 2005-11-29  Andy Wingo  <wingo@pobox.com>
16745
16746         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
16747
16748         * gst/gststructure.h (struct _GstStructure): Only one pointer of
16749         padding.
16750
16751         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
16752
16753         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
16754
16755         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
16756
16757         * gst/gstobject.h: (struct _GstObject): Only one pointer of
16758         padding; reduces object size by about 30%. We don't expect
16759         anything else to go into gstobject.
16760
16761         * gst/gstminiobject.h (struct _GstMiniObject)
16762         (struct _GstMiniObjectClass): Only one pointer of padding; the
16763         payload is only a pointer and two ints anyway. For the class there
16764         are only two methods as well.
16765         
16766         * gst/gstelement.h (struct _GstElementClass): Removed
16767         the state_changed signal callback, it is not used.
16768
16769 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16770
16771         * docs/gst/gstreamer.types:
16772           fix includes, though they are a little dinky
16773
16774 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16775
16776         * check/Makefile.am:
16777           look in the right place for elements, a lot more chance of
16778           success
16779         * gst/Makefile.am:
16780           remove indexers and elements subdirs
16781         * plugins/Makefile.am:
16782           make indexers conditional
16783
16784 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16785
16786         * Makefile.am:
16787         * configure.ac:
16788         * plugins/elements/Makefile.am:
16789         * plugins/elements/gstcapsfilter.c:
16790         * plugins/elements/gstfilesink.c:
16791         * plugins/elements/gstfilesrc.c:
16792         * plugins/elements/gstidentity.c:
16793         * plugins/indexers/Makefile.am:
16794           do CVS surgery and related build fixery to move elements
16795           and indexers in a new gstreamer/plugins directory, out of the
16796           gst/ directory
16797
16798 2005-11-29  Andy Wingo  <wingo@pobox.com>
16799
16800         * check/Makefile.am:
16801         * pkgconfig/gstreamer-net-uninstalled.pc.in:
16802         * pkgconfig/gstreamer-net.pc.in:
16803         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
16804         #322257.
16805
16806 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16807
16808         * tools/Makefile.am:
16809         * tools/gst-complete.1.in:
16810         * tools/gst-complete.c:
16811         * tools/gst-compprep.1.in:
16812         * tools/gst-compprep.c:
16813           removing -compprep and -complete
16814
16815 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16816
16817         * gst/gstevent.c: (gst_event_new_new_segment),
16818         (gst_event_parse_new_segment):
16819         * gst/gstevent.h:
16820           fix #320529 - clean up new_segment API and structure.
16821           Let's hope everyone was using the methods, and not the structure.
16822
16823 2005-11-29  Edward Hervey  <edward@fluendo.com>
16824
16825         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16826         (gst_base_sink_event), (gst_base_sink_do_sync),
16827         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16828         Properly handle non GST_FORMAT_TIME segment
16829         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16830         Properly handle non GST_FORMAT_TIME segment
16831         * gst/gstsegment.c:
16832         This function is valid if the accumulator is 0 and the format
16833         is different from the requested format.
16834         
16835 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
16836
16837         * docs/gst/gstreamer-sections.txt:
16838         Add gst_query_new_seeking and gst_query_parse_seeking to the
16839         docs.
16840
16841 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
16842
16843         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
16844           Treat a pad alloc with new caps the same as if we were not
16845           negotiated, in order to allow a changing upstream output
16846           to produce a new format of data.
16847
16848 2005-11-29  Edward Hervey  <edward@fluendo.com>
16849
16850         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16851         (gst_base_transform_event), (gst_base_transform_eventfunc):
16852         The event virtual method is now properly implemented, with a default
16853         handler
16854         Sub classes should call the parent_class event method. They should
16855         return FALSE if they had a problem handling the given event, or don't
16856         want GstBaseTransform to send that even downstream
16857         * gst/elements/gstidentity.c: (gst_identity_class_init),
16858         (gst_identity_init), (gst_identity_event),
16859         (gst_identity_transform_ip), (gst_identity_set_property),
16860         (gst_identity_get_property):
16861         * gst/elements/gstidentity.h:
16862         Added the single-segment boolean property.
16863         If set to TRUE, it will output a single segment of data, starting from
16864         0, will eat up all incoming newsegment, and modify the timestamp of the
16865         buffers accordingly
16866
16867 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
16868
16869         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
16870           Don't ref NULL target pad (#322751). Improve docs.
16871
16872 2005-11-29  Michael Smith  <msmith@fluendo.com>
16873
16874         * gst/gstregistryxml.c: (load_plugin):
16875           Don't crash if we failed to load a feature from a plugin. 
16876
16877 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16878
16879         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16880         (GST_START_TEST):
16881           use more check API and less GLib API
16882
16883 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16884
16885         * Makefile.am:
16886           don't run checks if we don't have check
16887         * common/check.mak:
16888           remove the registry when running make torture
16889         * docs/gst/gstreamer-sections.txt:
16890           remove second multiply
16891         * gst/gstqueue.c: (gst_queue_loop):
16892           fix a compile warning when disabling debug
16893
16894 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16895
16896         * gst/gstinfo.h:
16897         Hey! Let's print the pad name if the pointer != NULL instead
16898         of when it == NULL :-)
16899
16900 2005-11-28  Wim Taymans  <wim@fluendo.com>
16901
16902         * check/gst/gstutils.c: (GST_START_TEST):
16903         Updated check, add some scaling accuracy checking code.
16904
16905         * gst/gstutils.c: (gst_util_div128_64),
16906         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
16907         (gst_util_uint64_scale_int):
16908         Fix 6 times faster division code. Optimize for common 
16909         1/1 and less common X/1 cases.
16910
16911 2005-11-28  Wim Taymans  <wim@fluendo.com>
16912
16913         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16914         More checks.
16915
16916         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
16917         (do_linear_regression), (gst_clock_add_observation):
16918         Cleanups.
16919         Release lock when the clock cannot be slaved.
16920         Catch the case where the regression returned an invalid denominator.
16921
16922         * gst/gstutils.c: (gst_util_div128_64_iterate),
16923         (gst_util_div128_64), (gst_util_uint64_scale_int64),
16924         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16925         Add protentially more performant non-iterative 128/64 divide function
16926         that unfortunatly does not work yet.
16927         Shortcut the trivial 0/X = 0 case.
16928         Remove the warnings on overflow.
16929
16930 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16931
16932         * gst/gstplugin.c: (gst_plugin_register_func):
16933           everything causing a plugin not to load should be at least a WARNING
16934
16935 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
16936
16937         * docs/random/ensonic/dparams.txt:
16938           some TODOs for the next dev cycle
16939         * libs/gst/controller/gstcontroller.c:
16940         (gst_controlled_property_set_interpolation_mode),
16941         (gst_controlled_property_new):
16942         * libs/gst/controller/gstcontroller.h:
16943           use base type to assign acccessor functions
16944
16945 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16946
16947         * check/Makefile.am:
16948         Oops, that should have been top_srcdir
16949
16950 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16951
16952         * check/Makefile.am:
16953         * check/elements/fdsrc.c: (GST_START_TEST):
16954         Use a cmdline define to specify the location of a file to use for
16955         testing, to avoid breaking distcheck.
16956
16957 2005-11-28  Andy Wingo  <wingo@pobox.com>
16958
16959         * gst/gstpad.c (fixate_value): Use array functions for arrays.
16960
16961 2005-11-28  Edward Hervey  <edward@fluendo.com>
16962
16963         * tools/gst-launch.c: (main):
16964         Clarify the output strings, makes it easier to translate.
16965         Fixes #322626
16966
16967 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16968
16969         * gst/Makefile.am:
16970           don't try and build net if we don't even have <sys/socket.h>
16971
16972 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
16973
16974         * check/Makefile.am:
16975         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
16976         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
16977           Add tests for fdsrc seekability
16978
16979         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16980         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
16981         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
16982         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
16983         * gst/elements/gstfdsrc.h:
16984           fdsrc should not be a 'live' source.
16985           Implement seeking on seekable fd's.
16986
16987         * gst/gstquery.c: (gst_query_new_seeking),
16988         (gst_query_parse_seeking):
16989         * gst/gstquery.h:
16990           Implement SEEKING query functions: 
16991             *_new_seeking and *_parse_seeking
16992
16993 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
16994
16995         * gst/gstelement.c: (gst_element_dispose):
16996           don't loop forever
16997
16998         * gst/gstiterator.c:
16999         * gst/gststructure.c:
17000           doc fixes
17001
17002         * libs/gst/controller/gstcontroller.c:
17003         (gst_controlled_property_set_interpolation_mode):
17004         * libs/gst/controller/gstcontroller.h:
17005         * libs/gst/controller/gstinterpolation.c:
17006         (interpolate_none_get_enum_value_array):
17007           support controlling enums
17008
17009 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17010
17011         * gst/gstvalue.c:
17012           Improve documentation for gst_value_union().
17013
17014         * gst/gstvalue.h:
17015           Change return value for union, intersect and subtract functions
17016           from gint to gboolean.
17017
17018 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17019
17020         * gst/gstvalue.c: (gst_value_serialize_any_list),
17021         (gst_value_transform_any_list_string),
17022         (gst_value_deserialize_list), (gst_value_deserialize_array),
17023         (gst_value_set_int_range), (gst_value_deserialize_int_range),
17024         (gst_value_set_double_range), (gst_value_deserialize_double_range),
17025         (gst_value_set_fraction_range_full),
17026         (gst_value_deserialize_fraction_range),
17027         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
17028         (gst_value_deserialize_boolean),
17029         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
17030         (gst_value_serialize_float), (gst_value_deserialize_float),
17031         (gst_string_wrap), (gst_value_deserialize_string),
17032         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
17033         (gst_value_union_int_range_int_range),
17034         (gst_value_intersect_int_range_int_range),
17035         (gst_value_intersect_double_range_double_range),
17036         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
17037         (gst_value_subtract_int_range_int_range),
17038         (gst_value_subtract_double_double_range),
17039         (gst_value_subtract_double_range_double_range),
17040         (gst_value_deserialize_fraction):
17041         * gst/gstvalue.h:
17042           Use gint, gdouble and gchar in our API instead of int, double and
17043           char (and make usage in gstvalue.c more consistent).
17044
17045 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17046
17047         * check/Makefile.am:
17048         * libs/gst/controller/Makefile.am:
17049         * libs/gst/dataprotocol/Makefile.am:
17050           fix up Makefile.am and remove GST_ENABLE_NEW
17051
17052 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17053
17054         * configure.ac:
17055         * gst/Makefile.am:
17056         * gst/base/Makefile.am:
17057         * gst/check/Makefile.am:
17058         * gst/elements/Makefile.am:
17059         * gst/net/Makefile.am:
17060           update LDFLAGS use some more
17061
17062 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17063
17064         * common/m4/gst-doc.m4:
17065           Fixes #312589
17066
17067 2005-11-26  Edward Hervey  <edward@fluendo.com>
17068
17069         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17070         This shouldn't issue a g_warning since it returns NULL if it
17071         couldn't find the plugin, and all functions using this behave
17072         properly on a NULL return. Switching to a GST_WARNING.
17073
17074 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
17075
17076         * gst/gstbin.c: (gst_bin_handle_message_func):
17077         Don't leak clock messages.
17078
17079 2005-11-25  Wim Taymans  <wim@fluendo.com>
17080
17081         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17082         (gst_util_uint64_scale_int):
17083         Optimisations, remove unneeded vars.
17084
17085 2005-11-25  Wim Taymans  <wim@fluendo.com>
17086
17087         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17088         Added more checks for the high precision uint64 cases.
17089
17090         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17091         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17092         Implement high precision (guint64 * guint64) / guint64.
17093
17094 2005-11-24  Wim Taymans  <wim@fluendo.com>
17095
17096         * gst/base/gstbasesrc.c: (gst_base_src_query):
17097         Fix wrong percentage query.
17098
17099         * gst/gstutils.c: (gst_util_uint64_scale),
17100         (gst_util_uint64_scale_int):
17101         Add some more common cases that can be handled 
17102         efficiently to _scale.
17103
17104 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17105
17106         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
17107         (gst_mini_object_suite):
17108           don't use check calls from threads; check probably isn't
17109           threadsafe and using a lock to make it threadsafe would
17110           defeat the purpose of this check
17111         * gst/check/gstcheck.c:
17112         * gst/check/gstcheck.h:
17113           use GST_DEBUG some more
17114
17115 2005-11-24  Wim Taymans  <wim@fluendo.com>
17116
17117         * gst/gstutils.c: (gst_util_uint64_scale),
17118         (gst_util_uint64_scale_int):
17119         Chain trivial case to _scale_int.
17120
17121 2005-11-24  Wim Taymans  <wim@fluendo.com>
17122
17123         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17124         Added test for scaling.
17125
17126         * gst/gstclock.h:
17127         Small doc fix.
17128
17129         * gst/gstutils.c: (gst_util_uint64_scale_int):
17130         Implemented high precision scaling code.
17131
17132 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
17133
17134         * gst/gstinfo.h:
17135           do not crash on pad==NULL
17136
17137 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17138
17139         Patch by: Stefan Kost
17140
17141         * common/gtk-doc.mak:
17142         * docs/gst/Makefile.am:
17143         * docs/libs/Makefile.am:
17144           Fix distcheck issues for the libraries docs build
17145           Closes #319599.
17146
17147 2005-11-24  Michael Smith <msmith@fluendo.com>
17148
17149         * docs/manual/basics-helloworld.xml:
17150           Fix bug #315027: memory leak in example code in docs.
17151
17152 2005-11-24  Michael Smith <msmith@fluendo.com>
17153
17154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17155           Unlock the PREROLL_LOCK in a failure case.
17156
17157 2005-11-24  Wim Taymans  <wim@fluendo.com>
17158
17159         * docs/gst/gstreamer-sections.txt:
17160         * gst/base/gstadapter.h:
17161         * gst/base/gstbasesink.h:
17162         * gst/base/gstbasesrc.h:
17163         * gst/base/gstbasetransform.h:
17164         * gst/base/gstpushsrc.h:
17165         * gst/elements/gstfakesink.h:
17166         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
17167         * gst/elements/gstfakesrc.h:
17168         * gst/elements/gstfilesink.h:
17169         * gst/elements/gstfilesrc.h:
17170         * gst/gst.c:
17171         * gst/gstbin.c:
17172         * gst/gstbuffer.c: (_gst_buffer_copy):
17173         * gst/gstbus.h:
17174         * gst/gstcaps.c:
17175         * gst/gstchildproxy.c:
17176         * gst/gstclock.c:
17177         * gst/gstelement.c:
17178         * gst/gstelementfactory.c:
17179         * gst/gstelementfactory.h:
17180         * gst/gstevent.c:
17181         * gst/gstghostpad.h:
17182         * gst/gstindex.h:
17183         * gst/gstinterface.h:
17184         * gst/gstminiobject.c:
17185         * gst/gstminiobject.h:
17186         * gst/gstpad.c:
17187         * gst/gstpad.h:
17188         * gst/gstpadtemplate.h:
17189         * gst/gstpipeline.h:
17190         * gst/gstpluginfeature.h:
17191         * gst/gstquery.h:
17192         * gst/gstqueue.h:
17193         * gst/gsttaglist.c:
17194         * gst/gsttaglist.h:
17195         * gst/gsttagsetter.c:
17196         * gst/gsttagsetter.h:
17197         * gst/gsttrace.c:
17198         * gst/gsttrace.h:
17199         * gst/gsttypefind.h:
17200         * gst/gsturi.h:
17201         * gst/gstvalue.c:
17202         * gst/net/gstnetclientclock.c:
17203         * gst/net/gstnetclientclock.h:
17204         * gst/net/gstnettimepacket.c:
17205         * gst/net/gstnettimeprovider.c:
17206         * gst/net/gstnettimeprovider.h:
17207         Doc fixes.
17208
17209 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17210
17211         * configure.ac: back to HEAD
17212
17213 === release 0.9.6 ===
17214
17215 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
17216
17217         * configure.ac:
17218           releasing 0.9.6, "Always On Time"
17219
17220 2005-11-23  Wim Taymans  <wim@fluendo.com>
17221
17222         * docs/gst/gstreamer-sections.txt:
17223         * gst/glib-compat.c:
17224         * gst/gsttagsetter.c:
17225         * gst/gstvalue.c:
17226         * gst/net/gstnetclientclock.c:
17227         * gst/net/gstnettimepacket.h:
17228         Doc updates.
17229
17230 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17231
17232         * docs/faq/using.xml:
17233         * docs/libs/tmpl/gstcontrol.sgml:
17234         * docs/manual/advanced-dparams.xml:
17235         * docs/manual/appendix-checklist.xml:
17236         * docs/manual/basics-elements.xml:
17237         * docs/pwg/other-source.xml:
17238         * docs/random/moving-plugins:
17239         * gst/gstpad.c:
17240         * tools/gst-launch.1.in:
17241           remove mentions of sinesrc
17242
17243 2005-11-23  Michael Smith <msmith@fluendo.com>
17244
17245         * docs/gst/gstreamer-sections.txt:
17246           Update for new API and API changes.
17247         * gst/gstobject.h:
17248           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
17249         * gst/gstvalue.c:
17250           Documentation typo fix.
17251         * gst/net/gstnettimepacket.c:
17252           Documentation fixes for arguments.
17253
17254 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
17255
17256         * gst/gststructure.c: (gst_structure_get_fraction),
17257         (gst_structure_parse_value),
17258         (gst_structure_fixate_field_nearest_fraction):
17259         * gst/gststructure.h:
17260         * gst/gstutils.c: (gst_util_uint64_scale_int):
17261         * gst/gstutils.h:
17262         * scripts/update-funcnames:
17263         API Changes. 
17264         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
17265         Make gst_structure_fixate_field_nearest_fraction take a numerator
17266         and denominator argument instead of a GValue
17267         add gst_structure_get_fraction helper function.
17268
17269 2005-11-23  Wim Taymans  <wim@fluendo.com>
17270
17271         * docs/design/part-TODO.txt:
17272         Update TODO.
17273
17274         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
17275         * gst/net/gstnetclientclock.h:
17276         Use parent fields for timeout and window_size.
17277
17278 2005-11-23  Andy Wingo  <wingo@pobox.com>
17279
17280         * check/net/gstnetclientclock.c (test_functioning): Adjust to
17281         rate_num/rate_denom change.
17282
17283         * gst/net/gstnetclientclock.c
17284         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
17285         OBJECT_LOCK. Don't call add_observation with the lock.
17286
17287         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
17288         fraction.
17289         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
17290         rate fraction.
17291         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
17292         deal with rate as a fraction whose numerator and denominator are
17293         GstClockTime values.
17294         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
17295         master; the other fields are protected by the SLAVE_LOCK.
17296         (do_linear_regression): Note that this must be called with the
17297         SLAVE_LOCK.
17298         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
17299         OBJECT_LOCK. Call set_calibration instead of touching the
17300         variables directly.
17301         (gst_clock_set_property, gst_clock_get_property): Protect
17302         master/slave parameters with the SLAVE_LOCK.
17303
17304         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
17305         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
17306         note that all of the instance variables that add_observation and
17307         the set_master functions use are protected by that lock and not
17308         the OBJECT_LOCK.
17309         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
17310
17311         * gst/gstclock.c (gst_clock_add_observation): No longer requires
17312         the caller to take the object lock.
17313
17314 2005-11-23  Wim Taymans  <wim@fluendo.com>
17315
17316         * gst/gsterror.c: (_gst_core_errors_init):
17317         * gst/gsterror.h:
17318         Add error for clock stuff.
17319
17320         * gst/gstpipeline.c: (gst_pipeline_change_state),
17321         (gst_pipeline_set_clock):
17322         Post clock error when clock cannot be used in a pipeline.
17323
17324 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
17325
17326         * docs/gst/gstreamer-sections.txt:
17327           make two symbols from gstinfo private for the docs
17328         * gst/base/gstcollectpads.h:
17329         * gst/gstutils.c:
17330           fix doc typos, update docs
17331
17332 2005-11-22  Wim Taymans  <wim@fluendo.com>
17333
17334         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17335         (gst_base_sink_wait), (gst_base_sink_do_sync),
17336         (gst_base_sink_handle_event):
17337         * gst/base/gstbasesink.h:
17338         No need to store the clock, the parent element class already
17339         has it.
17340
17341         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
17342         Updates for clock_set returning a gboolean
17343
17344         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
17345         (gst_clock_id_wait_async), (gst_clock_class_init),
17346         (gst_clock_init), (gst_clock_finalize),
17347         (gst_clock_get_internal_time), (gst_clock_get_time),
17348         (gst_clock_slave_callback), (gst_clock_set_master),
17349         (gst_clock_get_master), (do_linear_regression),
17350         (gst_clock_add_observation), (gst_clock_set_property),
17351         (gst_clock_get_property):
17352         * gst/gstclock.h:
17353         Implement master/slave. When setting a clock as a slave, a
17354         periodic timeout is scheduled to sample master and slave times.
17355         Then the slave clock is recalibrated to match offset and rate
17356         of the master clock.
17357         Update logging a bit.
17358         Add flag so that a clock can state that is cannot be slaved to
17359         another clock.
17360
17361         * gst/gstelement.c: (gst_element_set_clock):
17362         * gst/gstelement.h:
17363         The set clock returns a gboolean for when an element cannot
17364         deal with the selected clock in the pipeline. 
17365
17366         * gst/gstpipeline.c: (gst_pipeline_change_state),
17367         (gst_pipeline_set_clock):
17368         * gst/gstpipeline.h:
17369         Handle the case where the selected clock cannot be set on
17370         the pipeline.
17371
17372         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
17373         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
17374         (gst_net_client_clock_set_property),
17375         (gst_net_client_clock_get_property),
17376         (gst_net_client_clock_observe_times):
17377         * gst/net/gstnetclientclock.h:
17378         Use regression code in GstClock parent, remove duplicated
17379         functionality.
17380
17381 2005-11-22  Michael Smith <msmith@fluendo.com>
17382
17383         * gst/gstutils.c: (gst_util_clock_time_scale):
17384         * gst/gstutils.h:
17385         * docs/gst/gstreamer-sections.txt:
17386           Rename method to have extra underscore.
17387
17388 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17389
17390         * gst/elements/Makefile.am:
17391         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
17392         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
17393         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
17394         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
17395         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
17396         * gst/elements/gstfakesrc.h:
17397         * gst/gstqueue.c: (queue_leaky_get_type):
17398           correctly fix GEnumValues so that nick is the short lowercase
17399           dashed tag
17400         * tools/gst-inspect.c: (print_element_properties_info):
17401           also show the nick, since it's useful to use from parse_launch
17402           syntax
17403           Fixes #322139
17404
17405 2005-11-22  Michael Smith <msmith@fluendo.com>
17406
17407         * gst/gstutils.c: (gst_util_clocktime_scale):
17408         * gst/gstutils.h:
17409         * docs/gst/gstreamer-sections.txt:
17410           Add util method for scaling a clocktime by a fraction. Useful 
17411           implementation is left as an exercise for the reader.
17412
17413 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17414
17415         * gst/gstvalue.c: (gst_value_collect_fraction_range):
17416         If needed, allocate storage in the destination value during
17417         collection.
17418
17419 2005-11-22  Edward Hervey  <edward@fluendo.com>
17420
17421         * docs/gst/gstreamer-sections.txt:
17422         * gst/Makefile.am:
17423         * gst/gst.h:
17424         * gst/gsturitype.c:
17425         * gst/gsturitype.h:
17426         * gst/gstutils.c: (gst_util_set_object_arg):
17427         * tools/gst-compprep.c: (main):
17428         * tools/gst-inspect.c: (print_element_properties_info):
17429         Removed GstURI, closes bug #321061
17430
17431 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17432
17433         * check/gst/gststructure.c: (GST_START_TEST):
17434         * gst/gststructure.c: (gst_structure_parse_value):
17435           Oops, broke automatic string type parsing.
17436           Add a test to catch it in future.
17437
17438 2005-11-22  Andy Wingo  <wingo@pobox.com>
17439
17440         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
17441         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
17442         Actually rename the function implementations. Grr.
17443
17444 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17445
17446         * check/gst/capslist.h:
17447           Comment test cases
17448         * check/gst/gststructure.c: (GST_START_TEST),
17449         (gst_structure_suite):
17450           Test automatic value type detection in gst_structure_from_string.
17451         * gst/gststructure.c: (gst_structure_parse_value):
17452           Add fraction as a type we try and guess automatically in
17453           caps/structure strings.
17454
17455 2005-11-22  Andy Wingo  <wingo@pobox.com>
17456
17457         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
17458
17459         * gst/gsttagsetter.h:
17460         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
17461         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
17462         (gst_tag_setter_add_tag_valist)
17463         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
17464         _add_values, _add_valist, and _add_valist_values. Since this is an
17465         interface the function suffixes should be more explicit so
17466         language binding don't end up with element.add_valist ->
17467         gst_tag_setter_add_valist, for example. Fixes #322069.
17468
17469 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17470
17471         * check/gst/gstcaps.c: (GST_START_TEST):
17472           Extend caps string tests to check that a caps to string
17473           conversion is reversible and produces the same caps.
17474
17475         * gst/gststructure.c: (gst_structure_value_get_generic_type):
17476           Output "fraction" as the generic type fraction range, so caps
17477           serialisation and deserialisation works.
17478         * check/gst/capslist.h:
17479         * gst/gstvalue.c: (gst_value_deserialize_fraction):
17480           Support 'MIN' and 'MAX' for deserialising fractions.
17481
17482 2005-11-22  Andy Wingo  <wingo@pobox.com>
17483
17484         * gst/gstevent.h (gst_event_new_new_segment)
17485         (gst_event_parse_new_segment, gst_event_new_buffer_size)
17486         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
17487         Renamed from *_newsegment, *_buffersize, *_notarget.
17488
17489         * scripts/update-funcnames: New script, performs the changes
17490         listed above.
17491
17492 2005-11-22  Wim Taymans  <wim@fluendo.com>
17493
17494         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17495         Make sure the GstFlowReturn is returned.
17496
17497         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
17498         (gst_bus_add_signal_watch):
17499         * gst/gstbus.h:
17500         add gst_bus_add_signal_watch_full.
17501
17502         * gst/gstplugin.c: (gst_plugin_load_file):
17503         Small style cleanup.
17504
17505 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17506
17507         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
17508           Block the fakesrc srcpad when we send an event, to avoid
17509           contention on the stream_lock causing random test failures.
17510
17511 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17512
17513         * check/gst/gstvalue.c: (GST_START_TEST):
17514         * gst/gstvalue.c: (gst_value_fraction_subtract):
17515           Fix subtraction.
17516
17517 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
17518
17519         * gst/gst.h:
17520           include "gstchildproxy.h"
17521         * gst/gstchildproxy.h:
17522         * libs/gst/controller/gstcontroller.h:
17523           use G_GNUC_NULL_TERMINATED
17524
17525 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17526
17527         * check/gst/capslist.h:
17528         * check/gst/gstcaps.c: (GST_START_TEST):
17529         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17530         * gst/gststructure.c: (gst_structure_parse_range),
17531         (gst_structure_fixate_field_nearest_fraction):
17532         * gst/gststructure.h:
17533         * gst/gstvalue.c: (gst_value_init_fraction_range),
17534         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
17535         (gst_value_collect_fraction_range),
17536         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
17537         (gst_value_set_fraction_range_full),
17538         (gst_value_get_fraction_range_min),
17539         (gst_value_get_fraction_range_max),
17540         (gst_value_serialize_fraction_range),
17541         (gst_value_transform_fraction_range_string),
17542         (gst_value_compare_fraction_range),
17543         (gst_value_deserialize_fraction_range),
17544         (gst_value_intersect_fraction_fraction_range),
17545         (gst_value_intersect_fraction_range_fraction_range),
17546         (gst_value_subtract_fraction_fraction_range),
17547         (gst_value_subtract_fraction_range_fraction),
17548         (gst_value_subtract_fraction_range_fraction_range),
17549         (gst_value_collect_fraction), (gst_value_fraction_multiply),
17550         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
17551         (gst_value_transform_string_fraction), (_gst_value_initialize):
17552         * gst/gstvalue.h:
17553           Implement fraction ranges and extend GstFraction to support
17554           arithmetic subtraction, as well as deserialization from integer
17555           strings such as "100"
17556           Add a testsuite as for int and double range set operations
17557
17558 2005-11-21  Andy Wingo  <wingo@pobox.com>
17559
17560         * gst/gsttaglist.h: 
17561         * gst/gstcaps.h: 
17562         * gst/gststructure.h: Add glib-compat.h.
17563
17564 2005-11-21  Wim Taymans  <wim@fluendo.com>
17565
17566         * gst/gstbin.c: (gst_bin_change_state_func):
17567         Fix for #321595
17568
17569 2005-11-21  Wim Taymans  <wim@fluendo.com>
17570
17571         * gst/gstsegment.h:
17572         And add a nice define too.
17573
17574 2005-11-21  Wim Taymans  <wim@fluendo.com>
17575
17576         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
17577         (gst_segment_new), (gst_segment_free), (gst_segment_init),
17578         (gst_segment_set_duration), (gst_segment_set_last_stop),
17579         (gst_segment_set_seek), (gst_segment_set_newsegment),
17580         (gst_segment_to_stream_time), (gst_segment_to_running_time),
17581         (gst_segment_clip):
17582         * gst/gstsegment.h:
17583         Make binding friendly.
17584
17585 2005-11-21  Andy Wingo  <wingo@pobox.com>
17586
17587         * gst/gsttagsetter.h: 
17588         * gst/gsttaglist.h: 
17589         * gst/gststructure.h: 
17590         * gst/gstcaps.h: 
17591         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
17592         #319940.
17593
17594         * gst/gsterror.c (_gst_core_errors_init):
17595         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
17596         category.
17597
17598         * gst/Makefile.am (gst_headers): Add glib-compat.h.
17599         (noinst_HEADERS): noinst the -private.
17600
17601 2005-11-21  Michael Smith <msmith@fluendo.com>
17602
17603         * gst/gstplugin.h:
17604         * gst/gstregistry.h:
17605           Remove unimplemented declarations for which we can see no sensible
17606           use.
17607
17608 2005-11-21  Andy Wingo  <wingo@pobox.com>
17609
17610         * gst/gst.h: Include glib-compat.h.
17611
17612         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
17613
17614         * gst/glib-compat.c: Include the public and the private header.
17615
17616         * gst/glib-compat-private.h: Copied here from glib-compat.h.
17617
17618         * gst/gstvalue.c: 
17619         * gst/gstpad.c: 
17620         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
17621
17622         * check/gst/gstevent.c (create_custom_events): Check that
17623         FLUSH_STOP is serialized.
17624
17625         * check/elements/identity.c (event_func): 
17626         * check/elements/fakesrc.c (event_func): No stream lock, the core
17627         takes it.
17628
17629         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
17630         stream lock taking, yay.
17631
17632         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
17633         ensure that core takes the stream lock.
17634
17635         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
17636         lock name change.
17637
17638         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
17639         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
17640         it already. For the flush start we do take it though so we get the
17641         right preroll state change messages.
17642
17643         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
17644         the stream lock here, the core does it for us.
17645
17646         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
17647         GST_STREAM_GET_LOCK.
17648         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
17649         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
17650         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
17651         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
17652         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
17653         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
17654
17655         * gst/gstpad.c: Update for stream lock name change.
17656
17657         * gst/base/gstbasesink.c: Update for preroll lock name change.
17658
17659 2005-11-21  Wim Taymans  <wim@fluendo.com>
17660
17661         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
17662         (gst_clock_get_master):
17663         * gst/gstclock.h:
17664         * gst/gstsystemclock.c: (gst_system_clock_init):
17665         Convert Clock flags to object flags.
17666         Added methods to manage master/slave clocks.
17667
17668 2005-11-21  Wim Taymans  <wim@fluendo.com>
17669
17670         * check/gst/gstsegment.c: (GST_START_TEST):
17671         * docs/design/part-TODO.txt:
17672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17673         (gst_base_sink_event), (gst_base_sink_do_sync),
17674         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17675         (gst_base_sink_query), (gst_base_sink_change_state):
17676         * gst/base/gstbasesink.h:
17677         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17678         (gst_base_src_default_newsegment),
17679         (gst_base_src_configure_segment), (gst_base_src_do_seek),
17680         (gst_base_src_get_range), (gst_base_src_loop),
17681         (gst_base_src_change_state):
17682         * gst/base/gstbasesrc.h:
17683         * gst/base/gstbasetransform.c:
17684         (gst_base_transform_prepare_output_buf),
17685         (gst_base_transform_event), (gst_base_transform_change_state):
17686         * gst/base/gstbasetransform.h:
17687         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17688         (gst_collect_pads_event):
17689         * gst/base/gstcollectpads.h:
17690         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
17691         (gst_fake_src_create):
17692         * gst/elements/gstfakesrc.h:
17693         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17694         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17695         (gst_segment_set_last_stop), (gst_segment_set_seek),
17696         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17697         (gst_segment_to_running_time), (gst_segment_clip):
17698         * gst/gstsegment.h:
17699         More segment updates, replace code in plugins with segment
17700         helper functions.
17701
17702 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17703
17704         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
17705         Don't ignore sscanf results
17706
17707 2005-11-21  Andy Wingo  <wingo@pobox.com>
17708
17709         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
17710
17711         * *.h:
17712         * *.c: Ran scripts/update-macros. Oh yes.
17713
17714         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
17715         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
17716         GST_GET_LOCK, etc.
17717
17718         * scripts/update-macros: New script. Run it on your files to
17719         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
17720         well.
17721
17722 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
17723
17724         * docs/gst/Makefile.am:
17725         * docs/gst/gstreamer-docs.sgml:
17726         * docs/gst/gstreamer-sections.txt:
17727         * docs/gst/gstreamer.types:
17728         * gst/gstinfo.h:
17729           more docs fixes, add new api to the docs
17730
17731 2005-11-21  Andy Wingo  <wingo@pobox.com>
17732
17733         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
17734         state_broadcast call.
17735
17736         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
17737
17738 2005-11-21  Julien MOUTTE  <julien@moutte.net>
17739
17740         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
17741         function calls for arrays.
17742
17743 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
17744
17745         * docs/random/ensonic/media-device-daemon.txt:
17746           wild idea, can this be done?
17747         * docs/gst/gstreamer-sections.txt:
17748         * gst/gsterror.h:
17749         * gst/gstfilter.c:
17750         * gst/gstfilter.h:
17751         * gst/gstplugin.h:
17752         * gst/gstpluginfeature.c:
17753         * gst/gsttrace.c:
17754         * gst/gstvalue.c:
17755         * gst/gstvalue.h:
17756           doc fixes and additions
17757
17758 2005-11-21  Andy Wingo  <wingo@pobox.com>
17759
17760         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
17761         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
17762         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
17763         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
17764         private to the basesrc implementation.
17765
17766         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
17767         behalf of event function if necessary. It should no longer be
17768         necessary to take the stream lock in pad's event functions. Fixes
17769         #320299.
17770
17771 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17772         * docs/gst/gstreamer-sections.txt:
17773         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
17774         (gst_structure_fixate_field_nearest_double),
17775         (gst_structure_fixate_field_boolean):
17776         * gst/gststructure.h:
17777         * win32/common/libgstreamer.def:
17778         * win32/gstreamer.def:
17779
17780         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
17781         (#322027)
17782
17783 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17784
17785         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
17786         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
17787         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
17788         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
17789         (gst_fdsrc_uri_handler_init):
17790         * gst/elements/gstfdsrc.h:
17791           Port fd:// URI handler from 0.8 to fdsrc
17792
17793 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17794
17795         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
17796         (gst_value_serialize_fourcc):
17797         * gst/gstvalue.h:
17798           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
17799           consistent with our other format defines (#320324).
17800
17801 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17802
17803         * gst/gstvalue.c: (gst_value_is_fixed):
17804           Revert previous commit. Value lists are by definition
17805           not fixed, as they are a list of possible values.
17806
17807 2005-11-21  Andy Wingo  <wingo@pobox.com>
17808
17809         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
17810         during the stable series if we need it. Fixes #319178.
17811
17812         * gst/gstevent.c (gst_event_new_filler): Removed.
17813
17814         * check/gst/gstevent.c: Update comment about filler events.
17815
17816 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17817
17818         * gst/gstvalue.c: (gst_value_is_fixed):
17819           Should handle both value arrays and value lists.
17820
17821 2005-11-21  Andy Wingo  <wingo@pobox.com>
17822
17823         patch by: Alessandro Dessina <alessandro nnva org>
17824
17825         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
17826         functions to access arrays. Fixes #321962.
17827
17828 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17829
17830         * docs/gst/gstreamer.types:
17831           gst_collectpads_get_type => gst_collect_pads_get_type.
17832           
17833         * gst/base/gstbasetransform.c:
17834           Remove unused SIGNAL_HANDOFF enum.
17835
17836 2005-11-21  Andy Wingo  <wingo@pobox.com>
17837
17838         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
17839         the event type (upstream, downstream, serialized). Renamed
17840         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
17841         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
17842         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
17843
17844         * gst/gstevent.c: Update for new CUSTOM event names.
17845
17846         * check/gst/gstevent.c: Update check for new CUSTOM event names.
17847
17848         * gst/gstevent.h:
17849         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
17850         bug #319392.
17851
17852 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17853
17854         * docs/gst/gstreamer-sections.txt:
17855         * win32/common/libgstbase.def:
17856         * win32/libgstbase.def:
17857         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17858         (gst_collect_pads_class_init), (gst_collect_pads_init),
17859         (gst_collect_pads_finalize), (gst_collect_pads_new),
17860         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
17861         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
17862         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
17863         (gst_collect_pads_start), (gst_collect_pads_stop),
17864         (gst_collect_pads_peek), (gst_collect_pads_pop),
17865         (gst_collect_pads_available), (gst_collect_pads_read),
17866         (gst_collect_pads_flush), (gst_collect_pads_event),
17867         (gst_collect_pads_chain):
17868         * gst/base/gstcollectpads.h:
17869           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
17870           unimplemented functions as unimplemented. Add padding to
17871           GstCollectData. (#320766, #320423)
17872
17873 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17874
17875         * gst/gstmessage.c:
17876           Improve docs for DURATION message (usage of duration parameter)
17877           (#320113)
17878
17879 2005-11-20  Wim Taymans  <wim@fluendo.com>
17880
17881         * check/Makefile.am:
17882         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
17883         (main):
17884         * gst/Makefile.am:
17885         * gst/gst.h:
17886         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17887         (gst_segment_set_seek), (gst_segment_set_newsegment),
17888         (gst_segment_to_stream_time), (gst_segment_to_running_time),
17889         (gst_segment_clip):
17890         * gst/gstsegment.h:
17891         Added segment helper structure and methods. Not fully implemented
17892         yet.
17893         Added segment check.
17894
17895 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
17896
17897         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17898           Add a deserialisation test for fractions
17899         * examples/metadata/read-metadata.c: (message_loop),
17900         (make_pipeline), (main):
17901           Fix up metadata reading sample.
17902         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17903           Debug format fix
17904         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17905           Don't try and fixate empty caps
17906         * gst/gst_private.h:
17907           Wrap in G_BEGIN_DECLS/G_END_DECLS
17908         * gst/gstvalue.c: (gst_value_collect_fraction),
17909         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
17910         (gst_value_transform_string_fraction),
17911         (gst_value_compare_fraction):
17912           Add some extra guards to ensure that we don't end up 
17913           with an invalid denominator of 0 in a gstfraction and
17914           that fractions always get reduced.
17915
17916 2005-11-20  Wim Taymans  <wim@fluendo.com>
17917
17918         * docs/gst/gstreamer-sections.txt:
17919         * gst/gstbuffer.h:
17920         * gst/gstelement.c:
17921         * gst/gstformat.c:
17922         * gst/gstformat.h:
17923         * gst/gstindex.h:
17924         * gst/gstquery.c:
17925         * gst/gstquery.h:
17926         * gst/gstvalue.c:
17927         Doc fixes.
17928
17929 2005-11-20  Wim Taymans  <wim@fluendo.com>
17930
17931         * docs/design/part-TODO.txt:
17932         * gst/gstcaps.h:
17933         Make a proper enum of the flag.
17934
17935 2005-11-19  Wim Taymans  <wim@fluendo.com>
17936
17937         * docs/design/part-TODO.txt:
17938         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
17939         (gst_format_to_quark), (gst_format_register):
17940         * gst/gstformat.h:
17941         * gst/gstquery.c: (_gst_query_initialize),
17942         (gst_query_type_get_name), (gst_query_type_to_quark),
17943         (gst_query_type_register):
17944         * gst/gstquery.h:
17945         Add type to quark and type to string conversions.
17946
17947 2005-11-19  Andy Wingo  <wingo@pobox.com>
17948
17949         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
17950         #320097.
17951
17952 2005-11-19  Wim Taymans  <wim@fluendo.com>
17953
17954         * docs/design/part-TODO.txt:
17955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17956         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
17957         (gst_bin_handle_message_func):
17958         * gst/gstbin.h:
17959         Make message handling overridable.
17960
17961 2005-11-19  Andy Wingo  <wingo@pobox.com>
17962
17963         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
17964
17965         * gst/gstclock.h:
17966         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
17967         be a GstClockTime.
17968         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
17969         is a GstClockTime. Fixes #321710.
17970
17971         * gst/gstclock.h (GstClock): Remove offset property. Add
17972         internal_calibration and external_calibration. Fix padding. Pad
17973         also by GstClockTime so we don't run into problems.
17974
17975         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
17976         (gst_clock_get_rate_offset): Remove.
17977         (gst_clock_set_time_adjust): Remove. Fixes #321712.
17978
17979         * gst/gstutils.h:
17980         * gst/gstutils.c (g_static_rec_cond_wait)
17981         (g_static_rec_cond_timed_wait): Removed, no longer needed.
17982
17983         * gst/gstbin.c: Remove terrible continue_state prototype.
17984
17985         * gst/gstelement.h (gst_element_continue_state): Make public.
17986
17987         * gst/gstelement.h:
17988         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17989         by continue_state. Fixes #319389.
17990
17991         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17992         Really fixes #168438. However I don't see anywhere where the
17993         filter function is called... stupid GStreamer...
17994         
17995         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17996         don't have a dispose function, so it won't get called when the
17997         object is unreffed, but oh well!
17998
17999         * gst/gstindex.c (gst_index_set_filter_full): New API function,
18000         allows a destroy function to be set so user_data can be freed.
18001         Fixes #168438.
18002         (gst_index_set_filter): Call gst_index_set_filter_full.
18003
18004         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
18005
18006         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
18007         string should produce an error, given the lack of a way to
18008         represent NULL strings. Fixes #165650.
18009         
18010         * gst/gstvalue.h: 
18011         * gst/gstvalue.c (gst_value_array_append_value) 
18012         (gst_value_array_prepend_value, gst_value_array_get_size) 
18013         (gst_value_array_get_value): New API, copied from
18014         gst_value_list_*, only operates on arrays.
18015         (gst_value_list_append_value, gst_value_list_prepend_value) 
18016         (gst_value_list_concat, gst_value_list_get_size) 
18017         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
18018
18019         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
18020         init_list, because it works on both.
18021         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
18022         (gst_value_copy_list_or_array): Renamed from copy_list.
18023         (gst_value_free_list_or_array): Renamed from free_list.
18024         (gst_value_collect_list_or_array): Renamed from collect_list.
18025         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
18026         (gst_value_list_or_array_peek_pointer): Renamed from
18027         list_peek_pointer.
18028         (_gst_value_array_value_table, _gst_value_list_value_table):
18029         Update value table functions.
18030         (gst_value_compare_list_or_array): Renamed from compare_list.
18031
18032         * gsttaglist.h: Whoops, foreach function returns void. Also fix
18033         some constness.
18034
18035         * gst/gsttaglist.c:
18036         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
18037         GstTagList*. Fixes #143472.
18038
18039         * gst/gststructure.h: Clarify what the foreach/map functions can
18040         or can't do to their arguments.
18041
18042 2005-11-18  Wim Taymans  <wim@fluendo.com>
18043
18044         * gst/gstclock.c: (gst_clock_set_calibration),
18045         (gst_clock_get_calibration):
18046         Doc and API fixes.
18047         Calibration can be set with internal time equal to current
18048         internal time too.
18049
18050 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18051
18052         * gst/gsterror.c:
18053         * gst/gsterror.h:
18054           document
18055
18056 2005-11-18  Andy Wingo  <wingo@pobox.com>
18057
18058         * configure.ac: 
18059         * pkgconfig/gstreamer-net.pc.in:
18060         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18061         * pkgconfig/Makefile.am: Add net pkgconfig files.
18062
18063 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
18064
18065         * gst/gstcaps.c:
18066         * gst/gstghostpad.c:
18067         * gst/gsttrace.c:
18068         * gst/gstvalue.c:
18069         * gst/gstvalue.h:
18070           docs fixes
18071
18072 2005-11-18  Andy Wingo  <wingo@pobox.com>
18073
18074         * gst/net/gstnetclientclock.c: Turn off debugging.
18075
18076         * check/net/gstnetclientclock.c (test_functioning): Assert that the
18077         times connverge somewhat. Can't make a real test.
18078
18079         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
18080         integer arithmetic. Return the minimum of the domain, which can be
18081         set as "internal" for gst_clock_set_calibration.
18082         (gst_net_client_clock_observe_times): Call _set_calibration.
18083         (gst_net_client_clock_new): Call _set_calibration instead of
18084         rate_offset.
18085
18086         * check/net/gstnetclientclock.c (test_functioning): Use the right
18087         adjustment api.
18088
18089         * gst/gstclock.h:
18090         * gst/gstclock.c (gst_clock_get_calibration) 
18091         (gst_clock_set_calibration): New functions, obsolete the ones I
18092         added yesterday. Doh. Precision issues mean we have to extrapolate
18093         from a point in the more recent past than 1970.
18094         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
18095         obsolete.
18096         (gst_clock_adjust_unlocked): Use the right calibration data.
18097
18098 2005-11-18  Edward Hervey  <edward@fluendo.com>
18099
18100         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
18101         Also reset the ->current_* values in READY->PAUSED
18102
18103 2005-11-18  Andy Wingo  <wingo@pobox.com>
18104
18105         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
18106         Whoops, check the right fd. Also add some debugging.
18107         (gst_net_client_clock_observe_times): Adjust for int64 offset.
18108         (do_linear_regression): Add a crapload of debugging. Subtract off
18109         the minimum values from the input series to discard unneeded bits.
18110         Use only int arithmetic. There is still double arithmetic when
18111         calculating the intercept that needs fixing. Return boolean to
18112         indicate success; FALSE would mean the domain or range is too
18113         great. Still needs fixes.
18114
18115 2005-11-18  Wim Taymans  <wim@fluendo.com>
18116
18117         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18118         For the current position in stream time, we need to subtract
18119         accumulated time.
18120         
18121         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18122         Release lock before calling the callback function of async
18123         entries.
18124
18125 2005-11-18  Andy Wingo  <wingo@pobox.com>
18126
18127         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
18128         Port goes all the way to MAXUINT16.
18129
18130         * gst/net/gstnettimeprovider.c: Make the port range the same as
18131         for the kernel: 0 assigns, otherwise ports are less than
18132         MAXUINT16.
18133
18134         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
18135         port change.
18136
18137         * check/net/gstnetclientclock.c (test_functioning): Add the start
18138         of another test. 
18139
18140 2005-11-18  Wim Taymans  <wim@fluendo.com>
18141
18142         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18143         (gst_bin_remove_func), (bin_bus_handler):
18144         * gst/gstbin.h:
18145         Removing a clock provider from a bin, triggers a clock lost message
18146         so that a new clock will be selected.
18147         Adding a clock to a bin triggers a clock provider message.
18148         Make sure we reselect a clock when we received a clock lost message.
18149         Keep a reference to the element that provided the clock.
18150
18151 2005-11-18  Andy Wingo  <wingo@pobox.com>
18152
18153         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
18154         the clock initially so it produces values around the base time.
18155         (gst_net_client_clock_class_init): Typo fix.
18156         (gst_net_client_clock_thread): Add note on when the socket gets
18157         closed.
18158
18159 2005-11-17  Wim Taymans  <wim@fluendo.com>
18160
18161         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
18162         Free remote and local time arrays.
18163
18164 2005-11-17  Wim Taymans  <wim@fluendo.com>
18165
18166         * gst/net/gstnetclientclock.c: (do_linear_regression),
18167         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
18168         Fix compilation, uninitialized vars and a forgotten continue.
18169
18170 2005-11-17  Andy Wingo  <wingo@pobox.com>
18171
18172         * check/Makefile.am (check_PROGRAMS): 
18173         * check/net/gstnetclientclock.c: Add a most minimal test for the
18174         net client clock. More to come later.
18175
18176         * gst/net/gstnet.h: 
18177         * gst/net/Makefile.am: Add netclientclock.
18178
18179         * gst/net/gstnetclientclock.h:
18180         * gst/net/gstnetclientclock.c: New files, implement an untested
18181         GstClock that takes its time from a network time provider.
18182         Implements the algorithm in network-clock.scm.
18183
18184         * tests/network-clock.scm (*window-size*): Rename from
18185         *queue-length*.
18186         * tests/network-clock.scm (network-time): 
18187         * tests/network-clock-utils.scm (q-push): Update callers.
18188
18189 2005-11-17  Wim Taymans  <wim@fluendo.com>
18190
18191         * gst/gstbin.c: (gst_bin_provide_clock_func),
18192         (gst_bin_sort_iterator_new):
18193         And unref the child too..
18194
18195 2005-11-17  Wim Taymans  <wim@fluendo.com>
18196
18197         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18198         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
18199         Refactor the sort iterator so it can be used while holding the
18200         LOCK too.
18201         Make clock selection select a clock closest to the source.
18202
18203 2005-11-17  Michael Smith <msmith@fluendo.com>
18204
18205         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
18206         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
18207         * gst/gstclock.h:
18208           Anonymous structs are a gcc (and some other compilers) extension, so
18209           don't use them. Since this is only for ABI-compatibility, and our
18210           API/ABI freeze is over in a few days, this whole thing will only
18211           last a few days, so don't bother trying to think up a meaningful
18212           name for the struct.
18213
18214 2005-11-17  Andy Wingo  <wingo@pobox.com>
18215
18216         * gst/gstclock.h (GstClock): Add rate and offset properties,
18217         preserving ABI stability. Add rate/offset accessors. Will file bug
18218         for the freeze break.
18219
18220         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
18221         and offset, trying to keep precision and avoiding
18222         underflow/overflow.
18223         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
18224         functions. Make gst_clock_set_time_adjust obsolete.
18225         (gst_clock_set_time_adjust): Note that this function is obsolete.
18226         Will file bug soon.
18227
18228         * gst/base/gstbasetransform.h: Make the ABI-stability hack
18229         greppable by using GST_PADDING-1+1.
18230
18231 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
18232
18233         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18234
18235         * gst/gstmessage.c: (gst_message_parse_clock_lost):
18236           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
18237
18238         * gst/gstpadtemplate.h:
18239         * gst/gstpluginfeature.h:
18240           Don't use c++ style comments in headers (#321638).
18241
18242 2005-11-16  Andy Wingo  <wingo@pobox.com>
18243
18244         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
18245         buffer.
18246
18247         * check/net/gstnettimeprovider.c: Check to see that the time
18248         provider actually provides times. Works, yo!
18249
18250 2005-11-16  Wim Taymans  <wim@fluendo.com>
18251
18252         * check/Makefile.am:
18253         Enable more tests.
18254
18255         * check/elements/fakesrc.c: (GST_START_TEST):
18256         Set element to NULL before disposing it.
18257
18258 2005-11-16  Andy Wingo  <wingo@pobox.com>
18259
18260         * gst/net/Makefile.am:
18261         * gst/net/gstnet.h:
18262         * gst/net/gstnettimeprovider.c: 
18263         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
18264         provider, include it from gstnet.h, and add it to the build.
18265
18266         * gst/net/gstnettimepacket.h: 
18267         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
18268         sending and receiving.
18269
18270 2005-11-16  Wim Taymans  <wim@fluendo.com>
18271
18272         * check/Makefile.am:
18273         Enable valgrind check.
18274
18275         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
18276         (gst_fake_src_alloc_buffer):
18277         Fix memleak.
18278
18279 2005-11-16  Wim Taymans  <wim@fluendo.com>
18280
18281         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
18282         Call parent finalize too.
18283
18284 2005-11-16  Wim Taymans  <wim@fluendo.com>
18285
18286         * check/Makefile.am:
18287         Enable valgrind check that should work fine now.
18288
18289         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18290         * gst/gstqueue.c: (gst_queue_init):
18291         Fix memleaks in pad allocation.
18292
18293 2005-11-16  Andy Wingo  <wingo@pobox.com>
18294
18295         * gst/net/Makefile.am:
18296         * gst/net/gstnet.h: New part of core to hold network elements and
18297         objects. Put in core because it exposes API that applications want
18298         to use. The library is named libgstnet-tempname right now because
18299         of the existing libgstnet in gst-plugins-base. Solution is
18300         probably to rename the one in plugins-base; will file a bug for
18301         the freeze break.
18302
18303         * gst/net/gstnettimeprovider.c: 
18304         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
18305         get_time call over the network.
18306
18307         * configure.ac: 
18308         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
18309
18310         * check/Makefile.am:
18311         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
18312         get additions shortly.
18313
18314 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18315
18316         * gst/gstpad.c: (gst_pad_new_from_static_template):
18317         * gst/gstpad.h:
18318           add gst_pad_new_from_static_template functions
18319         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
18320         (gst_check_setup_sink_pad):
18321         * gst/elements/gsttee.c: (gst_tee_init):
18322           and use them
18323
18324 2005-11-16  Wim Taymans  <wim@fluendo.com>
18325
18326         * gst/gstpad.c: (gst_pad_pause_task):
18327         Removed warning, it's not really an error either.
18328
18329 2005-11-16  Wim Taymans  <wim@fluendo.com>
18330
18331         * gst/base/gstbasetransform.c:
18332         (gst_base_transform_prepare_output_buf),
18333         (gst_base_transform_event):
18334         Check if the caps are NULL, this can happen if the element
18335         is shutting down and the pad caps are set to NULL.
18336
18337 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18338
18339         * gst/elements/gsttee.c: (gst_tee_init):
18340           fix pad template leak in tee
18341
18342 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18343
18344         * gst/glib-compat.c: (g_value_dup_gst_object):
18345         * gst/glib-compat.h:
18346         * gst/gstpad.c: (gst_pad_set_property):
18347           use gst_object_ref when setting the pad template; this will
18348           trigger the pad template leaks on GLib 2.6 and the slaves
18349
18350 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18351
18352         * gst/glib-compat.c: (gst_flags_get_first_value):
18353         * gst/glib-compat.h:
18354         * gst/gstregistryxml.c:
18355           remove functions copied from GLib 2.6
18356
18357 2005-11-16  Michael Smith <msmith@fluendo.com>
18358
18359         * gst/Makefile.am:
18360           Don't link against VALGRIND_LIBS. That was always the wrong thing to
18361           do, but only breaks with newer valgrind versions. We're not a
18362           valgrind tool, we have no link-time dependencies on libcoregrind.
18363
18364 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18365
18366         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18367           some debug changes
18368         * gst/gstmessage.h:
18369           typo fixes
18370
18371 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18372
18373         * gst/base/gstbasesrc.c: (gst_base_src_init):
18374         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18375         * gst/gstqueue.c: (gst_queue_init):
18376         * gst/gstregistryxml.c: (load_feature):
18377           Revert all these unrefs, they don't even pass make check !
18378
18379 2005-11-15  Johan Dahlin  <johan@gnome.org>
18380
18381         * gst/base/gstbasesrc.c: (gst_base_src_init):
18382         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18383         * gst/gstqueue.c: (gst_queue_init): 
18384         Free pad templates, fixes a couple of leaks.
18385
18386 2005-11-15  Daniel Fischer  <dan at f3c dot com>
18387
18388         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18389
18390         * gst/gstpad.c: (gst_pad_get_property):
18391           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
18392           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
18393           (#321452)
18394
18395 2005-11-15  Wim Taymans  <wim@fluendo.com>
18396
18397         * gst/gstevent.c:
18398         Small doc update.
18399
18400 2005-11-15  Andy Wingo  <wingo@pobox.com>
18401
18402         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
18403
18404         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
18405         using GST_CLOCK_TIME_NONE to disable base time management.
18406         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
18407         time if it was NONE before.
18408         (gst_pipeline_change_state): Only munge the base time if
18409         stream_time != GST_CLOCK_TIME_NONE.
18410
18411         * check/gst/gstpipeline.c (test_base_time): Punt around the
18412         problem of the probe not being called, because that's not the
18413         issue I'm looking at. Add a check that setting stream_time to NONE
18414         disables base time management.
18415         
18416 2005-11-15  Wim Taymans  <wim@fluendo.com>
18417
18418         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18419         segment_stop == -1 at startup.
18420
18421         * gst/base/gstbasetransform.c: (gst_base_transform_event),
18422         (gst_base_transform_change_state):
18423         Init segment values at start.
18424
18425 2005-11-15  Wim Taymans  <wim@fluendo.com>
18426
18427         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18428         0 segment values are 0 in any format.
18429
18430         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18431         * gst/base/gstbasetransform.h:
18432         Parse newsegment correctly in basetransform
18433
18434         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18435         Sync to clock using updated segment values.
18436
18437 2005-11-15  Andy Wingo  <wingo@pobox.com>
18438
18439         * check/gst/gstpipeline.c (test_base_time): Add check that the
18440         base time and stream time are reset correctly.
18441
18442 2005-11-15  Wim Taymans  <wim@fluendo.com>
18443
18444         * docs/design/part-TODO.txt:
18445         Some more TODO items.
18446
18447 2005-11-15  Andy Wingo  <wingo@pobox.com>
18448
18449         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
18450         error if the user selected "no clock" as the clocking method.
18451
18452         * check/gst/gstpipeline.c (test_base_time): New test for buffer
18453         timestamps with live capture.
18454
18455         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
18456         is 0 but we are a live source, timestamp the buffers using the
18457         element's clock.
18458
18459 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
18460
18461         * docs/gst/gstreamer-sections.txt:
18462         * gst/gsterror.c:
18463         * gst/gstghostpad.c:
18464         * gst/gstobject.h:
18465         * gst/gstxml.c:
18466           more section docs
18467
18468 2005-11-14  Wim Taymans  <wim@fluendo.com>
18469
18470         * common/gst.supp:
18471           add suppressions from Wim's Debian machine
18472
18473 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18474
18475         * common/gst.supp:
18476           add suppressions from Andy's AMD64 Ubuntu machine
18477
18478 2005-11-14  Andy Wingo  <wingo@pobox.com>
18479
18480         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
18481         STATE_LOCK not necessary. Fixes #311489.
18482
18483         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
18484         #305291.
18485
18486         * gst/gstindex.c (gst_index_add_object): Note in the docs that
18487         this function is not implemented.
18488
18489 2005-11-14  Julien MOUTTE  <julien@moutte.net>
18490
18491         * gst/base/gstbasetransform.c:
18492         (gst_base_transform_prepare_output_buf):
18493         Ref the source pad caps while we need them.
18494         Fixes (#321386)
18495
18496 2005-11-11  Wim Taymans  <wim@fluendo.com>
18497
18498         * docs/gst/gstreamer-sections.txt:
18499         Added some docs for GstCollectData.
18500
18501         * gst/base/gstadapter.c:
18502         Some small code example fix.
18503
18504         * gst/base/gstcollectpads.c:
18505         * gst/base/gstcollectpads.h:
18506         Document some more.
18507
18508 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18509
18510         * configure.ac: back to HEAD
18511
18512 === release 0.9.5 ===
18513
18514 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
18515
18516         * configure.ac:
18517           releasing 0.9.5, "Bike Lunch Day"
18518
18519 2005-11-11  Wim Taymans  <wim@fluendo.com>
18520
18521         * gst/gstbuffer.c: (_gst_buffer_copy):
18522         Copy more flags.
18523
18524         * gst/gstcaps.c: (gst_caps_is_equal):
18525         Fix some docs.
18526         Make _is_equal fast in the trivial cases.
18527
18528         * gst/gstminiobject.c:
18529         * gst/gstminiobject.h:
18530         More docs. Spifify .h file.
18531
18532         * gst/gstutils.c:
18533         Small doc update.
18534
18535 2005-11-11  Wim Taymans  <wim@fluendo.com>
18536
18537         * gst/base/gstbasetransform.c:
18538         (gst_base_transform_prepare_output_buf),
18539         (gst_base_transform_handle_buffer):
18540         Small cleanups.
18541         If we're processing a buffer and need to allocate an output
18542         buffer, we cannot accept a format change. If we did get a 
18543         format change, we have to alloc a buffer ourselves of the 
18544         right size.
18545
18546 2005-11-11  Wim Taymans  <wim@fluendo.com>
18547
18548         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
18549         While checking the flag for reentrancy in the gstcaps function
18550         is nice to detect recursive invocations, it also makes it 
18551         impossible to call getcaps from multiple threads, which must be
18552         possible. So, checking for recursive calls has to go.
18553
18554 2005-11-11  Michael Smith <msmith@fluendo.com>
18555
18556         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18557           Don't sync on buffers that fall partially outside our current
18558           segment. Prevents an assertion failure/abort playing some files.
18559
18560 2005-11-10  Andy Wingo  <wingo@pobox.com>
18561
18562         * check/gst/gstbin.c (test_message_state_changed_children): Style
18563         fix..
18564
18565         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
18566         gst_bus_poll with the signal watch. Ensures that poll and a signal
18567         watch see the same messages.
18568
18569         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
18570         a poll and a watch at the same time get the same messages.
18571
18572 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18573
18574         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
18575         * gst/gstcaps.c: (gst_caps_intersect):
18576           Don't call gst_caps_do_simplify - it doesn't respect order of caps
18577           and it's not needed.
18578
18579 2005-11-10  Wim Taymans  <wim@fluendo.com>
18580
18581         * docs/design/part-TODO.txt:
18582         Updated todo.
18583
18584 2005-11-10  Wim Taymans  <wim@fluendo.com>
18585
18586         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18587         * gst/base/gstbasesrc.c: (gst_base_src_wait),
18588         (gst_base_src_do_sync), (gst_base_src_get_range):
18589         Implement clock sync in base class.
18590
18591 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18592
18593         patch by: Tim-Philipp Müller <tim at centricular dot net>
18594
18595         * gst/gststructure.c: (gst_structure_parse_field),
18596         (gst_structure_from_string):
18597           Forward-port a 0.8 patch to handle escaped spaces in structure string,
18598           so that gst_parse_launch() can deal with spaces in filtered link
18599           caps (fixes #164479)
18600         * check/gst/capslist.h:
18601         * check/gst/gststructure.c: (GST_START_TEST):
18602           add unit tests for this change
18603
18604 2005-11-10  Wim Taymans  <wim@fluendo.com>
18605
18606         * docs/gst/gstreamer-sections.txt:
18607         * gst/gstelement.c:
18608         * gst/gstelement.h:
18609         Fix docs, move some STATE macros to private.
18610
18611 2005-11-10  Wim Taymans  <wim@fluendo.com>
18612
18613         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18614         Added check for bug #317341
18615
18616         * gst/gstbuffer.c:
18617         * gst/gstbuffer.h:
18618         Some more spiffifying.
18619
18620         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
18621         Call peer linkfunction if we are a source pad. Totally fixes
18622         #317341
18623
18624         * gst/gstpad.c:
18625         Update docs, source pads should call the peer linkfunction
18626         so they can atomically perform the pad link.
18627
18628 2005-11-09  Wim Taymans  <wim@fluendo.com>
18629
18630         * gst/gstbuffer.c:
18631         * gst/gstbuffer.h:
18632         Uber-spiffy-spiffify some more.
18633
18634 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
18635
18636         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
18637         * gst/elements/gstfilesink.c: (gst_file_sink_init):
18638         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18639         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
18640         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
18641         * gst/gstpad.c: (gst_pad_init):
18642           Use GST_DEBUG_FUNCPTR() more extensively.
18643
18644 2005-11-09  Wim Taymans  <wim@fluendo.com>
18645
18646         * gst/gstobject.c: (gst_object_class_init):
18647         * gst/gstobject.h:
18648         Documentation fixes.
18649
18650 2005-11-09  Edward Hervey  <edward@fluendo.com>
18651
18652         * gst/gsttypefindfactory.c:
18653         Fix docs.
18654         
18655 2005-11-09  Edward Hervey  <edward@fluendo.com>
18656
18657         * gst/base/gsttypefindhelper.c:
18658         * gst/gsttypefind.c:
18659         * gst/gsttypefind.h:
18660         Fix docs.
18661
18662 2005-11-09  Wim Taymans  <wim@fluendo.com>
18663
18664         * gst/gstiterator.c:
18665         Fix revision data.
18666
18667         * gst/gsttask.c:
18668         * gst/gsttask.h:
18669         Fix docs.
18670
18671 2005-11-09  Wim Taymans  <wim@fluendo.com>
18672
18673         * gst/gstevent.h:
18674         * gst/gsturi.h:
18675         Fix docs.
18676
18677 2005-11-09  Wim Taymans  <wim@fluendo.com>
18678
18679         * docs/gst/gstreamer-sections.txt:
18680         Moved the message async delivery private lock and cond
18681         to the private section.
18682
18683         * gst/gstmessage.c:
18684         * gst/gstmessage.h:
18685         Fixed docs.
18686
18687 2005-11-09  Edward Hervey  <edward@fluendo.com>
18688
18689         * docs/gst/gstreamer-sections.txt:
18690         * gst/gsturi.c:
18691         * gst/gsturi.h:
18692         Document GstURIHandler
18693
18694 2005-11-09  Wim Taymans  <wim@fluendo.com>
18695
18696         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
18697         (gst_iterator_find_custom):
18698         * gst/gstiterator.h:
18699         Fix iterator docs.
18700
18701 2005-11-09  Wim Taymans  <wim@fluendo.com>
18702
18703         * gst/gstbin.h:
18704         Document another field.
18705
18706         * gst/gststructure.c:
18707         * gst/gststructure.h:
18708         Document.
18709
18710 2005-11-09  Wim Taymans  <wim@fluendo.com>
18711
18712         * gst/gstbin.h:
18713         Documented structs.
18714
18715 2005-11-09  Wim Taymans  <wim@fluendo.com>
18716
18717         * docs/gst/gstreamer-sections.txt:
18718         Added some new macros.
18719
18720         * gst/gstclock.c:
18721         * gst/gstclock.h:
18722         * gst/gstobject.h:
18723         Docs updates.
18724
18725 2005-11-09  Wim Taymans  <wim@fluendo.com>
18726
18727         * docs/design/part-TODO.txt:
18728         Some more items for the TODO
18729
18730         * gst/gstcaps.c:
18731         * gst/gstcaps.h:
18732         Document GstCaps.
18733
18734 2005-11-09  Andy Wingo  <wingo@pobox.com>
18735
18736         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
18737         to work on something else now tho...
18738
18739         * gst/base/gstadapter.c: More adapter docs.
18740
18741         * gst/elements/gstfilesink.c (gst_file_sink_start) 
18742         (gst_file_sink_stop): New functions, replace the state change
18743         handler.
18744         (gst_file_sink_class_init): Hook up the start and stop functions.
18745         (gst_file_sink_base_init): Don't set the state change handler any
18746         more. It was a bit ugly too, being set from here...
18747         (gst_file_sink_get_property, gst_file_sink_set_property):
18748         Cleanups...
18749         (gst_file_sink_set_location): More robust check that doesn't call
18750         GST_STATE. Ugggggg.
18751
18752 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
18753
18754         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18755           Hold STREAM_LOCK while pushing newsegment or tag events as well.
18756
18757 2005-11-08  Wim Taymans  <wim@fluendo.com>
18758
18759         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
18760         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18761         (gst_base_sink_chain), (gst_base_sink_change_state):
18762         * gst/base/gstbasesink.h:
18763         * gst/base/gstbasesrc.h:
18764         * gst/gstelement.h:
18765         * gst/gstevent.h:
18766         Avoid excessive typechecking in macros.
18767
18768         * gst/gstminiobject.c: (gst_mini_object_get_type),
18769         (gst_mini_object_init), (gst_mini_object_new),
18770         (gst_mini_object_free):
18771         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18772         (gst_object_finalize):
18773         Remove cruft code, optimize alloc_trace.
18774
18775 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18776
18777         * docs/faq/gst-uninstalled:
18778           fix up PS1 for systems that try to reset it
18779
18780 2005-11-07  Wim Taymans  <wim@fluendo.com>
18781
18782         * gst/base/gstbasesrc.c: (gst_base_src_init),
18783         (gst_base_src_get_range):
18784         Set the segment_end to -1 initially. Fixed typefind.
18785
18786 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
18787
18788         * gst/base/gstadapter.c:
18789           Debug category should be 'adapter', not 'GstAdapter'.
18790           
18791         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
18792         (gst_collectpads_class_init), (gst_collectpads_init),
18793         (gst_collectpads_peek), (gst_collectpads_pop),
18794         (gst_collectpads_event), (gst_collectpads_chain):
18795           Add debug category and some debugging output. Use boilerplate
18796           macros. Remove some extraneous words from docs.
18797
18798 2005-11-05  Andy Wingo  <wingo@pobox.com>
18799
18800         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
18801         macro.
18802
18803 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
18804
18805         * docs/gst/gstreamer-sections.txt:
18806         * gst/gstcaps.h:
18807         * gst/gstinfo.c:
18808         * gst/gstminiobject.h:
18809         * gst/gstobject.h:
18810         * gst/gstutils.h:
18811           more docs added
18812
18813 2005-11-04  Wim Taymans  <wim@fluendo.com>
18814
18815         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18816         Small update to stop at the configured segment_end
18817         position.
18818
18819 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
18820
18821         * gst/gstregistry.c:
18822         * gst/gstregistry.h:
18823           added missing docs
18824
18825 2005-11-04  Edward Hervey  <edward@fluendo.com>
18826
18827         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18828         Check if we are doing a segment seek and have arrived at the
18829         end of that segment.
18830
18831 2005-11-04  Wim Taymans  <wim@fluendo.com>
18832
18833         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
18834         Don't leak a mutex unlock in case of an error.
18835
18836         * gst/gstbus.h:
18837         Doc fixes.
18838
18839 2005-11-04  Wim Taymans  <wim@fluendo.com>
18840
18841         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
18842         (gst_bus_post):
18843         Get the context to wake up only once.
18844
18845 2005-11-03  Wim Taymans  <wim@fluendo.com>
18846
18847         * check/states/sinks.c: (GST_START_TEST):
18848         Uncomment fixed check.
18849
18850         * docs/design/part-TODO.txt:
18851         Updated TODO.
18852
18853         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18854         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18855         (gst_base_sink_get_position):
18856         If we are going to PLAYING, post the right pending state
18857         when we post the intermediate paused message.
18858
18859         * gst/gstelement.c: (gst_element_continue_state),
18860         (gst_element_set_state_func), (gst_element_change_state):
18861         Don't post state changes that were between the same state
18862         and were not ASYNC.
18863
18864 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
18865
18866         * docs/gst/gstreamer-sections.txt:
18867         * gst/gstcaps.h:
18868         * gst/gstinfo.c:
18869         * gst/gstminiobject.h:
18870         * gst/gstobject.h:
18871         * gst/gstutils.h:
18872           more docs and doc style fixes
18873
18874 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
18875
18876         * docs/gst/gstreamer-sections.txt:
18877         * gst/gstelement.c:
18878         * gst/gstminiobject.c:
18879         doc fixes
18880
18881 2005-11-03  Andy Wingo  <wingo@pobox.com>
18882
18883         * check/states/sinks.c (test_livesrc_sink): Add checks that the
18884         state-changed messages actually have the right order and the right
18885         values.
18886
18887 2005-11-03  Wim Taymans  <wim@fluendo.com>
18888
18889         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18890         Added some more checks. Specifically the case where NO_PREROLL
18891         elements are in the pipeline.
18892
18893         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18894         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18895         (gst_base_sink_get_position):
18896         Post READY->PAUSED state change messages too.
18897         Fix bug where VOID was posted as pending state...
18898
18899         * gst/gstbin.c: (gst_bin_recalc_state):
18900         use _element_continue_state() to continue the state change.
18901
18902         * gst/gstelement.c: (gst_element_continue_state),
18903         (gst_element_commit_state), (gst_element_set_state_func),
18904         (gst_element_change_state), (gst_element_change_state_func):
18905         Lots of state change cleanups, assign the STATE_RETURN in
18906         a new continue_state() function that also propagates the
18907         last return value from a state change to the app.
18908         Update some debug statements with proper category.
18909
18910 2005-11-03  Wim Taymans  <wim@fluendo.com>
18911
18912         * docs/design/part-events.txt:
18913         * docs/design/part-gstpipeline.txt:
18914         * docs/design/part-messages.txt:
18915         * docs/design/part-overview.txt:
18916         * docs/design/part-seeking.txt:
18917         * docs/design/part-states.txt:
18918         * docs/design/part-trickmodes.txt:
18919         * docs/manual/advanced-position.xml:
18920         Small docs updates.
18921
18922         * gst/gstobject.h:
18923         People think !! is ugly, this looks better.
18924
18925         * gst/gstpad.c: (gst_pad_set_blocked_async):
18926         Remove !! since it's fixed elsewhere now.
18927
18928 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18929
18930         * gst/gstminiobject.h:
18931         * gst/gstobject.h:
18932           Add !! to _FLAG_IS_SET macros to make the result boolean.
18933
18934 2005-11-03  Edward Hervey  <edward@fluendo.com>
18935
18936         * gst/gstpad.c: (gst_pad_set_blocked_async):
18937         comparing a flag and a gboolean rarely returns coherent results...
18938         Added two characters (!!) to make that work correctly.
18939         
18940 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18941
18942         * gst/gstbus.c: (gst_bus_class_init):
18943           Fix some typos.
18944           
18945         * gst/gstqueue.c: (gst_queue_loop):
18946           Don't assume a miniobject that isn't a buffer is an
18947           event (it could be that there is a refcounting
18948           problem somewhere and the pointer is stale and
18949           refers to an already destroyed miniobject).
18950
18951 2005-11-03  Julien MOUTTE  <julien@moutte.net>
18952
18953         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
18954
18955 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18956
18957         * docs/manual/advanced-position.xml:
18958           Update seek example and explanations to current 0.9 API.
18959
18960         * gst/elements/gsttypefindelement.c:
18961         (gst_type_find_element_activate):
18962           Remove FIXME comment now that the found caps
18963           are unreffed.
18964
18965 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18966
18967         * gst/gstregistryxml.c: (load_feature):
18968           Add another GST_STR_NULL instance
18969
18970 2005-11-02  Edward Hervey  <edward@fluendo.com>
18971
18972         * gst/gstpad.c: (handle_pad_block):
18973         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
18974         
18975 2005-11-02  Wim Taymans  <wim@fluendo.com>
18976
18977         * gst/gstbin.c:
18978         Fix typo in docs.
18979
18980         * gst/gstelement.c: (gst_element_commit_state):
18981         Remove unused value.
18982
18983         * gst/gstiterator.c:
18984         Mention that the returned element is reffed in the docs.
18985
18986 2005-11-02  Wim Taymans  <wim@fluendo.com>
18987
18988         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18989         (gst_pad_push), (gst_pad_push_event):
18990         Unlock blocked pads when they are flushed.
18991
18992 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18993
18994         * docs/README:
18995         * docs/gst/gstreamer-sections.txt:
18996         * gst/gstbin.c:
18997           doc updates
18998         * gst/gstregistry.c: (gst_registry_scan_path_level):
18999           fix for a nasty little missed situation where an installed plug-in
19000           which was in the cache did not get overridden by an uninstalled one
19001           which was earlier in the plugin path because the newly created plugin
19002           for the uninstalled one (not in the registry) didn't get its
19003           ->registered set to TRUE
19004
19005 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19006
19007         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
19008         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
19009         (gst_collectpads_is_active), (gst_collectpads_collect),
19010         (gst_collectpads_collect_range), (gst_collectpads_start),
19011         (gst_collectpads_stop), (gst_collectpads_peek),
19012         (gst_collectpads_pop), (gst_collectpads_available),
19013         (gst_collectpads_read), (gst_collectpads_flush):
19014           Guard public API with assertions.
19015         
19016         * gst/gstpad.c:
19017           Fix docs for gst_pad_set_link_function().
19018
19019 2005-11-02  Johan Dahlin  <johan@gnome.org>
19020
19021         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
19022         Unref found_caps after we used it.
19023
19024 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19025
19026         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
19027           Don't try to ref NULL.
19028
19029 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19030
19031         * win32/common/config.h.in:
19032           provide a GST_FUNCTION that just gives a string for now
19033
19034 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19035
19036         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19037         (gst_object_flags_get_type), (register_gst_bin_flags),
19038         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19039         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19040         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19041         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
19042         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19043         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19044         (gst_clock_flags_get_type), (register_gst_state),
19045         (gst_state_get_type), (register_gst_state_change_return),
19046         (gst_state_change_return_get_type), (register_gst_state_change),
19047         (gst_state_change_get_type), (register_gst_element_flags),
19048         (gst_element_flags_get_type), (register_gst_core_error),
19049         (gst_core_error_get_type), (register_gst_library_error),
19050         (gst_library_error_get_type), (register_gst_resource_error),
19051         (gst_resource_error_get_type), (register_gst_stream_error),
19052         (gst_stream_error_get_type), (register_gst_event_type),
19053         (gst_event_type_get_type), (register_gst_seek_type),
19054         (gst_seek_type_get_type), (register_gst_seek_flags),
19055         (gst_seek_flags_get_type), (register_gst_format),
19056         (gst_format_get_type), (register_gst_index_certainty),
19057         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19058         (gst_index_entry_type_get_type),
19059         (register_gst_index_lookup_method),
19060         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19061         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19062         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19063         (gst_index_flags_get_type), (register_gst_debug_level),
19064         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19065         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19066         (gst_iterator_result_get_type), (register_gst_iterator_item),
19067         (gst_iterator_item_get_type), (register_gst_message_type),
19068         (gst_message_type_get_type), (register_gst_mini_object_flags),
19069         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19070         (gst_pad_link_return_get_type), (register_gst_flow_return),
19071         (gst_flow_return_get_type), (register_gst_activate_mode),
19072         (gst_activate_mode_get_type), (register_gst_pad_direction),
19073         (gst_pad_direction_get_type), (register_gst_pad_flags),
19074         (gst_pad_flags_get_type), (register_gst_pad_presence),
19075         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19076         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19077         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19078         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19079         (gst_plugin_flags_get_type), (register_gst_rank),
19080         (gst_rank_get_type), (register_gst_query_type),
19081         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19082         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19083         (gst_tag_flag_get_type), (register_gst_task_state),
19084         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19085         (gst_alloc_trace_flags_get_type),
19086         (register_gst_type_find_probability),
19087         (gst_type_find_probability_get_type), (register_gst_uri_type),
19088         (gst_uri_type_get_type), (register_gst_parse_error),
19089         (gst_parse_error_get_type):
19090         * win32/common/gstversion.h:
19091           update win32 copies
19092
19093 2005-11-01  Luca Ognibene  <luogni@tin.it>
19094
19095         * gst/gst.c:
19096           fix docs. popt is dead, long live GOption.
19097
19098 2005-10-31  Wim Taymans  <wim@fluendo.com>
19099
19100         * gst/gstbuffer.h:
19101         Small doc fix.
19102
19103 2005-10-31  Andy Wingo  <wingo@pobox.com>
19104
19105         * Boo!
19106
19107         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
19108
19109         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
19110         need to serialize property notifications on GLib 2.8. GLib 2.6 has
19111         the possibility of deadlocks here if code calling notify() or
19112         set() has a lock that can be taken in another notify handler (ABBA
19113         with class lock and e.g. python GIL state lock).
19114
19115 2005-10-28  Julien MOUTTE  <julien@moutte.net>
19116
19117         * gst/gstbus.c: Doc updates.
19118
19119 2005-10-28  Wim Taymans  <wim@fluendo.com>
19120
19121         * docs/design/part-TODO.txt:
19122         * gst/gstiterator.c:
19123         * gst/gstsystemclock.c:
19124         * gst/gstsystemclock.h:
19125         Doc updates.
19126
19127 2005-10-28  Edward Hervey  <edward@fluendo.com>
19128
19129         * docs/gst/gstreamer-docs.sgml:
19130         * docs/gst/gstreamer-sections.txt:
19131         the GstURIType documentation page is private, it only defines GstURIType
19132         which should be defined in the GstURIHandler page
19133         
19134 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19135
19136         * gst/gstbin.c: (gst_bin_class_init):
19137         * gst/gstbin.h:
19138         * gst/gstutils.c:
19139         Documentation updates.
19140
19141 2005-10-28  Wim Taymans  <wim@fluendo.com>
19142
19143         * docs/gst/gstreamer-sections.txt:
19144         * gst/gstclock.c:
19145         * gst/gstclock.h:
19146         Documented the clocks.
19147
19148 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
19149
19150         * docs/gst/gstreamer-sections.txt:
19151           move some macros to private sections
19152         * gst/gstminiobject.c:
19153         * gst/gstminiobject.h:
19154           add descriptions provided by ds and some more
19155         * gst/gstpad.h:
19156           mark macro as to be removed
19157
19158 2005-10-28  Wim Taymans  <wim@fluendo.com>
19159
19160         * docs/design/part-TODO.txt:
19161         Add an item to TODO.
19162
19163         * gst/gstiterator.c: (gst_iterator_fold),
19164         (gst_iterator_find_custom):
19165         * gst/gstiterator.h:
19166         Add iterator docs.
19167
19168 2005-10-28  Wim Taymans  <wim@fluendo.com>
19169
19170         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19171         (gst_base_transform_init):
19172         Don't leak class.
19173
19174         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
19175         An EOS event marks the queue as completely filled.
19176
19177 2005-10-27  Wim Taymans  <wim@fluendo.com>
19178
19179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19180         (gst_base_sink_do_sync), (gst_base_sink_get_position):
19181         Some more debugging.
19182
19183         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
19184         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
19185         (gst_base_transform_event), (gst_base_transform_getrange),
19186         (gst_base_transform_chain):
19187         * gst/base/gstbasetransform.h:
19188         Fix debugging,
19189         Protect transform and concurrent buffer alloc with a new lock.
19190         Try not to break ABI/API.
19191
19192 2005-10-27  Wim Taymans  <wim@fluendo.com>
19193
19194         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19195         (gst_base_src_init), (gst_base_src_query),
19196         (gst_base_src_default_newsegment),
19197         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19198         (gst_base_src_send_event), (gst_base_src_event_handler),
19199         (gst_base_src_pad_get_range), (gst_base_src_loop),
19200         (gst_base_src_unlock), (gst_base_src_default_negotiate),
19201         (gst_base_src_start), (gst_base_src_deactivate),
19202         (gst_base_src_activate_push), (gst_base_src_change_state):
19203         Move some stuff around and cleanup things.
19204
19205 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
19206
19207         * gst/base/gstbasesrc.c: (gst_base_src_query):
19208           Add missing break statements.
19209
19210 2005-10-27  Wim Taymans  <wim@fluendo.com>
19211
19212         * check/gst/gstbin.c: (GST_START_TEST):
19213         An extra refcount is taken in basesrc.
19214
19215         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19216         (gst_base_src_get_range), (gst_base_src_pad_get_range),
19217         (gst_base_src_loop):
19218         Small cleanups, check for flushing after being unlocked from the 
19219         LIVE_LOCK. take refcounts correctly (not yet everywhere).
19220         Don't send out EOS when going to READY.
19221
19222 2005-10-27  Wim Taymans  <wim@fluendo.com>
19223
19224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19225         (gst_base_sink_get_position):
19226         Some more debug.
19227
19228         * gst/gstbin.c: (message_check), (bin_replace_message),
19229         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19230         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19231         (bin_query_duration_init), (bin_query_duration_fold),
19232         (bin_query_duration_done), (bin_query_generic_fold),
19233         (gst_bin_query):
19234         * tools/gst-launch.c: (main):
19235         Remove old option.
19236
19237 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
19238
19239         * examples/controller/audio-example.c: (main):
19240         * examples/queue/queue.c: (event_loop):
19241         * gst/base/gstbasetransform.h:
19242         * gst/gstelement.c: (gst_element_send_event):
19243         * gst/gstevent.h:
19244         * gst/gstpad.c: (gst_pad_send_event):
19245           fixing examples
19246           fixing docs typos
19247           changing log priority in error situations
19248
19249 2005-10-25  Wim Taymans  <wim@fluendo.com>
19250
19251         * gst/gstbin.c: (message_check), (bin_replace_message),
19252         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19253         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19254         (bin_query_duration_init), (bin_query_duration_fold),
19255         (bin_query_duration_done), (bin_query_generic_fold),
19256         (gst_bin_query):
19257         Some doc and debug updates.
19258         Cache previously requested query DURATION for speed. invalidate
19259         cached duration if element posts a DURATION message.
19260
19261 2005-10-25  Wim Taymans  <wim@fluendo.com>
19262
19263         * docs/design/part-TODO.txt:
19264         Update TODO.
19265
19266         * gst/gstbin.c: (message_check), (bin_replace_message),
19267         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19268         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19269         (bin_query_duration_init), (bin_query_duration_fold),
19270         (bin_query_duration_done), (bin_query_generic_fold),
19271         (gst_bin_query):
19272         Handle SEGMENT_START/DONE messages correctly.
19273         More evolved query algorithm that handles duration queries
19274         correctly.
19275
19276         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
19277         (gst_element_get_state_func), (gst_element_abort_state),
19278         (gst_element_commit_state), (gst_element_lost_state):
19279         Some more debugging.
19280
19281         * gst/gstmessage.h:
19282         Added doc.
19283
19284 2005-10-25  Wim Taymans  <wim@fluendo.com>
19285
19286         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19287         Don't use invalid stream_time.
19288
19289         * gst/gstevent.c: (gst_event_new_newsegment):
19290         stream_time in newsegment cannot be undefined.
19291
19292 2005-10-24  Wim Taymans  <wim@fluendo.com>
19293
19294         * gst/gstbus.c:
19295         Doc fix.
19296
19297         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19298         (gst_queue_loop):
19299         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
19300
19301 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
19302
19303         * docs/libs/tmpl/gstdparam.sgml:
19304         * docs/libs/tmpl/gstdplinint.sgml:
19305         * docs/libs/tmpl/gstdpman.sgml:
19306         * docs/libs/tmpl/gstdpsmooth.sgml:
19307         * docs/libs/tmpl/gstunitconvert.sgml:
19308           these are obsolete
19309
19310 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19311
19312         * configure.ac:
19313           back to HEAD
19314
19315 === release 0.9.4 ===
19316
19317 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19318
19319         * configure.ac:
19320           releasing 0.9.4, "Tyrannosaurus Rex"
19321
19322 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
19323
19324         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19325         (gst_file_sink_get_current_offset):
19326           Use fseeko() and ftello() if available. When falling back on
19327           lseek() to get the current offset, fflush() first to make sure
19328           everything is up-to-date and we get the right offset.
19329
19330 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19331
19332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19333         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19334         * gst/gsterror.c: (_gst_stream_errors_init):
19335         * gst/gsterror.h:
19336         * gst/gstqueue.c: (gst_queue_loop):
19337         * po/POTFILES.in:
19338           remove prematurely added error category and clean up the instances
19339
19340 2005-10-21  Wim Taymans  <wim@fluendo.com>
19341
19342         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19343         (gst_base_sink_get_position), (gst_base_sink_query),
19344         (gst_base_sink_change_state):
19345         Simply set the right flag when going to playing, that's all
19346         we need to do instead of calling a function inside the object
19347         lock (that could take the lock as well and deadlock)
19348
19349 2005-10-21  Wim Taymans  <wim@fluendo.com>
19350
19351         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
19352         (gst_base_src_loop):
19353         Don't warn, the peer element knows what to do best when
19354         the seek failed, it might try something else.
19355
19356 2005-10-21  Wim Taymans  <wim@fluendo.com>
19357
19358         * gst/base/gstbasesrc.c: (gst_base_src_init),
19359         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19360         Fix seeking.
19361
19362 2005-10-21  Wim Taymans  <wim@fluendo.com>
19363
19364         * docs/design/part-segments.txt:
19365         More docs.
19366
19367         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
19368         Correctly set caps, even on the subbufer.
19369
19370 2005-10-21  Wim Taymans  <wim@fluendo.com>
19371
19372         * docs/gst/gstreamer-docs.sgml:
19373         * docs/gst/gstreamer-sections.txt:
19374         * gst/gstelement.h:
19375         * gst/gstevent.c:
19376         * gst/gstevent.h:
19377         * gst/gstmessage.h:
19378         * gst/gstpad.h:
19379         * gst/gstparse.h:
19380         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
19381         * gst/gsttask.h:
19382         * gst/gstutils.c:
19383         * gst/gstutils.h:
19384         And 2% more doc coverage.
19385
19386 2005-10-21  Andy Wingo  <wingo@pobox.com>
19387
19388         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
19389         position reporting.
19390
19391 2005-10-20  Wim Taymans  <wim@fluendo.com>
19392
19393         * gst/gsterror.c: (gst_error_get_message):
19394         * gst/gstparse.h:
19395         * gst/gstquery.h:
19396         * gst/gststructure.c:
19397         * gst/gsttrace.c:
19398         * gst/gstutils.c:
19399         More docs.
19400
19401 2005-10-20  Wim Taymans  <wim@fluendo.com>
19402
19403         * gst/gstbuffer.h:
19404         * gst/gstpad.c:
19405         * gst/gstparse.c:
19406         Another 1% more coverage.
19407
19408 2005-10-20  Wim Taymans  <wim@fluendo.com>
19409
19410         * docs/gst/gstreamer-sections.txt:
19411         * gst/gstelement.c: (gst_element_get_state_func),
19412         (gst_element_abort_state), (gst_element_commit_state),
19413         (gst_element_lost_state):
19414         * gst/gstevent.h:
19415         * gst/gstquery.c: (gst_query_set_position),
19416         (gst_query_parse_position), (gst_query_set_duration),
19417         (gst_query_parse_duration), (gst_query_new_convert):
19418         * gst/gstutils.c:
19419         Yay! 1% more docs coverage.
19420
19421 2005-10-20  Wim Taymans  <wim@fluendo.com>
19422
19423         * gst/gstpad.h:
19424         * gst/gstquery.c: (gst_query_set_position),
19425         (gst_query_parse_position), (gst_query_set_duration),
19426         (gst_query_parse_duration), (gst_query_new_convert):
19427         * gst/gstquery.h:
19428         * gst/gstutils.c: (gst_element_query_convert):
19429         * gst/gstutils.h:
19430         Docs and consistency fixes.
19431
19432 2005-10-20  Wim Taymans  <wim@fluendo.com>
19433
19434         * gst/gsttask.c:
19435         * gst/gsttask.h:
19436         More docs.
19437
19438 2005-10-20  Wim Taymans  <wim@fluendo.com>
19439
19440         * gst/gstbin.c: (message_check), (bin_replace_message),
19441         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19442         (update_degree), (gst_bin_sort_iterator_next),
19443         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
19444         Reworked the message handling a bit, cache the messages instead of
19445         only the senders. alows us to do more in the future.
19446
19447 2005-10-20  Wim Taymans  <wim@fluendo.com>
19448
19449         * docs/design/part-TODO.txt:
19450         Update TODO
19451
19452         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19453         (gst_base_sink_query):
19454         Don't use clock time to report position when in EOS.
19455
19456 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
19457
19458         * tools/gst-inspect.c: (print_interfaces),
19459         (print_element_properties_info), (print_element_info):
19460           Fix interface output with gst-inspect -a; don't print
19461           newlines after double/float properties.
19462
19463 2005-10-20  Wim Taymans  <wim@fluendo.com>
19464
19465         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19466         (gst_base_sink_query):
19467         Speed up current position calculation.
19468
19469         * gst/base/gstbasesrc.c: (gst_base_src_query),
19470         (gst_base_src_default_newsegment):
19471         Correctly set stream position in newsegment.
19472
19473         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
19474         (update_degree), (gst_bin_sort_iterator_next),
19475         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
19476         * gst/gstmessage.c: (gst_message_new_custom):
19477         Clean up debugging info
19478
19479         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
19480         (gst_queue_loop), (gst_queue_handle_src_query):
19481         Pause task faster.
19482
19483 2005-10-19  Wim Taymans  <wim@fluendo.com>
19484
19485         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19486         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
19487         Fix query handling again.
19488
19489 2005-10-19  Wim Taymans  <wim@fluendo.com>
19490
19491         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19492         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
19493         * gst/base/gstbasesrc.c: (gst_base_src_query):
19494         * gst/elements/gstfilesink.c: (gst_file_sink_query):
19495         * gst/elements/gsttypefindelement.c:
19496         (gst_type_find_handle_src_query), (find_element_get_length),
19497         (gst_type_find_element_activate):
19498         API change fix.
19499
19500         * gst/gstquery.c: (gst_query_new_position),
19501         (gst_query_set_position), (gst_query_parse_position),
19502         (gst_query_new_duration), (gst_query_set_duration),
19503         (gst_query_parse_duration), (gst_query_set_segment),
19504         (gst_query_parse_segment):
19505         * gst/gstquery.h:
19506         Bundling query position/duration is not a good idea since duration
19507         does not change much and we don't want to recalculate it for every
19508         position query, so they are separated again..
19509         Base value in segment query is not needed.
19510
19511         * gst/gstqueue.c: (gst_queue_handle_src_query):
19512         * gst/gstutils.c: (gst_element_query_position),
19513         (gst_element_query_duration), (gst_pad_query_position),
19514         (gst_pad_query_duration):
19515         * gst/gstutils.h:
19516         Updates for query API change.
19517         Added some docs here and there.
19518
19519 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19520
19521         * check/gst/gstbin.c: (GST_START_TEST):
19522         * check/gst/gstghostpad.c: (GST_START_TEST):
19523         * check/pipelines/cleanup.c: (GST_START_TEST):
19524           wait on thread to die so we can check refcount correctly
19525
19526 2005-10-18  Wim Taymans  <wim@fluendo.com>
19527
19528         * check/pipelines/stress.c: (GST_START_TEST):
19529         Make check a little more time consuming.
19530
19531 2005-10-18  Wim Taymans  <wim@fluendo.com>
19532
19533         * check/Makefile.am:
19534         * check/pipelines/stress.c: (GST_START_TEST),
19535         (simple_launch_lines_suite), (main):
19536         Small state change torture test.
19537
19538         * docs/design/part-states.txt:
19539         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19540         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
19541         (gst_base_sink_change_state):
19542         Never take state lock from streaming thread, clean up ugly
19543         hacks. Unfortunatly core does not yet support nice ways to
19544         async commit state.
19545         
19546         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
19547         (bin_bus_handler):
19548         Start state recalc if a STATE_DIRTY message is posted, but only
19549         on the toplevel bin.
19550
19551         * gst/gstelement.c: (gst_element_sync_state_with_parent),
19552         (gst_element_get_state_func), (gst_element_abort_state),
19553         (gst_element_commit_state), (gst_element_lost_state),
19554         (gst_element_set_state_func), (gst_element_change_state):
19555         * gst/gstelement.h:
19556         State variables are now protected with the LOCK, the state
19557         lock is only used to serialize _set_state().
19558
19559 2005-10-18  Wim Taymans  <wim@fluendo.com>
19560
19561         * check/gst/gstbin.c: (GST_START_TEST):
19562         * check/gst/gstmessage.c: (GST_START_TEST):
19563         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19564         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
19565         (bin_bus_handler):
19566         * gst/gstelement.c: (gst_element_abort_state),
19567         (gst_element_commit_state), (gst_element_lost_state):
19568         * gst/gstmessage.c: (gst_message_new_state_changed),
19569         (gst_message_new_state_dirty), (gst_message_new_segment_start),
19570         (gst_message_new_segment_done), (gst_message_new_duration),
19571         (gst_message_parse_state_changed),
19572         (gst_message_parse_segment_start),
19573         (gst_message_parse_segment_done), (gst_message_parse_duration):
19574         * gst/gstmessage.h:
19575         * tools/gst-launch.c: (event_loop):
19576         Seriously, this is better than a previous commit as we only need
19577         to notify the fact that an element changed state in a streaming
19578         thread, marking the state of the parents dirty, hence the 
19579         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
19580         message.
19581
19582 2005-10-18  Wim Taymans  <wim@fluendo.com>
19583
19584         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
19585         (gst_bin_recalc_func):
19586         * gst/gstelement.c: (gst_element_set_clock),
19587         (gst_element_abort_state), (gst_element_lost_state):
19588         Cleanups, prepare for state change fixes.
19589
19590 2005-10-18  Wim Taymans  <wim@fluendo.com>
19591
19592         * gst/gstbin.h:
19593         * gst/gstelement.c: (gst_element_class_init),
19594         (gst_element_set_state), (gst_element_set_state_func):
19595         * gst/gstelement.h:
19596         Pending ABI changes.
19597         GThreadPool in GstBinClass to monitor async state changes.
19598         state_cookie in GstElement to detect concurrent gst/set state.
19599         set_state is now virtual too in case a very complicated element
19600         has to be constructed.
19601
19602 2005-10-18  Wim Taymans  <wim@fluendo.com>
19603
19604         * check/gst/gstbin.c: (GST_START_TEST):
19605         * check/gst/gstmessage.c: (GST_START_TEST):
19606         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19607         * gst/gstbin.c: (bin_bus_handler):
19608         * gst/gstelement.c: (gst_element_commit_state),
19609         (gst_element_lost_state):
19610         * gst/gstmessage.c: (gst_message_new_state_changed),
19611         (gst_message_new_segment_start), (gst_message_new_segment_done),
19612         (gst_message_new_duration), (gst_message_parse_state_changed),
19613         (gst_message_parse_segment_start),
19614         (gst_message_parse_segment_done), (gst_message_parse_duration):
19615         * gst/gstmessage.h:
19616         * tools/gst-launch.c: (event_loop):
19617         Make messages future proof.
19618         state-change gets a flag if it was a message comming from the
19619         streaming thread.
19620         segment-start/stop can also be specified in other formats.
19621         A message to notify an app that a pipeline changed playback 
19622         duration.
19623         Also fix a GstMessage leak in -launch
19624
19625 2005-10-18  Andy Wingo  <wingo@pobox.com>
19626
19627         * gst/gstelement.c (gst_element_dispose): More helpful message.
19628
19629 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19630
19631         reviewed by: <delete if not using a buddy>
19632
19633         * common/gtk-doc.mak:
19634
19635 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19636
19637         * gst/gstregistry.c: (gst_registry_scan_path_level):
19638           unref a plug-in we get that was already initialized
19639
19640 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
19641
19642         * docs/gst/gstreamer-sections.txt:
19643         * docs/libs/gstreamer-libs-sections.txt:
19644         * gst/gstelement.h:
19645           add new api entries
19646           hide internal macro
19647
19648 2005-10-17  Andy Wingo  <wingo@pobox.com>
19649
19650         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
19651         cleanup.
19652
19653         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
19654
19655         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
19656
19657         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
19658         (gst_element_get_state_func): Better debug message.
19659         (gst_element_commit_state): s/INFO/DEBUG/.
19660         (gst_element_lost_state, gst_element_change_state): 
19661
19662         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
19663         (gst_message_new_custom): s/INFO/LOG/.
19664
19665 2005-10-17  Michael Smith <msmith@fluendo.com>
19666
19667         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19668           Check if end time is valid using end time, not start time.
19669
19670 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
19671
19672         * check/gst-libs/controller.c: (GST_START_TEST),
19673         (gst_controller_suite):
19674         * libs/gst/controller/gstcontroller.c:
19675         (gst_controlled_property_set_interpolation_mode):
19676         * libs/gst/controller/gstcontroller.h:
19677         * libs/gst/controller/gstinterpolation.c:
19678         * testsuite/controller/.cvsignore:
19679         * testsuite/controller/Makefile.am:
19680         * testsuite/controller/interpolator.c:
19681           merge controller testsuites
19682           fix broken tests
19683           remove mem-chunk from docs
19684
19685 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
19686
19687         * gst/gstmemchunk.c:
19688         * gst/gstmemchunk.h:
19689         * gst/gsttrashstack.c:
19690         * gst/gsttrashstack.h:
19691           out.  get out.  you're fired.  to the Attic !
19692
19693 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
19694
19695         * gst/gstcaps.c: (gst_caps_intersect):
19696           fix signedness issues in a (hopefully) correct way
19697         * gst/gstelement.c: (gst_element_pads_activate):
19698           some debugging
19699         * gst/gstobject.c: (gst_object_set_parent):
19700           some debugging
19701
19702 2005-10-17  Julien MOUTTE  <julien@moutte.net>
19703
19704         * gst/gstvalue.h: Fix prototypes.
19705
19706 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19707
19708         * docs/gst/gstreamer-sections.txt:
19709         * gst/gst.c: (gst_version_string):
19710         * gst/gst.h:
19711         * gst/gstversion.h.in:
19712         * win32/common/libgstreamer.def:
19713           add gst_version_string ()
19714
19715 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19716
19717         * configure.ac:
19718           clean up further
19719         * gst/gst.c: (init_post):
19720         * win32/common/config.h.in:
19721           it's PLUGINDIR now
19722         * gst/gstcaps.c: (gst_caps_intersect):
19723           use gint64, the range could be bigger than a guint
19724
19725 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19726
19727         * gst/gstclock.h:
19728           document potential problem in 2038
19729
19730 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19731
19732         * gst/gstcaps.c: (gst_caps_intersect):
19733           Fix guint j diving under 0
19734
19735 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19736
19737         * configure.ac:
19738         * win32/common/config.h:
19739         * win32/common/config.h.in:
19740           check for process.h, declares getpid() on Windows
19741         * gst/gstinfo.c:
19742           include process.h if we have it
19743         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
19744         * gst/gstmemchunk.h:
19745           fix signedness issues
19746         * win32/common/libgstreamer.def:
19747           fix get_type's
19748
19749 2005-10-16  Julien MOUTTE  <julien@moutte.net>
19750
19751         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
19752         fix. Because of unsigned ints, caps intersection was going nuts and
19753         trying to access structures with G_MAXUINT index. That fixes
19754         videotestsrc ! ffmpegcolorspace ! fakesink
19755         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
19756         consistency.
19757
19758 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19759
19760         * configure.ac:
19761           use the gettext macro
19762         * gst/elements/gstelements.c:
19763         * gst/gst.c:
19764         * gst/indexers/gstindexers.c:
19765           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
19766         * win32/common/config.h:
19767           updated config.h
19768         * win32/common/config.h.in:
19769           add the template to generate config.h
19770         * win32/common/gstenumtypes.c:
19771         * win32/common/gstversion.h:
19772           updated copies
19773
19774 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19775
19776         * gst/gst.c: (gst_version):
19777         * gst/gstversion.h.in:
19778           add the nano
19779
19780 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
19781
19782         * gst/gstevent.h:
19783           Oops, add missing closing bracket.
19784
19785 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19786
19787         * configure.ac:
19788           use common m4's for argument checking
19789
19790 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
19791
19792         * docs/gst/gstreamer-sections.txt:
19793         * gst/gstevent.h:
19794           Add GST_EVENT_TYPE_NAME() macro.
19795
19796 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19797
19798         * gst/gstinfo.c:
19799         * gst/gstpluginfeature.c:
19800         * gst/gsttask.c:
19801           privatize more symbols
19802
19803 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19804
19805         * configure.ac:
19806           add srcdir, builddir includes to GST_ALL_CFLAGS, since
19807           everything that uses GStreamer API should have the includes
19808
19809 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19810
19811         * docs/gst/gstreamer-sections.txt:
19812         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
19813         * gst/gstvalue.h:
19814           give each value a _get_type, removes the DATA exports
19815
19816 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19817
19818         * gst/gst.c:
19819         * gst/gst.h:
19820           remove _gst_registry_auto_load, not used anymore
19821         * gst/gstbin.c: (gst_bin_get_type):
19822         * gst/gstbin.h:
19823         * gst/gstelement.c: (gst_element_get_type):
19824         * gst/gstelement.h:
19825         * gst/gstobject.c: (gst_object_get_type):
19826         * gst/gstobject.h:
19827         * gst/gstpad.c: (gst_pad_get_type):
19828         * gst/gstpad.h:
19829           make _get_type functions similar, fixes data export from library
19830
19831 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19832
19833         * configure.ac:
19834           correctly make conditionals
19835         * gst/elements/Makefile.am:
19836         * gst/elements/gstelements.c:
19837           fix typo causing fdsrc not to build
19838
19839 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19840
19841         * testsuite/Makefile.am:
19842         * testsuite/bytestream/.cvsignore:
19843         * testsuite/bytestream/Makefile.am:
19844         * testsuite/bytestream/filepadsink.c:
19845         * testsuite/bytestream/gstbstest.c:
19846         * testsuite/bytestream/test1.c:
19847         * testsuite/bytestream/testfile1:
19848         * testsuite/caps/normalisation.c:
19849         * testsuite/caps/random.c: (main):
19850         * testsuite/cleanup/.cvsignore:
19851         * testsuite/cleanup/Makefile.am:
19852         * testsuite/cleanup/cleanup1.c:
19853         * testsuite/cleanup/cleanup2.c:
19854         * testsuite/cleanup/cleanup3.c:
19855         * testsuite/cleanup/cleanup4.c:
19856         * testsuite/cleanup/cleanup5.c:
19857         * testsuite/controller/interpolator.c:
19858         * testsuite/debug/printf_extension.c: (main):
19859         * testsuite/elements/tee.c:
19860         * testsuite/negotiation/.cvsignore:
19861         * testsuite/negotiation/Makefile.am:
19862         * testsuite/negotiation/pad_link.c:
19863         * testsuite/pad/Makefile.am:
19864         * testsuite/pad/chainnopull.c:
19865         * testsuite/pad/getnopush.c:
19866         * testsuite/pad/link.c:
19867         * testsuite/refcounting/sched.c: (create_pipeline):
19868         * testsuite/registry/Makefile.am:
19869         * testsuite/registry/gst-print-formats.c:
19870         * testsuite/schedulers/.cvsignore:
19871         * testsuite/schedulers/142183-2.c:
19872         * testsuite/schedulers/142183.c:
19873         * testsuite/schedulers/143777-2.c:
19874         * testsuite/schedulers/143777.c:
19875         * testsuite/schedulers/147713.c:
19876         * testsuite/schedulers/147819.c:
19877         * testsuite/schedulers/147894-2.c:
19878         * testsuite/schedulers/147894.c:
19879         * testsuite/schedulers/Makefile.am:
19880         * testsuite/schedulers/group_link.c:
19881         * testsuite/schedulers/queue_link.c:
19882         * testsuite/schedulers/relink.c:
19883         * testsuite/schedulers/unlink.c:
19884         * testsuite/schedulers/unref.c:
19885         * testsuite/schedulers/useless_iteration.c:
19886         * testsuite/states/bin.c:
19887           clean out/remove some stuff from the testsuite directories
19888
19889 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19890
19891         * configure.ac:
19892           check for some headers
19893         * gst/elements/Makefile.am:
19894         * gst/elements/gstelements.c:
19895           don't compile fdsrc without sys/socket.h
19896         * gst/indexers/Makefile.am:
19897         * gst/indexers/gstindexers.c: (plugin_init):
19898           don't compile fileindex without mmap
19899
19900 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19901
19902         * configure.ac:
19903           reorganize
19904           clean up
19905           document more
19906           remove cruft
19907         * check/Makefile.am:
19908         * docs/gst/Makefile.am:
19909         * examples/helloworld/Makefile.am:
19910         * gst/Makefile.am:
19911         * gst/base/Makefile.am:
19912         * gst/check/Makefile.am:
19913         * gst/elements/Makefile.am:
19914         * gst/indexers/Makefile.am:
19915         * gst/parse/Makefile.am:
19916         * libs/gst/controller/Makefile.am:
19917         * libs/gst/dataprotocol/Makefile.am:
19918         * examples/helloworld/helloworld.c: (event_loop):
19919           compile fixes, though it's not being compiled currently
19920
19921 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19922
19923         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
19924           Add some simple tests for the new taglist date API.
19925
19926 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19927
19928         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
19929         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
19930           Beautify 'last-message' output: print 'none' for buffer timestamps
19931           and durations if none is set; improve alignment with next messages.
19932
19933 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19934
19935         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
19936         * gst/gstpluginfeature.h:
19937         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
19938         * gst/gstregistry.h:
19939         * docs/gst/gstreamer-sections.txt:
19940           Add new API to check plugin feature version requirements.
19941
19942         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
19943           Some basic tests for the above.         
19944
19945 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19946
19947         * gst/gststructure.c: (gst_structure_to_string):
19948           guard against NULL printf - happens when for example
19949           a message structure with GstClock gets serialized
19950
19951 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19952
19953         * gst/base/gstcollectpads.c: (gst_collectpads_event):
19954           Fix presumable copy'n'pasto.
19955
19956 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19957
19958         * gst/elements/gstfakesrc.h:
19959         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
19960         * gst/elements/gsttypefindelement.c:
19961           fix some signedness
19962         * gst/elements/gstfilesink.c: (gst_file_sink_render):
19963           I wonder if this could actually write +2GB files before
19964
19965 2005-10-13  Andy Wingo  <wingo@pobox.com>
19966
19967         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
19968         Fix Timmeke Waymans bug.
19969         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
19970         string of the proper length to gst_caps_from_string. There's a
19971         potential for, before this fix, that this could cause someone
19972         connecting over the network to cause a segfault if the payload is
19973         not NUL-terminated.
19974
19975 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19976
19977         * docs/design/draft-push-pull.txt:
19978         * docs/design/part-overview.txt:
19979         * docs/random/TODO-pre-0.9:
19980         * docs/random/old/ChangeLog.gstreamer:
19981         * gst/base/gstpushsrc.c:
19982         * gst/gstclock.c:
19983           fixed typos
19984
19985 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19986
19987         * gst/glib-compat.c: (gst_flags_get_first_value):
19988         * gst/glib-compat.h:
19989         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19990         (gst_value_compare_double), (gst_value_serialize_flags):
19991           GLib 2.6 g_flags_get_first_value has a bug that triggers an
19992           infinite loop
19993
19994 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19995
19996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19997         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19998           fix up debugging
19999         * tools/gst-launch.c: (event_loop):
20000           print out clock nicely
20001
20002 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20003
20004         * docs/gst/gstreamer-sections.txt:
20005         * gst/gsttaglist.h:
20006         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
20007         (gst_tag_list_get_date_index):
20008           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
20009           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
20010
20011 2005-10-13  Julien MOUTTE  <julien@moutte.net>
20012
20013         * gst/base/gstcollectpads.c: (gst_collectpads_event),
20014         (gst_collectpads_chain):
20015         * gst/base/gstcollectpads.h: Handle newsegment and store informations
20016         in CollectData.
20017
20018 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20019
20020         * docs/gst/gstreamer-sections.txt:
20021         * gst/gst.c:
20022         * gst/gsterror.h:
20023         * tools/gst-inspect.c: (main):
20024         * tools/gst-launch.c: (main):
20025         * tools/gst-run.c: (main):
20026         * tools/gst-xmlinspect.c: (main):
20027           fix GOption context leaks
20028           doc fixes
20029
20030 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20031
20032         * gst/gstbus.c:
20033           use HAVE_UNISTD_H
20034         * win32/common/config.h:
20035           update config
20036         * win32/vs6/grammar.dsp:
20037         * win32/vs6/libgstelements.dsp:
20038         * win32/vs6/libgstreamer.dsp:
20039           update vs6 files
20040
20041 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20042
20043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20044         * gst/base/gstbasesrc.c: (gst_base_src_query):
20045           fix more guint64<->gdouble conversions
20046
20047 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20048
20049         * Makefile.am:
20050           add win32-update target
20051         * win32/common/gstconfig.h:
20052         * win32/common/gstenumtypes.c:
20053         * win32/common/gstenumtypes.h:
20054         * win32/common/gstversion.h:
20055           add files that visual studio can't generate
20056
20057 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20058
20059         * Makefile.am:
20060           add a win32-update target
20061         * configure.ac:
20062
20063 2005-10-12  Wim Taymans  <wim@fluendo.com>
20064
20065         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20066         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
20067         * gst/gstelement.c: (gst_element_commit_state),
20068         (gst_element_set_state):
20069         Protect flags with proper lock.
20070         unref provided cached clock in dispose.
20071
20072 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20073
20074         * gst/gst.c:
20075         * gst/gstminiobject.h:
20076         * gst/gstpad.h:
20077         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
20078           removed unused flags from miniobject
20079           doc fixes
20080
20081 2005-10-12  Wim Taymans  <wim@fluendo.com>
20082
20083         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20084         (gst_file_sink_event), (gst_file_sink_render):
20085         Flush before seeking.
20086
20087 2005-10-12  Andy Wingo  <wingo@pobox.com>
20088
20089         * gst/gst.c (gst_init_check): Ignore unknown options, as has
20090         always been the case.
20091
20092 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20093
20094         * check/gst/gstbin.c: (GST_START_TEST):
20095         * docs/gst/gstreamer-sections.txt:
20096         * gst/base/gstbasesink.c: (gst_base_sink_init):
20097         * gst/base/gstbasesrc.c: (gst_base_src_init),
20098         (gst_base_src_get_range), (gst_base_src_check_get_range),
20099         (gst_base_src_start), (gst_base_src_stop):
20100         * gst/base/gstbasesrc.h:
20101         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
20102         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20103         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
20104         (bin_bus_handler):
20105         * gst/gstbin.h:
20106         * gst/gstbuffer.h:
20107         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
20108         * gst/gstbus.h:
20109         * gst/gstelement.c: (gst_element_is_locked_state),
20110         (gst_element_set_locked_state), (gst_element_commit_state),
20111         (gst_element_set_state):
20112         * gst/gstelement.h:
20113         * gst/gstindex.c: (gst_index_init):
20114         * gst/gstindex.h:
20115         * gst/gstminiobject.h:
20116         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
20117         (gst_object_set_parent):
20118         * gst/gstobject.h:
20119         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
20120         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
20121         * gst/gstpad.h:
20122         * gst/gstpadtemplate.h:
20123         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
20124         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
20125         * gst/gstpipeline.h:
20126         * gst/indexers/gstfileindex.c: (gst_file_index_load),
20127         (gst_file_index_commit):
20128         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
20129         * testsuite/pad/link.c: (gst_test_src_init),
20130         (gst_test_filter_init), (gst_test_sink_init):
20131         * testsuite/states/locked.c: (main):
20132           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
20133           moved bitshift from macro to enum definition
20134
20135 2005-10-12  Wim Taymans  <wim@fluendo.com>
20136
20137         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
20138         * gst/elements/gstfilesink.c: (gst_file_sink_event),
20139         (gst_file_sink_render):
20140         Some more debugging info.
20141
20142 2005-10-12  Wim Taymans  <wim@fluendo.com>
20143
20144         * docs/design/part-states.txt:
20145         * tools/gst-launch.c: (main):
20146         Some doc updates.
20147         Revert non-intentional change.
20148
20149 2005-10-12  Wim Taymans  <wim@fluendo.com>
20150
20151         * check/gst/gstbin.c: (GST_START_TEST):
20152         * check/gst/gstelement.c: (GST_START_TEST):
20153         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
20154         * check/gst/gstghostpad.c: (GST_START_TEST):
20155         * check/gst/gstpipeline.c: (GST_START_TEST):
20156         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20157         * check/states/sinks.c: (GST_START_TEST):
20158         * gst/elements/gsttypefindelement.c: (stop_typefinding):
20159         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20160         (gst_bin_remove_func), (gst_bin_get_state_func),
20161         (gst_bin_recalc_state), (gst_bin_change_state_func),
20162         (bin_bus_handler):
20163         * gst/gstelement.c: (gst_element_get_state_func),
20164         (gst_element_get_state), (gst_element_abort_state),
20165         (gst_element_commit_state), (gst_element_set_state),
20166         (gst_element_change_state), (gst_element_change_state_func):
20167         * gst/gstelement.h:
20168         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
20169         (gst_pipeline_provide_clock_func):
20170         * gst/gstutils.c: (gst_element_link_pads_filtered):
20171         * tools/gst-launch.c: (main):
20172         * tools/gst-typefind.c: (main):
20173         Use GstClockTime in _get_state() instead of GTimeVal.
20174         Remove old code in gstutils.c
20175
20176 2005-10-12  Andy Wingo  <wingo@pobox.com>
20177
20178         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
20179         removed.
20180
20181         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
20182         there is no task. Shouldn't affect any code, as nothing in our
20183         plugins checks this return value.
20184         (gst_pad_stop_task): Also take the stream lock if the pad has no
20185         task. Docs updated.
20186
20187 2005-10-12  Wim Taymans  <wim@fluendo.com>
20188
20189         * gst/gstpad.c: (pre_activate), (post_activate),
20190         (gst_pad_activate_pull), (gst_pad_activate_push):
20191         Cleanup activation code. Reset old state if
20192         activation failed.
20193
20194 2005-10-12  Wim Taymans  <wim@fluendo.com>
20195
20196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20197         (gst_base_sink_change_state):
20198         No need to prerol after receiving EOS.
20199
20200         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
20201         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
20202         * gst/elements/gstidentity.c: (gst_identity_event):
20203         Print events more verbosely.
20204
20205 2005-10-12  Wim Taymans  <wim@fluendo.com>
20206
20207         * check/Makefile.am:
20208         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20209         * check/states/sinks2.c:
20210         Moved sinks2 testcode in sinks check.
20211
20212         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20213         (gst_bin_remove_func), (gst_bin_recalc_state),
20214         (gst_bin_change_state_func), (bin_bus_handler):
20215         Fix potential race condition when _get_state() iterated over an
20216         ASYNC element right before it posted a state completion.
20217
20218         * gst/gstclock.h:
20219         Do proper cast here.
20220
20221         * gst/gstevent.c: (gst_event_new_newsegment),
20222         (gst_event_parse_newsegment):
20223         A playback rate of 0.0 is not allowed.
20224
20225 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20226
20227         * win32/common/config.h:
20228         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
20229         (_trewinddir), (_ttelldir), (_tseekdir):
20230         * win32/common/dirent.h:
20231         * win32/common/gtchar.h:
20232         * win32/common/libgstbase.def:
20233         * win32/common/libgstreamer.def:
20234         * win32/vs6/grammar.dsp:
20235         * win32/vs6/gst_inspect.dsp:
20236         * win32/vs6/gst_launch.dsp:
20237         * win32/vs6/gstreamer.dsw:
20238         * win32/vs6/libgstbase.dsp:
20239         * win32/vs6/libgstelements.dsp:
20240         * win32/vs6/libgstreamer.dsp:
20241           Visual Studio 6 project files, and a new common directory.
20242           Phear.
20243
20244 2005-10-11  Wim Taymans  <wim@fluendo.com>
20245
20246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20247         (gst_base_sink_do_sync), (gst_base_sink_query),
20248         (gst_base_sink_change_state):
20249         * gst/base/gstbasesink.h:
20250         Correctly parse newsegment info.
20251
20252 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20253
20254         * gst/gst.c: (init_post):
20255           split plugin paths correctly
20256
20257 2005-10-11  Wim Taymans  <wim@fluendo.com>
20258
20259         * check/gst/gstevent.c: (GST_START_TEST):
20260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20261         (gst_base_sink_change_state):
20262         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
20263         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20264         * gst/elements/gstfilesink.c: (gst_file_sink_event):
20265         * gst/gstevent.c: (gst_event_new_newsegment),
20266         (gst_event_parse_newsegment):
20267         * gst/gstevent.h:
20268         Added extra flag to newsegment for future API freeze.
20269         Updated check and base elements.
20270
20271 2005-10-11  Julien MOUTTE  <julien@moutte.net>
20272
20273         * gst/base/gstcollectpads.c: (gst_collectpads_init),
20274         (gst_collectpads_add_pad), (gst_collectpads_pop),
20275         (gst_collectpads_event), (gst_collectpads_chain):
20276         * gst/base/gstcollectpads.h: Handle EOS correctly.
20277
20278 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20279
20280         * tools/gst-launch.c: (main):
20281           more null protecting
20282
20283 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20284
20285         * gst/gst-i18n-lib.h:
20286           check for ENABLE_NLS, not GETTEXT_PACKAGE
20287         * gst/gstregistry.c: (gst_registry_add_plugin),
20288         (gst_registry_scan_path_level),
20289         (_gst_registry_remove_cache_plugins):
20290           protect possibly NULL strings
20291         * gst/parse/types.h:
20292           config.h already included before
20293         * tools/gst-inspect.c: (main):
20294           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
20295           check for ENABLE_NLS, not GETTEXT_PACKAGE
20296         * tools/gst-launch.c: (main):
20297           check for ENABLE_NLS, not GETTEXT_PACKAGE
20298
20299 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20300
20301         * configure.ac:
20302           if we don't have glib, fail before testing 2.8
20303         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
20304           fix a leak, should fix plugins-base testsuite
20305
20306 2005-10-11  Andy Wingo  <wingo@pobox.com>
20307
20308         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
20309         take the mode we're going to as an arg. Go head and set the mode
20310         and flushing flags now, so that if the activate function starts a
20311         thread all the flags will be in the right state.
20312         (post_activate): Renamed also. Just handle making sure streaming
20313         finishes for the deactivation case, and setting the deactivated
20314         mode.
20315         (gst_pad_set_active): Complain loudly if deactivation fails.
20316         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
20317         (gst_pad_activate_push): Adapt to pre/post_activate changes,
20318         remove the terrible hack.
20319
20320 2005-10-11  Wim Taymans  <wim@fluendo.com>
20321
20322         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20323         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
20324         (gst_bin_recalc_state), (gst_bin_change_state_func),
20325         (gst_bin_dispose), (bin_bus_handler):
20326         * gst/gstbin.h:
20327         Prepare to make current EOS message queue more generic.
20328         Fix some typos.
20329
20330         * gst/gstevent.c: (gst_event_new_newsegment),
20331         (gst_event_parse_newsegment):
20332         * gst/gstevent.h:
20333         Rename base to stream_time.
20334
20335         * gst/gstmessage.h:
20336         Fix typo in docs.
20337
20338 2005-10-11  Wim Taymans  <wim@fluendo.com>
20339
20340         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20341         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
20342         (gst_bin_change_state_func), (bin_bus_handler):
20343         * gst/gstbin.h:
20344         Work on proper clock selection.
20345
20346 2005-10-11  Edward Hervey  <edward@fluendo.com>
20347
20348         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
20349         * libs/gst/controller/gstcontroller.h:
20350         Added GList* version of _remove_properties() in order to be able to wrap
20351         it in bindings.
20352
20353 2005-10-11  Wim Taymans  <wim@fluendo.com>
20354
20355         * docs/design/part-states.txt:
20356         Some more docs.
20357
20358         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
20359         (gst_bin_change_state_func), (bin_bus_handler):
20360         Doc updates. Don't distribute the same clock over and over again.
20361
20362         * gst/gstclock.c:
20363         * gst/gstclock.h:
20364         Doc updates.
20365
20366         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
20367         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
20368         (gst_pad_send_event):
20369         * gst/gstpad.h:
20370         Make probe emission threadsafe again.
20371         Register quarks and move _get_name() from utils.
20372         Doc updates.
20373
20374         * gst/gstpipeline.c: (gst_pipeline_class_init),
20375         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20376         Only redistribute the clock of it changed.
20377
20378         * gst/gstsystemclock.h:
20379         Doc updates. 
20380
20381         * gst/gstutils.c:
20382         * gst/gstutils.h:
20383         Moved the _flow_get_name() to GstPad.
20384
20385 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20386
20387         * check/gst-libs/gdp.c: (GST_START_TEST):
20388         * check/gst/gstcaps.c: (GST_START_TEST):
20389         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
20390         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
20391         (gst_dp_packet_from_caps):
20392           fix more valgrind warnings before turning up the heat
20393
20394 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20395
20396         * gst/parse/grammar.y:
20397           some cleanup before the hacking
20398
20399 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20400
20401         * gst/base/gstbasesrc.c: (gst_base_src_query):
20402           use conversions
20403         * gst/gstutils.c: (gst_guint64_to_gdouble),
20404         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
20405         * gst/gstutils.h:
20406           externalize, basesrc uses it
20407           obviously the implementation needs testing
20408
20409 2005-10-10  Wim Taymans  <wim@fluendo.com>
20410
20411         * tests/sched/Makefile.am:
20412         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
20413         (make_pipeline3), (make_pipeline4), (print_elem), (main):
20414
20415 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20416
20417         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
20418           apparently converting from guint64 to double is not implemented
20419           on MSVC
20420
20421 2005-10-10  Wim Taymans  <wim@fluendo.com>
20422
20423         * check/Makefile.am:
20424         * check/generic/states.c: (GST_START_TEST):
20425         * check/gst/gstbin.c: (GST_START_TEST):
20426         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20427         * check/states/sinks.c: (GST_START_TEST):
20428         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
20429         (main):
20430         Check fixes, use API as stated in design docs, remove hacks.
20431
20432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20433         (gst_base_sink_change_state):
20434         Catch stopping our task while we're shutting down.
20435
20436         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
20437         (gst_bin_remove_func), (gst_bin_get_state_func),
20438         (gst_bin_recalc_state), (gst_bin_change_state_func),
20439         (bin_bus_handler):
20440         * gst/gstbin.h:
20441         * gst/gstelement.c: (gst_element_init),
20442         (gst_element_get_state_func), (gst_element_abort_state),
20443         (gst_element_commit_state), (gst_element_lost_state),
20444         (gst_element_set_state), (gst_element_change_state),
20445         (gst_element_change_state_func):
20446         * gst/gstelement.h:
20447         New state change algorithm (see #318116)
20448
20449         * gst/gstpipeline.c: (gst_pipeline_class_init),
20450         (gst_pipeline_init), (gst_pipeline_set_property),
20451         (gst_pipeline_get_property), (do_pipeline_seek),
20452         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20453         * gst/gstpipeline.h:
20454         Remove crude state change hacks.
20455
20456         * gst/gstutils.h:
20457         Remove crude hacks.
20458
20459         * tools/gst-launch.c: (main):
20460         Fixes for state change. Needs some more work to fully use the
20461         new stuff.
20462
20463 2005-10-10  Andy Wingo  <wingo@pobox.com>
20464
20465         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
20466
20467         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
20468         this flag, but it's not even in GLib 2.6. Odd. Hack around the
20469         issue.
20470
20471 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
20472
20473         * gst/gstiterator.c: (gst_iterator_new):
20474           Fix my previous commit: GTypes passed to gst_iterator_new()
20475           can be fundamental types.
20476
20477 2005-10-10  Wim Taymans  <wim@fluendo.com>
20478
20479         * gst/gstelement.c: (gst_element_iterate_pad_list),
20480         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
20481         (gst_element_iterate_sink_pads):
20482         Use src/sink pads lists for the respective iterators instead
20483         of filtering.
20484
20485 2005-10-10  Andy Wingo  <wingo@pobox.com>
20486
20487         Merged in popt removal + GOption addition patch from Ronald, bug
20488         #169772.
20489
20490         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
20491         GstElement macros around, remove popt-related symbols, add goption
20492         stuff.
20493
20494         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
20495         
20496         * docs/gst/Makefile.am:
20497         * docs/libs/Makefile.am: No POPT_CFLAGS.
20498         
20499         * examples/manual/Makefile.am:
20500         * docs/manual/basics-init.xml: Doc updates with an example.
20501         
20502         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
20503         (gst_init), (parse_one_option), (parse_goption_arg):
20504         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
20505         bit of hand merging and debugging to get the GOption stuff working
20506         tho.
20507         
20508         * tests/Makefile.am:
20509         * tools/Makefile.am:
20510         * tools/gst-inspect.c: (main):
20511         * tools/gst-launch.c: (main):
20512         * tools/gst-run.c: (main):
20513         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
20514
20515 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
20516
20517         * gst/gstiterator.c: (gst_iterator_new):
20518           Add assertions to make sure passed GType is likely to really
20519           be a GType (as the compiler won't catch it if the size and
20520           GType arguments get mixed up, see #318447).
20521
20522 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
20523
20524         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20525
20526         * gst/gstbin.c: (gst_bin_iterate_sorted):
20527           Pass GType and size arguments to gst_iterator_new() in the right
20528           order (maybe we should make _new() take the GType as first argument
20529           just like _new_list()?) (#318447).
20530           
20531
20532 2005-10-10  Wim Taymans  <wim@fluendo.com>
20533
20534         * gst/gstelement.c: (gst_element_finalize):
20535         And free the GStaticRecMutex too
20536
20537 2005-10-10  Andy Wingo  <wingo@pobox.com>
20538
20539         * gst/gstelement.c (gst_element_init, gst_element_finalize):
20540         Allocate and free the mutex properly.
20541
20542         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
20543         New macros.
20544         (GstElement): The state_lock is now recursive. Rebuild your
20545         plugins, suckers. Old macros adapted.
20546
20547         * docs/gst/gstreamer-sections.txt: Doc updates.
20548
20549         * gst/gstutils.h:
20550         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
20551         (g_static_rec_cond_wait): Ported from state changes patch, while
20552         we wait on bug #317802 to be solved in a well-distributed GLib.
20553
20554         * gst/gstelement.c (gst_element_change_state_func): Renamed from
20555         gst_element_change_state, variable name changes.
20556         (gst_element_change_state): Split out of gst_element_set_state in
20557         preparation for the state change merge. Doesn't pay attention to
20558         the 'transition' argument.
20559         (gst_element_set_state): Updates, hopefully purely cosmetic.
20560         (gst_element_sync_state_with_parent): MT-safety. Ported from the
20561         state change patch.
20562         (gst_element_get_state_func): Renamed from get_state, cosmetic
20563         changes.
20564
20565 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20566
20567         * gst/elements/gstelements.c:
20568         * win32/GStreamer.vcproj:
20569         * win32/config.h:
20570         * win32/dirent.c: (_tseekdir):
20571         * win32/gst-inspect.vcproj:
20572         * win32/gst-launch.vcproj:
20573         * win32/gstconfig.h:
20574         * win32/gstelements.vcproj:
20575         * win32/gstenumtypes.c: (gst_object_flags_get_type):
20576         * win32/gstreamer.def:
20577         * win32/msvc71.sln:
20578           updates for the win32 build (patch from Sebastien Moutte)
20579
20580 2005-10-10  Andy Wingo  <wingo@pobox.com>
20581
20582         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
20583         gst_bin_get_state, cleaned up (but no logic changes).
20584         (bin_element_is_sink): Comment updates.
20585         (sink_iterator_filter): Remove needless cast.
20586         (gst_bin_iterate_sinks): Doc update.
20587         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
20588         cleaned up (but no logic changes).
20589
20590         * check/states/sinks.c (test_src_sink): Cleanups from the state
20591         change patch.
20592         (test_livesrc_sink): Sync on the state.
20593
20594         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
20595         the state change patch.
20596
20597         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
20598         change patch.
20599
20600         * check/gst/gstbin.c: Merge in some style fixes and additional
20601         checks from Wim's state change patch.
20602
20603 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
20604
20605         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20606         (gst_type_find_helper):
20607           Check whether we have the requested data already in our list of
20608           cached buffers before pulling a new buffer; also make the buffer
20609           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
20610
20611 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20612
20613         * gst/gstcaps.c:
20614         * gst/gstevent.c:
20615           doc updates
20616         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20617           don't use long long, it's not portable.  Replacing with
20618           gint64 seems to work; let's hope no skeletons fall out of the closet.
20619
20620 2005-10-10  Andy Wingo  <wingo@pobox.com>
20621
20622         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
20623
20624 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
20625
20626         * docs/gst/gstreamer-sections.txt:
20627         * gst/gstevent.c:
20628         * gst/gstevent.h:
20629         * gst/gstinfo.c:
20630         * gst/gstinfo.h:
20631         * gst/gstmessage.c: (gst_message_parse_state_changed):
20632         * gst/gstpad.c:
20633         * gst/gstpad.h:
20634           more docs, fix compilation
20635
20636 2005-10-09  Philippe Khalaf <burger@speedy.org>
20637         * gst/gstmessage.c:
20638           Fixed a few forgotten variables on previous commit
20639
20640 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
20641
20642         * gst/base/gsttypefindhelper.c: (helper_find_peek):
20643           Fix evil typefind crasher: getrange() might return a short
20644           buffer at the end of a file, but gst_type_find_peek() must
20645           either return the full data as requested or NULL, but
20646           never a short buffer.
20647
20648 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20649
20650         * gst/gstmessage.c: (gst_message_new_state_changed),
20651         (gst_message_parse_state_changed):
20652         * gst/gstmessage.h:
20653           don't use "new", it's a C++ keyword
20654
20655 2005-10-08  Wim Taymans  <wim@fluendo.com>
20656
20657         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
20658         * gst/gstelement.c: (gst_element_post_message):
20659         * gst/gstpipeline.c: (gst_pipeline_change_state):
20660         Small docs and debug updates.
20661
20662 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
20663
20664         * docs/gst/gstreamer-sections.txt:
20665         * gst/gstelementfactory.c:
20666         * gst/gstevent.c:
20667         * gst/gsttaglist.c:
20668           more docs
20669
20670 2005-10-08  Wim Taymans  <wim@fluendo.com>
20671
20672         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
20673         (gst_bin_dispose), (bin_bus_handler):
20674         Fix typos, add comments.
20675         Clear EOS list when going to PAUSED from any direction and do it
20676         in a threadsafe way.
20677         Get base time in a threadsafe way too.
20678         Fix confusing debug in the change_state function.
20679         Various other small cleanups.
20680         
20681         * gst/gstelement.c: (gst_element_post_message):
20682         Fix very verbose bus posting code.
20683
20684         * gst/gstpipeline.c: (gst_pipeline_class_init),
20685         (gst_pipeline_set_property), (gst_pipeline_get_property),
20686         (gst_pipeline_change_state):
20687         Small ARG_ -> PROP_ cleanup
20688
20689 2005-10-08  Wim Taymans  <wim@fluendo.com>
20690
20691         * gst/gstbin.c: (is_eos), (bin_bus_handler):
20692         Do a less CPU demanding EOS check because we can.
20693
20694 2005-10-08  Wim Taymans  <wim@fluendo.com>
20695
20696         * libs/gst/dataprotocol/dataprotocol.c:
20697         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
20698         (gst_dp_packet_from_event):
20699         * libs/gst/dataprotocol/dataprotocol.h:
20700         * libs/gst/dataprotocol/dp-private.h:
20701         It's about time we bump the version number.
20702         Since event types don't fit in the guint8 anymore describing
20703         the payload type, make payload type 16 bits wide.
20704
20705 2005-10-08  Wim Taymans  <wim@fluendo.com>
20706
20707         * docs/design/part-TODO.txt:
20708         * docs/design/part-clocks.txt:
20709         * docs/design/part-events.txt:
20710         * docs/design/part-gstbin.txt:
20711         * docs/design/part-gstelement.txt:
20712         * docs/design/part-gstpipeline.txt:
20713         * docs/design/part-live-source.txt:
20714         * docs/design/part-messages.txt:
20715         * docs/design/part-overview.txt:
20716         * docs/design/part-states.txt:
20717         Many doc updates.
20718
20719 2005-10-08  Wim Taymans  <wim@fluendo.com>
20720
20721         * gst/gstevent.c:
20722         * gst/gstevent.h:
20723         Fix event quark registration.
20724         Add some space between events so we can insert them in the
20725         right groups.
20726
20727 2005-10-08  Wim Taymans  <wim@fluendo.com>
20728
20729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20730         (gst_base_sink_handle_buffer):
20731         Better log message.
20732
20733         * gst/gstbus.h:
20734         * gst/gstelement.h:
20735         More docs.
20736
20737         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
20738         (gst_queue_set_property), (gst_queue_get_property):
20739         * gst/gstqueue.h:
20740         Remove old unused properties.
20741
20742 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
20743         * docs/gst/gstreamer-sections.txt:
20744         * gst/gstmessage.c:
20745         * gst/gstmessage.h:
20746         * gst/gstminiobject.c:
20747         * gst/gstminiobject.h:
20748         * gst/gstobject.h:
20749         * gst/gstpad.h:
20750         * gst/gstutils.h:
20751           lots of new docs and doc fixes
20752
20753 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20754
20755         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
20756         * gst/gstplugin.h:
20757         * gst/gstregistry.c: (gst_registry_lookup_locked),
20758         (gst_registry_scan_path_level):
20759         * gst/gstregistryxml.c: (load_plugin):
20760           Only ever load one plugin for a given plugin basename.
20761           This ensures correct overriding of GST_PLUGIN_PATH over
20762           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
20763           system installed plugins.
20764
20765 2005-10-08  Wim Taymans  <wim@fluendo.com>
20766
20767         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20768         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
20769         Prepare for doing QOS.
20770
20771 2005-10-08  Wim Taymans  <wim@fluendo.com>
20772
20773         * check/gst/gstbin.c: (GST_START_TEST):
20774         * check/pipelines/cleanup.c: (GST_START_TEST):
20775         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20776         Allow new clock message too.
20777
20778 2005-10-08  Wim Taymans  <wim@fluendo.com>
20779
20780         * gst/gstmessage.c: (gst_message_new_error),
20781         (gst_message_new_warning), (gst_message_new_tag),
20782         (gst_message_new_state_changed), (gst_message_new_clock_provide),
20783         (gst_message_new_clock_lost), (gst_message_new_new_clock),
20784         (gst_message_new_segment_start), (gst_message_new_segment_done),
20785         (gst_message_parse_state_changed),
20786         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
20787         (gst_message_parse_new_clock):
20788         * gst/gstmessage.h:
20789         Also carry the clock in question.
20790
20791 2005-10-08  Wim Taymans  <wim@fluendo.com>
20792
20793         * gst/gstmessage.c: (gst_message_new_custom),
20794         (gst_message_new_eos), (gst_message_new_error),
20795         (gst_message_new_warning), (gst_message_new_tag),
20796         (gst_message_new_state_changed), (gst_message_new_clock_provide),
20797         (gst_message_new_new_clock), (gst_message_new_segment_start),
20798         (gst_message_new_segment_done), (gst_message_parse_state_changed),
20799         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
20800         * gst/gstmessage.h:
20801         Clean up.
20802         Added clock related messages.
20803
20804         * gst/gstpipeline.c: (gst_pipeline_change_state):
20805         Post message when the clock changed.
20806
20807         * tools/gst-launch.c: (event_loop):
20808         Print new clock.
20809
20810 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
20811
20812         * tools/gst-inspect.c: (print_element_properties_info):
20813           Can't pass NULL strings to g_print() on windows.
20814
20815 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20816
20817         * docs/Makefile.am:
20818         * docs/gst/Makefile.am:
20819         * docs/gst/gstreamer-docs.sgml:
20820         * docs/gst/running.xml:
20821         * docs/version.entities.in:
20822           add a chapter on running GStreamer.
20823           document GST_DEBUG and GST_PLUGIN* env vars
20824
20825 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20826
20827         * Makefile.am:
20828           remove include dir
20829         * configure.ac:
20830           remove PLUGINS_BUILDDIR stuff
20831         * gst/gst.c: (init_post):
20832           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
20833         * idiottest.mak:
20834           remove, it was condescending and not needed
20835
20836 2005-10-08  Wim Taymans  <wim@fluendo.com>
20837
20838         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
20839         (gst_base_sink_handle_object), (gst_base_sink_event),
20840         (gst_base_sink_wait), (gst_base_sink_handle_event),
20841         (gst_base_sink_change_state):
20842         * gst/base/gstbasesink.h:
20843         Repost EOS message while going to PLAYING if still EOS.
20844         Make sure that when receiving a FLUSH_START we don't attempt
20845         to sync on the clock anymore.
20846
20847 2005-10-08  Wim Taymans  <wim@fluendo.com>
20848
20849         * tools/gst-launch.c: (event_loop):
20850         Better message printout.
20851
20852 2005-10-08  Wim Taymans  <wim@fluendo.com>
20853
20854         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
20855         (gst_bin_child_proxy_get_children_count):
20856         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20857         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
20858         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
20859         (gst_child_proxy_set_valist):
20860         * gst/parse/grammar.y:
20861         Make ChildProxy threadsafe and fix mem leaks.
20862
20863 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20864
20865         * gst/gst.c: (init_post):
20866           debug the GST_PLUGIN_ env vars
20867
20868 2005-10-08  Wim Taymans  <wim@fluendo.com>
20869
20870         * check/gst/gstbin.c: (GST_START_TEST):
20871         * check/gst/gstmessage.c: (GST_START_TEST):
20872         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20873         * gst/gstelement.c: (gst_element_commit_state),
20874         (gst_element_lost_state):
20875         * gst/gstmessage.c: (gst_message_new_state_changed),
20876         (gst_message_parse_state_changed):
20877         * gst/gstmessage.h:
20878         * tools/gst-launch.c: (event_loop):
20879         Added extra field to STATE_CHANGE message with the pending
20880         state, which will be different from the new state soon.
20881
20882 2005-10-08  Wim Taymans  <wim@fluendo.com>
20883
20884         * gst/gstbus.c: (gst_bus_pop):
20885         * gst/gstclock.c:
20886         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20887         Small cleanups and doc updates.
20888
20889 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20890
20891         * gst/gst.c: (init_pre):
20892         * gst/gstbin.c: (gst_bin_add_func):
20893           log distributing clocks and base time
20894         * gst/gstregistry.c: (gst_registry_add_plugin),
20895         (gst_registry_scan_path_level), (gst_registry_scan_path):
20896           clean up the debugging output a little
20897         * gst/gstutils.c: (gst_element_state_get_name):
20898           warn about a memleak (I've actually seen this be used, though
20899           it was probably a bug)
20900
20901 2005-10-07  Wim Taymans  <wim@fluendo.com>
20902
20903         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20904         (gst_base_src_init), (gst_base_src_default_newsegment),
20905         (gst_base_src_newsegment), (gst_base_src_do_seek),
20906         (gst_base_src_loop), (gst_base_src_start):
20907         * gst/base/gstbasesrc.h:
20908         Make the newsegment event customizable by subclasses.
20909
20910 2005-10-07  Wim Taymans  <wim@fluendo.com>
20911
20912         * gst/gstevent.c: (gst_event_new_buffersize),
20913         (gst_event_parse_buffersize):
20914         * gst/gstevent.h:
20915         New event for future idea.
20916
20917 2005-10-07  Andy Wingo  <wingo@pobox.com>
20918
20919         * gst/gstelement.c (gst_element_post_message): Doc update.
20920
20921         * docs/gst/gstreamer-sections.txt: Update.
20922
20923         * gst/gstmessage.c (gst_message_new_application): Made into a
20924         function like honest API calls.
20925         (gst_message_new_element): New message type.
20926
20927         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
20928
20929         * check/elements/fakesrc.c (test_no_preroll): New check, checks
20930         that setting a live fakesrc to PAUSED returns NO_PREROLL both
20931         times.
20932
20933         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
20934         NO_PREROLL from gst_element_change_state to fall through.
20935
20936 2005-10-07  Wim Taymans  <wim@fluendo.com>
20937
20938         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
20939         (gst_ghost_pad_do_activate_push):
20940         Activating a ghostpad with no internal pad in push mode
20941         is ok.
20942
20943 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20944
20945         * gst/gstobject.h:
20946           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
20947           Fixes compilation on Windows.
20948
20949 2005-10-07  Michael Smith <msmith@fluendo.com>
20950
20951         * tools/gst-inspect.c:
20952           Print out feature and plugin count at the end when printing out
20953           all features.
20954
20955 2005-10-04  Michael Smith <msmith@fluendo.com>
20956
20957         * gst/gsterror.c: (_gst_stream_errors_init):
20958           Add another error string used in a few existing plugins.
20959
20960         * gst/gstplugin.c:
20961         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20962         * tools/gst-inspect.c: (print_element_info):
20963           When a feature disappears from a plugin (and the feature exists in
20964           the cached registry file), things went horribly wrong. This isn't a
20965           complete fix, we should actually be removing the 'missing' features
20966           from the features list when we load the actual plugin. That's not
20967           yet implemented. 
20968
20969 2005-10-04  Johan Dahlin  <johan@gnome.org>
20970
20971         * check/gst/gstiterator.c: (GST_START_TEST):
20972         * gst/gstbin.c: (gst_bin_iterate_elements),
20973         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
20974         * gst/gstelement.c: (gst_element_iterate_pads):
20975         * gst/gstformat.c: (gst_format_iterate_definitions):
20976         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20977         (gst_iterator_new_list), (gst_iterator_filter):
20978         * gst/gstiterator.h:
20979         * gst/gstquery.c: (gst_query_type_iterate_definitions):
20980         Add a GType to GstIterator, update callsites and tests.
20981
20982 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20983
20984         * gst/gstpad.c: (gst_pad_event_default_dispatch):
20985           give events a chance to be handled by event probes when the pad
20986           is not linked
20987
20988 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20989
20990         * gst/gstevent.c: (gst_event_type_get_name),
20991         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20992         * gst/gstevent.h:
20993           add string representations for event types
20994
20995 2005-10-06  Wim Taymans  <wim@fluendo.com>
20996
20997         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20998         Don't use NULL pointers.
20999
21000 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21001
21002         * gst/gst_private.h:
21003         * gst/gstbus.c:
21004         * gst/gstelement.c:
21005         * gst/gstinfo.c:
21006         * gst/gstpluginfeature.c:
21007           widen the debug category in output to fit the biggest one we have
21008           add a bus category and use it
21009           play with the colors
21010           fix up some categories
21011
21012 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21013
21014         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
21015           add push activation of sink ghost pads.
21016           Andye, please verify
21017
21018 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21019
21020         * gst/gstutils.c: (gst_element_link_pads):
21021           fix a bug in the case where neither element has a pad
21022         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21023           add a test for that case
21024
21025 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21026
21027         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
21028           emit have-data before checking for peers.  This allows
21029           for probe handlers to connect elements.  This helps autopluggers.
21030         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
21031         (gst_pad_suite):
21032           add six checks, linked/unlinked with no/true/false probe
21033
21034 2005-10-04  Wim Taymans  <wim@fluendo.com>
21035
21036         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
21037         (gst_fake_sink_event), (gst_fake_sink_preroll),
21038         (gst_fake_sink_render), (gst_fake_sink_change_state):
21039         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
21040         (gst_fake_src_get_property), (gst_fake_src_create),
21041         (gst_fake_src_stop):
21042         * gst/elements/gstidentity.c: (gst_identity_stop):
21043         Protect last_message with lock.
21044
21045 2005-10-04  Edward Hervey  <edward@fluendo.com>
21046
21047         * gst/gstformat.h: 
21048         Added precision in the comments for GST_FORMAT_DEFAULT
21049
21050 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
21051
21052         * tools/gst-launch.c: (main):
21053           Don't try to run erroneous pipelines.
21054
21055 2005-10-04  Julien MOUTTE  <julien@moutte.net>
21056
21057         * gst/gstbus.c: We don't need this header.
21058
21059 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21060
21061         * configure.ac:
21062           back to development
21063
21064 === release 0.9.3 ===
21065
21066 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21067
21068         * README:
21069         * configure.ac:
21070           Releasing 0.9.3, "Unregistered"
21071
21072 2005-10-03  Andy Wingo  <wingo@pobox.com>
21073
21074         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
21075         whereby calling a pad's activatepush() function can start a thread
21076         that starts to push or pull before the pad gets the FLUSHING flag
21077         unset. Hack around it by holding the stream lock until the flag is
21078         set. Need to replace this with a proper solution. Together with
21079         the ghost pad fixes, this fixes mp3 playing/tagreading.
21080
21081         * docs/design/part-gstghostpad.txt: Add a note about activation of
21082         proxy pads outside of ghost pads.
21083
21084         * gst/gstghostpad.c: Implement the ghost pad activation design.
21085
21086 2005-10-02  Andy Wingo  <wingo@pobox.com>
21087
21088         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
21089         It is volatile, after all.
21090
21091         * docs/design/part-gstghostpad.txt: Flesh out activation with
21092         ghost pads.
21093
21094         * gst/base/gstbasesrc.c (gst_base_src_init): Use
21095         GST_DEBUG_FUNCPTR.
21096
21097 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
21098
21099         * configure.ac:
21100           Fix (unused) AM_CONDITIONAL tests.
21101
21102 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
21103
21104         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21105
21106         * gst/gstutils.c: (gst_pad_query_convert):
21107           Add assertion that makes sure src_val is >=0, just like
21108           gst_query_new_convert() has. (#315895)
21109
21110 2005-09-30  Edward Hervey  <edward@fluendo.com>
21111
21112         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
21113         Let's not iterate pads we're not interested in, it avoids getting 
21114         sky-high refcounts on sinkpad.
21115
21116 2005-09-30  Wim Taymans  <wim@fluendo.com>
21117
21118         * gst/gstelement.c: (gst_element_set_state),
21119         (gst_element_change_state):
21120         Small tweak, element in ASYNC remains ASYNC.
21121
21122 2005-09-30  Wim Taymans  <wim@fluendo.com>
21123
21124         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21125         Only error is an error.
21126
21127         * gst/gstbin.c: (gst_bin_change_state):
21128         Better debugging.
21129
21130         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
21131         Also call pad_block in pad alloc.
21132
21133         * gst/gstutils.c: (gst_flow_get_name):
21134         Better debugging.
21135
21136 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21137
21138         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21139         (gst_base_src_get_range):
21140           Fix documentation typos. Add some more debug info.
21141
21142 2005-09-29  David Schleef  <ds@schleef.org>
21143
21144         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
21145           more end-user friendly.
21146         * tools/gst-inspect.c: (main): Check if command-line argument is
21147           a file and attempt to load that file as a plugin.
21148
21149 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21150
21151         * check/gst/gstbin.c:
21152         * check/states/sinks.c:
21153           fix tests for the new warning
21154         * check/gst/gstpipeline.c:
21155           add a test for pipeline and bus interaction
21156         * gst/gstelement.c:
21157           elements should be NULL if they get disposed; add a warning if not
21158
21159 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21160
21161         * gst/gstobject.c:
21162           for 2.6 refcounting, make debug log more correct by printing
21163           the actual refcounts at the time of swap (Wim)
21164
21165 2005-09-29  Andy Wingo  <wingo@pobox.com>
21166
21167         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
21168         removes signal watches previously added via
21169         gst_bus_add_signal_watch.
21170         (gst_bus_add_signal_watch): Don't return the source id, just store
21171         it on the bus if there wasn't an id already.
21172
21173         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
21174         add_signal_watch and remove_signal_watch.
21175
21176 2005-09-29  Edward Hervey  <edward@fluendo.com>
21177
21178         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
21179         Better if we actually iterate the list :)
21180
21181 2005-09-29  Wim Taymans  <wim@fluendo.com>
21182
21183         * check/gst/gstbin.c: (GST_START_TEST):
21184         Change for new bus API.
21185
21186         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21187         (send_messages), (GST_START_TEST), (gstbus_suite):
21188         Change for new bus signal API.
21189
21190         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
21191         (gst_bus_source_prepare), (gst_bus_source_check),
21192         (gst_bus_create_watch), (gst_bus_add_watch_full),
21193         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
21194         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
21195         * gst/gstbus.h:
21196         Remove support for multiple GSources operating on different
21197         message types as it is too complex and unneeded when using
21198         signals.
21199         Added support for receiving signals from the bus.
21200
21201 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21202
21203         * docs/libs/tmpl/gstdataprotocol.sgml:
21204         * docs/manual/advanced-dataaccess.xml:
21205         * gst/elements/gstcapsfilter.c:
21206         * gst/gstutils.c:
21207           rename filter-caps to caps property
21208
21209 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21210
21211         * gst/gstvalue.c: (gst_value_deserialize_fraction):
21212           More robust fraction string parsing.
21213
21214         * docs/pwg/appendix-porting.xml:
21215           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
21216
21217 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21218
21219         * gst/gstcaps.c: (gst_caps_do_simplify):
21220           Thou shalt not free a structure and then continue using it
21221           in the next loop iteration.
21222
21223         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
21224         (gst_caps_suite):
21225           Add test case for caps simplification.
21226
21227 2005-09-29  Wim Taymans  <wim@fluendo.com>
21228
21229         * check/gst/gstbin.c: (GST_START_TEST):
21230         Oops.
21231
21232 2005-09-29  Wim Taymans  <wim@fluendo.com>
21233
21234         * check/gst/gstbin.c: (GST_START_TEST):
21235         Add bus to bin.
21236
21237         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
21238         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21239         (find_element), (gst_bin_sort_iterator_next),
21240         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21241         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21242         (gst_bin_change_state), (gst_bin_dispose):
21243         A bin does not have a bus, it gets the bus from the parent.
21244
21245         * gst/gstelement.c: (gst_element_requires_clock),
21246         (gst_element_provides_clock), (gst_element_is_indexable),
21247         (gst_element_is_locked_state), (gst_element_change_state),
21248         (gst_element_set_bus_func):
21249         Small cleanups.
21250
21251         * gst/gstpipeline.c: (gst_pipeline_class_init),
21252         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
21253         The pipeline provides a bus.
21254
21255 2005-09-28  Johan Dahlin  <johan@gnome.org>
21256
21257         * gst/gstmessage.c (gst_message_parse_state_changed): Use
21258         gst_structure_get_enum instead of gst_structure_get_int
21259
21260         * gst/gststructure.c (gst_structure_get_enum): Impl.
21261
21262         * gst/gststructure.h (gst_structure_get_enum): Add
21263
21264         * docs/gst/gstreamer-sections.txt: Ditto
21265
21266         * gst/gstmessage.c (gst_message_new_state_changed): Use
21267         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
21268         which does introspection.
21269         Reviewed by Christian Schaller
21270
21271 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
21272
21273         * gst/gstinfo.c: (gst_debug_log_default):
21274           don't do dummy g_strdup()s
21275         * libs/gst/controller/gstcontroller.c:
21276         (on_object_controlled_property_changed),
21277         (gst_controlled_property_new), (gst_controller_new_valist),
21278         (gst_controller_new_list),
21279         (gst_controller_remove_properties_valist), (gst_controller_set),
21280         (gst_controller_get), (gst_controller_sync_values),
21281         (gst_controller_get_value_array), (_gst_controller_class_init),
21282         (gst_controller_get_type):
21283         * libs/gst/controller/gstcontroller.h:
21284         * libs/gst/controller/gstinterpolation.c:
21285         (gst_controlled_property_find_timed_value_node):
21286           convert // to /**/ comments
21287
21288 2005-09-28  Wim Taymans  <wim@fluendo.com>
21289
21290         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
21291         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
21292         (gst_bus_sync_signal_handler):
21293         * gst/gstbus.h:
21294         Added async-message and sync-message signals to the bus.
21295         Added helper BusFunc to emit signals for all posted messages.
21296
21297         * gst/gstmessage.c: (gst_message_type_get_name),
21298         (gst_message_type_to_quark), (gst_message_get_type):
21299         * gst/gstmessage.h:
21300         Register quarks for message names.
21301
21302 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
21303
21304         * docs/libs/gstreamer-libs-sections.txt:
21305         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
21306         (gst_controller_new_list):
21307         * libs/gst/controller/gstcontroller.h:
21308           added another constructor for language bindings
21309
21310 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21311
21312         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21313           add another check
21314         * gst/gstbus.c:
21315           add some doc
21316         * gst/gstinfo.c: (_gst_debug_init):
21317           slightly more readable color for refcount debugging
21318
21319 2005-09-28  Wim Taymans  <wim@fluendo.com>
21320
21321         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21322         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21323         (find_element), (gst_bin_sort_iterator_next),
21324         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21325         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21326         (gst_bin_change_state), (gst_bin_dispose):
21327         Small doc fixes. get_clock -> provide_clock.
21328
21329         * gst/gstelement.c: (gst_element_class_init),
21330         (gst_element_provides_clock), (gst_element_provide_clock),
21331         (gst_element_get_clock), (gst_element_commit_state),
21332         (gst_element_lost_state):
21333         * gst/gstelement.h:
21334         Make get/set_clock() symetric. Add provide_clock vmethod since
21335         that is actually what this function does.
21336
21337         * gst/gstpipeline.c: (gst_pipeline_class_init),
21338         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
21339         (gst_pipeline_get_clock):
21340         get_clock -> provide_clock.
21341
21342 2005-09-28  Andy Wingo  <wingo@pobox.com>
21343
21344         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
21345         lieu of real docs...
21346
21347         * gst/elements/gstfdsrc.c: Cleaned up a bit.
21348
21349 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
21350
21351         * gst/elements/gstcapsfilter.c:
21352         * gst/elements/gstfakesink.c:
21353         * gst/elements/gstfakesrc.c:
21354         * gst/elements/gstfdsink.c:
21355         * gst/elements/gstfdsrc.c:
21356         * gst/elements/gstfilesink.c:
21357         * gst/elements/gstfilesrc.c:
21358         * gst/elements/gstidentity.c:
21359         * gst/elements/gsttee.c:
21360         * gst/elements/gsttypefindelement.c:
21361           Make element details static.
21362
21363 2005-09-28  Wim Taymans  <wim@fluendo.com>
21364
21365         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21366         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21367         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21368         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21369         (gst_bin_change_state), (gst_bin_dispose):
21370         Some documentation updates.
21371         Clean up dispose handlers.
21372
21373         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
21374         * gst/gstpad.c: (gst_pad_dispose):
21375         Clean up dispose handler.
21376
21377         * gst/gstpipeline.c: (gst_pipeline_change_state):
21378         Removed spurious UNLOCK.
21379
21380 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
21381
21382         * docs/gst/gstreamer-sections.txt:
21383         * gst/base/gstbasesrc.h:
21384         * gst/gstelement.h:
21385         * gst/gstevent.h:
21386         * gst/gstobject.h:
21387         * gst/gstpad.h:
21388         * gst/gstpipeline.c:
21389         * gst/gstpipeline.h:
21390         * gst/gstutils.h:
21391         * gst/gstxml.h:
21392           added two new functions to the docs
21393                 documents all undocumented GstXXXFlags
21394                 completed some incomplete docs 
21395
21396 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21397
21398         * gst/gstbin.c: (gst_bin_dispose):
21399         * gst/gstelement.c: (gst_element_dispose):
21400           remove now useless and leaky resurrection code in dispose
21401         * gst/base/gstbasesrc.c: (gst_base_src_init):
21402         * gst/gstelementfactory.c: (gst_element_factory_create):
21403         * gst/gstobject.c: (gst_object_set_parent):
21404           add some debugging
21405
21406 2005-09-27  Wim Taymans  <wim@fluendo.com>
21407
21408         * docs/design/part-TODO.txt:
21409         Update TODO.
21410
21411         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21412         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21413         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21414         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21415         (gst_bin_change_state):
21416         * gst/gstelement.h:
21417         Remove element variable, we keep element info in the iterator now.
21418
21419 2005-09-27  Andy Wingo  <wingo@pobox.com>
21420
21421         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
21422         values.
21423
21424 2005-09-27  Wim Taymans  <wim@fluendo.com>
21425
21426         * check/gst/gstbin.c: (GST_START_TEST):
21427         Enable check that works now.
21428
21429         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21430         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21431         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21432         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21433         (gst_bin_change_state):
21434         * gst/gstbin.h:
21435         Redid the state change algorithm using a topological sort algo.
21436         Handles all cases correctly.
21437         Exposed iterator for state change order.
21438
21439         * gst/gstelement.h:
21440         Temp storage for state changes. Need to get rid of this soon.
21441
21442 2005-09-27  Wim Taymans  <wim@fluendo.com>
21443
21444         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
21445         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
21446         (link_fold_func), (gst_pad_proxy_setcaps):
21447         Leak fixes, the fold functions need to unref the passed object and
21448         _get_parent_*() returns ref to parent.
21449
21450 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
21451
21452         * check/gst/gstbuffer.c: (test_make_writable):
21453           Plug leak in test case and fix 'make check-valgrind'
21454
21455 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
21456
21457         * gst/gstbuffer.c: (gst_subbuffer_init):
21458           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
21459           works correctly in all circumstances (we could have just copied
21460           the parent buffer's readonly flag, but conceptually it seems
21461           cleaner to mark all subbuffers as read-only). (based on patch
21462           by Alessandro Decina, #314710).
21463         
21464         * check/gst/gstbuffer.c: (create_read_only_buffer),
21465         (test_make_writable), (test_subbuffer_make_writable),
21466         (gst_test_suite):
21467           Add some tests for gst_buffer_make_writable().
21468
21469 2005-09-27  Wim Taymans  <wim@fluendo.com>
21470
21471         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
21472         use gst_object_has_ancestor().
21473
21474         * gst/gstobject.c: (gst_object_has_ancestor):
21475         * gst/gstobject.h:
21476         gst_object_has_ancestor() copied from gstbin.c as it is a
21477         useful function.
21478
21479         * tests/instantiate/create.c: (create_all_elements):
21480         * tests/lat.c: (handoff_src), (handoff_sink):
21481         * tests/sched/runxml.c: (main):
21482         * tests/seeking/seeking1.c: (main):
21483         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21484         (main):
21485         Fix compilation of some tests.
21486
21487 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
21488
21489         * gst/gsterror.h:
21490           Remove comment. GST_TYPE_G_ERROR is here to stay,
21491           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
21492           (#316961, #300610).
21493
21494 2005-09-26  Wim Taymans  <wim@fluendo.com>
21495
21496         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21497         Added check that shows error in state change order.
21498
21499 2005-09-26  Wim Taymans  <wim@fluendo.com>
21500
21501         * gst/gstbin.c: (gst_bin_change_state):
21502         Make state change function use 3 queues again, we were
21503         adding elements in the wrong order.
21504
21505         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
21506         Some debug info,
21507
21508         * gst/gstpad.c: (gst_pad_dispose):
21509         Added some debug info first.
21510
21511 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
21512
21513         * docs/design/draft-push-pull.txt:
21514         * docs/design/part-events.txt:
21515         * docs/design/part-overview.txt:
21516         * docs/design/part-scheduling.txt:
21517           Replace all _pull_region() with _pull_range()
21518           
21519 2005-09-26  Andy Wingo  <wingo@pobox.com>
21520
21521         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
21522
21523         * check/gst-libs/controller.c: Update for controller api change.
21524
21525         * configure.ac: 
21526         * tests/Makefile.am:
21527         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
21528         over by GLib bug 118439.
21529         
21530         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
21531         routines to a function.
21532
21533         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
21534
21535         * libs/gst/controller/gsthelper.c:
21536         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
21537         (gst_object_sync_values): Renamed from sink_values. Ugh.
21538
21539         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
21540
21541         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
21542         Renamed from controller_key, as it is exported.
21543
21544         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
21545
21546 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
21547
21548         * gst/Makefile.am:
21549         * gst/gst.h:
21550         * gst/gstpad.h:
21551         * gst/gstpadtemplate.h:
21552         * gst/gstquery.c:
21553         * gst/gstquery.h:
21554         * gst/gstqueryutils.c:
21555         * gst/gstqueryutils.h:
21556           remove queryutils headers after moving the two used functions
21557           to gstquery.  also fixes build problem for gstsiddec
21558
21559 2005-09-26  Michael Smith <msmith@fluendo.com>
21560
21561         * tools/gst-launch.1.in:
21562         Correct documentation in manpage of debug syntax
21563
21564 2005-09-26  Wim Taymans  <wim@fluendo.com>
21565
21566         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
21567         (gst_base_src_is_seekable), (gst_base_src_change_state):
21568         Some more debugging info.
21569
21570 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
21571
21572         * docs/gst/gstreamer-sections.txt:
21573         * gst/base/gstbasetransform.h:
21574         * gst/gstindex.h:
21575           added more docs
21576
21577 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
21578
21579         * docs/gst/.cvsignore:
21580         * docs/gst/tmpl/.cvsignore:
21581         * docs/gst/tmpl/gstpipeline.sgml:
21582         * docs/gst/tmpl/gstplugin.sgml:
21583         * gst/gstpipeline.c:
21584         * gst/gstplugin.c:
21585         * gst/gstplugin.h:
21586           inlined the last two docs files
21587           removed the tmpl directory from cvs (no more conflicts here!)
21588
21589 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
21590
21591         * docs/gst/gstreamer-sections.txt:
21592         * docs/gst/tmpl/.cvsignore:
21593         * docs/gst/tmpl/gstpad.sgml:
21594         * docs/gst/tmpl/gstpadtemplate.sgml:
21595         * gst/Makefile.am:
21596         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
21597         (gst_pad_finalize), (gst_pad_set_pad_template):
21598         * gst/gstpad.h:
21599         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
21600         (gst_pad_template_class_init), (gst_pad_template_init),
21601         (gst_pad_template_dispose), (name_is_valid),
21602         (gst_static_pad_template_get), (gst_pad_template_new),
21603         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
21604         (gst_pad_template_pad_created):
21605         * gst/gstpadtemplate.h:
21606           inlined two more docs
21607           factored gstpadtemplate out of gstpad
21608
21609 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
21610
21611         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21612         (test_children_state_change_order_semi_sink):
21613           Fix test case: we can't rely on a fixed state change order when
21614           going from READY => PAUSED because the sink might commit its 
21615           new state first when the first buffer created by the source 
21616           reaches the sink before the source has finished its change state.
21617           (Test case still fails at times, see #316856, comment 5 onwards)
21618
21619 2005-09-24  Wim Taymans  <wim@fluendo.com>
21620
21621         * docs/design/part-events.txt:
21622         * docs/design/part-gstbus.txt:
21623         * docs/design/part-gstpipeline.txt:
21624         * docs/design/part-messages.txt:
21625         * docs/design/part-overview.txt:
21626         * docs/design/part-segments.txt:
21627         * gst/gstbin.c:
21628         * gst/gstbuffer.c:
21629         * gst/gstclock.c:
21630         * gst/gstelement.c:
21631         * gst/gstevent.c:
21632         * gst/gstfilter.c:
21633         * gst/gstiterator.c:
21634         Various documentation updates.
21635
21636 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21637
21638         * gst/gstclock.h:
21639           Well, that's embarassing.  Luckily we weren't using
21640           GST_CLOCK_DIFF anywhere.
21641
21642 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21643
21644         * common/gtk-doc.mak:
21645           don't fail on building XML, FC4 slave shows a bunch of doc
21646           missing bits that I don't get
21647         * gst/gstpad.c:
21648         * gst/gstpipeline.c:
21649         * gst/gststructure.c:
21650           some doc updates
21651
21652 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
21653
21654         * docs/design/part-gstbin.txt:
21655         * docs/design/part-gstbus.txt:
21656         * gst/gstbus.c:
21657           Add blurb about how the bus goes into flushing mode and
21658           drops all messages when its bin goes from READY into NULL 
21659           state.
21660
21661 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21662
21663         * docs/gst/gstreamer-sections.txt:
21664         * gst/gststructure.c: (gst_structure_get_clock_time):
21665         * gst/gststructure.h:
21666           add a method to get a GstClockTime out of a structure
21667
21668 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
21669
21670         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21671         (test_children_state_change_order_semi_sink), (gst_bin_suite):
21672           Added test to check state change order in bins (can still be made
21673           to fail here under heavy disk load; bails out with 'Push on pad
21674           fakesink:sink0, but it was not activated in push mode').
21675
21676         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
21677           Fix state change order when there is only a semi sink (#316856)
21678
21679         * gst/gstbus.c: (gst_bus_class_init):
21680           Use _class_peek_parent(), not _class_ref(); fix docs to say
21681           'default main context' instead of 'mainloop' where that is
21682           what's meant.
21683
21684         * gst/gstelement.c: (gst_element_commit_state),
21685         (gst_element_set_state):
21686           Fix typos in debug messages
21687
21688 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21689
21690         * docs/README:
21691         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
21692         * gst/gstpluginfeature.c:
21693         * gst/gstutils.c:
21694           various doc updates
21695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21696           change an assert into an error until it gets fixed properly
21697
21698 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
21699
21700         * docs/gst/gstreamer-sections.txt:
21701         * docs/gst/tmpl/.cvsignore:
21702         * docs/gst/tmpl/gstelement.sgml:
21703         * docs/gst/tmpl/gstinfo.sgml:
21704         * docs/gst/tmpl/gstobject.sgml:
21705         * gst/gstelement.c:
21706         * gst/gstelement.h:
21707         * gst/gstinfo.c:
21708         * gst/gstinfo.h:
21709         * gst/gstobject.c: (gst_object_class_init):
21710         * gst/gstobject.h:
21711           inlined 3 more biiiig doc files and added some missing docs on the fly
21712
21713 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21714
21715         * check/gst/.cvsignore:
21716         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
21717         * gst/gstregistryxml.c: (load_plugin),
21718         (gst_registry_xml_save_plugin):
21719           put back source in registry.  add checks for find_plugin.
21720         * testsuite/states/bin.c: (assert_state), (empty_bin),
21721         (test_adding_one_element), (main):
21722         * testsuite/states/locked.c: (main):
21723           some compile/run fixes
21724
21725 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21726
21727         * check/gst/gstvalue.c: (GST_START_TEST):
21728           fix leaks in the test itself
21729
21730 2005-09-22  Wim Taymans  <wim@fluendo.com>
21731
21732         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21733         (gst_base_sink_send_event), (gst_base_sink_peer_query),
21734         (gst_base_sink_query):
21735         Prepare for more accurate position reporting and query
21736         handling.
21737
21738         * gst/gstelement.c: (gst_element_send_event),
21739         (gst_element_set_state):
21740         Add some comment.
21741
21742 2005-09-22  Wim Taymans  <wim@fluendo.com>
21743
21744         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
21745         (gst_query_parse_segment):
21746         * gst/gstquery.h:
21747         More documentation.
21748         Add segment query for future use.
21749
21750 2005-09-22  Wim Taymans  <wim@fluendo.com>
21751
21752         * gst/gstbin.c: (gst_bin_add_func):
21753         Some more debug info.
21754
21755         * gst/gstelement.c: (gst_element_send_event):
21756         Simplify send_event
21757
21758         * gst/gstelement.h:
21759         Don't know how flags got broken.
21760
21761         * gst/gstquery.h:
21762         Added new query.
21763
21764 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
21765
21766         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
21767           Add simplistic test suite for GST_TYPE_DATE serialisation and
21768           deserialisation.
21769
21770 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
21771
21772         * docs/gst/gstreamer-sections.txt:
21773         * gst/gststructure.c: (gst_structure_set_valist),
21774         (gst_structure_get_date):
21775         * gst/gststructure.h:
21776         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
21777         (gst_date_copy), (gst_value_compare_date),
21778         (gst_value_serialize_date), (gst_value_deserialize_date),
21779         (gst_value_transform_date_string),
21780         (gst_value_transform_string_date), (_gst_value_initialize):
21781         * gst/gstvalue.h:
21782           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
21783           bunch of utility functions along with a hack that checks that
21784           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
21785           is required. Part of the grand scheme in #170777.
21786
21787 2005-09-22  Andy Wingo  <wingo@pobox.com>
21788
21789         * gst/gstconfig.h.in: Psych out gtk-doc.
21790
21791         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
21792
21793         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
21794
21795         * tools/gst-inspect.c (print_element_list): Plug some
21796         inconsequential leaks.
21797
21798         * gst/gstregistry.c (gst_registry_get_default): Doc.
21799
21800         * check/gst/gstplugin.c: 
21801         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
21802         * gst/gstelementfactory.c (gst_element_factory_create): 
21803         * gst/gstindexfactory.c (gst_index_factory_create): Update for
21804         refcount changes.
21805
21806         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
21807         (gst_plugin_feature_load): Doc, don't eat refs.
21808
21809         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
21810         (gst_plugin_list_free): Doc.
21811         (gst_plugin_load_file): Doc updates.
21812
21813         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
21814         accessors returning refcounted objects, return a ref.
21815
21816         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
21817         accessor for caps. IDEMPOTENCE. Oh yes.
21818
21819 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
21820
21821         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21822
21823         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21824         (_gst_debug_register_funcptr):
21825           Add mutex to serialise access to the hash table with
21826           the function pointer => function name string mapping;
21827           make that hash table static scope (#316809).
21828
21829         * gst/registries/.cvsignore:
21830           Remove left-over file.
21831
21832 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
21833
21834         * docs/pwg/appendix-porting.xml:
21835           And something about newsegment events and caps-on-buffers to
21836           the porting guide (feel free to improve).
21837
21838 2005-09-21  Andy Wingo  <wingo@pobox.com>
21839
21840         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
21841         data and event probes on the same pad.
21842         (test_buffer_probe_once): Test that removing probes from within
21843         the probe functions works.
21844
21845 2005-09-21  Andy Wingo  <wingo@pobox.com>
21846
21847         * check/gst/gstutils.c: New file.
21848         (test_buffer_probe_n_times): A simple buffer probe test. More to
21849         come, foolios.
21850
21851         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
21852         have-data::buffer, not have-data.
21853         (gst_pad_add_event_probe): Likewise for have-data::event.
21854         (gst_pad_add_data_probe): More docs. The part about 'resolving the
21855         peer' isn't quite right yet though.
21856         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
21857         (gst_pad_remove_data_probe): Change to take the guint handler_id
21858         as their arg, not the function+data, which is more glib-like.
21859
21860         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
21861         the signal emission to indicate if the data is a buffer or an
21862         event.
21863         (gst_pad_get_type): Initialize buffer and event quarks.
21864         (gst_pad_class_init): have-data is now a detailed signal, yes it
21865         is.
21866
21867 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
21868
21869         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21870         * gst/gstutils.c: (gst_util_set_value_from_string),
21871         (gst_util_set_object_arg):
21872           Don't put functional code in g_return_if_fail() or
21873           g_return_val_if_fail() statements, otherwise things will 
21874           break when G_DISABLE_CHECKS is defined during compilation.
21875
21876 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21877
21878         * docs/gst/tmpl/.cvsignore:
21879         * docs/gst/tmpl/gstvalue.sgml:
21880         * gst/gstvalue.c:
21881         * gst/gstvalue.h:
21882           inlied another one and added  some obvious docs
21883
21884 2005-09-21  Wim Taymans  <wim@fluendo.com>
21885
21886         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
21887         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
21888         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
21889         (gst_fdsrc_get_property), (gst_fdsrc_create):
21890         * gst/elements/gstfdsrc.h:
21891         Properly implement fdsrc. Removed signal and timeout,
21892         better implemented somewhere else.
21893
21894 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21895
21896         * docs/gst/tmpl/.cvsignore:
21897         * docs/gst/tmpl/gstimplementsinterface.sgml:
21898         * gst/gstinterface.c:
21899           inlined more docs
21900
21901 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21902
21903         * docs/gst/gstreamer-sections.txt:
21904         * docs/gst/tmpl/.cvsignore:
21905         * docs/gst/tmpl/gstenumtypes.sgml:
21906           remove obsolete doc file
21907
21908 2005-09-21  David Schleef  <ds@schleef.org>
21909
21910         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
21911         little beer, fix a little leak.
21912
21913 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21914
21915         * docs/gst/gstreamer-docs.sgml:
21916         * docs/gst/gstreamer-sections.txt:
21917         * docs/gst/tmpl/.cvsignore:
21918         * gst/Makefile.am:
21919         * gst/gst.h:
21920         * gst/gstbin.c:
21921         * gst/gstelement.h:
21922         * gst/gstindex.c: (gst_index_class_init):
21923         * gst/gstindex.h:
21924         * gst/gstindexfactory.c: (gst_index_factory_get_type),
21925         (gst_index_factory_class_init), (gst_index_factory_init),
21926         (gst_index_factory_finalize), (gst_index_factory_new),
21927         (gst_index_factory_destroy), (gst_index_factory_find),
21928         (gst_index_factory_create), (gst_index_factory_make):
21929         * gst/gstindexfactory.h:
21930         * gst/gstpluginfeature.c:
21931         * gst/gstpluginfeature.h:
21932         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21933           more docs inlined, splitted gstindex.{c,h}
21934
21935 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21936
21937         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21938           fix a leak
21939
21940 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21941
21942         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21943           Set sync to FALSE by default.
21944
21945 2005-09-20  Wim Taymans  <wim@fluendo.com>
21946
21947         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21948         (gst_base_sink_init):
21949         Make sync property settable from subclass.
21950
21951         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21952         (gst_fake_sink_change_state):
21953         Set sync to FALSE by default.
21954
21955 2005-09-20  Wim Taymans  <wim@fluendo.com>
21956
21957         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
21958         * tools/gst-launch.c: (main):
21959         The timeout handler should have lower priority than the source
21960         so we don't timeout before popping a message with 0 timeout.
21961         Dump error messages after failed state change.
21962
21963 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21964
21965         * tools/gst-inspect.c: (print_element_properties_info):
21966           Fix two typos.
21967
21968 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21969
21970         * check/gst/gstevent.c:
21971         * gst/elements/gstfakesink.c:
21972         * gst/elements/gstfakesink.h:
21973           remove the sync property from fakesink.
21974           has the side effect of setting sync TRUE
21975           for fakesink, which is a change.  Anyone who knows how
21976           to fix this nicely in a GObject-y way, feel free.
21977
21978 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21979
21980         * docs/gst/gstreamer-docs.sgml:
21981           remove probe refsection
21982
21983 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21984
21985         * check/Makefile.am:
21986           disable valgrinding the controller test again
21987         * docs/gst/gstreamer-sections.txt:
21988           update for api-changes
21989
21990 2005-09-20  Wim Taymans  <wim@fluendo.com>
21991
21992         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21993         (gst_base_sink_set_property), (gst_base_sink_get_property),
21994         (gst_base_sink_do_sync):
21995         * gst/base/gstbasesink.h:
21996         Added sync property to basesink to disable clock sync.
21997
21998 2005-09-20  Andy Wingo  <wingo@pobox.com>
21999
22000         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
22001         eating the caller's refcount.
22002
22003         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
22004         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
22005         refcount.
22006
22007         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
22008         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
22009         of GLib 2.8 public, so we can know which refcount to check in
22010         tests.
22011
22012         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
22013         (gst_object_init): Only set the gst refcount if we're going ahead
22014         with the refcount hack.
22015
22016 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22017
22018         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22019         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22020           more leaks plumbed, added more debug-logging
22021         * gst/gstmacros.h:
22022           whitespace fix
22023
22024 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22025
22026         * gst/gstmessage.c:
22027           remove include of gstmemchunk.h
22028
22029 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22030
22031         * gst/gstclock.c: (_gst_clock_id_free):
22032           Commit from the Political Party For More Atomic CVS Commits,
22033           so that people don't waste too much of their day fishing
22034           out obvious leaks out of massive commits.
22035           Oh, and fix a pretty damn obvious leak in the memchunk
22036           removal code.
22037
22038 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22039
22040         * check/Makefile.am:
22041         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22042           plug mem-leak, re-add to valgrindable tests
22043
22044 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22045
22046         * gst/gstplugin.h:
22047           unbreak the build for those who have chronic arthritis
22048           and typing "make check" is just too taxing on the hands
22049
22050 2005-09-20  Andy Wingo  <wingo@pobox.com>
22051
22052         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
22053         really want it out, you should fix plugins at the same time.
22054
22055 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
22056
22057         * configure.ac:
22058         * docs/gst/gstreamer-sections.txt:
22059         * gst/gstobject.c:
22060           added missing symbols to api docs
22061           disable ref-count hack if we have glib >= 2.8
22062
22063 2005-09-19  David Schleef  <ds@schleef.org>
22064
22065         * docs/gst/Makefile.am: Ignore a few more internal headers
22066         * docs/gst/gstreamer-docs.sgml: Remove old sections
22067         * docs/gst/gstreamer-sections.txt: Remove old sections
22068         * docs/gst/tmpl/gstobject.sgml: update
22069         * docs/gst/tmpl/gstplugin.sgml: update
22070         * docs/gst/tmpl/gstpluginfeature.sgml: update
22071         * docs/random/ds/0.9-suggested-changes: update.
22072         * gst/Makefile.am: remove memchunk and trashstack, since they're
22073           not used.
22074         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
22075         * gst/gst.h: don't include some headers
22076         * gst/gstchildproxy.c: add gstmarshal.h
22077         * gst/gstclock.c: Don't use memchunks
22078         * gst/gstminiobject.c: Add some docs
22079         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
22080         * gst/gstobject.h: same
22081         * gst/gstplugin.c: include gstmacros.h
22082         * gst/gstplugin.h: don't include gstmacros.h, since it's private
22083         * gst/gstquery.c: don't use memchunks
22084         * gst/gstregistry.c: rename gst_registry_deinit()
22085         * gst/gstregistry.h: same
22086
22087 2005-09-19  David Schleef  <ds@schleef.org>
22088
22089         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
22090         * docs/libs/gstreamer-libs-sections.txt:
22091         * docs/libs/tmpl/gstgetbits.sgml:
22092         * docs/libs/tmpl/gstputbits.sgml:
22093
22094 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
22095
22096         * win32/gstenumtypes.c:
22097         * win32/gstenumtypes.h:
22098           Update.
22099
22100 2005-09-19  Wim Taymans  <wim@fluendo.com>
22101
22102         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
22103         Automatically PAUSE and RESUME a pipeline when a flushing seek
22104         is performed.
22105
22106 2005-09-19  Andy Wingo  <wingo@pobox.com>
22107
22108         * gst/gstregistry.h: Spacing fixen.
22109
22110 2005-09-19  Wim Taymans  <wim@fluendo.com>
22111
22112         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
22113         Handle state change failure more correctly.
22114
22115 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22116
22117         * check/Makefile.am:
22118         * check/pipelines/cleanup.c: (run_pipeline):
22119         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22120         (GST_START_TEST):
22121           enable cleanup again after fixing the leak
22122         * docs/README:
22123           some more info on docs
22124
22125 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22126
22127         * check/Makefile.am:
22128           re-enable tests now that leaks are plugged
22129         * check/gst/gst.c:
22130         * check/gst/gstbin.c:
22131         * check/gst/gstpipeline.c:
22132           add some more tests while fixing leaks
22133         * common/check.mak:
22134           make sure binaries are uptodate when valgrinding/gdbing
22135         * gst/gst.c:
22136         * gst/gstelementfactory.c:
22137           remove a ref too many, and add a FIXME for when we get
22138           round to disposing of classes
22139         * gst/gstplugin.c:
22140           fix the refcounting when loading a plugin from a file and
22141           the code pretends that the pointer is the same even though
22142           of course it can change
22143         * gst/gstpluginfeature.c:
22144           unref plugins marked cached (a bit confusing as a name)
22145           as the docs state should be done
22146           various doc additions to explain refcounting
22147         * gst/gstregistry.c:
22148         * gst/gstregistryxml.c:
22149           debugging
22150
22151 2005-09-19  Wim Taymans  <wim@fluendo.com>
22152
22153         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22154         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22155         (send_messages), (GST_START_TEST), (gstbus_suite):
22156         * check/gst/gstpipeline.c: (GST_START_TEST):
22157         * check/pipelines/cleanup.c: (run_pipeline):
22158         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22159         (GST_START_TEST):
22160         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
22161         (gst_bus_source_check), (gst_bus_source_dispatch),
22162         (gst_bus_create_watch), (gst_bus_add_watch_full),
22163         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
22164         * gst/gstbus.h:
22165         * tools/gst-launch.c: (event_loop):
22166         * tools/gst-md5sum.c: (event_loop):
22167         GstBusHandler -> GstBusFunc, return value has the same meaning as
22168         any other GSource (FALSE == remove source).
22169         _add_watch() and _add_watch_full() now take a MessageType mask to
22170         only handle specific types of messages.
22171         _poll() returns the GstMessage instead of the message type to avoid
22172         race conditions.
22173         _have_pending() takes a MessageType mask now too.
22174         Added testsuite for multiple bus watches.
22175         Fix testsuites and applications for new bus API.
22176
22177 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22178
22179         * check/Makefile.am:
22180           mark a bunch of the tests as to fix until we fix them
22181
22182 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22183
22184         * common/check.mak:
22185           use GST_PLUGIN settings for valgrind tests as well, so we're
22186           valgrinding the correct thing
22187         * gst/gst.c: (init_post):
22188           plug another leak
22189
22190 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22191
22192         * gst/gst.c: (init_post), (gst_deinit):
22193         * gst/gstelementfactory.c: (gst_element_factory_class_init),
22194         (gst_element_factory_finalize), (gst_element_factory_cleanup):
22195         * gst/gstindex.c: (gst_index_factory_class_init),
22196         (gst_index_factory_finalize):
22197         * gst/gstobject.c: (gst_object_dispose):
22198         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
22199         (gst_plugin_load_file), (gst_plugin_desc_free):
22200         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
22201         (gst_plugin_feature_finalize):
22202         * gst/gstregistry.c: (gst_registry_class_init),
22203         (gst_registry_init), (gst_registry_finalize),
22204         (gst_registry_get_default), (gst_registry_deinit):
22205         * gst/gstregistry.h:
22206         * gst/gstregistryxml.c: (load_feature), (load_plugin):
22207           various cleanups and memleak plugging.  make valgrind is happy now.
22208
22209 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22210
22211         * common/check.mak:
22212           add a check-valgrind target
22213
22214 2005-09-18  David Schleef  <ds@schleef.org>
22215
22216         * tools/gst-inspect.c: Revert the GOption code.
22217
22218 2005-09-17  David Schleef  <ds@schleef.org>
22219
22220         * check/Makefile.am: Fix environment variables.
22221         * check/gst/gstplugin.c: Fix for API changes.
22222         * tools/gst-inspect.c: Fix for API changes.
22223         * tools/gst-xmlinspect.c: Fix for API changes.
22224         * gst/gstelementfactory.c:
22225         * gst/gstplugin.c:
22226         * gst/gstplugin.h:
22227         * gst/gstpluginfeature.c:
22228         * gst/gstpluginfeature.h:
22229         * gst/gstregistry.c:
22230         * gst/gstregistry.h:
22231         * gst/gstregistryxml.c:
22232         * gst/gsttypefind.c:
22233         * gst/gsttypefindfactory.c:
22234         * gst/indexers/gstfileindex.c:
22235         * gst/indexers/gstmemindex.c:
22236         * gst/schedulers/Makefile.am:
22237           Change registry to keep track of both plugins and features,
22238           removing the feature tracking from plugins themselves.
22239
22240 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22241
22242         * check/Makefile.am:
22243         * tools/gst-register.1.in:
22244           remove gst-register
22245
22246 2005-09-15  David Schleef  <ds@schleef.org>
22247
22248         * check/gst/gstplugin.c:
22249         * gst/gstelementfactory.c:
22250         * gst/gstplugin.c:
22251         * gst/gstpluginfeature.c:
22252         * gst/gstregistry.c:
22253           Getting tired of debugging.  Disabled all the unreffing of
22254           plugins and features, which fixes the segfaults, but of
22255           course leaks like crazy.  At least playbin works.
22256
22257 2005-09-15  David Schleef  <ds@schleef.org>
22258
22259         * check/gst/gstplugin.c: (register_check_elements),
22260         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
22261         More testing
22262         * gst/elements/gsttypefindelement.c: Fix refcounting.
22263         * gst/gsttypefind.c:
22264         * gst/gsttypefindfactory.c:
22265         * gst/gsttypefindfactory.h:
22266
22267 2005-09-15  David Schleef  <ds@schleef.org>
22268
22269         * gst/gstindex.c: get refcounting correct.
22270         * gst/gstregistry.c: Handle the case where a feature/plugin is
22271           not found.
22272
22273 2005-09-15  David Schleef  <ds@schleef.org>
22274
22275         * check/Makefile.am:
22276         * check/gst/gstplugin.c: Add test
22277         * gst/gstplugin.c: Fix problems noticed by testsuite
22278         * gst/gstplugin.h:
22279         * gst/gstregistry.c: 
22280         * gst/gstregistry.h:
22281
22282 2005-09-15  David Schleef  <ds@schleef.org>
22283
22284         * gst/gstplugin.c: Implement semi-decent recounting and locking
22285           in plugins and plugin features.
22286         * gst/gstplugin.h:
22287         * gst/gstpluginfeature.c:
22288         * gst/gstpluginfeature.h:
22289         * gst/gstregistry.c:
22290
22291 2005-09-15  Michael Smith <msmith@fluendo.com>
22292
22293         * gst/gstregistry.c: (gst_registry_get_feature_list):
22294           Implement this. Makes oggdemux work; decodebin still broken.
22295
22296 2005-09-14  David Schleef  <ds@schleef.org>
22297
22298         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
22299           #316076)
22300         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
22301         * gst/check/Makefile.am:
22302         * libs/gst/controller/Makefile.am:
22303         * libs/gst/dataprotocol/Makefile.am:
22304
22305 2005-09-14  David Schleef  <ds@schleef.org>
22306
22307         * configure.ac: Remove getbits library.  Nothing uses it, and
22308           it should be in something like liboil if someone did want
22309           to use it.
22310         * libs/gst/Makefile.am:
22311         * libs/gst/getbits/Makefile.am:
22312         * libs/gst/getbits/gbtest.c:
22313         * libs/gst/getbits/getbits.c:
22314         * libs/gst/getbits/getbits.h:
22315         * libs/gst/getbits/gstgetbits_generic.c:
22316         * libs/gst/getbits/gstgetbits_i386.s:
22317         * libs/gst/getbits/gstgetbits_inl.h:
22318
22319 2005-09-14  David Schleef  <ds@schleef.org>
22320
22321         * gst/Makefile.am: Dist glib-compat.h
22322
22323 2005-09-14  David Schleef  <ds@schleef.org>
22324
22325         * configure.ac: Remove gst/registries, since it's no longer used.
22326         * gst/registries/Makefile.am:
22327         * gst/registries/gstlibxmlregistry.c:
22328         * gst/registries/gstlibxmlregistry.h:
22329         * gst/registries/gstxmlregistry.c:
22330         * gst/registries/gstxmlregistry.h:
22331         * gst/registries/registrytest.c:
22332
22333 2005-09-14  David Schleef  <ds@schleef.org>
22334
22335         * gst/glib-compat.h:
22336         * gst/gstregistryxml.c:
22337           Convergence is near.  Seriously.
22338
22339 2005-09-14  David Schleef  <ds@schleef.org>
22340
22341         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22342         * gst/glib-compat.h:
22343           Attempt #4 to appease the buildbots.
22344
22345 2005-09-14  David Schleef  <ds@schleef.org>
22346
22347         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22348           Attempt #3.
22349
22350 2005-09-14  David Schleef  <ds@schleef.org>
22351
22352         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22353         Attempt #2.
22354
22355 2005-09-14  David Schleef  <ds@schleef.org>
22356
22357         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
22358           the new functions.
22359
22360 2005-09-14  David Schleef  <ds@schleef.org>
22361
22362         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22363         * gst/glib-compat.h: Add some functions that are in newer versions
22364           of glib than we care to require.
22365         * gst/gstregistryxml.c: Use them.
22366
22367 2005-09-14  David Schleef  <ds@schleef.org>
22368
22369         * po/POTFILES.in: remove gst-register.c
22370
22371 2005-09-14  David Schleef  <ds@schleef.org>
22372
22373         * docs/gst/gstreamer-docs.sgml:
22374         * docs/gst/gstreamer-sections.txt:
22375         * docs/gst/gstreamer.types:
22376         * docs/gst/tmpl/gstelement.sgml:
22377         * docs/gst/tmpl/gstplugin.sgml:
22378         * docs/gst/tmpl/gstpluginfeature.sgml:
22379           Documentation updates for registry changes.
22380
22381 2005-09-14  David Schleef  <ds@schleef.org>
22382
22383         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
22384           because we don't require glib-2.8.
22385
22386 2005-09-14  David Schleef  <ds@schleef.org>
22387
22388         * gst/gstregistryxml.c: Added.  Essentially moved out of the
22389           registries directory.
22390
22391 2005-09-14  David Schleef  <ds@schleef.org>
22392
22393         * check/Makefile.am:
22394         * check/generic/states.c:
22395         * gst/Makefile.am:
22396         * gst/gst.c:
22397         * gst/gst.h:
22398         * gst/gst_private.h:
22399         * gst/gstelementfactory.c:
22400         * gst/gstindex.c:
22401         * gst/gstinfo.c:
22402         * gst/gstplugin.c:
22403         * gst/gstplugin.h:
22404         * gst/gstpluginfeature.c:
22405         * gst/gstpluginfeature.h:
22406         * gst/gstregistry.c:
22407         * gst/gstregistry.h:
22408         * gst/gstregistrypool.c: remove
22409         * gst/gstregistrypool.h: remove
22410         * gst/gsttypefind.c:
22411         * gst/gsttypefindfactory.c:
22412         * gst/gsturi.c:
22413         * tools/Makefile.am:
22414         * tools/gst-compprep.c:
22415         * tools/gst-inspect.c:
22416         * tools/gst-register.c: remove
22417         * tools/gst-xmlinspect.c:
22418           Registry rewrite.  Changes registry from being a file created
22419           by a tool into a simple cache file created automatically by 
22420           libgstreamer.  Removed gst-register (because it's no longer
22421           needed).  Remove registry pools, because we only have one
22422           registry implementation (XML).  Fix up other subsystems as
22423           necessary.
22424
22425 2005-09-13  Michael Smith <msmith@fluendo.com>
22426
22427         * gst/gstconfig.h.in:
22428           Don't Use windows linking attributes for MinGW. Fixes #316157
22429
22430 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22431
22432         * gst/gstutils.c: (set_state_async_thread_func),
22433         (gst_element_set_state_async):
22434           Apparently people think it's better if this function doesn't
22435           try to set the state to whatever state was asked for on the first
22436           call to this function for any object.  Seriously.
22437
22438 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22439
22440         * check/gst/gstpipeline.c: (GST_START_TEST):
22441         * docs/gst/gstreamer-sections.txt:
22442         * gst/gstutils.c: (set_state_async_thread_func),
22443         (gst_element_set_state_async):
22444         * gst/gstutils.h:
22445           add a "gst_element_set_state_async" method that
22446           sets the state and starts a thread to make sure the state
22447           change completes as best as it can
22448
22449 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22450
22451         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22452           codify design+behaviour in testsuite after discussion
22453
22454 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22455
22456         * docs/gst/tmpl/gstelement.sgml:
22457         * docs/manual/appendix-quotes.xml:
22458           add a quote
22459         * gst/gstelement.c: (gst_element_set_state):
22460           add some debug
22461
22462 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
22463
22464         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22465         (gst_base_transform_prepare_output_buf),
22466         (gst_base_transform_handle_buffer):
22467         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
22468         (gst_capsfilter_prepare_buf):
22469           Remove the requirement for sub-classes to call the parent
22470           implementation of prepare_output_buffer with a wrapper function.
22471           
22472         * gst/gsttaglist.h:
22473         * gst/gsttagsetter.h:
22474           Fix #define wrapper
22475
22476 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
22477
22478         * docs/gst/gstreamer-sections.txt:
22479           more doc cleanups
22480
22481 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22482
22483         * docs/gst/gstreamer-sections.txt:
22484         * docs/gst/tmpl/gstelement.sgml:
22485         * docs/gst/tmpl/gstplugin.sgml:
22486         * gst/gstminiobject.c:
22487         * gst/gstvalue.h:
22488           docs now stop throwing warnings
22489
22490 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22491
22492         * docs/gst/gstreamer-sections.txt:
22493         * docs/gst/gstreamer.types:
22494         * docs/gst/tmpl/gstpad.sgml:
22495         * docs/gst/tmpl/gsttypes.sgml:
22496         * gst/base/gstadapter.h:
22497         * gst/base/gstbasesink.h:
22498         * gst/base/gstbasesrc.h:
22499         * gst/gstbin.h:
22500         * gst/gstbuffer.h:
22501         * gst/gstbus.h:
22502         * gst/gstcaps.h:
22503         * gst/gstclock.h:
22504         * gst/gstelement.h:
22505         * gst/gstevent.h:
22506         * gst/gstmessage.h:
22507         * gst/gstpad.h:
22508         * gst/gststructure.c:
22509         * gst/registries/gstlibxmlregistry.h:
22510           various documentation fixes
22511
22512 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22513
22514         * docs/gst/gstreamer-sections.txt:
22515         * docs/gst/tmpl/gstvalue.sgml:
22516           rearrange gstvalue section
22517         * gst/gstutils.c: (gst_element_state_get_name):
22518           NONE -> VOID
22519         * gst/gstvalue.c: (_gst_value_initialize):
22520         * gst/gstvalue.h:
22521           doc updates
22522
22523 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
22524
22525         * check/gst-libs/controller.c:
22526           Header include fix.
22527         * gst/base/gstbasetransform.c:
22528         (gst_base_transform_default_prepare_buf),
22529         (gst_base_transform_handle_buffer):
22530         * gst/base/gstbasetransform.h:
22531           Some more basetransform changes and fixes to enable sub-classes
22532           that modify buffer metadata only.
22533         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
22534         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
22535         (gst_capsfilter_prepare_buf):
22536           If the output pad has fixed allowed caps and input buffers 
22537           don't have any, set the fixed caps on outgoing buffers.
22538
22539 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
22540         * check/elements/identity.c: (GST_START_TEST):
22541           Make the error a little clearer when the test fails because
22542           identity made a copy of the buffer.
22543         * docs/gst/gstreamer-sections.txt:
22544           New symbols in gstbasetransform.h
22545         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22546         (gst_base_transform_init), (gst_base_transform_transform_size),
22547         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22548         (gst_base_transform_default_prepare_buf),
22549         (gst_base_transform_get_unit_size),
22550         (gst_base_transform_buffer_alloc),
22551         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
22552         (gst_base_transform_change_state),
22553         (gst_base_transform_set_passthrough),
22554         (gst_base_transform_set_in_place),
22555         (gst_base_transform_is_in_place):
22556         * gst/base/gstbasetransform.h:
22557           Change BaseTransform to separate in_place operate from same_caps
22558           output. in_place implies that the element can perform the transform
22559           on incoming buffers in-place, even if the caps on the output are
22560           different.
22561           Sub-class elements can now implement special buffer allocation
22562           methods for outgoing buffers if they wish to.
22563           Big documentation addition.
22564         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
22565         * gst/elements/gstelements.c:
22566           Changes for basetransform modifications.
22567         * gst/elements/Makefile.am:
22568         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
22569           Compile fix. Extra debug output.
22570
22571 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22572
22573         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
22574         (gst_pad_suite):
22575           add tests for valid pad naming
22576         * gst/check/gstcheck.c: (gst_check_log_message_func),
22577         (gst_check_log_critical_func):
22578           add ASSERT_WARNING
22579           remove printing of code, it is fragile when the code contains
22580           % and the line number is enough info
22581         * gst/check/gstcheck.h:
22582         * gst/gstpad.c: (gst_pad_template_new):
22583           fix memleaks
22584
22585 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22586
22587         * configure.ac:
22588           say what CHECK flags we use
22589         * docs/libs/gstreamer-libs.types:
22590         * libs/gst/controller/Makefile.am:
22591         * libs/gst/controller/gst-controller.c:
22592         * libs/gst/controller/gst-controller.h:
22593         * libs/gst/controller/gst-helper.c:
22594         * libs/gst/controller/gst-interpolation.c:
22595         * libs/gst/controller/gstcontroller.c:
22596         * libs/gst/controller/gsthelper.c:
22597         * libs/gst/controller/gstinterpolation.c:
22598         * tools/gst-inspect.c: (print_plugin_info):
22599           we don't use dashes in header names
22600
22601 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22602
22603         * check/Makefile.am:
22604         * check/gst/.cvsignore:
22605         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
22606         (gst_pipeline_suite), (main):
22607           adding a test for pipelines and state changes
22608         * gst/gstutils.c: (get_state_func):
22609           add some debugging
22610         * gstreamer.spec.in:
22611           fix up spec file
22612
22613 2005-09-08  Michael Smith <msmith@fluendo.com>
22614
22615         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
22616         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
22617         (gst_file_src_is_seekable), (gst_file_src_get_size),
22618         (gst_file_src_start):
22619         * gst/elements/gstfilesrc.h:
22620           Various fixes for unseekable, unmmapable, and non-normal files, so
22621           that fallback to read() rather than mmap() works.
22622         * gst/gstevent.c: (gst_event_new_newsegment):
22623           Allow newsegment events with segment_start == segment_end, as will
22624           correctly happen if you use filesrc on a zero-size file, for
22625           example.
22626
22627 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
22628
22629         * gst/gstplugin.c: (gst_plugin_load_file):
22630           Call g_module_close when we don't load the module
22631
22632         * gst/registries/gstlibxmlregistry.c:
22633         (gst_xml_registry_get_property):
22634           Port leak fix from 0.8
22635
22636 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
22637
22638         * docs/gst/gstreamer-docs.sgml:
22639         * docs/gst/tmpl/.cvsignore:
22640         * docs/gst/tmpl/gsttrace.sgml:
22641         * docs/gst/tmpl/gsttrashstack.sgml:
22642         * gst/Makefile.am:
22643         * gst/gst.h:
22644         * gst/gstelement.h:
22645         * gst/gstevent.h:
22646         * gst/gstmessage.c:
22647         * gst/gstmessage.h:
22648         * gst/gsttag.c:
22649         * gst/gsttag.h:
22650         * gst/gsttaginterface.c:
22651         * gst/gsttaginterface.h:
22652         * gst/gsttaglist.c:
22653         * gst/gsttaglist.h:
22654         * gst/gsttagsetter.c:
22655         * gst/gsttagsetter.h:
22656         * gst/gsttrace.c:
22657         * gst/gsttrace.h:
22658         * gst/gsttrashstack.c:
22659           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
22660           inlined docs for gsttrace, gsttrashstack
22661
22662 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
22663
22664         * gst/Makefile.am:
22665         * gst/elements/gstbufferstore.h:
22666         * gst/elements/gsttypefindelement.c:
22667         * gst/elements/gsttypefindelement.h:
22668         * gst/gst.h:
22669         * gst/gsttypefind.c:
22670         * gst/gsttypefind.h:
22671         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
22672         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
22673         (gst_type_find_factory_dispose),
22674         (gst_type_find_factory_unload_thyself),
22675         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
22676         (gst_type_find_factory_get_caps),
22677         (gst_type_find_factory_get_extensions),
22678         (gst_type_find_factory_call_function):
22679         * gst/gsttypefindfactory.h:
22680         * gst/registries/gstlibxmlregistry.c:
22681         * gst/registries/gstxmlregistry.c:
22682           splitted gsttypefind into gsttypefind, gsttypefindfactory
22683
22684 2005-09-07  Andy Wingo  <wingo@pobox.com>
22685
22686         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
22687         condition whereby the pad's task function is entered before the
22688         pad_mode variable was set.
22689
22690 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
22691
22692         * gst/gstpad.c: (gst_pad_alloc_buffer):
22693           Catch misbehaving pad_alloc functions that don't
22694           set up caps and do it for them.
22695
22696 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
22697
22698         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22699           test for pipe!=NULL
22700         * docs/gst/tmpl/.cvsignore:
22701         * docs/gst/tmpl/gstmemchunk.sgml:
22702         * docs/gst/tmpl/gstparse.sgml:
22703         * docs/gst/tmpl/gsttaglist.sgml:
22704         * docs/gst/tmpl/gsttagsetter.sgml:
22705         * docs/gst/tmpl/gsttypefind.sgml:
22706         * docs/gst/tmpl/gsttypefindfactory.sgml:
22707         * gst/gstmemchunk.c:
22708         * gst/gstparse.c:
22709         * gst/gsttag.c:
22710         * gst/gsttaginterface.c:
22711         * gst/gsttypefind.c:
22712         * gst/gsttypefind.h:
22713           inlined more docs
22714
22715 === release 0.9.2 ===
22716
22717 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22718
22719         * NEWS:
22720         * RELEASE:
22721         * configure.ac:
22722           releasing 0.9.2, "South"
22723
22724 2005-09-05  Andy Wingo  <wingo@pobox.com>
22725
22726         * gst/registries/gstxmlregistry.h:
22727         * gst/registries/gstxmlregistry.c: Um... resurrect...
22728         
22729         * gst/registries/gstxmlregistry.h:
22730         * gst/registries/gstxmlregistry.c: and update to newer API.
22731         Incidentally they should be a bit faster now that they don't have
22732         to parse the caps.
22733         
22734 2005-09-05  Andy Wingo  <wingo@pobox.com>
22735
22736         * gst/registries/gstxmlregistry.h:
22737         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
22738         replaced by the libxml registry a while back
22739
22740 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22741
22742         * docs/gst/tmpl/gstplugin.sgml:
22743         * gst/elements/gstelements.c:
22744         * gst/gst.c:
22745         * gst/gstplugin.c: (gst_plugin_register_func),
22746         (gst_plugin_desc_copy), (gst_plugin_desc_free),
22747         (gst_plugin_get_source):
22748         * gst/gstplugin.h:
22749         * gst/registries/gstlibxmlregistry.c: (load_plugin),
22750         (gst_xml_registry_save_plugin):
22751         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
22752         (gst_xml_registry_save_plugin):
22753         * tools/gst-inspect.c: (print_plugin_info):
22754           add a "source" plugin description field, to represent the source
22755           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
22756           will set it to PACKAGE, which is automake's idea of the name of
22757           the source project.
22758
22759 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22760
22761         * Makefile.am:
22762         * autogen.sh:
22763         * configure.ac:
22764         * docs/Makefile.am:
22765         * docs/faq/Makefile.am:
22766         * docs/gst/tmpl/gstelement.sgml:
22767         * docs/gst/tmpl/gsttypes.sgml:
22768         * docs/htmlinstall.mak:
22769         * docs/manual/Makefile.am:
22770         * docs/pwg/Makefile.am:
22771           reorganize doc build a little
22772           split out docbook and gtk-doc stuff
22773           have two separate --enable's and enable them through autogen
22774           but disable by default in configure (to be similar to other
22775           projects)
22776         * gstreamer.spec.in:
22777           clean up docs install
22778         * po/af.po:
22779         * po/az.po:
22780         * po/ca.po:
22781         * po/cs.po:
22782         * po/de.po:
22783         * po/en_GB.po:
22784         * po/fr.po:
22785         * po/it.po:
22786         * po/nb.po:
22787         * po/nl.po:
22788         * po/ru.po:
22789         * po/sq.po:
22790         * po/sr.po:
22791         * po/sv.po:
22792         * po/tr.po:
22793         * po/uk.po:
22794         * po/vi.po:
22795           translation updates
22796
22797 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
22798
22799         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
22800           Add comment.
22801           
22802         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22803         (gst_fake_sink_change_state):
22804           Make state change function thread-safe.
22805           
22806         * gst/gstpad.c: (gst_pad_alloc_buffer):
22807           Set offset on generic buffer allocated by fallback.
22808
22809 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
22810
22811         * docs/gst/gstreamer-sections.txt:
22812         * docs/gst/tmpl/gstelement.sgml:
22813         * gst/gstpad.c:
22814         * libs/gst/controller/gst-controller.c:
22815         (gst_controlled_property_set_interpolation_mode),
22816         (gst_controlled_property_new),
22817         (gst_controller_find_controlled_property):
22818          run the wingo-magic script against the docs
22819
22820 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
22821
22822         * docs/gst/gstreamer-docs.sgml:
22823         * docs/gst/gstreamer-sections.txt:
22824         * docs/gst/tmpl/.cvsignore:
22825         * docs/gst/tmpl/gstelementdetails.sgml:
22826         * docs/gst/tmpl/gstelementfactory.sgml:
22827         * gst/gst.c:
22828         * gst/gstbus.c:
22829         * gst/gstelementfactory.c:
22830         * gst/gstelementfactory.h:
22831           merged elementdetails docs into elementfactory docs
22832           inlined both
22833
22834 2005-09-02  Andy Wingo  <wingo@pobox.com>
22835
22836         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
22837         consider this enum an enum and not a flags.
22838
22839 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
22840
22841         * docs/gst/gstreamer-docs.sgml:
22842         * docs/gst/tmpl/.cvsignore:
22843         * docs/gst/tmpl/gstghostpad.sgml:
22844         * docs/gst/tmpl/gstiterator.sgml:
22845         * docs/gst/tmpl/gstmacros.sgml:
22846         * docs/gst/tmpl/gstrealpad.sgml:
22847         * docs/gst/tmpl/gstregistry.sgml:
22848         * docs/gst/tmpl/gstregistrypool.sgml:
22849         * docs/gst/tmpl/gststructure.sgml:
22850         * docs/gst/tmpl/gstsystemclock.sgml:
22851         * docs/gst/tmpl/gsttrace.sgml:
22852         * gst/gstghostpad.c:
22853         * gst/gstmacros.h:
22854         * gst/gstmemchunk.c:
22855         * gst/gstmemchunk.h:
22856         * gst/gstqueue.c:
22857         * gst/gstregistry.c:
22858         * gst/gstregistrypool.c:
22859         * gst/gststructure.c:
22860         * gst/gstsystemclock.c:
22861           more docs inlined
22862
22863 2005-09-02  Andy Wingo  <wingo@pobox.com>
22864
22865         * gst/gstelement.h (GstState): Renamed from GstElementState,
22866         changed to be a normal enum instead of flags.
22867         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
22868         munged to be GST_STATE_CHANGE_*.
22869         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
22870         work with the new state representation.
22871         (GstStateChange): New enumeration of possible state transitions.
22872         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
22873         (GstElementClass::change_state): Pass the GstStateChange along as
22874         an argument. Helps language bindings, so they don't have to use
22875         tricky lock-needing macros like GST_STATE_CHANGE ().
22876
22877         * scripts/update-states (file): New script. Run it on a file to
22878         update it for state naming and API changes. Updates files in
22879         place.
22880
22881         * All files updated for the new API.
22882
22883 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22884
22885         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
22886         * gst/gstutils.c: (gst_util_set_value_from_string),
22887         (gst_util_set_object_arg):
22888           fix a bunch of unchecked return values
22889         * tools/gst-complete.c: (main):
22890         * gstreamer.spec.in:
22891           clean up a little
22892
22893 2005-09-01  Wim Taymans  <wim@fluendo.com>
22894
22895         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22896         (gst_base_sink_event), (gst_base_sink_do_sync),
22897         (gst_base_sink_handle_event):
22898         * gst/base/gstbasesink.h:
22899         Handle newsegments more correctly.
22900
22901         * gst/gstbus.c:
22902         Fix docs.
22903
22904         * gst/gstevent.c: (gst_event_new_newsegment):
22905         A newsegment cannot have a start_time of -1
22906
22907 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
22908
22909         * win32/gstenumtypes.c:
22910         * win32/gstenumtypes.h:
22911           Update
22912
22913 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22914
22915         * libs/gst/controller/gst-controller.c:
22916         (gst_controlled_property_set_interpolation_mode),
22917         (gst_controlled_property_new):
22918          fixed boolean again
22919
22920 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
22921
22922         * docs/faq/gst-uninstalled:
22923           add -good
22924         * gst/gstevent.c:
22925         * gst/gstevent.h:
22926           remove wrong docs
22927         * gst/gstutils.c: (gst_element_link_filtered):
22928         * gst/gstutils.h:
22929           add gst_element_link_filtered
22930
22931 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22932
22933         * docs/gst/gstreamer-docs.sgml:
22934         * docs/gst/gstreamer-sections.txt:
22935         * docs/gst/tmpl/.cvsignore:
22936         * docs/gst/tmpl/gsterror.sgml:
22937         * docs/gst/tmpl/gstfilter.sgml:
22938         * docs/gst/tmpl/gsturihandler.sgml:
22939         * docs/gst/tmpl/gsturitype.sgml:
22940         * docs/gst/tmpl/gstutils.sgml:
22941         * docs/gst/tmpl/gstxml.sgml:
22942         * gst/gsterror.c:
22943         * gst/gsterror.h:
22944         * gst/gstfilter.c:
22945         * gst/gsturi.c:
22946         * gst/gsturitype.c:
22947         * gst/gstutils.c:
22948         * gst/gstxml.c:
22949           inlined more docs, fixed double id-ref
22950
22951 2005-08-31  Wim Taymans  <wim@fluendo.com>
22952
22953         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22954         (gst_base_transform_handle_buffer):
22955         Passthrough elements don't need the caps as they don't care.
22956
22957 2005-08-31  Wim Taymans  <wim@fluendo.com>
22958
22959         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22960         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
22961         Don't leak refcounts on buffers.
22962
22963 2005-08-31  Wim Taymans  <wim@fluendo.com>
22964
22965         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
22966         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22967         (gst_base_transform_chain), (gst_base_transform_change_state):
22968         * gst/base/gstbasetransform.h:
22969         Handle the case where we are not negotiated more gracefully.
22970
22971 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
22972
22973         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
22974         (gst_file_src_map_region):
22975           Set READONLY flag on mmap'ed buffers, otherwise
22976           gst_buffer_make_writable() won't work properly (#314708).
22977
22978 2005-08-31  Wim Taymans  <wim@fluendo.com>
22979
22980         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
22981         passthrough elements can even do inplace on non writable
22982         buffers (as they don't touch them).
22983
22984 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22985
22986         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22987         (gst_test_mono_source_set_property),
22988         (gst_test_mono_source_class_init), (GST_START_TEST),
22989         (gst_controller_suite):
22990           more tests (hehe I have the most)
22991         * gst/gstbus.c:
22992           describe popping messages whenusing mulltiple sources
22993         * libs/gst/controller/gst-controller.c:
22994         (gst_controlled_property_set_interpolation_mode),
22995         (gst_controlled_property_new):
22996         * libs/gst/controller/gst-controller.h:
22997         * libs/gst/controller/gst-interpolation.c:
22998           implement boolean properties
22999
23000 2005-08-31  Wim Taymans  <wim@fluendo.com>
23001
23002         * gst/gstminiobject.c: (gst_mini_object_ref):
23003         Cannot assert that the refcount has to be positive
23004         since a disposed object can be resurrected.
23005
23006 2005-08-31  Wim Taymans  <wim@fluendo.com>
23007
23008         * gst/gstpad.c: (gst_pad_init):
23009         Revert change, need to first fix badly behaving 
23010         apps.
23011
23012 2005-08-30  Wim Taymans  <wim@fluendo.com>
23013
23014         * check/elements/fakesrc.c: (setup_fakesrc):
23015         * check/elements/identity.c: (setup_identity):
23016         Activate pads before using them.
23017
23018 2005-08-30  Wim Taymans  <wim@fluendo.com>
23019
23020         * gst/base/gstadapter.c: (gst_adapter_flush):
23021         Flushing out 0 bytes is ok for this function.
23022
23023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23024         no newsegment gives a warning and sets the start/stop to 
23025         invalid.
23026
23027         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
23028         (gst_base_transform_set_passthrough):
23029         Some debug info.
23030
23031         * gst/gstminiobject.c: (gst_mini_object_ref):
23032         Check refcount here too.
23033
23034         * gst/gstpad.c: (gst_pad_init):
23035         Pads are initially flushing and refusing data.
23036
23037         * gst/gstutils.c: (gst_element_link_pads_filtered):
23038         When adding a capsfilter element make sure it has the
23039         same state as the parent bin.
23040
23041 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23042
23043         * docs/gst/tmpl/.cvsignore:
23044         * docs/gst/tmpl/gstformat.sgml:
23045         * docs/gst/tmpl/gstversion.sgml:
23046         * gst/gstbus.h:
23047         * gst/gstformat.c:
23048         * gst/gstformat.h:
23049         * gst/gstversion.h.in:
23050           more docs and two more inlined
23051
23052 2005-08-30  Wim Taymans  <wim@fluendo.com>
23053
23054         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
23055         Don't sync to clock.
23056
23057 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23058
23059         * docs/gst/gstreamer-sections.txt:
23060           ultral33t func10ns deserve to appear in the docs actually
23061         * docs/gst/tmpl/.cvsignore:
23062         * docs/gst/tmpl/gstcompat.sgml:
23063         * docs/gst/tmpl/gstconfig.sgml:
23064         * gst/check/gstcheck.c:
23065         * gst/gstcompat.h:
23066         * gst/gstconfig.h.in:
23067           inlined more docs
23068
23069 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23070
23071         * docs/gst/tmpl/.cvsignore:
23072         * docs/gst/tmpl/gstquery.sgml:
23073         * docs/gst/tmpl/gstutils.sgml:
23074         * gst/gstquery.c:
23075         * gst/gstquery.h:
23076           inlined and extended docs
23077
23078 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23079
23080         * check/gst-libs/controller.c: (GST_START_TEST),
23081         (gst_controller_suite):
23082           more tests
23083         * docs/gst/tmpl/gstutils.sgml:
23084         * docs/libs/gstreamer-libs-sections.txt:
23085         * docs/libs/tmpl/gstdataprotocol.sgml:
23086           include path fixes
23087         * examples/controller/audio-example.c: (main):
23088           controller example works now
23089         * gst/gstclock.h:
23090           doc fixes
23091         * tools/gst-inspect.c: (print_element_properties_info):
23092           show param spec flags
23093
23094 2005-08-29  Andy Wingo  <wingo@pobox.com>
23095
23096         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
23097
23098 2005-08-28  Andy Wingo  <wingo@pobox.com>
23099
23100         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
23101         as having two arguments instead of just one. Allows superclasses
23102         to access information on subclasses -- see the terrible for() loop
23103         in gtype.c:g_type_create_instance for the reason why. All callers
23104         changed.
23105
23106 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23107
23108         * docs/design/part-messages.txt:
23109           update info
23110         * docs/gst/tmpl/.cvsignore:
23111         * docs/gst/tmpl/gstcaps.sgml:
23112         * docs/gst/tmpl/gstclock.sgml:
23113         * gst/gstbus.c:
23114         * gst/gstcaps.c:
23115         * gst/gstcaps.h:
23116         * gst/gstclock.c:
23117         * gst/gstclock.h:
23118         * gst/gstmessage.c:
23119           added descriptions for bus and message
23120           inline caps and clock docs
23121
23122 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23123
23124         * gst/gstmessage.c:
23125         * gst/gstmessage.h:
23126           doc fixes
23127
23128 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23129
23130         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23131           fix div-by-zero
23132
23133 2005-08-26  Andy Wingo  <wingo@pobox.com>
23134
23135         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
23136         element_set_state's return val.
23137         (test_2_elements): Add test that's been disabled for months.
23138
23139         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
23140         can-activate-pull properties.
23141
23142         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
23143         can-activate-pull properties. Implement is_seekable so fakesrc can
23144         operate in pull mode.
23145
23146         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
23147         properties.
23148         (gst_base_sink_activate, gst_base_sink_activate_pull)
23149         (gst_base_sink_activate_push): Make activation mode choosing work.
23150         Cleanups.
23151         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
23152         is right. Make pull mode work. Post an eos before pausing in pull
23153         mode.
23154         (gst_base_sink_change_state): Pay attention to the core's
23155         change_state() return val.
23156         
23157         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
23158         has-getrange properties. Cleanups.
23159         
23160         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
23161         has_getrange and replace with can_activate_pull and
23162         can_activate_push.
23163
23164         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
23165         locking comments. Remove has_loop, has_chain and replace with
23166         can_activate_pull and can_activate_push.
23167
23168 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
23169
23170         * configure.ac:
23171         * examples/Makefile.am:
23172         * examples/metadata/Makefile.am:
23173         * examples/metadata/read-metadata.c: (message_loop),
23174         (have_pad_handler), (make_pipeline), (print_tag), (main):
23175           Add metadata reading example that loops over a list of filenames,
23176           dumping any tags found.
23177
23178         * gst/gstbus.c: (gst_bus_dispose):
23179         * gst/gstelement.c: (gst_element_dispose):
23180           Release a few potentially-held references in dispose.
23181
23182 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23183
23184         * docs/gst/tmpl/gstminiobject.sgml:
23185           do *not* add tmpl/*.sgml files to CVS!
23186
23187 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23188
23189         * libs/gst/bytestream/.cvsignore:
23190         * libs/gst/bytestream/Makefile.am:
23191         * libs/gst/bytestream/adapter.c:
23192         * libs/gst/bytestream/adapter.h:
23193         * libs/gst/bytestream/bytestream.c:
23194         * libs/gst/bytestream/bytestream.h:
23195         * libs/gst/bytestream/filepad.c:
23196         * libs/gst/bytestream/filepad.h:
23197           removing obsolete files
23198
23199 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23200
23201         * docs/gst/gstreamer-docs.sgml:
23202         * docs/libs/gstreamer-libs-docs.sgml:
23203           disabed additional index entries again, as this makes docs-gen just
23204           slow and they aren't useful yet
23205         * docs/libs/gstreamer-libs-sections.txt:
23206           little -section.txt cleanup for libs
23207
23208 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23209
23210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23211         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
23212           fix up some debugging
23213         (gst_base_transform_get_unit_size),
23214         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23215         (gst_base_transform_handle_buffer):
23216         * gst/base/gstbasetransform.h:
23217           handle and store timed NEWSEGMENT events so that subclasses that
23218           calculate time by counting samples have a segment_start time they
23219           need to add to their timestamps - see audioresample
23220
23221 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23222
23223         * gst/gstbin.h:
23224           removed ';' from the end of macro defs
23225         * docs/gst/gstreamer-docs.sgml:
23226         * docs/gst/gstreamer-sections.txt:
23227         * docs/gst/tmpl/.cvsignore:
23228         * gst/gstbus.h:
23229         * gst/gstelement.c: (gst_element_class_init),
23230         (gst_element_set_state), (activate_pads),
23231         (gst_element_save_thyself):
23232         * gst/gstevent.c: (gst_event_new_newsegment):
23233         * gst/gstevent.h:
23234         * gst/gstiterator.c:
23235         * gst/gstiterator.h:
23236         * gst/gstpad.c:
23237         * gst/gstprobe.h:
23238         * gst/gstutils.c: (gst_pad_query_convert):
23239         * gst/gstutils.h:
23240           fixed parameter name mismatches between source, header and docs
23241           added some more docs, resolved the last batch of unused elements in
23242           docs (now someone needs to doc them)
23243
23244 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23245
23246         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
23247         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
23248           don't walk through the plugins backwards.  Where is all this
23249           reversed logic coming from ?
23250
23251 2005-08-25  Wim Taymans  <wim@fluendo.com>
23252
23253         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23254         (gst_base_transform_transform_size),
23255         (gst_base_transform_configure_caps),
23256         (gst_base_transform_get_unit_size),
23257         (gst_base_transform_buffer_alloc),
23258         (gst_base_transform_change_state):
23259         * gst/base/gstbasetransform.h:
23260         Cache caps unit_size.
23261         Make sure we cannot negotiate up and downstream at the
23262         same time.
23263
23264 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23265
23266         * gst/gst.c: (init_pre), (init_post):
23267           register the installed plugin path after the env var
23268         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
23269         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
23270           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
23271           directories, so the tests can prefer uninstalled over installed
23272
23273 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23274
23275         * gst/base/gstbasetransform.h:
23276           comment
23277         * gst/gstpad.c:
23278           add to docs
23279
23280 2005-08-25  Wim Taymans  <wim@fluendo.com>
23281
23282         * gst/gstbin.c: (bin_bus_handler):
23283         Be a bit more conservative about the posted message.
23284         
23285         * gst/gstbus.c: (gst_bus_post):
23286         Some cleanups, warn wrong return values.
23287
23288 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
23289
23290         * check/gst/gstbin.c: (GST_START_TEST):
23291         * gst/gstbin.c: (bin_bus_handler):
23292         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23293         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23294         (gst_message_new_warning), (gst_message_new_tag),
23295         (gst_message_new_state_changed), (gst_message_new_segment_start),
23296         (gst_message_new_segment_done), (gst_message_new_custom):
23297         * gst/gstmessage.h:
23298         * tools/gst-launch.c: (event_loop):
23299         * tools/gst-md5sum.c: (event_loop):
23300           Revert unpopular change for GST_MESSAGE_SRC to GObject.
23301
23302 2005-08-25  Wim Taymans  <wim@fluendo.com>
23303
23304         * check/generic/states.c: (GST_START_TEST):
23305         Cleanup can be done at the end.
23306
23307         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
23308         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23309         (gst_task_get_state), (gst_task_start), (gst_task_pause):
23310         Oh boy.. Thanks for finding this, Thomas. 
23311
23312 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
23313
23314         * docs/gst/gstreamer.types:
23315           added missing types
23316
23317 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
23318
23319         * docs/gst/gstreamer-docs.sgml:
23320         * docs/gst/gstreamer-sections.txt:
23321         * docs/gst/tmpl/.cvsignore:
23322         * gst/gstbin.c:
23323         * gst/gstiterator.c:
23324         * gst/gstutils.c:
23325         * gst/registries/gstxmlregistry.h:
23326           added missing classes and symbols (123 more to go)
23327           removed removed symbols from section file
23328           fixed many doc-comments
23329
23330 2005-08-24  Wim Taymans  <wim@fluendo.com>
23331
23332         * check/generic/states.c: (GST_START_TEST):
23333         Make sure all tasks are stopped.
23334
23335         * check/gst/gstbin.c: (GST_START_TEST):
23336         Unref after usage for proper valgrinding.
23337
23338         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
23339         Really wait for the task to stop before destroying the
23340         mutex.
23341
23342         * gst/gstqueue.c: (gst_queue_sink_activate_push),
23343         (gst_queue_src_activate_push):
23344         Small cleanups. Don't stop the task when we did not start
23345         it.
23346
23347         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
23348         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23349         (gst_task_get_state), (gst_task_start), (gst_task_pause),
23350         (gst_task_join):
23351         * gst/gsttask.h:
23352         Protect the stream lock with the object lock.
23353         Disallow setting the stream lock when running.
23354         Add cleanup_all to wait for the threadpool to finish.
23355         Remove code to autoallocate a mutex if none was provided.
23356         Add _join() to wait for a task to stop.
23357         Protect the thread pool with a global lock.
23358
23359 2005-08-24  Wim Taymans  <wim@fluendo.com>
23360
23361         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23362         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23363         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
23364         * gst/base/gstbasesink.h:
23365         Handle newsegment events correctly.
23366         Drop buffers out of the segment range.
23367
23368 2005-08-22  Andy Wingo  <wingo@pobox.com>
23369
23370         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
23371         macro, implements an interface and gstimplementsinterface for a
23372         new type.
23373
23374 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23375
23376         * check/Makefile.am:
23377         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
23378           add a test that does a bunch of state changes on elements
23379           needs some fixing for valgrind
23380         * check/states/sinks.c: (gst_object_suite):
23381           whitespace
23382         * gst/gstcaps.h:
23383           add prototype for gst_caps_is_equal_fixed
23384         * gst/gstplugin.c:
23385         * gst/gstregistrypool.c:
23386           doc fixes
23387
23388 2005-08-24  Andy Wingo  <wingo@pobox.com>
23389
23390         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
23391         convert a negative value. Doesn't make much sense. Mostly this is
23392         here to force callers to ensure -1 maps to -1.
23393
23394 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
23395
23396         * docs/pwg/advanced-types.xml:
23397           Well done to Michael for catching my deliberate introduction
23398           of this spelling mistake. 
23399         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
23400         * gst/gstelement.h:
23401           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
23402           unlink pads before removing the element from the bin.
23403
23404 2005-08-24  Andy Wingo  <wingo@pobox.com>
23405
23406         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
23407         the same thing as GST_DEBUG=*:4.
23408         (parse_debug_level, parse_debug_category): New helper parsers.
23409
23410 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23411
23412         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23413         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
23414         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
23415         (gst_base_transform_buffer_alloc),
23416         (gst_base_transform_handle_buffer):
23417           use gboolean return values and pointers to size so we can use the
23418           full GST_BUFFER_SIZE range (guint) for buffer sizes
23419           use GstPadDirection for transform_caps
23420         * gst/base/gstbasetransform.h:
23421           rename get_size to get_unit_size since that's what it is
23422         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
23423           use GstPadDirection for transform_caps
23424         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23425         * gst/gstutils.h:
23426           cleanup and debugging
23427
23428 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
23429
23430         * gst/gstelement.c: (gst_element_class_init),
23431         (gst_element_set_state), (activate_pads),
23432         (gst_element_save_thyself):
23433         * tools/gst-compprep.c: (main):
23434         * tools/gst-inspect.c: (print_element_properties_info):
23435         * tools/gst-xmlinspect.c: (print_element_properties):
23436           Fixed long standing mem-leak
23437
23438 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
23439
23440         * check/gst/gstbin.c: (GST_START_TEST):
23441         * gst/gstbin.c: (bin_bus_handler):
23442         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23443         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23444         (gst_message_new_warning), (gst_message_new_tag),
23445         (gst_message_new_state_changed), (gst_message_new_segment_start),
23446         (gst_message_new_segment_done), (gst_message_new_custom):
23447         * gst/gstmessage.h:
23448         * tools/gst-launch.c: (event_loop):
23449         * tools/gst-md5sum.c: (event_loop):
23450           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
23451           that applications can sensibly post custom messages with references
23452           to their own objects.
23453
23454 2005-08-24  Andy Wingo  <wingo@pobox.com>
23455
23456         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
23457         already.
23458
23459 2005-08-24  Wim Taymans  <wim@fluendo.com>
23460
23461         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23462         (gst_base_transform_transform_caps),
23463         (gst_base_transform_transform_size),
23464         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23465         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23466         (gst_base_transform_handle_buffer):
23467         * gst/base/gstbasetransform.h:
23468         Many fixes and new features added by Thomas. Can now also do
23469         transforms with variable sizes and a custom fixate_caps function.
23470
23471 2005-08-24  Wim Taymans  <wim@fluendo.com>
23472
23473         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23474         Some debugging.
23475
23476         * gst/gstclock.h:
23477         Cast to ClockTime before formatting to time.
23478
23479         * gst/gstutils.h:
23480         Cleanups.
23481
23482 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
23483
23484         * check/gst-libs/controller.c: (GST_START_TEST),
23485         (gst_controller_suite):
23486         * docs/gst/tmpl/gstcaps.sgml:
23487         * docs/gst/tmpl/gstghostpad.sgml:
23488         * docs/gst/tmpl/gstquery.sgml:
23489         * docs/gst/tmpl/gstutils.sgml:
23490         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
23491         (gst_object_sink_values), (gst_object_get_value_arrays),
23492         (gst_object_get_value_array):
23493           gracefully handle helper method calls to objects that are not beeing
23494           controlled, added test case for that          
23495
23496 2005-08-23  Wim Taymans  <wim@fluendo.com>
23497
23498         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
23499         (gst_event_new_newsegment), (gst_event_parse_newsegment),
23500         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
23501         (gst_event_parse_qos), (gst_event_new_seek),
23502         (gst_event_parse_seek):
23503         * gst/gstevent.h:
23504         Some more debugging output and doc cleanups.
23505
23506         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23507         Fix possible deadlock.
23508
23509 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
23510
23511         * docs/gst/gstreamer-docs.sgml:
23512         * docs/gst/gstreamer-sections.txt:
23513         * docs/gst/gstreamer.types:
23514         * docs/gst/tmpl/.cvsignore:
23515         * gst/gstbin.h:
23516         * gst/gstbus.c:
23517         * gst/gstelement.c:
23518         * gst/gstevent.h:
23519           added 100 symbols from gstreamer-unused.txt to the right sections
23520           fixed more broken comments
23521           added GstBus to docs
23522
23523 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
23524
23525         * docs/gst/gstreamer-sections.txt:
23526         * docs/gst/tmpl/.cvsignore:
23527         * docs/gst/tmpl/gstbin.sgml:
23528         * docs/gst/tmpl/gstbuffer.sgml:
23529         * gst/base/gstbasesrc.c:
23530         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
23531         * gst/gstbuffer.c:
23532         * gst/gstbuffer.h:
23533         * tools/gst-launch.1.in:
23534           inlined more doc comments, added missing comments and fixed comments
23535           fixed typos
23536
23537 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23538
23539         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23540           some debugging
23541         * gst/gstcaps.h:
23542           whitespace fixes
23543         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
23544           more debugging
23545         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
23546         * gst/gststructure.h:
23547           add a fixate function for booleans; add a FIXME that these func
23548           names should probably be gst_structure_fixate_*
23549
23550 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
23551
23552         * docs/gst/gstreamer-docs.sgml:
23553         * docs/gst/gstreamer-sections.txt:
23554         * gst/Makefile.am:
23555         * gst/gstbin.c: (gst_bin_get_type),
23556         (gst_bin_child_proxy_get_child_by_index),
23557         (gst_bin_child_proxy_get_children_count),
23558         (gst_bin_child_proxy_init):
23559         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23560         (gst_child_proxy_get_child_by_index),
23561         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
23562         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
23563         (gst_child_proxy_get), (gst_child_proxy_set_property),
23564         (gst_child_proxy_set_valist), (gst_child_proxy_set),
23565         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
23566         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
23567         * gst/gstchildproxy.h:
23568         * gst/parse/grammar.y:
23569         * tools/gst-inspect.c: (print_interfaces),
23570         (print_element_properties_info), (print_element_info):
23571           ported gstchildproxy over from 0.8
23572           ported gst-inspect fixes and enhancements over from 0.8
23573
23574 2005-08-22  Wim Taymans  <wim@fluendo.com>
23575
23576         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23577         (gst_base_transform_handle_buffer):
23578         Also call the transform function if we have ANY caps.
23579
23580         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
23581         Fix debug info.
23582
23583 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
23584
23585         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
23586           Don't pretend to handle seek events if the source is not seekable
23587
23588 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
23589
23590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23591           Remove extra parameter to debug output
23592
23593         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23594         (gst_base_src_do_seek), (gst_base_src_activate_push):
23595           Fix seek event handling.
23596
23597         * gst/gstpipeline.c: (gst_pipeline_change_state):
23598         * gst/gstqueue.c: (gst_queue_handle_sink_event),
23599         (gst_queue_src_activate_push):
23600           Don't start the src pad task on FLUSH_STOP if the pad
23601           isn't linked.
23602           Debug changes.
23603
23604 2005-08-22  Wim Taymans  <wim@fluendo.com>
23605
23606         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
23607         Added check for gst_static_caps_get() refcounting.
23608
23609 2005-08-22  Wim Taymans  <wim@fluendo.com>
23610
23611         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
23612         Make _static_caps_get() refcounting sane.
23613         
23614         * gst/gstelement.c: (gst_element_set_state):
23615         Add g_return_val_if_fail() to protect against segfaults.
23616
23617 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
23618
23619         * docs/gst/tmpl/gstevent.sgml:
23620         * gst/gstevent.c:
23621         * gst/gstevent.h:
23622           inlined remaining docs, added missing doc comments
23623
23624 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23625
23626         * check/gst/gstbin.c: (GST_START_TEST):
23627           since we don't know when preroll is done, use refcount range
23628           check for the sink
23629         * gst/check/gstcheck.h:
23630           add macro for checking refcount range
23631
23632 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23633
23634         * check/Makefile.am:
23635           clean up environment for when registry gets built versus
23636           when actual tests are run; valgrind seems to not report
23637           leaks if GST_PLUGIN_PATH is set to some specific values
23638         * check/gst/gstbin.c: (GST_START_TEST):
23639           add more refcounting checks; maybe this exposes a
23640           preroll lock bug ?
23641         * common/check.mak:
23642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23643         * gst/check/gstcheck.h:
23644         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
23645         (gst_bin_change_state):
23646         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
23647           add/fix debugging/whitespace
23648
23649 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
23650
23651         * check/gst/gstevent.c: (event_probe), (test_event),
23652         (GST_START_TEST):
23653          Er, don't call gst_bin_watch_for_state_change you idiot.
23654
23655 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
23656
23657         * check/Makefile.am:
23658           Use CHECK_CFLAGS and CHECK_LIBS
23659         * check/gst/gstevent.c: (event_probe), (test_event),
23660         (GST_START_TEST):
23661           Don't leak events.
23662         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23663         (gst_base_src_start), (gst_base_src_stop),
23664         (gst_base_src_activate_push), (gst_base_src_activate_pull),
23665         (gst_base_src_change_state):
23666           Sprinkle gst_base_src_stop liberally around error paths to fix
23667           problems reusing a source after failed state changes.
23668         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23669         (helper_find_suggest), (gst_type_find_helper):
23670           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
23671         * gst/gstevent.h:
23672         * docs/gst/tmpl/gstevent.sgml:
23673           Migrate part of the docs from the SGML file. Wait for ensonic to
23674           tell me how I did it wrong ;)
23675         * tools/gst-typefind.c: (main):
23676           Extra robustness to state changes between files.
23677
23678 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23679
23680         * check/Makefile.am:
23681           don't valgrind the controller test - it's leaking - Stefan, HELP
23682         * gst/check/gstcheck.c: (gst_check_message_error),
23683         (gst_check_chain_func), (gst_check_setup_element),
23684         (gst_check_teardown_element), (gst_check_setup_src_pad),
23685         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
23686         (gst_check_teardown_sink_pad):
23687         * gst/check/gstcheck.h:
23688           add a bunch of methods to set up elements, and src and sink pads
23689         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
23690         * check/elements/identity.c: (setup_identity), (cleanup_identity),
23691         (GST_START_TEST):
23692           use them
23693         * gst/gstmessage.c:
23694         * gst/gsttag.h:
23695           whitespace/doc fixes
23696
23697 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23698
23699         * gst/gstelement.h:
23700           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
23701           be handled by the application and not always printed as well
23702
23703 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23704
23705         * check/Makefile.am:
23706           set GST_TOOLS_DIR
23707         * gst/check/gstcheck.c: (gst_check_message_error):
23708         * gst/check/gstcheck.h:
23709           add a fail_unless_equals_int
23710           add fail_unless for error messages
23711
23712 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23713
23714         * check/Makefile.am:
23715         * check/gst.supp:
23716         * common/Makefile.am:
23717         * common/check.mak:
23718         * common/gst.supp:
23719           factor out some of the common stuff so we can use it
23720
23721 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23722
23723         * check/Makefile.am:
23724         * check/gst/gstiterator.c: (GST_START_TEST):
23725         * check/gst/gstsystemclock.c: (GST_START_TEST),
23726         (gst_systemclock_suite):
23727         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
23728         * gst/gstclock.c:
23729           valgrind more tests
23730
23731 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23732
23733         * check/elements/.cvsignore:
23734         * check/elements/gstfakesrc.c:
23735           rename to name of element
23736         * check/elements/identity.c: (chain_func), (event_func),
23737         (setup_identity), (cleanup_identity), (GST_START_TEST),
23738         (identity_suite), (main):
23739           add a test for identity
23740         * check/Makefile.am:
23741         * pkgconfig/Makefile.am:
23742         * pkgconfig/gstreamer-check.pc.in:
23743         * pkgconfig/gstreamer-check-uninstalled.pc.in:
23744         * gst/check:
23745         * gst/Makefile.am:
23746         * configure.ac:
23747           move the check stuff to a library that gets installed
23748         * check/gst-libs/controller.c: (GST_START_TEST):
23749         * check/gst-libs/gdp.c:
23750         * check/gst/gst.c: (GST_START_TEST):
23751         * check/gst/gstbin.c:
23752         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23753         * check/gst/gstbus.c:
23754         * check/gst/gstcaps.c: (GST_START_TEST):
23755         * check/gst/gstelement.c:
23756         * check/gst/gstghostpad.c:
23757         * check/gst/gstiterator.c:
23758         * check/gst/gstmessage.c:
23759         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
23760         * check/gst/gstobject.c:
23761         * check/gst/gstpad.c: (GST_START_TEST):
23762         * check/gst/gststructure.c: (GST_START_TEST):
23763         * check/gst/gstsystemclock.c: (GST_START_TEST),
23764         (gst_systemclock_suite):
23765         * check/gst/gsttag.c: (gst_tag_suite):
23766         * check/gst/gstvalue.c:
23767         * check/pipelines/cleanup.c:
23768         * check/pipelines/simple_launch_lines.c:
23769         * check/states/sinks.c:
23770           change include statement
23771
23772         * docs/gst/gstreamer-sections.txt:
23773         * docs/gst/tmpl/gstpad.sgml:
23774           document more pad stuff
23775         * gst/gstminiobject.c: (gst_mini_object_ref),
23776         (gst_mini_object_unref):
23777           debug refcounting
23778
23779 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
23780
23781         * docs/gst/tmpl/gst.sgml:
23782         * gst/gst.c:
23783           eliminate another tmpl file, fix spelling in the long-description
23784
23785 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23786
23787         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23788         (test_event), (timediff), (gstevents_suite):
23789           Should fix build on 64-bit arch's
23790
23791 2005-08-18  Andy Wingo  <wingo@pobox.com>
23792
23793         Make sure that when a pipeline goes to PLAYING, that data has
23794         actually hit the sink.
23795
23796         * check/states/sinks.c (test_sink): A sink that doesn't get any
23797         data shouldn't return SUCCESS for going to either PLAYING or
23798         PAUSED. Test also the return values on the way back down.
23799
23800         * gst/gstelement.c (gst_element_set_state): When changing the
23801         state of an element currently changing state asynchronously, go to
23802         lost-state after commiting the pending state. Makes future calls
23803         to get_state continue to return ASYNC.
23804
23805         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
23806         ASYNC when going to PLAYING if we still don't have preroll, as can
23807         happen with live sources.
23808
23809 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23810
23811         * docs/pwg/advanced-types.xml:
23812           Hack long paragraph into 2 chunks as a workaround for buggy
23813           jadetex version in sid and breezy that loops infinitely and
23814           eats all RAM.
23815
23816 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23817
23818         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23819         (test_event), (timediff), (gstevents_suite):
23820           Provide more error margin in clock measurements to allow for 
23821           g_get_current_time inaccuracies.
23822
23823 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23824
23825         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23826         (test_event), (timediff), (gstevents_suite):
23827            Fix error message output so I might be able to tell why the
23828            test works here but fails on the build farm.
23829
23830 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23831
23832         * check/Makefile.am:
23833         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23834         (test_event), (timediff), (gstevents_suite), (main):
23835           I wrote a test!
23836
23837         * docs/design/part-seeking.txt:
23838           Spelling correction
23839
23840         * docs/gst/tmpl/gstevent.sgml:
23841         * docs/gst/tmpl/gstfakesrc.sgml:
23842           Docs updates.
23843
23844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23845           Treat a buffer-without-newsegment the same as a receiving 
23846           a newsegment not in time format, and disable syncing to the clock
23847           with a warning.
23848
23849         * gst/gstbus.c: (gst_bus_set_sync_handler):
23850           Assert if anyone tries to replace the existing sync_handler for bus, 
23851           as only the owner should be setting it.
23852
23853         * gst/gstevent.h:
23854           Have a fixed set of custom event enums with events identified by
23855           their structure name (as in 0.8), rather than a free-for-all
23856           allowing collisions between enum values from different plugins.
23857
23858         * gst/gstpad.c: (gst_pad_class_init):
23859           Docs change.
23860           
23861         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23862           Handle out-of-band downstream events from the sending thread.
23863
23864 2005-08-17  Andy Wingo  <wingo@pobox.com>
23865
23866         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
23867         play-timeout==0 to mean no timeout at all. In that case, don't
23868         bother with a get_state or a warning, just return directly, even
23869         if it's ASYNC.
23870
23871         * gst/base/gstbasetransform.c: Debug changes.
23872
23873         * gst/gstutils.h:
23874         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
23875         ensure bins post state change messages. A bit of a hack but I can't
23876         think of a way to avoid it.
23877
23878         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
23879
23880 2005-08-16  Andy Wingo  <wingo@pobox.com>
23881
23882         * gst/base/gstadapter.h:
23883         * gst/base/gstadapter.c (gst_adapter_take): New function, like
23884         peek() but you own the data. Not terribly efficient atm.
23885
23886 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23887
23888         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
23889         (gst_element_found_tags):
23890         * gst/gstutils.h:
23891           Add two utility functions for tag handling.
23892
23893 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23894
23895         * docs/manual/advanced-dataaccess.xml:
23896         * docs/manual/basics-helloworld.xml:
23897           Fix docs to use _bin_add() before _link(), which fixes the examples
23898           with recent core versions (reported by Madhan Raj M
23899           <raj_madan@rediffmail.com>, #313199).
23900
23901 2005-08-16  Wim Taymans  <wim@fluendo.com>
23902
23903         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23904         Added subtract checks.
23905
23906         * docs/design/part-events.txt:
23907         Some more docs about newsegment
23908
23909         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23910         Fix FIXME
23911
23912         * gst/gstcaps.c: (gst_caps_to_string):
23913         Add comments, cleanups.
23914         
23915         * gst/gstelement.c: (gst_element_save_thyself):
23916         cleanups
23917         
23918         * gst/gstvalue.c: (gst_value_collect_int_range),
23919         (gst_string_unwrap), (gst_value_union_int_int_range),
23920         (gst_value_union_int_range_int_range),
23921         (gst_value_intersect_int_int_range),
23922         (gst_value_intersect_int_range_int_range),
23923         (gst_value_intersect_double_double_range),
23924         (gst_value_intersect_double_range_double_range),
23925         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
23926         (gst_value_subtract_int_range_int),
23927         (gst_value_subtract_double_range_double),
23928         (gst_value_subtract_double_range_double_range),
23929         (gst_value_subtract_from_list), (gst_value_subtract_list),
23930         (gst_value_can_compare), (gst_value_compare_fraction):
23931         Cleanups, add comments, remove unneeded asserts.
23932
23933 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23934
23935         * tools/gst-launch.c: (event_loop):
23936           don't convert NULL structures to strings
23937
23938 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
23939
23940         * docs/gst/gstreamer-sections.txt:
23941           made some defines private
23942         * docs/gst/tmpl/gstconfig.sgml:
23943         * docs/gst/tmpl/gstqueue.sgml:
23944         * docs/gst/tmpl/gsttaglist.sgml:
23945         * docs/gst/tmpl/gsttypes.sgml:
23946         * docs/gst/tmpl/gstutils.sgml:
23947         * docs/pwg/appendix-porting.xml:
23948         * gst/base/gstbasesink.h:
23949         * gst/base/gstbasesrc.c:
23950         * gst/base/gstbasesrc.h:
23951         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
23952         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
23953         * gst/gstelement.c: (gst_element_class_init):
23954         * gst/gstpad.c: (gst_pad_class_init):
23955         * gst/gstqueue.c: (gst_queue_class_init):
23956         * gst/gstxml.c: (gst_xml_class_init):
23957           documented all undocumented signal inline
23958         * libs/gst/controller/gst-controller.h:
23959           added padding
23960
23961 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23962
23963         * docs/pwg/appendix-porting.xml:
23964           Document _set_link_function -> _set_setcaps_function.
23965
23966 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23967
23968         * check/Makefile.am:
23969           add a .check target for running the check
23970         * check/gst-libs/controller.c: (GST_START_TEST):
23971           cosmetic fixups
23972         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23973           complete checks for gstbuffer; would be nice if I could get the
23974           gcov stuff to work so I can see if I actually completed gstbuffer.c
23975         * check/gstcheck.h:
23976           add ASSERT_BUFFER_REFCOUNT
23977
23978 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
23979
23980         * docs/gst/gstreamer-sections.txt:
23981         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
23982         * gst/gsttag.h:
23983           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
23984           spew out a warning if a tag that is already registered
23985           is re-registered, unless it is re-registered with a 
23986           different type (#308438).
23987
23988 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
23989
23990         * docs/pwg/appendix-porting.xml:
23991         * docs/pwg/building-state.xml:
23992           Add some paragraphs about state changes in 0.9 to the PWG
23993           and the porting guide, in particular about the new meaning
23994           of GST_STATE_PAUSED and how to write state change functions
23995           with concurrent access by multiple threads in mind.
23996
23997 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
23998
23999         * docs/gst/gstreamer-docs.sgml:
24000         * docs/libs/gstreamer-libs-docs.sgml:
24001           added deprecation and since indexes
24002         * libs/gst/controller/gst-controller.c:
24003         * libs/gst/controller/gst-helper.c:
24004           added since tags
24005
24006
24007 2005-08-11  Wim Taymans  <wim@fluendo.com>
24008
24009         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
24010         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
24011         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
24012         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
24013         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
24014         (gst_ghost_pad_set_target):
24015         Actually implement (re)setting the target on a ghostpad
24016         as described in the docs.
24017
24018 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24019
24020         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
24021           Check whether GST_DEBUG_NO_COLOR environment variable is
24022           set and disable coloured debug output if that is the case.
24023
24024 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24025
24026         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24027         (gst_type_find_helper):
24028           The memory returned by gst_type_find_peek() needs to
24029           stay valid until the end of a typefind function, and
24030           typefind functions may keep results from different 
24031           offsets around, so we can't just unref the buffer from
24032           the previous _peek(), but have to save all buffers 
24033           returned by _peek() until typefinding is done and only
24034           free them then.
24035
24036 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
24037
24038         * docs/gst/gstreamer-sections.txt:
24039         * gst/gstutils.h:
24040           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
24041
24042 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24043
24044         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
24045           Fix a pretty good memleak.
24046
24047 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24048
24049         * gst/gstiterator.h:
24050           Fix wrong include and 'make distcheck'.
24051
24052 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24053
24054         * gst/gstbin.c: (bin_bus_handler):
24055           Use gst_element_post_message() instead.
24056
24057 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24058
24059         * gst/base/gstadapter.h:
24060         * gst/base/gstbasesink.h:
24061         * gst/base/gstbasesrc.h:
24062         * gst/base/gstbasetransform.h:
24063         * gst/base/gstcollectpads.h:
24064         * gst/base/gstpushsrc.h:
24065         * gst/gstiterator.h:
24066           Add padding to our base elements' class and instance structs and
24067           to GstIterator (you will need to rebuild all plugins and apps!)
24068
24069 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24070
24071         * gst/gstbin.c: (bin_bus_handler):
24072           Make default message forwarding from child->bus to bin->bus
24073           threadsafe and make it not emit warnings if the parent has no bus.
24074
24075 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24076
24077         * gst/gstelement.c: (activate_pads):
24078           On paused->ready, set pad->caps to NULL, as is the documented
24079           behaviour in this state change. Fixes playback of series of
24080           media files when visualization is enabled in Totem.
24081
24082 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24083
24084         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24085           Allow NULL as filter-caps (which means "any").
24086
24087 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24088
24089         * docs/libs/gstreamer-libs-sections.txt:
24090         * libs/gst/controller/gst-controller.c:
24091         * libs/gst/controller/gst-controller.h:
24092         * libs/gst/controller/gst-helper.c:
24093           adding more entries to the docs and fix small doc-bugs
24094
24095 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24096
24097         * docs/gst/gstreamer-docs.sgml:
24098         * docs/gst/gstreamer-sections.txt:
24099         * docs/gst/gstreamer.types:
24100         * docs/gst/tmpl/gstbasesink.sgml:
24101         * docs/gst/tmpl/gstbasesrc.sgml:
24102         * docs/gst/tmpl/gstbasetransform.sgml:
24103         * docs/gst/tmpl/gstfakesrc.sgml:
24104         * gst/base/gstcollectpads.c:
24105         * gst/base/gstcollectpads.h:
24106         * libs/gst/controller/gst-controller.c:
24107         * libs/gst/controller/gst-controller.h:
24108         * libs/gst/controller/gst-helper.c:
24109         * libs/gst/controller/gst-interpolation.c:
24110         * libs/gst/controller/lib.c:
24111           added long/short desc for controller docs
24112           added collectpads base class docs
24113           added correct includes to base-class docs
24114
24115 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24116
24117         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24118         (gst_test_mono_source_set_property),
24119         (gst_test_mono_source_class_init), (GST_START_TEST),
24120         (gst_controller_suite):
24121         * docs/gst/gstreamer-docs.sgml:
24122         * docs/gst/gstreamer-sections.txt:
24123         * docs/gst/gstreamer.types:
24124         * docs/libs/gstreamer-libs-docs.sgml:
24125         * docs/libs/gstreamer-libs-sections.txt:
24126         * gst/base/gstadapter.c:
24127         * libs/gst/controller/gst-controller.c:
24128         (gst_controlled_property_new), (gst_controlled_property_free),
24129         (gst_controller_new_valist),
24130         (gst_controller_remove_properties_valist),
24131         (gst_controller_sink_values), (_gst_controller_finalize):
24132         * libs/gst/controller/gst-controller.h:
24133         * libs/gst/controller/gst-helper.c:
24134         (gst_object_control_properties), (gst_object_uncontrol_properties),
24135         (gst_object_get_controller), (gst_object_set_controller),
24136         (gst_object_sink_values), (gst_object_get_value_arrays),
24137         (gst_object_get_value_array):
24138           more tests (and fixes) for the controller
24139           more docs for the controller
24140           integrated companies docs for the adapter 
24141
24142 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24143
24144         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
24145         (GST_START_TEST), (fakesrc_suite):
24146           add tests for sizetype
24147
24148 2005-08-04  Andy Wingo  <wingo@pobox.com>
24149
24150         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
24151         fixes buffer_alloc proxying among other things.
24152
24153         * gst/base/gstbasetransform.c:
24154         * gst/base/gstbasetransform.h:
24155         Revert patch to gstbasetransform from 7-28 removing
24156         delay_configure.
24157
24158         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
24159         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
24160         Semantics changed, should return not the size of the output buffer
24161         but the byte size of a buffer with a given caps.
24162
24163         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
24164         debug object.
24165         (gst_base_transform_configure_caps): Don't set out_size here: (in,
24166         out) are not the pad caps until setcaps finishes.
24167         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
24168         not-in-place case as well. Deal with changing from in-place to
24169         not-in-place within calling pad_alloc_buffer. Still a bit
24170         concerned about the overhead here...
24171
24172 2005-08-03  Andy Wingo  <wingo@pobox.com>
24173
24174         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
24175         fixating is an error.
24176
24177 2005-08-04  Edward Hervey  <edward@fluendo.com>
24178
24179         * gst/base/gstadapter.h: 
24180         Added gst_adapter_get_type() to the header
24181
24182 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24183
24184         * check/Makefile.am:
24185         * check/gst-libs/controller.c:
24186         * libs/gst/controller/gst-controller.c:
24187         (gst_controller_new_valist):
24188           added check test suite for the controller
24189         * gst/base/gstpushsrc.c:
24190           fixed a doc typo
24191
24192 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24193
24194         * docs/gst/Makefile.am:
24195         * docs/gst/gstreamer-docs.sgml:
24196         * docs/gst/gstreamer-sections.txt:
24197         * docs/gst/gstreamer.types:
24198         * docs/gst/tmpl/gstfakesrc.sgml:
24199         * gst/base/README:
24200         * gst/base/gstbasesink.c:
24201         * gst/base/gstbasesink.h:
24202         * gst/base/gstbasesrc.c:
24203         * gst/base/gstbasesrc.h:
24204         * gst/base/gstbasetransform.c:
24205         * gst/base/gstpushsrc.c:
24206         * gst/base/gstpushsrc.h:
24207           add short/long description docs to base classes
24208           add pushsrc to the docs
24209           remove consolidated doc fragments
24210
24211 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24212
24213         * configure.ac:
24214         * docs/libs/Makefile.am:
24215         * docs/libs/gstreamer-libs-docs.sgml:
24216         * docs/libs/gstreamer-libs-sections.txt:
24217         * docs/libs/gstreamer-libs.types:
24218         * examples/Makefile.am:
24219         * examples/controller/.cvsignore:
24220         * examples/controller/Makefile.am:
24221         * examples/controller/audio-example.c: (main):
24222         * libs/gst/Makefile.am:
24223         * libs/gst/controller/.cvsignore:
24224         * libs/gst/controller/Makefile.am:
24225         * libs/gst/controller/gst-controller.c:
24226         (on_object_controlled_property_changed), (gst_timed_value_compare),
24227         (gst_timed_value_find),
24228         (gst_controlled_property_set_interpolation_mode),
24229         (gst_controlled_property_new), (gst_controlled_property_free),
24230         (gst_controller_find_controlled_property),
24231         (gst_controller_new_valist), (gst_controller_new),
24232         (gst_controller_remove_properties_valist),
24233         (gst_controller_remove_properties), (gst_controller_set),
24234         (gst_controller_set_from_list), (gst_controller_unset),
24235         (gst_controller_get), (gst_controller_get_all),
24236         (gst_controller_sink_values), (gst_controller_get_value_arrays),
24237         (gst_controller_get_value_array),
24238         (gst_controller_set_interpolation_mode),
24239         (_gst_controller_finalize), (_gst_controller_init),
24240         (_gst_controller_class_init), (gst_controller_get_type):
24241         * libs/gst/controller/gst-controller.h:
24242         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
24243         (g_object_uncontrol_properties), (g_object_get_controller),
24244         (g_object_set_controller), (g_object_sink_values),
24245         (g_object_get_value_arrays), (g_object_get_value_array):
24246         * libs/gst/controller/gst-interpolation.c:
24247         (gst_controlled_property_find_timed_value_node),
24248         (interpolate_none_get), (interpolate_trigger_get),
24249         (interpolate_trigger_get_value_array):
24250         * libs/gst/controller/lib.c: (gst_controller_init):
24251         * pkgconfig/Makefile.am:
24252         * pkgconfig/gstreamer-control-uninstalled.pc.in:
24253         * pkgconfig/gstreamer-control.pc.in:
24254         * testsuite/Makefile.am:
24255         * testsuite/controller/.cvsignore:
24256         * testsuite/controller/Makefile.am:
24257         * testsuite/controller/interpolator.c: (main):
24258           added controller code
24259           removed dparam pc files
24260
24261 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
24262         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
24263         (gst_collectpads_stop):
24264           Broadcast the condition when shutting down, to make sure we wake all
24265           threads up. Shut down pads on finalize, for safety.
24266
24267 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
24268         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24269         (gst_base_transform_handle_buffer),
24270         (gst_base_transform_change_state):
24271           Handle PAUSED->READY->PAUSED transition after negotiation
24272           occurred already.
24273         * gst/gstmessage.c: (gst_message_init):
24274           Extra piece of debug for new messages.
24275
24276 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
24277
24278         * configure.ac:
24279         * docs/gst/tmpl/gstbasesrc.sgml:
24280         * docs/gst/tmpl/gstelement.sgml:
24281         * docs/gst/tmpl/gstevent.sgml:
24282         * docs/gst/tmpl/gstfakesrc.sgml:
24283         * docs/gst/tmpl/gstformat.sgml:
24284         * docs/gst/tmpl/gstghostpad.sgml:
24285         * docs/gst/tmpl/gstpad.sgml:
24286         * docs/gst/tmpl/gstquery.sgml:
24287         * docs/gst/tmpl/gststructure.sgml:
24288         * docs/gst/tmpl/gsttaglist.sgml:
24289         * docs/gst/tmpl/gstvalue.sgml:
24290         * docs/libs/gstreamer-libs-docs.sgml:
24291         * docs/libs/gstreamer-libs-sections.txt:
24292         * docs/libs/gstreamer-libs.types:
24293         * libs/gst/Makefile.am:
24294         * libs/gst/control/.cvsignore:
24295         * libs/gst/control/Makefile.am:
24296         * libs/gst/control/control.c:
24297         * libs/gst/control/control.h:
24298         * libs/gst/control/dparam.c:
24299         * libs/gst/control/dparam.h:
24300         * libs/gst/control/dparam_smooth.c:
24301         * libs/gst/control/dparam_smooth.h:
24302         * libs/gst/control/dparamcommon.h:
24303         * libs/gst/control/dparammanager.c:
24304         * libs/gst/control/dparammanager.h:
24305         * libs/gst/control/dplinearinterp.c:
24306         * libs/gst/control/dplinearinterp.h:
24307         * libs/gst/control/unitconvert.c:
24308         * libs/gst/control/unitconvert.h:
24309         * testsuite/Makefile.am:
24310         * testsuite/dynparams/.cvsignore:
24311         * testsuite/dynparams/Makefile.am:
24312         * testsuite/dynparams/dparamstest.c:
24313         * tools/Makefile.am:
24314         * tools/gst-inspect.c: (print_element_info), (main):
24315         * tools/gst-xmlinspect.c: (print_element_info), (main):
24316           deactivate and remove dparams (libgstcontrol)
24317
24318 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
24319
24320         * gst/elements/gsttypefindelement.c:
24321         (gst_type_find_element_have_type), (gst_type_find_element_init),
24322         (stop_typefinding), (gst_type_find_element_handle_event),
24323         (gst_type_find_element_chain), (gst_type_find_element_getrange):
24324         * gst/elements/gsttypefindelement.h:
24325           Set caps on all outgoing buffers, not just the first one.
24326
24327 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
24328
24329         * gst/elements/gsttypefindelement.c:
24330         (gst_type_find_element_have_type),
24331         (gst_type_find_element_check_set_buffer_caps),
24332         (gst_type_find_element_init), (stop_typefinding),
24333         (gst_type_find_element_handle_event),
24334         (gst_type_find_element_chain), (gst_type_find_element_getrange):
24335         * gst/elements/gsttypefindelement.h:
24336           Set caps on first outgoing buffer when we've found the type.
24337
24338 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
24339
24340         * docs/gst/gstreamer-docs.sgml:
24341         * docs/gst/gstreamer-sections.txt:
24342         * docs/gst/tmpl/gstscheduler.sgml:
24343         * docs/gst/tmpl/gstschedulerfactory.sgml:
24344           Remove some old cruft from docs.
24345
24346 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
24347
24348         * gst/gstpad.h:
24349           Fix inline docs for GstPadLinkReturn.
24350           
24351         * gst/gststructure.c: (gst_structure_has_name):
24352         * gst/gststructure.h:
24353         * docs/gst/gstreamer-sections.txt:
24354           New API: gst_structure_has_name().
24355
24356 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
24357
24358         * configure.ac:
24359           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
24360           and _LARGEFILE_SOURCE in config.h as required. Do not 
24361           export those flags in our .pc files any longer (#142209).
24362
24363           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
24364
24365         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
24366         (gst_file_sink_do_seek), (gst_file_sink_event),
24367         (gst_file_sink_get_current_offset), (gst_file_sink_render):
24368           Redo seek/tell calls with large file support in mind; add some
24369           debugging messages; add log message that tells us when large
24370           file support is unavailable or not enabled for some reason.
24371
24372         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
24373           Add log message that tells us when large file support 
24374           is unavailable or not enabled for some reason.
24375
24376 2005-07-29  Wim Taymans  <wim@fluendo.com>
24377
24378         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24379         Added test for removing an element with ghostpad from a bin.
24380         Fixed test as current implementation does the right thing.
24381
24382         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
24383         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
24384         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
24385         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
24386         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
24387         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
24388         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
24389         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24390         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
24391         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
24392         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
24393         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
24394         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
24395         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
24396         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
24397         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
24398         * gst/gstghostpad.h:
24399         Clean up ghostpads, remove properties for internal stuff.
24400         Make threadsafe.
24401         Fix refcounting.
24402         Prepare for switching targets, not all use cases work yet.
24403
24404 2005-07-29  Wim Taymans  <wim@fluendo.com>
24405
24406         * docs/design/part-gstghostpad.txt:
24407         Small update.
24408
24409         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24410         (gst_bin_remove_func):
24411         Unlinking pads while holding the bin LOCK is not a good
24412         idea.
24413
24414         * gst/gstpad.c: (gst_pad_class_init),
24415         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
24416         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
24417         No prob setting template after creating the pad.
24418
24419 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
24420
24421         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
24422         (gst_bus_peek), (gst_bus_source_dispatch),
24423         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
24424         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
24425           gst_bus_poll may be called from other threads. Handle
24426           this nicely by not making poll_data disappear off the
24427           stack once gst_bus_poll returns.
24428           gst_bus_peek now increments the refcount on the returned
24429           message.
24430
24431 2005-07-29  Wim Taymans  <wim@fluendo.com>
24432
24433         * docs/design/part-gstghostpad.txt:
24434         Overview of current GhostPad datastructures and use
24435         cases for changing the target.
24436
24437 2005-07-28  Wim Taymans  <wim@fluendo.com>
24438
24439         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24440         Added checks for hierarchy consistency whan adding linked
24441         elements to bins.
24442
24443         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24444         Added check to test element scheduling without bin/pipeline.
24445
24446         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24447         First add elements to bin, then link.
24448         
24449         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24450         (gst_bin_remove_func):
24451         Unlink pads from elements added/removed from bin to maintain
24452         hierarchy consistency.
24453
24454 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24455
24456         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24457         (gst_base_transform_handle_buffer):
24458         * gst/base/gstbasetransform.h:
24459           Remove broken delay_configure (fixes renegotiation of software
24460           scaling pipelines); remove some leftover printf()s.
24461
24462 2005-07-28  Wim Taymans  <wim@fluendo.com>
24463
24464         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24465         Added some more tests for wrong hierarchy
24466
24467         * docs/design/part-overview.txt:
24468         Some updates.
24469
24470         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
24471         Cleanups.
24472
24473         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
24474         (gst_element_dispose):
24475         Some more cleanups.
24476
24477         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
24478         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
24479         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24480         (gst_pad_set_caps), (gst_pad_send_event):
24481         Check for correct hierarchy when linking pads. Moving to
24482         strict requirement for ghostpads when linking elements in
24483         different bins.
24484
24485         * gst/gstpad.h:
24486         Clean ups. Added WRONG_HIERARCHY return value.
24487
24488 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24489
24490         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24491           Better debug if no transform is possible.
24492
24493 2005-07-27  Wim Taymans  <wim@fluendo.com>
24494
24495         * docs/random/wtay/network-transp:
24496         Some old doc I had.
24497
24498 2005-07-27  Wim Taymans  <wim@fluendo.com>
24499
24500         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24501         (gst_dp_event_from_packet):
24502         Fix serialization of seek events.
24503
24504 2005-07-27  Wim Taymans  <wim@fluendo.com>
24505
24506         * check/gst-libs/gdp.c: (GST_START_TEST):
24507         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
24508         Fix compilation and fix event serialization.
24509
24510 2005-07-27  Wim Taymans  <wim@fluendo.com>
24511
24512         * CHANGES-0.9:
24513         * docs/design/part-TODO.txt:
24514         * docs/design/part-events.txt:
24515         Some docs updates
24516
24517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24518         (gst_base_sink_event), (gst_base_sink_do_sync),
24519         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
24520         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24521         (gst_base_src_do_seek), (gst_base_src_event_handler),
24522         (gst_base_src_loop):
24523         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24524         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24525         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24526         (gst_base_transform_event), (gst_base_transform_handle_buffer),
24527         (gst_base_transform_set_passthrough),
24528         (gst_base_transform_is_passthrough):
24529         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
24530         * gst/elements/gstfilesink.c: (gst_file_sink_event):
24531         Event updates.
24532
24533         * gst/gstbuffer.h:
24534         Use faster casts.
24535
24536         * gst/gstelement.c: (gst_element_seek):
24537         * gst/gstelement.h:
24538         Update gst_element_seek.
24539
24540         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
24541         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
24542         (gst_event_new_flush_start), (gst_event_new_flush_stop),
24543         (gst_event_new_eos), (gst_event_new_newsegment),
24544         (gst_event_parse_newsegment), (gst_event_new_tag),
24545         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
24546         (gst_event_parse_qos), (gst_event_new_seek),
24547         (gst_event_parse_seek), (gst_event_new_navigation):
24548         * gst/gstevent.h:
24549         Make GstEvent use GstStructure. Add parsing code, make sure the
24550         API is sufficiently generic.
24551         Mark possible directions of events and serialization.
24552
24553         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
24554         (_gst_message_copy), (gst_message_new_segment_start),
24555         (gst_message_new_segment_done), (gst_message_new_custom),
24556         (gst_message_parse_segment_start),
24557         (gst_message_parse_segment_done):
24558         Small cleanups.
24559
24560         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24561         (gst_pad_set_caps), (gst_pad_send_event):
24562         Update for new events. 
24563         Catch events sent in wrong directions.
24564
24565         * gst/gstqueue.c: (gst_queue_link_src),
24566         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24567         (gst_queue_handle_src_query):
24568         Event updates.
24569
24570         * gst/gsttag.c:
24571         * gst/gsttag.h:
24572         Remove event code from this file.
24573
24574         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24575         (gst_dp_event_from_packet):
24576         Event updates.
24577
24578 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24579
24580         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
24581         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24582         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
24583           Make debugging actually useful.
24584
24585 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24586
24587         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
24588         (gst_pad_fixate_caps):
24589           Implement default fixation once again, so that gst_pad_fixate()
24590           actually does anything at all. This probably needs to be some
24591           sort of a last resort, and use profile-based fixation first, but
24592           since that doesn't exist yet, this is the best we have. Fixes
24593           visualization in Totem.
24594
24595 2005-07-22  Wim Taymans  <wim@fluendo.com>
24596
24597         * docs/design/part-events.txt:
24598         Small update.
24599
24600         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24601         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
24602         (gst_base_sink_activate_pull):
24603         Some more comments.
24604
24605         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
24606         (gst_fake_src_create):
24607         Fix handoff marshall.
24608
24609         * gst/elements/gstidentity.c: (gst_identity_class_init),
24610         (gst_identity_transform_ip):
24611         We're a real inplace element.
24612
24613         * gst/gstbus.c: (gst_bus_post):
24614         Added some comments.
24615
24616         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
24617         * tests/muxing/case1.c: (main):
24618         * tests/sched/dynamic-pipeline.c: (main):
24619         * tests/sched/interrupt1.c: (main):
24620         * tests/sched/interrupt2.c: (main):
24621         * tests/sched/interrupt3.c: (main):
24622         * tests/sched/runxml.c: (main):
24623         * tests/sched/sched-stress.c: (main):
24624         * tests/seeking/seeking1.c: (event_received), (main):
24625         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24626         (main):
24627         * tests/threadstate/threadstate3.c: (main):
24628         * tests/threadstate/threadstate4.c: (main):
24629         * tests/threadstate/threadstate5.c: (main):
24630         Fix the tests.
24631
24632 2005-07-21  Wim Taymans  <wim@fluendo.com>
24633
24634         * docs/design/part-seeking.txt:
24635         Some small additions.
24636
24637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24638         (gst_base_sink_get_times), (gst_base_sink_do_sync),
24639         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
24640         * gst/base/gstbasesink.h:
24641         discont values are gint64, handle the math correctly.
24642
24643         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24644         Make the basesrc report error if the source pad is not linked.
24645
24646         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
24647         (gst_queue_loop), (gst_queue_handle_src_query),
24648         (gst_queue_src_activate_push):
24649         Make queue collect data even if the srcpad is not linked.
24650         Start pushing out data as soon as it is linked.
24651
24652         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
24653         * gst/gstutils.h:
24654         Added gst_flow_get_name() to ease error reporting.
24655
24656 2005-07-20  Wim Taymans  <wim@fluendo.com>
24657
24658         * gst/gstmessage.c: (gst_message_new_segment_start),
24659         (gst_message_new_segment_done), (gst_message_parse_segment_start),
24660         (gst_message_parse_segment_done):
24661         * gst/gstmessage.h:
24662         Added a bunch of messages for advanced seeking.
24663
24664         * gst/parse/grammar.y:
24665         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
24666         (gst_dpman_state_changed):
24667         Fix some new-pad -> pad-added signals
24668
24669 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24670
24671         * docs/manual/appendix-porting.xml:
24672         * docs/pwg/appendix-porting.xml:
24673           Document new-pad/state-change signal renames and the FixedList
24674           type rename.
24675
24676 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24677
24678         * docs/manual/advanced-autoplugging.xml:
24679         * docs/manual/basics-helloworld.xml:
24680         * docs/manual/basics-pads.xml:
24681         * docs/random/ds/0.9-suggested-changes:
24682         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
24683         * gst/gstelement.h:
24684         * gst/gstevent.h:
24685         * gst/gstformat.h:
24686         * gst/gstquery.h:
24687         * gst/gststructure.c: (gst_structure_value_get_generic_type),
24688         (gst_structure_parse_array), (gst_structure_parse_value):
24689         * gst/gstvalue.c: (gst_type_is_fixed),
24690         (gst_value_list_prepend_value), (gst_value_list_append_value),
24691         (gst_value_list_get_size), (gst_value_list_get_value),
24692         (gst_value_transform_array_string), (gst_value_serialize_array),
24693         (gst_value_deserialize_array), (gst_value_intersect_array),
24694         (gst_value_is_fixed), (_gst_value_initialize):
24695         * gst/gstvalue.h:
24696           GstElement::new-pad -> pad-added, GstElement::state-change ->
24697           state-changed, GstValueFixedList -> GstValueArray, add format and
24698           flags as their own arguments in gst_element_seek() (should improve
24699           "bindeability"), remove function generators since they don't work
24700           under a whole bunch of compilers (they were deprecated already
24701           anyway).
24702
24703 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24704
24705         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24706         (_gst_debug_register_funcptr):
24707         * gst/gstinfo.h:
24708           Fix illegal cast on some platforms (#309253).
24709
24710 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24711
24712         * gst/gstmessage.c: (gst_message_new_custom):
24713         * gst/gstmessage.h:
24714           Add _new_custom, make _new_application a macro to _new_custom.
24715
24716 2005-07-20  Wim Taymans  <wim@fluendo.com>
24717
24718         * gst/base/gstbasesrc.c: (gst_base_src_init),
24719         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
24720         * gst/base/gstbasesrc.h:
24721         Add a gboolean to decide when to push out a discont.
24722
24723         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24724         (gst_queue_loop), (gst_queue_handle_src_query),
24725         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
24726         (gst_queue_set_property), (gst_queue_get_property):
24727         Some cleanups.
24728
24729         * tests/threadstate/threadstate1.c: (main):
24730         Make a thread test compile and run... very silly..
24731
24732
24733 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24734
24735         * docs/manual/appendix-porting.xml:
24736           Mention removal of libgstgconf-0.9.la and existence of gconf
24737           elements.
24738
24739 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24740
24741         * docs/pwg/advanced-clock.xml:
24742         * docs/pwg/appendix-porting.xml:
24743         * docs/pwg/intro-preface.xml:
24744         * docs/pwg/other-base.xml:
24745         * docs/pwg/other-manager.xml:
24746         * docs/pwg/other-nton.xml:
24747         * docs/pwg/other-ntoone.xml:
24748         * docs/pwg/other-oneton.xml:
24749         * docs/pwg/pwg.xml:
24750           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
24751           demuxer), remove n-to-n (was never written), fix some code examples
24752           and links and update the porting section to include all this.
24753
24754 2005-07-19  Wim Taymans  <wim@fluendo.com>
24755
24756         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
24757         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
24758         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
24759         (gst_queue_src_activate_push), (gst_queue_change_state),
24760         (gst_queue_get_property):
24761         * gst/gstqueue.h:
24762         Propagate GstFlowReturn more intelligently upstream and output
24763         an ERROR/EOS when streaming stopped due to fatal error.
24764
24765 2005-07-19  Wim Taymans  <wim@fluendo.com>
24766
24767         * tools/gst-launch.c: (check_intr), (event_loop), (main):
24768         Don't block forever for the state change to complete, the
24769         pipeline already did with a sensible timeout.
24770
24771 2005-07-19  Wim Taymans  <wim@fluendo.com>
24772
24773         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
24774         Make sure we never call the create function is we
24775         got deactivated.
24776
24777 2005-07-19  Andy Wingo  <wingo@pobox.com>
24778
24779         * gst/parse/parse.l: Attempt to solve bug #172815.
24780
24781 2005-07-19  Wim Taymans  <wim@fluendo.com>
24782
24783         * docs/design/part-clocks.txt:
24784         * docs/design/part-events.txt:
24785         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
24786         Small docs updates.
24787         Only update the seeking values when we are not
24788         busy streaming.
24789
24790 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
24791
24792         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24793           Oops, ignore the result of gst_pad_push_event here.
24794
24795 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
24796
24797         * gst/base/gstbasesrc.c: (gst_base_src_loop),
24798         (gst_base_src_activate_push):
24799           Send discont event from the loop function, as pads
24800           aren't activated yet in the activate_push handler.
24801
24802         * gst/gstbin.c: (bin_bus_handler):
24803           Don't leak element name.
24804
24805 2005-07-18  Andy Wingo  <wingo@pobox.com>
24806
24807         * configure.ac: Use AS_LIBTOOL_TAGS.
24808
24809 2005-07-18  Wim Taymans  <wim@fluendo.com>
24810
24811         * docs/gst/gstreamer.types:
24812         Remove deleted types.
24813
24814 2005-07-18  Wim Taymans  <wim@fluendo.com>
24815
24816         * check/elements/gstfakesrc.c: (GST_START_TEST):
24817         * configure.ac:
24818         * gst/Makefile.am:
24819         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
24820         (init_popt_callback):
24821         * gst/gst.h:
24822         * gst/gst_private.h:
24823         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
24824         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
24825         * gst/gstbin.h:
24826         * gst/gstbus.h:
24827         * gst/gstconfig.h.in:
24828         * gst/gstelement.c: (gst_element_class_init),
24829         (gst_element_set_base_time), (gst_element_get_base_time),
24830         (iterator_fold_with_resync), (gst_element_change_state),
24831         (gst_element_dispose), (gst_element_get_bus):
24832         * gst/gstelement.h:
24833         * gst/gstelementfactory.h:
24834         * gst/gsterror.c: (_gst_core_errors_init):
24835         * gst/gsterror.h:
24836         * gst/gstevent.h:
24837         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24838         * gst/gstindex.c:
24839         * gst/gstinfo.c: (_gst_debug_init):
24840         * gst/gstmessage.c: (_gst_message_copy):
24841         * gst/gstmessage.h:
24842         * gst/gstminiobject.h:
24843         * gst/gstobject.c:
24844         * gst/gstobject.h:
24845         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24846         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
24847         * gst/gstpad.h:
24848         * gst/gstparse.h:
24849         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24850         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24851         (gst_pipeline_get_last_stream_time):
24852         * gst/gstpipeline.h:
24853         * gst/gstpluginfeature.h:
24854         * gst/gstquery.h:
24855         * gst/gstscheduler.c:
24856         * gst/gstscheduler.h:
24857         * gst/gststructure.h:
24858         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24859         (gst_task_finalize), (gst_task_func), (gst_task_create),
24860         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
24861         (gst_task_stop), (gst_task_pause):
24862         * gst/gsttask.h:
24863         * gst/gsttypefind.h:
24864         * gst/gsttypes.h:
24865         * gst/registries/gstlibxmlregistry.c: (load_feature),
24866         (gst_xml_registry_load), (gst_xml_registry_save_feature):
24867         * gst/registries/gstxmlregistry.c:
24868         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
24869         * gst/schedulers/threadscheduler.c:
24870         * libs/gst/control/dparammanager.h:
24871         * tools/gst-inspect.c: (print_element_list),
24872         (print_plugin_features), (print_element_features):
24873         * tools/gst-xmlinspect.c: (print_element_list),
24874         (print_plugin_info), (main):
24875         Removed plugable schedulers.
24876         Removed Scheduler/Manager from elements.
24877         Removed gsttypes.h, rearranged includes.
24878         Removed dependency pad<->element, element<>pipeline, and
24879         various others,  fix includes.
24880         implement gst_pad_get_parent() with gst_object_get_parent()
24881         Make GstTask sefcontained.
24882         Fix _get_state() on GstBin, it did not return ASYNC with a 0
24883         timeout.
24884         Fix endless loop in iterator_fold_with_resync.
24885
24886
24887 2005-07-18  Wim Taymans  <wim@fluendo.com>
24888
24889         * gst/Makefile.am:
24890         * gst/gstarch.h:
24891         Remove old file.
24892
24893 2005-07-18  Wim Taymans  <wim@fluendo.com>
24894
24895         * gst/Makefile.am:
24896         No more cothreads.h
24897
24898 2005-07-18  Wim Taymans  <wim@fluendo.com>
24899
24900         * gst/cothreads.c:
24901         * gst/cothreads.h:
24902         Let's remove these.
24903
24904 2005-07-18  Wim Taymans  <wim@fluendo.com>
24905
24906         * docs/design/part-dynamic.txt:
24907         * docs/design/part-events.txt:
24908         * docs/design/part-seeking.txt:
24909         Some more docs in the works.
24910
24911         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24912         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
24913         (gst_base_transform_setcaps), (gst_base_transform_get_size),
24914         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24915         (gst_base_transform_handle_buffer),
24916         (gst_base_transform_sink_activate_push),
24917         (gst_base_transform_src_activate_pull),
24918         (gst_base_transform_set_passthrough),
24919         (gst_base_transform_is_passthrough):
24920         Refcounting fixes.
24921
24922         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
24923         Cleanups.
24924
24925         * gst/gstevent.c: (gst_event_finalize):
24926         Set SRC to NULL.
24927
24928         * gst/gstutils.c: (gst_element_unlink),
24929         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
24930         (gst_pad_proxy_setcaps):
24931         * gst/gstutils.h:
24932         Add _get_parent_element() to get a pads parent as an element.
24933
24934 2005-07-18  Wim Taymans  <wim@fluendo.com>
24935
24936         * check/gst/gstbin.c: (GST_START_TEST):
24937         Remove bogus test.
24938
24939 2005-07-18  Wim Taymans  <wim@fluendo.com>
24940
24941         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24942         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24943         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24944         (gst_base_sink_event), (gst_base_sink_do_sync),
24945         (gst_base_sink_chain), (gst_base_sink_loop),
24946         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
24947         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
24948         Refcounting fixes.
24949         Fix logic for returning ASYNC when not prerolled.
24950
24951 2005-07-18  Wim Taymans  <wim@fluendo.com>
24952
24953         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24954         Fix nasty refcount bug.
24955
24956 2005-07-16 Philippe Khalaf <burger@speedy.org>
24957
24958         * gst/elements/gstfdsrc.c:
24959         * gst/elements/gstfdsrc.h:
24960         * gst/elements/gstelements.c:
24961         * gst/elements/Makefile.am:
24962         Ported fdsrc to 0.9.
24963
24964 2005-07-16  Wim Taymans  <wim@fluendo.com>
24965
24966         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24967         (gst_base_sink_do_sync):
24968         Fix compile error.
24969
24970 2005-07-16  Wim Taymans  <wim@fluendo.com>
24971
24972         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24973         (gst_base_sink_event), (gst_base_sink_get_times),
24974         (gst_base_sink_do_sync), (gst_base_sink_change_state):
24975         * gst/base/gstbasesink.h:
24976         Store and use discont values when syncing buffers as described
24977         in design docs.
24978         
24979         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24980         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
24981         (gst_base_src_activate_push):
24982         Push discont event when starting.
24983
24984         * gst/elements/gstidentity.c: (gst_identity_transform):
24985         Small cleanups.
24986
24987         * gst/gstbin.c: (gst_bin_change_state):
24988         Small cleanups in base_time  distribution.
24989
24990         * gst/gstelement.c: (gst_element_set_base_time),
24991         (gst_element_get_base_time), (gst_element_change_state):
24992         * gst/gstelement.h:
24993         Added methods for the base_time of the element.
24994         Some MT fixes.
24995
24996         * gst/gstpipeline.c: (gst_pipeline_send_event),
24997         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24998         (gst_pipeline_get_last_stream_time):
24999         * gst/gstpipeline.h:
25000         MT fixes.
25001         Handle seeking as described in design doc, remove stream_time
25002         hack.
25003         Cleanups clock and stream_time selection code. Added accessors
25004         for the stream_time.
25005         
25006
25007 2005-07-16  Andy Wingo  <wingo@pobox.com>
25008
25009         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
25010         (#305291).
25011
25012 2005-07-16  Wim Taymans  <wim@fluendo.com>
25013
25014         * check/gst/gstbin.c: (GST_START_TEST):
25015         Make elements silent as the deep_notify refs the
25016         parent, which might make the test fail.
25017
25018         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25019         Don't hold the lock for too long.
25020
25021 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
25022
25023         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
25024           Don't unref the caps we passed to gst_caps_make_writable() after
25025           passing them. gst_caps_make_writable() will do that for us.
25026
25027 2005-07-15  Andy Wingo  <wingo@pobox.com>
25028
25029         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
25030         (#157311).
25031
25032         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
25033         own marshalling function for the handoff signal. Properly type the
25034         buffer as a buffer. Fixes some warnings. Should do a more general
25035         solution.
25036         (gst_identity_class_init): Plug into the right marshaller.
25037
25038 2005-07-15  Wim Taymans  <wim@fluendo.com>
25039
25040         * docs/design/part-TODO.txt:
25041         * docs/design/part-clocks.txt:
25042         * docs/design/part-element-sink.txt:
25043         * docs/design/part-events.txt:
25044         * docs/design/part-gstpipeline.txt:
25045         Updated docs, mostly DISCONT related.
25046
25047 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
25048
25049         * docs/pwg/building-pads.xml:
25050           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
25051
25052 2005-07-15  Andy Wingo  <wingo@pobox.com>
25053
25054         * tools/gst-typefind.c: Update, add copyright block.
25055
25056         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
25057         Normalize and truncate caps before fixation.
25058
25059         * gst/gstcaps.h:
25060         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
25061         discards all but the first structure from its argument.
25062
25063 2005-07-15  Wim Taymans  <wim@fluendo.com>
25064
25065         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25066         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
25067         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25068         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25069         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
25070         (gst_base_transform_chain), (gst_base_transform_change_state),
25071         (gst_base_transform_set_passthrough),
25072         (gst_base_transform_is_passthrough):
25073         * gst/base/gstbasetransform.h:
25074         Make passthrough work using the bufferpools.
25075         Changed API a bit, subclasses have to write into a buffer
25076         provided by the base class.
25077         More debug info in nego functions.
25078         
25079         * gst/elements/gstidentity.c: (gst_identity_init),
25080         (gst_identity_transform):
25081         Port to new base class.
25082
25083 2005-07-15  Wim Taymans  <wim@fluendo.com>
25084
25085         * gst/gstmessage.c: (gst_message_new_state_changed):
25086         * tools/gst-launch.c: (event_loop), (main):
25087         Totally dump messages in -launch with the -m option.
25088         Fix message name for State messages,
25089
25090 2005-07-14  Wim Taymans  <wim@fluendo.com>
25091
25092         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25093         Post error messages on errors.
25094
25095 2005-07-14  Wim Taymans  <wim@fluendo.com>
25096
25097         * gst/gstcaps.c: (gst_caps_do_simplify):
25098         Remove debug info.
25099
25100         * gst/gsterror.h:
25101         Define error for stream stopped.
25102
25103         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25104         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
25105         Do proper return values.
25106
25107         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25108         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
25109         (gst_pad_get_range):
25110         Better return values.
25111
25112         * gst/gstpad.h:
25113         Reorganise return values, add macro to check for fatal errors.
25114
25115         * gst/gstqueue.c: (gst_queue_chain):
25116         Return proper GstFlowReturn values,
25117
25118 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
25119
25120         * docs/gst/gstreamer-sections.txt:
25121         * docs/gst/gstreamer.types:
25122         * docs/gst/tmpl/gst.sgml:
25123         * docs/gst/tmpl/gstbasesink.sgml:
25124         * docs/gst/tmpl/gstbasesrc.sgml:
25125         * docs/gst/tmpl/gstbasetransform.sgml:
25126         * docs/gst/tmpl/gstbin.sgml:
25127         * docs/gst/tmpl/gstbuffer.sgml:
25128         * docs/gst/tmpl/gstcaps.sgml:
25129         * docs/gst/tmpl/gstclock.sgml:
25130         * docs/gst/tmpl/gstcompat.sgml:
25131         * docs/gst/tmpl/gstconfig.sgml:
25132         * docs/gst/tmpl/gstelement.sgml:
25133         * docs/gst/tmpl/gstelementdetails.sgml:
25134         * docs/gst/tmpl/gstelementfactory.sgml:
25135         * docs/gst/tmpl/gstenumtypes.sgml:
25136         * docs/gst/tmpl/gsterror.sgml:
25137         * docs/gst/tmpl/gstevent.sgml:
25138         * docs/gst/tmpl/gstfakesink.sgml:
25139         * docs/gst/tmpl/gstfakesrc.sgml:
25140         * docs/gst/tmpl/gstfilesink.sgml:
25141         * docs/gst/tmpl/gstfilesrc.sgml:
25142         * docs/gst/tmpl/gstfilter.sgml:
25143         * docs/gst/tmpl/gstformat.sgml:
25144         * docs/gst/tmpl/gstghostpad.sgml:
25145         * docs/gst/tmpl/gstimplementsinterface.sgml:
25146         * docs/gst/tmpl/gstindex.sgml:
25147         * docs/gst/tmpl/gstindexfactory.sgml:
25148         * docs/gst/tmpl/gstinfo.sgml:
25149         * docs/gst/tmpl/gstiterator.sgml:
25150         * docs/gst/tmpl/gstmacros.sgml:
25151         * docs/gst/tmpl/gstmemchunk.sgml:
25152         * docs/gst/tmpl/gstminiobject.sgml:
25153         * docs/gst/tmpl/gstobject.sgml:
25154         * docs/gst/tmpl/gstpad.sgml:
25155         * docs/gst/tmpl/gstpadtemplate.sgml:
25156         * docs/gst/tmpl/gstparse.sgml:
25157         * docs/gst/tmpl/gstpipeline.sgml:
25158         * docs/gst/tmpl/gstplugin.sgml:
25159         * docs/gst/tmpl/gstpluginfeature.sgml:
25160         * docs/gst/tmpl/gstquery.sgml:
25161         * docs/gst/tmpl/gstqueue.sgml:
25162         * docs/gst/tmpl/gstregistry.sgml:
25163         * docs/gst/tmpl/gstregistrypool.sgml:
25164         * docs/gst/tmpl/gstscheduler.sgml:
25165         * docs/gst/tmpl/gstschedulerfactory.sgml:
25166         * docs/gst/tmpl/gststructure.sgml:
25167         * docs/gst/tmpl/gstsystemclock.sgml:
25168         * docs/gst/tmpl/gsttaglist.sgml:
25169         * docs/gst/tmpl/gsttagsetter.sgml:
25170         * docs/gst/tmpl/gsttrace.sgml:
25171         * docs/gst/tmpl/gsttrashstack.sgml:
25172         * docs/gst/tmpl/gsttypefind.sgml:
25173         * docs/gst/tmpl/gsttypefindfactory.sgml:
25174         * docs/gst/tmpl/gsttypes.sgml:
25175         * docs/gst/tmpl/gsturihandler.sgml:
25176         * docs/gst/tmpl/gsturitype.sgml:
25177         * docs/gst/tmpl/gstutils.sgml:
25178         * docs/gst/tmpl/gstvalue.sgml:
25179         * docs/gst/tmpl/gstversion.sgml:
25180         * docs/gst/tmpl/gstxml.sgml:
25181         * docs/libs/tmpl/gstcontrol.sgml:
25182         * docs/libs/tmpl/gstdataprotocol.sgml:
25183         * docs/libs/tmpl/gstdparam.sgml:
25184         * docs/libs/tmpl/gstdplinint.sgml:
25185         * docs/libs/tmpl/gstdpman.sgml:
25186         * docs/libs/tmpl/gstdpsmooth.sgml:
25187         * docs/libs/tmpl/gstgetbits.sgml:
25188         * docs/libs/tmpl/gstunitconvert.sgml:
25189         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
25190         (gst_push_src_base_init), (gst_push_src_class_init),
25191         (gst_push_src_init), (gst_push_src_create):
25192         * gst/base/gstpushsrc.h:
25193         * gst/elements/gstelements.c:
25194         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
25195         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
25196         (gst_fake_sink_init), (gst_fake_sink_set_property),
25197         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
25198         (gst_fake_sink_event), (gst_fake_sink_preroll),
25199         (gst_fake_sink_render), (gst_fake_sink_change_state):
25200         * gst/elements/gstfakesink.h:
25201         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
25202         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
25203         (gst_fake_src_base_init), (gst_fake_src_class_init),
25204         (gst_fake_src_init), (gst_fake_src_event_handler),
25205         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
25206         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
25207         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
25208         (gst_fake_src_create_buffer), (gst_fake_src_create),
25209         (gst_fake_src_start), (gst_fake_src_stop):
25210         * gst/elements/gstfakesrc.h:
25211         * gst/elements/gstfilesink.c: (_do_init),
25212         (gst_file_sink_base_init), (gst_file_sink_class_init),
25213         (gst_file_sink_init), (gst_file_sink_dispose),
25214         (gst_file_sink_set_location), (gst_file_sink_set_property),
25215         (gst_file_sink_get_property), (gst_file_sink_open_file),
25216         (gst_file_sink_close_file), (gst_file_sink_query),
25217         (gst_file_sink_event), (gst_file_sink_render),
25218         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
25219         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
25220         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
25221         * gst/elements/gstfilesink.h:
25222         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
25223         (gst_file_src_class_init), (gst_file_src_init),
25224         (gst_file_src_finalize), (gst_file_src_set_location),
25225         (gst_file_src_set_property), (gst_file_src_get_property),
25226         (gst_file_src_map_region), (gst_file_src_map_small_region),
25227         (gst_file_src_create_mmap), (gst_file_src_create_read),
25228         (gst_file_src_create), (gst_file_src_is_seekable),
25229         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
25230         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
25231         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
25232         (gst_file_src_uri_handler_init):
25233         * gst/elements/gstfilesrc.h:
25234           more autistic cleanliness in functions/names/defines
25235
25236 2005-07-13  Andy Wingo  <wingo@pobox.com>
25237
25238         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
25239         source couldn't negotiate.
25240
25241         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
25242         connections again.
25243
25244         * gst/gstutils.h:
25245         * gst/gstutils.c (gst_element_link_pads_filtered): New old
25246         function. I am channeling Hades. Put your boots on suckers!!!
25247
25248 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25249
25250         * testsuite/caps/Makefile.am:
25251         * testsuite/caps/value_compare.c:
25252         * testsuite/caps/value_intersect.c:
25253         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25254           move two testsuite apps over to the check dir
25255
25256 2005-07-12  Wim Taymans  <wim@fluendo.com>
25257
25258         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25259         Added more debug info in the negotiate process.
25260
25261         * gst/gstmessage.h:
25262         Prepare for segment playback.
25263
25264         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
25265         Better debugging.
25266
25267         * gst/gstutils.c:
25268         Some more docs.
25269
25270         * tools/gst-launch.c: (main):
25271         NULL pipeline on errors.
25272
25273 2005-07-12  Andy Wingo  <wingo@pobox.com>
25274
25275         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
25276         not it comes from a malloc region. Make sure our copy gets freed.
25277
25278 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25279
25280         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25281         * check/gst/gstmessage.c: (GST_START_TEST):
25282         * check/gst/gststructure.c: (GST_START_TEST),
25283         (gst_structure_suite), (main):
25284           more testing
25285         * gst/gstelement.c: (gst_element_message_full):
25286           clean up GError and debug string now that they get copied
25287         * gst/gstmessage.c: (gst_message_new_error),
25288         (gst_message_new_warning), (gst_message_parse_error),
25289         (gst_message_parse_warning):
25290           use GST_TYPE_G_ERROR for structure_new, and take copies of
25291           arguments, so that we don't mess up refcounting
25292
25293 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25294
25295         * check/Makefile.am:
25296           add per-test valgrind targets
25297         * check/gst-libs/gdp.c: (GST_START_TEST),
25298         (gst_data_protocol_suite), (main):
25299           clean up
25300
25301 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25302
25303         * check/Makefile.am:
25304           instate more valgrindable tests
25305         * check/elements/gstfakesrc.c: (chain_func), (event_func),
25306         (GST_START_TEST), (fakesrc_suite):
25307         * check/gst/gstpad.c: (GST_START_TEST):
25308         * check/gst/gststructure.c: (GST_START_TEST):
25309           fix test leaks
25310         * docs/gst/tmpl/gstminiobject.sgml:
25311         * gst/gstpad.c: (gst_pad_finalize):
25312           fix the static mutex leak
25313
25314 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25315
25316         * check/Makefile.am:
25317           add two more tests for valgrinding
25318         * check/gst/gstvalue.c: (GST_START_TEST):
25319           test refcount of deserialized buffer, found a leak
25320         * docs/gst/gstreamer-docs.sgml:
25321         * docs/gst/gstreamer-sections.txt:
25322         * docs/gst/gstreamer.types:
25323         * docs/gst/tmpl/gstminiobject.sgml:
25324           add miniobject to docs
25325         * gst/gstminiobject.c:
25326           add some docs
25327         * gst/gstvalue.c: (gst_value_deserialize_buffer),
25328         (gst_string_unwrap):
25329           fix a hard-to-find invalid write for one of the tests
25330           fix a leak for deserialized buffers
25331
25332 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25333
25334         * docs/pwg/advanced-events.xml:
25335         * docs/pwg/advanced-request.xml:
25336         * docs/pwg/advanced-scheduling.xml:
25337         * docs/pwg/appendix-porting.xml:
25338         * docs/pwg/building-boiler.xml:
25339         * docs/pwg/intro-preface.xml:
25340         * docs/pwg/other-ntoone.xml:
25341           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
25342           of example code and explanation for pad activation, loop() and
25343           getrange() functions and a bit more. Remove old comments pointing
25344           to loop-functions.
25345         * examples/pwg/Makefile.am:
25346           Add loop/getrange examples.
25347
25348 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25349
25350         * configure.ac:
25351           check for valgrind binary + some fixes
25352         * check/gst.supp:
25353           valgrind suppressions for the tests
25354         * check/Makefile.am:
25355           add a valgrind: target that valgrinds the unit tests
25356         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
25357         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25358         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25359         * check/gst/gstghostpad.c:
25360           added some cleanup
25361         * check/gst/gstdata.c:
25362           removed
25363         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
25364         (thread_unref), (gst_mini_object_suite), (main):
25365           added
25366         * gst/gst.c: (gst_deinit):
25367         * gst/gst.h:
25368           add a method to clean up.
25369         * gst/gstsystemclock.c: (gst_system_clock_dispose),
25370         (gst_system_clock_obtain):
25371           allow for disposing the system clock.
25372         * tools/gst-launch.c: (main):
25373           deinit
25374
25375 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25376
25377         * docs/gst/tmpl/gstbasesrc.sgml:
25378         * docs/gst/tmpl/gstfakesrc.sgml:
25379         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25380         (gst_base_src_init), (gst_base_src_set_property),
25381         (gst_base_src_get_property), (gst_base_src_get_range),
25382         (gst_base_src_start):
25383         * gst/base/gstbasesrc.h:
25384           add num-buffers property
25385         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25386         (gst_fakesrc_init), (gst_fakesrc_set_property),
25387         (gst_fakesrc_get_property), (gst_fakesrc_create),
25388         (gst_fakesrc_start):
25389           remove num-buffers property
25390
25391 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25392
25393         * docs/gst/gstreamer-sections.txt:
25394         * docs/gst/tmpl/gstbasesink.sgml:
25395         * docs/gst/tmpl/gstbasesrc.sgml:
25396         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25397         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25398         (gst_base_sink_finalize), (gst_base_sink_set_clock),
25399         (gst_base_sink_set_property), (gst_base_sink_get_property),
25400         (gst_base_sink_handle_object), (gst_base_sink_event),
25401         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
25402         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
25403         (gst_base_sink_loop), (gst_base_sink_deactivate),
25404         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
25405         (gst_base_sink_change_state):
25406         * gst/base/gstbasesink.h:
25407         * gst/base/gstbasesrc.h:
25408         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
25409         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25410         (gst_filesink_init):
25411           more macro splitting
25412
25413 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25414
25415         * gst/gstelement.c: (gst_element_get_bus):
25416           add debug
25417         * tools/gst-launch.c: (check_intr), (event_loop):
25418           fix bus leaks
25419
25420 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25421
25422         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
25423           fix a caps leak
25424
25425 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25426
25427         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25428         (gst_base_src_finalize):
25429           add finalize method and clean up properly
25430         * gst/gstpipeline.c: (gst_pipeline_dispose):
25431           add debug
25432
25433 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25434
25435         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
25436         (gst_bin_suite):
25437           add more things to check
25438         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25439         * gst/gstelement.c:
25440           more debug
25441
25442 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25443
25444         * check/elements/gstfakesrc.c: (chain_func), (event_func),
25445         (GST_START_TEST), (fakesrc_suite):
25446         * check/gst-libs/gdp.c: (GST_START_TEST):
25447         * check/gst/gst.c: (GST_START_TEST):
25448         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25449         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25450         * check/gst/gstbus.c: (GST_START_TEST):
25451         * check/gst/gstcaps.c: (GST_START_TEST):
25452         * check/gst/gstdata.c: (GST_START_TEST):
25453         * check/gst/gstelement.c: (GST_START_TEST):
25454         * check/gst/gstghostpad.c: (GST_START_TEST):
25455         * check/gst/gstiterator.c: (GST_START_TEST):
25456         * check/gst/gstmessage.c: (GST_START_TEST):
25457         * check/gst/gstobject.c: (GST_START_TEST):
25458         * check/gst/gstpad.c: (GST_START_TEST):
25459         * check/gst/gststructure.c: (GST_START_TEST):
25460         * check/gst/gstsystemclock.c: (GST_START_TEST),
25461         (gst_systemclock_suite):
25462         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25463         * check/gst/gstvalue.c: (GST_START_TEST):
25464         * check/pipelines/cleanup.c: (GST_START_TEST):
25465         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25466         * check/states/sinks.c: (GST_START_TEST):
25467         * check/gstcheck.c: (gst_check_init):
25468         * check/gstcheck.h:
25469           add debugging category
25470           use GST_START_TEST now, so we add a debug line
25471
25472 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25473
25474         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
25475           add test for state change message on a bin
25476         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
25477           add another test
25478         * gst/gstbin.c: (gst_bin_init):
25479         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
25480         * gst/gstelement.c: (gst_element_post_message),
25481         (gst_element_set_state):
25482         * gst/gstelementfactory.c: (gst_element_factory_create):
25483         * gst/gstmessage.c: (gst_message_new):
25484         * gst/gstscheduler.c:
25485           various debugging additions and cleanups
25486
25487 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25488
25489         * check/Makefile.am:
25490         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
25491         (main):
25492           adding tests for elements
25493         * gst/gstelement.c: (gst_element_dispose):
25494
25495 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25496
25497         * gst/registries/gstlibxmlregistry.c: (load_feature):
25498           plug more leaks.  A simple gst_init() now is leakfree, yay.
25499
25500 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25501
25502         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
25503         (gst_xml_registry_load):
25504           plug another memleak
25505
25506 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25507
25508         * configure.ac:
25509           use GST_SET_ERROR_CFLAGS
25510         * docs/faq/cvs.xml:
25511           change to ERROR_CFLAGS
25512
25513 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25514
25515         * configure.ac:
25516           make GST_ERROR_CFLAGS overridable and re-enable Werror
25517         * docs/faq/cvs.xml:
25518           add a note about error CFLAGS
25519         * docs/gst/tmpl/gstfakesrc.sgml:
25520         * gst/elements/gstfakesrc.c:
25521           comment out some unused code
25522         * gst/gst.c: (split_and_iterate):
25523         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
25524         (load_feature):
25525           plug some memleaks
25526
25527 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
25528
25529         * common/Makefile.am:
25530         * common/gtk-doc.mak:
25531         * docs/gst/Makefile.am:
25532           factor out gtk-doc.mak
25533
25534 2005-07-07  Wim Taymans  <wim@fluendo.com>
25535
25536         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
25537         (gst_thread_scheduler_dispose):
25538         Unlock the STREAM_LOCK completely.
25539
25540 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
25541
25542         * check/Makefile.am:
25543         * check/elements/.cvsignore:
25544         * check/elements/gstfakesrc.c: (chain_func), (event_func),
25545         (START_TEST), (fakesrc_suite), (main):
25546         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25547         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25548         (gst_fakesrc_create), (gst_fakesrc_start):
25549         * gst/elements/gstfakesrc.h:
25550           adding a first element test
25551
25552 2005-07-07  Andy Wingo  <wingo@pobox.com>
25553
25554         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
25555         debug message.
25556
25557 2005-07-07  Wim Taymans  <wim@fluendo.com>
25558
25559         * gst/gstquery.c:
25560         * gst/gstquery.h:
25561         Remove old types
25562
25563 2005-07-07  Wim Taymans  <wim@fluendo.com>
25564
25565         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
25566         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
25567         Allow subclasses to implement their own negotiation.
25568
25569 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
25570
25571         * docs/design/part-gstbin.txt:
25572         * docs/design/part-gstpipeline.txt:
25573           Update design notes to reflect the movement of
25574           responsibility for bus handling from GstPipeline to
25575           GstBin
25576
25577 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
25578
25579         * configure.ac:
25580           Remove unnecessary queue2/3/4 examples.
25581
25582 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
25583
25584         * examples/Makefile.am:
25585         * examples/helloworld/helloworld.c: (event_loop), (main):
25586         * examples/queue/queue.c: (event_loop), (main):
25587         * examples/queue2/queue2.c: (main):
25588           Update a couple of the examples to work again.
25589
25590         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25591         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
25592          Spelling corrections and extra debug.
25593         
25594         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
25595         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
25596         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
25597         * gst/gstbin.h:
25598         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25599         (gst_pipeline_change_state):
25600         * gst/gstpipeline.h:
25601           Move the bus handler for children to the GstBin, and create a
25602           separate bus for receiving messages from children to the one the
25603           bus sends 'upwards' on.
25604
25605 2005-07-06  Wim Taymans  <wim@fluendo.com>
25606
25607         * gst/base/README:
25608         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25609         (gst_base_sink_handle_object), (gst_base_sink_loop),
25610         (gst_base_sink_change_state):
25611         * gst/base/gstbasesink.h:
25612         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25613         (gst_base_src_init), (gst_base_src_setcaps),
25614         (gst_base_src_getcaps), (gst_base_src_loop),
25615         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
25616         (gst_base_src_start), (gst_base_src_change_state):
25617         * gst/base/gstbasesrc.h:
25618         Make basesrc negotiate.
25619         Handle the case where preroll fails in basesink.
25620         Update README.
25621
25622 2005-07-06  Wim Taymans  <wim@fluendo.com>
25623
25624         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
25625         Implement the fixate function.
25626         Clean up acceptcaps.
25627
25628 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25629
25630         * docs/pwg/building-filterfactory.xml:
25631         * docs/pwg/pwg.xml:
25632           Remove never-written filter-factory chapter; I'll add the various
25633           base classes to part 4 ("other element types") later on.
25634
25635 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25636
25637         * docs/pwg/advanced-negotiation.xml:
25638         * docs/pwg/building-boiler.xml:
25639         * docs/pwg/building-pads.xml:
25640         * docs/pwg/pwg.xml:
25641         * examples/pwg/Makefile.am:
25642           Add a chapter on caps negotiation, simplify the original code
25643           samples a bit w.r.t. caps negotiation, add link to the advanced
25644           section. Add a bunch of examples showing different use cases of
25645           different types of caps negotiation. Upstream renegotiation isn't
25646           fully documented yet since nobody knows how that works.
25647
25648 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25649
25650         * check/gst/gstpad.c:
25651         * check/gstcheck.c:
25652         * gst/gstpad.c: (gst_pad_get_internal_links_default):
25653           if pad has no parent, return NULL as list of internal links
25654
25655 2005-07-05  Andy Wingo  <wingo@pobox.com>
25656
25657         * gst/elements/gstfilesrc.c:
25658         * gst/elements/gstfakesrc.c: 
25659         * gst/base/gstpushsrc.c:
25660         * gst/base/gstbasesrc.h: 
25661         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
25662         
25663 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
25664
25665         * Makefile.am:
25666           better report generation target (lcov needs a patch)
25667
25668 2005-07-05  Andy Wingo  <wingo@pobox.com>
25669
25670         * gst/elements, testsuite: Null if we got it...
25671
25672 2005-07-05  Wim Taymans  <wim@fluendo.com>
25673
25674         * configure.ac:
25675         * libs/gst/dataprotocol/Makefile.am:
25676         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
25677         * libs/gst/dataprotocol/dataprotocol.h:
25678         * pkgconfig/Makefile.am:
25679         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
25680         * pkgconfig/gstreamer-dataprotocol.pc.in:
25681         Ported dataprotol to 0.9. 
25682         Added pkgconfig files.
25683
25684 2005-07-05  Andy Wingo  <wingo@pobox.com>
25685
25686         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
25687         Default to returning TRUE for the case when tranform_caps returns
25688         a fixed caps, like for identity or volume.
25689
25690         * check/gst/gstbus.c (pound_bus_with_messages): 
25691         * check/gst/gstmessage.c (START_TEST): 
25692         * check/pipelines/simple_launch_lines.c (got_handoff): Application
25693         message API change.
25694
25695         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
25696         logic weaks here: always run transform_caps, trying passthrough
25697         operation only if the original caps intersects with the transform.
25698
25699         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
25700         source and sink caps.
25701
25702         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
25703         Intersect the peer caps with the pad template before going into
25704         transform_caps.
25705         (gst_base_transform_transform_caps): More debugging.
25706
25707         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
25708         src argument.
25709
25710 2005-07-04  Edward Hervey  <edward@fluendo.com>
25711
25712         * gst/gstutils.c:
25713         * gst/gstutils.h:
25714         (gst_pad_add_*_probe): now returns the signal id for better wrapping
25715         in bindings.
25716
25717 2005-07-04  Andy Wingo  <wingo@pobox.com>
25718
25719         * check/gst/gstpad.c: Only set explicit caps on pads.
25720
25721 2005-07-01  Andy Wingo  <wingo@pobox.com>
25722
25723         * tests/network-clock.scm: Commentary update.
25724
25725         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
25726         Didn't really make sense, not implementable with basetransform,
25727         etc.
25728         (gst_identity_transform): Unref inbuf via make_writable. Feeble
25729         attempt at implementing the sync property, needs an unlock method.
25730
25731         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
25732         New func, by default returns the same caps (the identity
25733         transformation).
25734         (gst_base_transform_getcaps): Uses transform_caps to return
25735         something sensible.
25736         (gst_base_transform_setcaps): Complicated logic to get caps on
25737         both pads, even if they are different, and to call set_caps once
25738         for every time both pads get their caps set.
25739         (gst_base_transform_handle_buffer): Give the ref to the transform
25740         function. Allows in-place modification of the buffer.
25741
25742         * gst/base/gstbasetransform.h (transform_caps): New class method.
25743         Given caps on one side, what can I do on the other.
25744         (set_caps): Take two caps, one for each side of the element.
25745
25746         * gst/gstpad.h:
25747         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
25748         caps in place. This is safe because we can check the mutability of
25749         the caps, and a good idea because fixate functions are just called
25750         as a matter of last resort. (Not actually implemented.)
25751         (gst_pad_set_caps): If the caps we're setting is actually the same
25752         as the existing pad caps, just update the pointer without calling
25753         setcaps. Assert that caps is either NULL or fixed, as per the
25754         docs.
25755
25756         * gst/gstghostpad.c: Update for fixate changes.
25757
25758 2005-07-02  Andy Wingo  <wingo@pobox.com>
25759
25760         * gst/gstcaps.c:
25761         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
25762         two refcounts makes it immutable, which is enough. Doc more.
25763
25764 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
25765
25766         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
25767           Put the mini_object into GValue as a mini_object,
25768           not a gpointer, since that's how we declared
25769           the signal.
25770
25771 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25772
25773         * examples/pwg/Makefile.am:
25774           Fix buildbot again.
25775
25776 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25777
25778         * docs/pwg/building-testapp.xml:
25779           Add extra check.
25780         * examples/pwg/Makefile.am:
25781           Fix buildbot.
25782
25783 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25784
25785         * configure.ac:
25786         * examples/Makefile.am:
25787         * examples/pwg/Makefile.am:
25788         * examples/pwg/extract.pl:
25789           Enable building the PWG examples.
25790         * docs/pwg/advanced-interfaces.xml:
25791           Add URI interface stub.
25792         * docs/pwg/advanced-types.xml:
25793         * docs/pwg/other-autoplugger.xml:
25794         * docs/pwg/appendix-porting.xml:
25795         * docs/pwg/pwg.xml:
25796           Add porting guide (mostly stubs), remove autoplugging (see ADM).
25797         * docs/pwg/building-boiler.xml:
25798         * docs/pwg/building-chainfn.xml:
25799         * docs/pwg/building-pads.xml:
25800         * docs/pwg/building-props.xml:
25801         * docs/pwg/building-state.xml:
25802         * docs/pwg/building-testapp.xml:
25803           Update the building-*.xml parts for 0.9 changes. All examples
25804           code blocks compile in examples/pwg/*.
25805
25806 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25807
25808         * docs/manual/advanced-autoplugging.xml:
25809         * docs/manual/appendix-checklist.xml:
25810         * docs/manual/appendix-integration.xml:
25811         * docs/manual/highlevel-components.xml:
25812           Fix playbin/decodebin examples, update docs a bit, mention bus
25813           instead of signals in various places, mention kmplayer and
25814           kaffeine since they have a working GStreamer backend in the KDE
25815           section.
25816
25817 2005-06-30  Wim Taymans  <wim@fluendo.com>
25818
25819         * CHANGES-0.9:
25820         * docs/design/draft-ghostpads.txt:
25821         * docs/design/draft-push-pull.txt:
25822         * docs/design/draft-query.txt:
25823         * docs/design/part-TODO.txt:
25824         * docs/design/part-query.txt:
25825         Added CHANGES-0.9 doc, updated status of other docs.
25826         
25827         * gst/gstquery.h:
25828         Remove "hmm" macro
25829
25830 2005-06-30  Wim Taymans  <wim@fluendo.com>
25831
25832         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25833         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25834         (gst_base_sink_change_state):
25835         * gst/base/gstbasesink.h:
25836         Some tweaks, only EOS and a buffer complete a preroll.
25837
25838 2005-06-30  Andy Wingo  <wingo@pobox.com>
25839
25840         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
25841         activate_push down to the internal pad as well.
25842
25843 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
25844
25845         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25846
25847         * gst/gsttaginterface.c:
25848           Some documentation fixes (#307394 and #307397).
25849
25850 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
25851
25852         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25853
25854         * gst/gstvalue.c: (gst_value_intersect_list):
25855           Fix memleak (#309125).
25856
25857 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25858
25859         * docs/manual/advanced-dataaccess.xml:
25860           Fix fakesrc example to compile; doesn't work, bug somewhere...?
25861         * docs/manual/basics-pads.xml:
25862           Add reference for filtered caps to above chapter.
25863
25864 2005-06-30  Wim Taymans  <wim@fluendo.com>
25865
25866         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
25867         (gst_bin_change_state):
25868         Probes are gone.
25869         Lame attempt at making the state change function a bit
25870         more readable.
25871
25872 2005-06-30  Wim Taymans  <wim@fluendo.com>
25873
25874         * docs/design/part-clocks.txt:
25875         * docs/design/part-element-sink.txt:
25876         * docs/design/part-events.txt:
25877         * docs/design/part-preroll.txt:
25878         * docs/design/part-states.txt:
25879         Some more tweeks and additions to the docs.
25880
25881 2005-06-30  Wim Taymans  <wim@fluendo.com>
25882
25883         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25884         (default_have_data), (gst_pad_class_init), (gst_pad_init),
25885         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25886         (gst_pad_check_pull_range), (gst_pad_get_range),
25887         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
25888         * gst/gstpad.h:
25889         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
25890         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25891         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25892         (gst_pad_remove_buffer_probe):
25893         Removed atomic operations, use existing LOCK.
25894         Move exception handling out of main code path.
25895
25896 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25897
25898         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25899         (silly_return_true_function), (gst_pad_class_init),
25900         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25901         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
25902         (gst_pad_send_event):
25903           Fix accumulator, add default value by using _emitv() instead
25904           of _emit() for signal emission.
25905
25906 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25907
25908         * docs/manual/advanced-dataaccess.xml:
25909         * examples/manual/Makefile.am:
25910           Add probe example.
25911         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
25912           Make work (??).
25913
25914 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
25915
25916         * gst/elements/gstfilesink.c: (gst_filesink_render):
25917           Simplify code so that we don't have to handle short
25918           writes and return GST_FLOW_ERROR if an error occured.
25919
25920 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25921
25922         * docs/gst/gstreamer-docs.sgml:
25923           Remove probes more.
25924
25925 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25926
25927         * docs/gst/gstreamer-sections.txt:
25928         * docs/gst/tmpl/gstpad.sgml:
25929         * docs/gst/tmpl/gstprobe.sgml:
25930         * gst/Makefile.am:
25931         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25932         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
25933         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25934         (gst_pad_push_event), (gst_pad_send_event):
25935         * gst/gstpad.h:
25936         * gst/gstutils.c: (gst_pad_add_data_probe),
25937         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25938         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25939         (gst_pad_remove_buffer_probe):
25940         * gst/gstutils.h:
25941           Remove old probes, add new g-signal-based probes and some utility
25942           functions.
25943
25944 2005-06-29  Edward Hervey  <edward@fluendo.com>
25945
25946         * gst/gstelementfactory.c:
25947         * gst/gstutils.h:
25948         * gst/gstutils.c:
25949         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
25950         the definition to the header file.
25951
25952 2005-06-29  Andy Wingo  <wingo@pobox.com>
25953
25954         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
25955         plugins from the source directory.
25956
25957 2005-06-29  Wim Taymans  <wim@fluendo.com>
25958
25959         * docs/gst/tmpl/gstbuffer.sgml:
25960         * docs/gst/tmpl/gstclock.sgml:
25961         Some fixings for blantently wrong text.
25962
25963 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25964
25965         * check/Makefile.am:
25966         * gst/gst.c: (add_path_func), (init_pre):
25967         * gst/gstregistry.c: (gst_registry_add_path):
25968           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
25969           only scan the GST_PLUGIN_PATH locations, and not add
25970           system locations
25971
25972 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25973
25974         * docs/gst/gstreamer-sections.txt:
25975         * docs/gst/tmpl/gstbasesrc.sgml:
25976         * gst/gstelement.c:
25977         * gst/gstelement.h:
25978         * gst/gstevent.c:
25979         * gst/gstutils.c:
25980           doc fixes
25981
25982 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25983
25984         * docs/manual/advanced-autoplugging.xml:
25985           Fix autoplugging example.
25986
25987 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25988
25989         * docs/manual/advanced-autoplugging.xml:
25990         * docs/manual/mime-world.fig:
25991           Try to get autoplugging working, fix type detection. Fix text
25992           in hello-world image.
25993
25994 2005-06-29  Wim Taymans  <wim@fluendo.com>
25995
25996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25997         (gst_base_sink_change_state):
25998         Small debug line.
25999
26000         * gst/gstclock.h:
26001         map SIGNAL and BROADCAST to the right function.
26002
26003         * gst/gstobject.h:
26004         Remove redundant braces.
26005
26006         * gst/gstpad.c: (gst_pad_set_caps):
26007         Don't call setcaps function when reseting caps to NULL.
26008
26009         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26010         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
26011         (gst_system_clock_id_unschedule):
26012         Use BROADCAST as this is what we do.
26013
26014 2005-06-29  Wim Taymans  <wim@fluendo.com>
26015
26016         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26017         We are actually prerolling before commiting the state
26018         change. 
26019
26020 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26021
26022         * docs/manual/advanced-clocks.xml:
26023         * docs/manual/advanced-interfaces.xml:
26024         * docs/manual/advanced-metadata.xml:
26025         * docs/manual/advanced-position.xml:
26026         * docs/manual/advanced-schedulers.xml:
26027         * docs/manual/advanced-threads.xml:
26028         * docs/manual/appendix-porting.xml:
26029         * docs/manual/basics-bins.xml:
26030         * docs/manual/basics-bus.xml:
26031         * docs/manual/basics-elements.xml:
26032         * docs/manual/basics-helloworld.xml:
26033         * docs/manual/basics-pads.xml:
26034         * docs/manual/highlevel-components.xml:
26035         * docs/manual/manual.xml:
26036         * docs/manual/thread.fig:
26037           Update (until threads/scheduling) Application Development Manual;
26038           remove GstThread, add GstBus, add simple porting checklist, add
26039           documentation for tag writing, clocks, make all examples until this
26040           part compile and run.
26041         * examples/manual/Makefile.am:
26042           Update from changes to Application Development Manual; add bus
26043           example, remove thread example.
26044
26045 2005-06-28  Wim Taymans  <wim@fluendo.com>
26046
26047         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
26048         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
26049         (gst_bus_source_dispatch):
26050         Add debugging messages.
26051         Make internal methods static.
26052         Handle the case where the bus is flushed in the handler.
26053         
26054         * gst/gstelement.c: (gst_element_get_bus):
26055         Fix refcount in _get_bus();
26056
26057         * gst/gstpipeline.c: (gst_pipeline_change_state),
26058         (gst_pipeline_get_clock_func):
26059         Clock refcounting fixes.
26060         Handle the case where preroll timed out more gracefully.
26061         
26062         * gst/gstsystemclock.c: (gst_system_clock_dispose):
26063         Clean up the internal thread in dispose. This is needed
26064         for subclasses that actually get disposed.
26065         
26066         * gst/schedulers/threadscheduler.c:
26067         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26068         (gst_thread_scheduler_dispose):
26069         Free thread pool in dispose.
26070
26071 2005-06-28  Andy Wingo  <wingo@pobox.com>
26072
26073         * tests/network-clock-utils.scm (debug, print-event): New utils.
26074
26075         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
26076         (*packet-loss*): Unified loss probability.
26077         (network-time): Report out-of-band events.
26078
26079         * tests/plot-data: Add support for out-of-band events. Hack it
26080         into this script instead of passing it down the pipe; should fix
26081         this later.
26082
26083 2005-06-28  Wim Taymans  <wim@fluendo.com>
26084
26085         * docs/gst/gstreamer.types:
26086         * docs/gst/tmpl/gstbasesrc.sgml:
26087         * docs/gst/tmpl/gstpad.sgml:
26088         Docs fixes.
26089
26090 2005-06-28  Wim Taymans  <wim@fluendo.com>
26091
26092         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26093         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
26094         (gst_proxy_pad_do_fixatecaps):
26095         Correctly proxy the check_pull_range function.
26096
26097 2005-06-28  Andy Wingo  <wingo@pobox.com>
26098
26099         * tests/network-clock.scm: Removed need for slib.
26100         
26101 2005-06-28  Wim Taymans  <wim@fluendo.com>
26102
26103         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
26104         (gst_basesink_preroll_queue_flush):
26105         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
26106         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
26107         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26108         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26109         (gst_proxy_pad_set_property):
26110         * gst/gstpad.c:
26111         * gst/gstpad.h:
26112         * gst/gstqueue.c: (gst_queue_init):
26113         The deprecated pad loop function is removed now.
26114
26115 2005-06-28  Andy Wingo  <wingo@pobox.com>
26116
26117         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
26118         New parameters, simulate network packet loss.
26119
26120         * tests/network-clock-utils.scm: Initialize the RNG.
26121
26122 2005-06-28  Wim Taymans  <wim@fluendo.com>
26123
26124         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
26125         (gst_basesink_event), (gst_basesink_deactivate):
26126         Flushing the preroll queue always needs to unlock the waiters.
26127
26128 2005-06-28  Edward Hervey  <edward@fluendo.com>
26129
26130         * gst/gstpipeline.c: (gst_pipeline_send_event): 
26131         Wheen a seek was successful on a pipeline, set the stream_time to the
26132         seek offset in order to have a synchronized stream_time.
26133
26134 2005-06-28  Wim Taymans  <wim@fluendo.com>
26135
26136         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26137         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
26138         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
26139         (gst_proxy_pad_do_fixatecaps):
26140         Call wrapper function instead of just calling the function
26141         pointers. This takes care of any locking and whatmore.
26142
26143 2005-06-28  Wim Taymans  <wim@fluendo.com>
26144
26145         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
26146         (gst_pad_pull_range):
26147         * gst/gstpad.h:
26148         CONNECTED -> LINKED.
26149
26150 2005-06-28  Andy Wingo  <wingo@pobox.com>
26151
26152         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
26153         source-munging commit!!!
26154
26155         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
26156         (gst_object_sink): Take gpointer arguments, not GstObject --
26157         avoids casts. Like GLib.
26158
26159         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
26160         activate.
26161
26162 2005-06-27  Andy Wingo  <wingo@pobox.com>
26163
26164         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
26165         remaining buffer.
26166
26167         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
26168         returns a sorted copy of the trace list.
26169         (gst_alloc_trace_print_live): New API, only prints traces with
26170         live objects. Sort the list.
26171         (gst_alloc_trace_print_all): Sort the list.
26172         (gst_alloc_trace_print): Align columns.
26173
26174         * gst/elements/gstttypefindelement.c:
26175         * gst/elements/gsttee.c:
26176         * gst/base/gstbasesrc.c:
26177         * gst/base/gstbasesink.c:
26178         * gst/base/gstbasetransform.c:
26179         * gst/gstqueue.c: Adapt for pad activation changes.
26180
26181         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
26182         sched.
26183         (gst_pipeline_dispose): Drop ref on sched.
26184
26185         * gst/gstpad.c (gst_pad_init): Set the default activate func.
26186         (gst_pad_activate_default): Push mode by default.
26187         (pre_activate_switch, post_activate_switch): New stubs, things to
26188         do before and after switching activation modes on pads.
26189         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
26190         the pad's activate function to choose which mode to activate.
26191         Shortcut on deactivation and call the right function directly.
26192         (gst_pad_activate_pull): New API, (de)activates a pad in pull
26193         mode.
26194         (gst_pad_activate_push): New API, same for push mode.
26195         (gst_pad_set_activate_function) 
26196         (gst_pad_set_activatepull_function) 
26197         (gst_pad_set_activatepush_function): Setters for new API.
26198
26199         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
26200         Trace all miniobjects.
26201         (gst_mini_object_make_writable): Unref the arg if we copy, like
26202         gst_caps_make_writable.
26203
26204         * gst/gstmessage.c (_gst_message_initialize): No trace init.
26205
26206         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
26207         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
26208         Adapt for new pad API.
26209
26210         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
26211
26212         * gst/gstelement.h:
26213         * gst/gstelement.c (gst_element_iterate_src_pads) 
26214         (gst_element_iterate_sink_pads): New API functions.
26215         
26216         * gst/gstelement.c (iterator_fold_with_resync): New utility,
26217         should fold into gstiterator.c in some form.
26218         (gst_element_pads_activate): Simplified via use of fold and
26219         delegation of decisions to gstpad->activate.
26220
26221         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
26222         help in debugging.
26223
26224         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
26225         class once in init, like gstmessage. Didn't run into this issue
26226         but it seems correct. Don't initialize a trace, gstminiobject does
26227         that.
26228
26229         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
26230         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
26231         to the bus.
26232         (assert_live_count): New util function, uses alloc traces to check
26233         cleanup.
26234
26235         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
26236         To be modified when unlink drops the internal pad.
26237
26238 2005-06-27  Wim Taymans  <wim@fluendo.com>
26239
26240         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
26241         (gst_bin_change_state):
26242         Cleanup the get_state() function a little, make sure it
26243         iterates the same set of elements.
26244         Added stub iterate_state_order().
26245
26246 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
26247
26248         * docs/gst/gstreamer-docs.sgml:
26249         * docs/gst/gstreamer-sections.txt:
26250         * docs/gst/gstreamer.types:
26251         * docs/gst/tmpl/gstbasesink.sgml:
26252         * docs/gst/tmpl/gstbasesrc.sgml:
26253         * docs/gst/tmpl/gstbasetransform.sgml:
26254         * docs/gst/tmpl/gstelement.sgml:
26255         * docs/gst/tmpl/gstiterator.sgml:
26256         * gst/base/gstbasesrc.c:
26257         * gst/base/gstbasesrc.h:
26258         * gst/base/gstbasetransform.h:
26259         * gst/gstelement.c:
26260         * gst/gstiterator.h:
26261           adding basetransform and iterator docs
26262
26263 2005-06-27  Andy Wingo  <wingo@pobox.com>
26264
26265         * docs/design/part-activation.txt: Notes on how activation should
26266         work -- not quite implemented yet.
26267
26268 2005-06-25  Wim Taymans  <wim@fluendo.com>
26269
26270         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
26271         At least get the chain function correct, needs more
26272         fixing.
26273
26274 2005-06-25  Wim Taymans  <wim@fluendo.com>
26275
26276         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26277         (gst_basesink_handle_object), (gst_basesink_event),
26278         (gst_basesink_do_sync), (gst_basesink_handle_event),
26279         (gst_basesink_change_state):
26280         * gst/gsttask.h:
26281         Right, two problems here: ghostpads don't take locks and
26282         glib _rec_mutex_lock_full() with depth==0 still locks.
26283         Catch illegal locking and g_warn them.
26284
26285 2005-06-25  Wim Taymans  <wim@fluendo.com>
26286
26287         * check/states/sinks.c: (START_TEST), (gst_object_suite):
26288         Have to check for completion now...
26289
26290 2005-06-25  Wim Taymans  <wim@fluendo.com>
26291
26292         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26293         (gst_basesink_handle_object), (gst_basesink_event),
26294         (gst_basesink_do_sync), (gst_basesink_handle_event),
26295         (gst_basesink_change_state):
26296         * gst/gstpad.h:
26297         Unlock STREAM_LOCK whatever the recursion was.
26298
26299 2005-06-25  Wim Taymans  <wim@fluendo.com>
26300
26301         * gst/base/gstbasesink.c: (gst_basesink_set_property),
26302         (gst_basesink_preroll_queue_empty),
26303         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
26304         (gst_basesink_event), (gst_basesink_do_sync),
26305         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
26306         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
26307         (gst_basesink_change_state):
26308         Reworked the base sink, handle event and buffer serialisation
26309         correctly and removed possible deadlock.
26310         Handle EOS correctly.
26311
26312 2005-06-25  Wim Taymans  <wim@fluendo.com>
26313
26314         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
26315         (gst_pipeline_change_state):
26316         * tools/gst-launch.c: (check_intr), (event_loop), (main):
26317         Allow elements to post EOS in the state change function.
26318         Fix up -launch, make it exit the poll loop when the
26319         pipeline actually changed state.
26320         Fix up warning parsing in -launch.
26321
26322 2005-06-25  Wim Taymans  <wim@fluendo.com>
26323
26324         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
26325         (gst_tee_sink_activate):
26326         Core takes STREAM_LOCK for us now.
26327
26328 2005-06-25  Wim Taymans  <wim@fluendo.com>
26329
26330         * gst/gstelement.c: (gst_element_get_state_func),
26331         (gst_element_set_state):
26332         * gst/gstelement.h:
26333         * gst/gstmessage.c: (gst_message_parse_error),
26334         (gst_message_parse_warning):
26335         Keep track of current target state while performing a state
26336         change so that subclasses can do something interesting.
26337         Fix parsing of warning/error messages when GError is NULL.
26338
26339 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26340
26341         * docs/gst/Makefile.am:
26342         * docs/gst/gstreamer-docs.sgml:
26343         * docs/gst/gstreamer-sections.txt:
26344         * docs/gst/gstreamer.types:
26345         * docs/gst/tmpl/gstbasesink.sgml:
26346         * docs/gst/tmpl/gstbasesrc.sgml:
26347         * docs/gst/tmpl/gstbin.sgml:
26348         * docs/gst/tmpl/gstcompat.sgml:
26349         * docs/gst/tmpl/gstfakesink.sgml:
26350         * docs/gst/tmpl/gstfakesrc.sgml:
26351         * docs/gst/tmpl/gstfilesink.sgml:
26352         * docs/gst/tmpl/gstfilesrc.sgml:
26353         * docs/gst/tmpl/gstindex.sgml:
26354         * docs/manual/appendix-quotes.xml:
26355         * gst/base/gstbasesrc.h:
26356         * gst/elements/gstfakesrc.h:
26357         * gst/gstmessage.h:
26358           start pulling in base classes and elements in our docs
26359
26360 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
26361
26362         * docs/gst/Makefile.am:
26363         * docs/libs/Makefile.am:
26364           fixed make distcheck with gtk-doc 1.3
26365
26366 2005-06-23  Wim Taymans  <wim@fluendo.com>
26367
26368         * gst/gstelement.c: (gst_element_get_state_func),
26369         (gst_element_set_state), (gst_element_change_state):
26370         When the state did not change, also report NO_PREROLL
26371         when it matters.
26372
26373 2005-06-23  Wim Taymans  <wim@fluendo.com>
26374
26375         * gst/gstpad.c: (gst_pad_event_default):
26376         * gst/gstqueue.c: (gst_queue_loop):
26377         No unsafe task pausing please.
26378
26379 2005-06-23  Wim Taymans  <wim@fluendo.com>
26380
26381         * gst/schedulers/threadscheduler.c:
26382         (gst_thread_scheduler_task_start),
26383         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
26384         Ref the task before pushing it on the threadpool. This
26385         makes sure that we have a ref when the threadfunction is
26386         actually called.
26387
26388 2005-06-23  Andy Wingo  <wingo@pobox.com>
26389
26390         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
26391         offset is greater than the file's size.
26392
26393         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
26394         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
26395         * gst/gstobject.c (gst_object_class_init): Make the class lock
26396         recursive. Wim won't let me drop deep_notify. Decodebin works
26397         again, whoopdy doo.
26398
26399         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
26400         internal pad, and hacks accordingly. Doesn't do it on the target
26401         pad because we change its caps. Probably catches all cases of
26402         interest tho.
26403         (gst_ghost_pad_set_property): Connect to notify::caps as
26404         appropritate.
26405
26406         * tests/network-clock.scm (plot-simulation): Pipe data to the
26407         elite python skript.
26408
26409         * tests/network-clock-utils.scm (define-parameter): New macro,
26410         defines a parameter that can be set via the command line.
26411         (set-parameter!, parse-parameter-arguments): Command line args
26412         parser.
26413
26414         * tests/plot-data: Simple matplotlib-based plotter, takes input on
26415         stdin.
26416
26417 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
26418
26419         * gst/elements/gsttypefindelement.c:
26420         (gst_type_find_element_handle_event):
26421           Don't restart typefinding on a discont.
26422         * gst/gstelement.c: (gst_element_set_state):
26423           Debug spelling fix.
26424         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
26425           Allow changing mode of an active pad.
26426           Debug output fixes.
26427         * gst/registries/gstlibxmlregistry.c: (load_feature):
26428           Don't cast a static pad template to a normal pad template.
26429
26430 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26431
26432         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26433         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26434           remove gst_strtoll completely, since it didn't actually do
26435           anything more than what g_ascii_strtoull already does.
26436           check for range errors when deserializing
26437           do a cast for the unsigned cases; but further fixing needs
26438           a decision on what the interpretation of "(int)" and
26439           deserialization should be for values that fall outside the
26440           type's boundaries (ie, refuse, or interpret as casting)
26441
26442 2005-06-23  Wim Taymans  <wim@fluendo.com>
26443
26444         * check/Makefile.am:
26445         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
26446         * docs/design/part-live-source.txt:
26447         * docs/design/part-states.txt:
26448         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26449         (gst_basesrc_set_live), (gst_basesrc_is_live),
26450         (gst_basesrc_get_range), (gst_basesrc_activate),
26451         (gst_basesrc_change_state):
26452         * gst/base/gstbasesrc.h:
26453         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26454         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26455         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
26456         * gst/gstelement.c: (gst_element_get_state_func),
26457         (gst_element_set_state):
26458         * gst/gstelement.h:
26459         * gst/gsttypes.h:
26460         * tools/gst-launch.c: (event_loop), (main):
26461         Added support for live sources and other elements that
26462         cannot do preroll.
26463         Updated design docs, added live-source design doc.
26464         Implemented live source functionality in basesrc
26465         Fix error condition in _bin_get_state()
26466         Implement live source handling in -launch.
26467         Added check for live sources.
26468         Fixed case in GstBin where elements were changed state
26469         multiple times.
26470
26471
26472 2005-06-23  Andy Wingo  <wingo@pobox.com>
26473
26474         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
26475         borken refcounting.
26476
26477         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
26478         gst_caps_replace takes care of this for us.
26479
26480         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
26481         gst_pad_set_caps on the target, not just its setcaps() function.
26482
26483         * tests/network-clock.scm: 
26484         * tests/network-clock-utils.scm: A network clock simulator.
26485         Something of an algorithmic testbed before doing something in C.
26486
26487 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26488
26489         * check/Makefile.am:
26490         * check/gst/capslist.h:
26491           copy over from 0.8, and add two with bitmasks specified with
26492           (int) 0xFF...
26493         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
26494           add test to parse everything from capslist.h
26495         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
26496         (main):
26497           add test for structure deserialization
26498         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26499           add tests for deserialization of strings to int types
26500         * gst/gststructure.c: (gst_structure_nth_field_name):
26501         * gst/gststructure.h:
26502           add a way to get the name of a field referenced by index
26503         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26504           instead of checking if the resulting long long lies between
26505           min and max, we check if the long long would fit into
26506           a number of bytes for the final type.
26507           This fixes cases where a string represents 2^32 - 1, which
26508           when cast to int would be the (valid) -1, but is bigger than
26509           G_MAXINT
26510
26511 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26512
26513         * gst/parse/grammar.y:
26514           add a log line for type deserialization
26515
26516 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26517
26518         * check/gst/gstvalue.c: (START_TEST):
26519         * gst/gstvalue.c: (gst_value_deserialize):
26520           return long long, not int, so gint64 deserialization actually
26521           works.  Is there any flag that makes the compiler check this ?
26522           Fixes #308559
26523
26524 2005-06-22  Wim Taymans  <wim@fluendo.com>
26525
26526         * gst/gstbuffer.h:
26527         Added convenience macros for setting buffers in GValue.
26528
26529 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26530
26531         * check/gst/.cvsignore:
26532         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26533           add a test deserializing int64, and comment part out because
26534           it fails, yay !
26535
26536 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26537
26538         * check/Makefile.am:
26539         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
26540         * testsuite/Makefile.am:
26541         * testsuite/caps/Makefile.am:
26542         * testsuite/caps/value_serialize.c:
26543         * testsuite/test_gst_init.c:
26544           move a value_serialize test over
26545
26546 2005-06-20  Wim Taymans  <wim@fluendo.com>
26547
26548         * gst/gstpad.c:
26549         Small doc updates.
26550         
26551         * gst/gstvalue.c: (gst_value_compare_buffer),
26552         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
26553         (gst_value_compare_flags), (gst_value_serialize_flags),
26554         (gst_value_deserialize_flags), (_gst_value_initialize):
26555         Fix serialisation of buffers, they are not boxed types anymore
26556
26557 2005-06-20  Wim Taymans  <wim@fluendo.com>
26558
26559         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
26560         Testcase to show error in buffer-on-caps serialisation.
26561
26562 2005-06-20  Andy Wingo  <wingo@pobox.com>
26563
26564         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
26565         will be adding to later.
26566
26567         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
26568         if its socks fill with rocks.
26569         (gst_system_clock_obtain): Set the name on object construction.
26570         Avoid double-checked locking.
26571
26572 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
26573
26574         * gst/gsturi.c: (gst_element_make_from_uri):
26575           Fix potential endless loop.
26576
26577 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
26578
26579         * check/Makefile.am:
26580           add gsttag
26581         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
26582         (main):
26583           move over from testsuite dir and clean up
26584         * configure.ac:
26585         * gst/gsttag.c:
26586         * testsuite/Makefile.am:
26587         * testsuite/tags/.cvsignore:
26588         * testsuite/tags/Makefile.am:
26589         * testsuite/tags/merge.c:
26590           remove testsuite/tags
26591
26592 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
26593
26594         * docs/gst/gstreamer-sections.txt:
26595         * docs/gst/tmpl/gstenumtypes.sgml:
26596         * win32/gstenumtypes.c:
26597           clean up documentation build a little
26598
26599 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
26600
26601         * check/gstcheck.h:
26602           add macros for checking refcounts on objects and caps
26603         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
26604           add some more unit tests
26605         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26606         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
26607           fix leaked refcounts (I hope :)) so unittest works
26608         * gst/gstpad.h:
26609           whitespace removal
26610
26611 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
26612
26613         * configure.ac: back to HEAD
26614
26615 === release 0.9.1 ===
26616
26617 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
26618
26619         * NEWS:
26620         * RELEASE:
26621           updated
26622
26623 2005-06-17  Andy Wingo  <wingo@pobox.com>
26624
26625         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
26626         assert; it's always possible that the pad gets deactivated in
26627         between the checks in gstpad.c and the implementation. Rely on
26628         finish_preroll() to return a FLUSHING or similar instead of on the
26629         assert.
26630         
26631         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
26632         clock and post an EOS message if we come out of finish_preroll in
26633         the playing state.
26634
26635 2005-06-16  David Schleef  <ds@schleef.org>
26636
26637         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
26638         (gst_capsfilter_set_property): Allow NULL as possible value
26639         for filter_caps property, indicating GST_CAPS_ANY.
26640
26641 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26642
26643         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
26644           fix debug output
26645         * gst/schedulers/Makefile.am:
26646           use libgst prefix
26647         * gstreamer.spec.in:
26648           fix spec for it
26649
26650 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26651
26652         * gstreamer.spec.in:
26653           clean up
26654
26655 2005-06-08  Andy Wingo  <wingo@pobox.com>
26656
26657         * gst/gstutils.c: RPAD fixes all around.
26658         (gst_element_link_pads): Refcounting fixes.
26659
26660         * tools/gst-inspect.c:
26661         * tools/gst-xmlinspect.c:
26662         * parse/grammar.y:
26663         * gst/base/gsttypefindhelper.c:
26664         * gst/base/gstbasesink.c:
26665         * gst/gstqueue.c: RPAD fixes.
26666
26667         * gst/gstghostpad.h:
26668         * gst/gstghostpad.c: New ghost pad implementation as full proxy
26669         pads. The tricky thing is they provide both source and sink
26670         interfaces, since they proxy the internal pad for the external
26671         pad, and vice versa. Implement with lower-level ProxyPad objects,
26672         with the interior proxy pad as a child of the exterior ghost pad.
26673         Should write a doc on this.
26674         
26675         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
26676         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
26677         gst_object API.
26678         
26679         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
26680         pads are real pads. No ghost pads in this file. Not documenting
26681         the myriad s/RPAD/PAD/ and REALIZE fixes.
26682         (gst_pad_class_init): Add properties for "direction" and
26683         "template". Both are construct-only, so they can't change during
26684         the life of the pad. Fixes properly deriving from GstPad.
26685         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
26686         derived objects, just set properties when creating the objects via
26687         g_object_new.
26688         (gst_pad_get_parent): Implement as a function, return NULL if the
26689         parent is not an element.
26690         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
26691         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
26692         
26693         * gst/gstobject.c (gst_object_class_init): Make name a construct
26694         property. Don't set it in the object init.
26695
26696         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
26697         with UNKNOWN direction.
26698         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
26699         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
26700         (gst_element_remove_pad): Remove ghost-pad special cases.
26701         (gst_element_pads_activate): Remove rpad cruft.
26702
26703         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
26704         catch the pad's-parent-not-an-element case.
26705
26706         * gst/gst.h: Include gstghostpad.h.
26707
26708         * gst/gst.c (init_post): No more real, ghost pads.
26709
26710         * gst/Makefile.am: Add gstghostpad.[ch].
26711
26712         * check/Makefile.am:
26713         * check/gst/gstbin.c:
26714         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
26715         into a bin creates ghost pads, and that the refcounts are right.
26716         Partly moved from gstbin.c.
26717
26718 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26719
26720         * check/gst-libs/.cvsignore:
26721         * check/gst/.cvsignore:
26722         * check/pipelines/.cvsignore:
26723           ignore more
26724         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
26725         (START_TEST), (cleanup_suite), (main):
26726           add some tests related to cleanup after running pipelines
26727
26728 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26729
26730         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
26731           add a testsuite for GstBuffer
26732
26733 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26734
26735         * gst/gstminiobject.h:
26736           add defines for accessing the refcount
26737
26738 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
26739
26740         * Makefile.am: added support for html unit test coverage reports
26741
26742 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
26743
26744         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26745           Free existing caps if the capsfilter changes. Add a FIXME about
26746           setting those caps on the pads.
26747
26748         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
26749           Before adding a ghost pad to a parent bin, check that there isn't
26750           already one for the element on the bin. Prevents infinite recursion
26751           when using decodebin in parse pipelines. Andy says he'll rewrite the
26752           way this works anyway, so ignore the hack.
26753
26754 2005-06-02  Andy Wingo  <wingo@pobox.com>
26755
26756         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
26757         file size, pass it on to the type find helper.
26758
26759         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
26760         segment_start and segment_end properly according to the seek
26761         method. Segment_end is still a bit flaky because offset can be
26762         negative for CUR and END cases, but it takes -1 as an "unset"
26763         value.
26764
26765 2005-06-02  Wim Taymans  <wim@fluendo.com>
26766
26767         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
26768         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
26769         (gst_basesink_activate):
26770         * gst/base/gstbasesink.h:
26771         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26772         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26773         (gst_pad_query), (gst_pad_start_task):
26774         * gst/gstpad.h:
26775         * gst/gstqueue.c: (gst_queue_bufferalloc),
26776         (gst_queue_handle_sink_event), (gst_queue_chain):
26777         Bufferalloc: return GstFlowReturn to more accuratly report
26778         why allocation failed.
26779
26780 2005-06-02  Wim Taymans  <wim@fluendo.com>
26781
26782         * gst/gstpipeline.c: (gst_pipeline_send_event):
26783         Take snapshot of state without blocking.
26784
26785 2005-06-02  Wim Taymans  <wim@fluendo.com>
26786
26787         * docs/design/part-TODO.txt:
26788         * docs/design/part-caps.txt:
26789         * docs/design/part-clocks.txt:
26790         * docs/design/part-negotiation.txt:
26791         * docs/design/part-preroll.txt:
26792         Small doc updates 
26793
26794 2005-05-30  Wim Taymans  <wim@fluendo.com>
26795
26796         * gst/elements/gstidentity.c: (gst_identity_event),
26797         (gst_identity_transform), (gst_identity_get_property):
26798         Protect last_message property as it is accessed from
26799         multiple threads.
26800
26801 2005-05-30  Wim Taymans  <wim@fluendo.com>
26802
26803         * gst/gstelement.c: (gst_element_init),
26804         (gst_element_pads_activate), (gst_element_change_state):
26805         Slicker pad activation code.
26806
26807 2005-05-30  Wim Taymans  <wim@fluendo.com>
26808
26809         * gst/Makefile.am:
26810         * gst/gstelement.h:
26811         * gst/gstelementfactory.h:
26812         * gst/gsttypes.h:
26813         Move elementfactory methods to separate .h file.
26814
26815 2005-05-30  Wim Taymans  <wim@fluendo.com>
26816
26817         * docs/design/part-overview.txt:
26818         * gst/gstsystemclock.h:
26819         Small typo fixes, doc updates.
26820
26821 2005-05-30  Wim Taymans  <wim@fluendo.com>
26822
26823         * gst/gst.c: (gst_init_get_popt_table), (init_post),
26824         (init_popt_callback):
26825         Remove cpu-opt flag.
26826
26827 2005-05-30  Wim Taymans  <wim@fluendo.com>
26828
26829         * gst/gstbuffer.c: (gst_subbuffer_finalize),
26830         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
26831         * gst/gstbuffer.h:
26832         Avoid typechecking in places where not needed.
26833         Added accessor for malloc_data.
26834
26835 2005-05-30  Wim Taymans  <wim@fluendo.com>
26836
26837         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
26838         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
26839         (gst_pad_configure_sink), (gst_pad_configure_src),
26840         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
26841         (gst_pad_start_task):
26842         Propagate errors from _set_caps() in configure_src/sink
26843         functions instead of returning TRUE.
26844         FLUSH events can travel up and downstream
26845
26846
26847 2005-05-30  Wim Taymans  <wim@fluendo.com>
26848
26849         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26850         (gst_basesink_activate):
26851         Handle EOS in preroll.
26852
26853 2005-05-30  Wim Taymans  <wim@fluendo.com>
26854
26855         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26856         (gst_queue_loop), (gst_queue_handle_src_event):
26857         Remove old pieces of code
26858         Flushing the queue in an upstream event is a very bad idea.
26859
26860 2005-05-26  Andy Wingo  <wingo@pobox.com>
26861
26862         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
26863         gst_value_set_mini_object so as to add a ref on the object (which
26864         will be removed when the value is unset).
26865
26866         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
26867         arg type in ::handoff.
26868
26869         * gst/gstelement.c (gst_element_change_state): Also deactivate
26870         pads in READY->NULL, just in case the element didn't make it to
26871         PAUSED. Wingo tested, Wim approved.
26872
26873 2005-05-26  Wim Taymans  <wim@fluendo.com>
26874
26875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26876         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26877         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
26878         A flushing pad cannot be used to alloc_buffer from.
26879
26880 2005-05-26  Wim Taymans  <wim@fluendo.com>
26881
26882         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
26883         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
26884         (gst_bus_source_dispatch), (gst_bus_source_finalize),
26885         (gst_bus_create_watch), (gst_bus_add_watch_full):
26886         * gst/gstbus.h:
26887         Implement a real GSource and use g_main_context_wakeup() to
26888         signal new messages instead of the socketpair.
26889
26890 2005-05-25  Wim Taymans  <wim@fluendo.com>
26891
26892         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
26893         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
26894         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26895         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26896         (gst_pad_send_event), (gst_pad_start_task):
26897         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
26898         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26899         (gst_queue_sink_activate), (gst_queue_src_activate),
26900         (gst_queue_change_state):
26901         * gst/gstqueue.h:
26902         Fix state changes for non sinks. We now change sinks, then elements
26903         with unconnected srcpads, then the rest.
26904         More efficient queue unlocking in flush and state changes.
26905         Set the pad activate mode even if it does not have an activate
26906         function.
26907
26908 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26909
26910         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
26911           Don't go in pull mode for non-seekable sources.
26912         * gst/elements/gsttypefindelement.h:
26913         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26914         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
26915         (free_entry), (stop_typefinding),
26916         (gst_type_find_element_handle_event), (find_peek),
26917         (gst_type_find_element_chain), (do_pull_typefind),
26918         (gst_type_find_element_change_state):
26919           Allow typefinding (w/o seeking) in push-mode, simplified version
26920           of what was in 0.8.
26921         * gst/gstutils.c: (gst_buffer_join):
26922         * gst/gstutils.h:
26923           gst_buffer_join() from 0.8.
26924
26925 2005-05-25  Wim Taymans  <wim@fluendo.com>
26926
26927         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26928         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26929         (gst_pad_send_event), (gst_pad_start_task):
26930         Disable attempt at mode switching until it is figured out.
26931
26932 2005-05-25  Wim Taymans  <wim@fluendo.com>
26933
26934         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
26935         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26936         (gst_basesink_finish_preroll), (gst_basesink_chain),
26937         (gst_basesink_loop), (gst_basesink_activate),
26938         (gst_basesink_change_state):
26939         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
26940         (gst_basesrc_get_range), (gst_basesrc_loop),
26941         (gst_basesrc_activate):
26942         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26943         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26944         (gst_real_pad_init), (gst_real_pad_set_property),
26945         (gst_real_pad_get_property), (gst_pad_set_active),
26946         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
26947         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
26948         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
26949         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
26950         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26951         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
26952         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
26953         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26954         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
26955         (gst_pad_stop_task):
26956         * gst/gstpad.h:
26957         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26958         (gst_queue_loop), (gst_queue_src_activate):
26959         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
26960         (gst_task_get_state):
26961         * gst/gsttask.h:
26962         * gst/schedulers/threadscheduler.c:
26963         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
26964         Implement gst_pad_pause/start/stop_task(), take STREAM lock
26965         in task function.
26966         Remove ACTIVE pad flag, use FLUSHING everywhere
26967         Added _pad_chain(), _pad_get_range() to call chain/getrange 
26968         functions.
26969         Add locks around IS_FLUSHING when reading.
26970         Take STREAM lock in chain(), get_range() functions so plugins
26971         don't need to take it anymore.
26972         
26973
26974
26975 2005-05-25  Wim Taymans  <wim@fluendo.com>
26976
26977         * tools/gst-launch.c: (event_loop):
26978         Unref message after using its contents instead of
26979         before.
26980
26981 2005-05-24  Wim Taymans  <wim@fluendo.com>
26982
26983         * docs/design/draft-ghostpads.txt:
26984         * docs/design/draft-push-pull.txt:
26985         * docs/design/draft-query.txt:
26986         * docs/design/part-overview.txt:
26987         Docs updates, added general overview doc.
26988
26989 2005-05-21  David Schleef  <ds@schleef.org>
26990
26991         * docs/gst/tmpl/old/GstBin.sgml:
26992         * docs/gst/tmpl/old/GstBuffer.sgml:
26993         * docs/gst/tmpl/old/GstCaps.sgml:
26994         * docs/gst/tmpl/old/GstClock.sgml:
26995         * docs/gst/tmpl/old/GstCompat.sgml:
26996         * docs/gst/tmpl/old/GstData.sgml:
26997         * docs/gst/tmpl/old/GstElement.sgml:
26998         * docs/gst/tmpl/old/GstEvent.sgml:
26999         * docs/gst/tmpl/old/GstIndex.sgml:
27000         * docs/gst/tmpl/old/GstStructure.sgml:
27001         * docs/gst/tmpl/old/GstTag.sgml:
27002         * docs/gst/tmpl/old/cothreads.sgml:
27003         * docs/gst/tmpl/old/cothreads_compat.sgml:
27004         * docs/gst/tmpl/old/gettext.sgml:
27005         * docs/gst/tmpl/old/gobject2gtk.sgml:
27006         * docs/gst/tmpl/old/grammar.tab.sgml:
27007         * docs/gst/tmpl/old/gst-i18n-app.sgml:
27008         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
27009         * docs/gst/tmpl/old/gst_private.sgml:
27010         * docs/gst/tmpl/old/gstaggregator.sgml:
27011         * docs/gst/tmpl/old/gstarch.sgml:
27012         * docs/gst/tmpl/old/gstatomic_impl.sgml:
27013         * docs/gst/tmpl/old/gstbufferstore.sgml:
27014         * docs/gst/tmpl/old/gstdata_private.sgml:
27015         * docs/gst/tmpl/old/gstdisksink.sgml:
27016         * docs/gst/tmpl/old/gstdisksrc.sgml:
27017         * docs/gst/tmpl/old/gstelementfactory.sgml:
27018         * docs/gst/tmpl/old/gstextratypes.sgml:
27019         * docs/gst/tmpl/old/gstfakesink.sgml:
27020         * docs/gst/tmpl/old/gstfakesrc.sgml:
27021         * docs/gst/tmpl/old/gstfdsink.sgml:
27022         * docs/gst/tmpl/old/gstfdsrc.sgml:
27023         * docs/gst/tmpl/old/gstfilesink.sgml:
27024         * docs/gst/tmpl/old/gstfilesrc.sgml:
27025         * docs/gst/tmpl/old/gsthttpsrc.sgml:
27026         * docs/gst/tmpl/old/gstidentity.sgml:
27027         * docs/gst/tmpl/old/gstindexfactory.sgml:
27028         * docs/gst/tmpl/old/gstmarshal.sgml:
27029         * docs/gst/tmpl/old/gstmd5sink.sgml:
27030         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
27031         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
27032         * docs/gst/tmpl/old/gstpadtemplate.sgml:
27033         * docs/gst/tmpl/old/gstpipefilter.sgml:
27034         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
27035         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
27036         * docs/gst/tmpl/old/gstshaper.sgml:
27037         * docs/gst/tmpl/old/gstspider.sgml:
27038         * docs/gst/tmpl/old/gstspideridentity.sgml:
27039         * docs/gst/tmpl/old/gststatistics.sgml:
27040         * docs/gst/tmpl/old/gsttee.sgml:
27041         * docs/gst/tmpl/old/gsttimecache.sgml:
27042         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
27043         * docs/gst/tmpl/old/gstxmlregistry.sgml:
27044         * docs/gst/tmpl/old/gthread-cothreads.sgml:
27045         * docs/gst/tmpl/old/types.sgml:
27046           I didn't intend to add these or check them in.
27047
27048 2005-05-19  David Schleef  <ds@schleef.org>
27049
27050         * configure.ac: Use -no-common everywhere.  In a sane world, it
27051           would be the default in libtool, because without it, you can't
27052           build DLLs on Windows.
27053         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
27054         * docs/gst/gstreamer-sections.txt:
27055         * docs/gst/tmpl/gstcpu.sgml:
27056         * docs/gst/tmpl/gstdata.sgml:
27057         * docs/gst/tmpl/gstthread.sgml:
27058
27059 2005-05-19  David Schleef  <ds@schleef.org>
27060
27061         * gst/gstminiobject.c: (gst_value_set_mini_object),
27062         (gst_value_take_mini_object), (gst_value_get_mini_object):
27063         * gst/gstminiobject.h: Add GValue set/get functions.
27064
27065 2005-05-19  Wim Taymans  <wim@fluendo.com>
27066
27067         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
27068         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
27069         (gst_subbuffer_init), (gst_buffer_is_span_fast):
27070         * gst/gstbuffer.h:
27071         * gst/gstbus.c: (gst_bus_post):
27072         * gst/gstelement.c: (gst_element_get_random_pad):
27073         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
27074         Make subbufer unref the parent in finalize.
27075         some more debugging info.
27076
27077
27078 2005-05-19  Wim Taymans  <wim@fluendo.com>
27079
27080         * gst/base/gstbasesink.c: (gst_basesink_class_init),
27081         (gst_basesink_init), (gst_basesink_finalize),
27082         (gst_basesink_activate), (gst_basesink_change_state):
27083         Don't free preroll queue too early.
27084
27085 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27086
27087         * gst/Makefile.am:
27088         * gst/ROADMAP:
27089           Hi, I'm outdated. Please shoot me.
27090
27091 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27092
27093         * gst/gstpipeline.c: (gst_pipeline_send_event):
27094           Do not access variables after they have been deleted.
27095
27096 2005-05-19  Wim Taymans  <wim@fluendo.com>
27097
27098         * tools/gst-inspect.c: (print_plugin_features):
27099         A plugin feature does unfortunatly not use the
27100         object name yet...
27101
27102 2005-05-18  Wim Taymans  <wim@fluendo.com>
27103
27104         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
27105         Port _span() functions to new subbuffers.
27106
27107 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27108
27109         * gst/gstbin.c: (gst_bin_add_func):
27110           Fix clock settery in bins when adding kids after the clock has
27111           been selected.
27112
27113 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27114
27115         * gst/elements/gstidentity.c: (gst_identity_class_init):
27116           Workaround until signals support GstMiniObject.
27117
27118 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
27119
27120         * gst/gstbuffer.c:
27121         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
27122
27123 2005-05-18  Wim Taymans  <wim@fluendo.com>
27124
27125         * gst/base/Makefile.am:
27126         * gst/base/gstadapter.c: (gst_adapter_base_init),
27127         (gst_adapter_class_init), (gst_adapter_init),
27128         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
27129         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
27130         (gst_adapter_flush), (gst_adapter_available),
27131         (gst_adapter_available_fast):
27132         * gst/base/gstadapter.h:
27133         Ported and added adapter to the base classes.
27134
27135 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27136
27137         * gst/gst.c:
27138         * gst/gstmessage.c:
27139           Make sure the class is reffed/unreffed once before threads can be
27140           used.  Fixes #304551.
27141
27142 2005-05-17  Wim Taymans  <wim@fluendo.com>
27143
27144         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
27145         (gst_basesink_chain_unlocked), (gst_basesink_activate):
27146         * gst/gstminiobject.c: (gst_mini_object_get_type),
27147         (gst_mini_object_free):
27148         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
27149         (gst_pad_push), (gst_pad_push_event):
27150         * gst/gstqueue.c: (gst_queue_change_state):
27151         Don't queue buffers in basesink when we are flushing.
27152         Unref buffer when flushing in basesink.
27153         Flush queue when going to READY
27154         Unref buffer when _push() returns an error.
27155         Don't free MiniObject instance when refcount is incremented
27156         in _finalize() so that we can recover objects.
27157
27158 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27159
27160         * docs/manual/advanced-schedulers.xml:
27161         * docs/manual/appendix-checklist.xml:
27162         * docs/pwg/advanced-clock.xml:
27163         * docs/pwg/advanced-interfaces.xml:
27164         * docs/pwg/advanced-request.xml:
27165         * docs/pwg/advanced-types.xml:
27166         * docs/pwg/intro-preface.xml:
27167         * examples/plugins/example.c: (gst_example_get_type),
27168         (gst_example_class_init), (gst_example_chain),
27169         (gst_example_set_property), (gst_example_get_property),
27170         (gst_example_change_state), (plugin_init):
27171         * examples/plugins/example.h:
27172           small doc fixes
27173
27174 2005-05-17  Wim Taymans  <wim@fluendo.com>
27175
27176         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
27177         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
27178         * gst/gstqueue.c: (gst_queue_change_state):
27179         Clear queue when going to READY.
27180         Remove IN_SETCAPS flag too.
27181
27182 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
27183
27184         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
27185           Remove implicit cast from gboolean to GstElementStateReturn;
27186           make sure we still return failure in paused => ready case if
27187           the parent class fails to change state and our own stop 
27188           vfunc succeeds.
27189
27190 2005-05-17  Wim Taymans  <wim@fluendo.com>
27191
27192         * tools/gst-launch.c: (event_loop):
27193         Message was unreffed too soon.
27194
27195 2005-05-16  Andy Wingo  <wingo@pobox.com>
27196
27197         * gst/gstbin.c (sink_iterator_filter): Err... um...
27198
27199         * check/gst/gstbin.c (test_ghost_pads): New test for the
27200         ghosting-if-elements-not-in-same-bin behavior.
27201
27202 2005-05-16  David Schleef  <ds@schleef.org>
27203
27204         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
27205         accessing refcount directly.
27206
27207 2005-05-15  David Schleef  <ds@schleef.org>
27208
27209         * check/Makefile.am: remove GstData checks
27210         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
27211         * gst/Makefile.am: add miniobject, remove data
27212         * gst/gst.h: add miniobject, remove data
27213         * gst/gstdata.c: remove
27214         * gst/gstdata.h: remove
27215         * gst/gstdata_private.h: remove
27216         * gst/gsttypes.h: remove GstEvent and GstMessage
27217         * gst/gstelement.c: (gst_element_post_message): fix for API changes
27218         * gst/gstmarshal.list: change BOXED -> OBJECT
27219
27220         Implement GstMiniObject.
27221         * gst/gstminiobject.c:
27222         * gst/gstminiobject.h:
27223
27224         Modify to be subclasses of GstMiniObject.
27225         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
27226         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
27227         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
27228         (gst_subbuffer_get_type), (gst_subbuffer_init),
27229         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
27230         (gst_buffer_span):
27231         * gst/gstbuffer.h:
27232         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
27233         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
27234         (_gst_event_copy), (gst_event_new):
27235         * gst/gstevent.h:
27236         * gst/gstmessage.c: (_gst_message_initialize),
27237         (gst_message_get_type), (gst_message_class_init),
27238         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
27239         (gst_message_new), (gst_message_new_error),
27240         (gst_message_new_warning), (gst_message_new_tag),
27241         (gst_message_new_state_changed), (gst_message_new_application):
27242         * gst/gstmessage.h:
27243         * gst/gstprobe.c: (gst_probe_perform),
27244         (gst_probe_dispatcher_dispatch):
27245         * gst/gstprobe.h:
27246         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
27247         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
27248         (_gst_query_copy), (gst_query_new):
27249
27250         Update elements for GstData -> GstMiniObject changes
27251         * gst/gstquery.h:
27252         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
27253         (gst_queue_chain), (gst_queue_loop):
27254         * gst/elements/gstbufferstore.c:
27255         (gst_buffer_store_add_buffer_func),
27256         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
27257         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27258         (gst_fakesink_render):
27259         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27260         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
27261         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
27262         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
27263         (gst_filesrc_create_read):
27264         * gst/elements/gstidentity.c: (gst_identity_class_init):
27265         * gst/elements/gsttypefindelement.c:
27266         (gst_type_find_element_src_event), (free_entry_buffers),
27267         (gst_type_find_element_handle_event):
27268         * libs/gst/dataprotocol/dataprotocol.c:
27269         (gst_dp_header_from_buffer):
27270         * libs/gst/dataprotocol/dataprotocol.h:
27271         * libs/gst/dataprotocol/dp-private.h:
27272
27273 2005-05-15  David Schleef  <ds@schleef.org>
27274
27275         * gst/elements/gstelements.c: Don't include headers that were
27276         just removed.
27277
27278 2005-05-15  David Schleef  <ds@schleef.org>
27279
27280         * gst/elements/Makefile.am: Remove some elements that don't
27281         need to be in the core (or even exist at all).
27282         * gst/elements/gstaggregator.c:
27283         * gst/elements/gstaggregator.h:
27284         * gst/elements/gstmd5sink.c:
27285         * gst/elements/gstmd5sink.h:
27286         * gst/elements/gstmultifilesrc.c:
27287         * gst/elements/gstmultifilesrc.h:
27288         * gst/elements/gstpipefilter.c:
27289         * gst/elements/gstpipefilter.h:
27290         * gst/elements/gstshaper.c:
27291         * gst/elements/gstshaper.h:
27292         * gst/elements/gststatistics.c:
27293         * gst/elements/gststatistics.h:
27294         * po/POTFILES.in: Remove above files.
27295
27296 2005-05-14  Andy Wingo  <wingo@pobox.com>
27297
27298         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
27299         so as to get the refs right.
27300         (sink_iterator_filter): New function, wraps bin_element_is_sink,
27301         unreffing objects that don't pass the filter.
27302
27303         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
27304         gst_element_set_bus.
27305         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
27306         normal cases, this will destroy the bus.
27307
27308         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
27309         object.
27310
27311         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
27312         has no sinks.
27313
27314 2005-05-13  Andy Wingo  <wingo@pobox.com>
27315
27316         * gst/gstutils.c (gst_element_link_pads): Instead of calling
27317         gst_pad_link, call pad_link_maybe_ghosting,
27318         (pad_link_maybe_ghosting): Links pads, making sure that the
27319         elements being linked are in the same bin.
27320         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
27321         Helpers for pad_link_maybe_ghosting.
27322
27323 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
27324
27325         * configure.ac:
27326           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
27327
27328 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
27329
27330         * docs/design/part-element-source.txt:
27331           Mention GstPushSrc
27332
27333 2005-05-12  Wim Taymans  <wim@fluendo.com>
27334
27335         * gst/base/gstbasesink.c: (gst_basesink_init),
27336         (gst_basesink_activate):
27337         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
27338         (gst_basesrc_is_seekable):
27339         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
27340         (bin_element_is_sink), (gst_bin_change_state):
27341         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27342         * gst/gstelement.h:
27343         Identify sinks by their flag to avoid overly complicated
27344         checks (fow now).
27345         Do state changes even for elements not reachable from the
27346         sinks.
27347         BaseSink is a sink now :)
27348         Some more debugging info in the basesrc.
27349
27350
27351 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27352
27353         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
27354           Implement _query on a bin, similar to _send_event.
27355
27356 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
27357
27358         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
27359           Discont event offset format should be GST_FORMAT_BYTES,
27360           not GST_FORMAT_TIME.
27361
27362 2005-05-12  Wim Taymans  <wim@fluendo.com>
27363
27364         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
27365         Same fix as Ronald's but without the signal. 
27366
27367 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27368
27369         * gst/gstutils.c: (gst_element_query_position):
27370           No, an element is not a pad.
27371
27372 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27373
27374         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
27375         (gst_bin_get_state):
27376           If a child is removed from a bin while we remove the child from
27377           the bin and while we're retrieving its state, signal this to the
27378           get_state function so we abort the wait (instead of waiting for
27379           a timeout) and can immediately re-iterate over all other elements.
27380
27381 2005-05-12  Wim Taymans  <wim@fluendo.com>
27382
27383         * gst/base/Makefile.am:
27384         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
27385         (gst_basesrc_start):
27386         * gst/base/gstbasesrc.h:
27387         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
27388         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
27389         (gst_pushsrc_init), (gst_pushsrc_create):
27390         * gst/base/gstpushsrc.h:
27391         Added is_seekable to BaseSrc
27392         Added simple PushSrc.
27393
27394 2005-05-11  Wim Taymans  <wim@fluendo.com>
27395
27396         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27397         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27398         (gst_element_link_pads), (gst_element_query_position),
27399         (gst_element_query_convert), (intersect_caps_func),
27400         (gst_pad_query_position), (gst_pad_query_convert):
27401         Fix refcounting in utils function.
27402         No point in trying to activate a pad when it's added, it could
27403         be added from the state change function and then we deadlock, the
27404         element has to decide what to do.
27405
27406 2005-05-10  Andy Wingo  <wingo@pobox.com>
27407
27408         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
27409         *all* the arguments.
27410
27411         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
27412         stream lock if it's a FLUSH_DONE; normal flushes don't get the
27413         lock (according to the docs -- if this is wrong change the docs).
27414
27415         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
27416         flush messages in the NULL state.
27417
27418         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
27419         message immediately and return.
27420         (gst_bus_set_flushing): New function. If a bus is flushing, it
27421         flushes out any queued messages and immediately unrefs new
27422         messages. This is so when an element goes to NULL, all of the
27423         unhandled messages coming from it can be freed, and their
27424         references to the element dropped. In other words: message source
27425         ref considered harmful :P
27426
27427         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
27428         we're finished with it.
27429
27430         * gst/gstmessage.c (gst_message_new_state_changed): 
27431
27432 2005-05-10  Wim Taymans  <wim@fluendo.com>
27433
27434         * gst/gstvalue.c: (gst_value_compare_flags),
27435         (gst_value_serialize_flags), (gst_value_deserialize_flags),
27436         (_gst_value_initialize):
27437         Added flags serialize/deserialize/compare code.
27438
27439 2005-05-09  Andy Wingo  <wingo@pobox.com>
27440
27441         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
27442         Intersect the peer's caps with our caps.
27443
27444 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27445
27446         * gst/base/gsttypefindhelper.c: (helper_find_peek):
27447         * gst/elements/gsttypefindelement.c: (find_peek):
27448           Handle negative offsets better. Fixes decodebin.
27449
27450 2005-05-09  Wim Taymans  <wim@fluendo.com>
27451
27452         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
27453         (gst_base_transform_event):
27454         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
27455         Implement accept_caps.
27456         Fix silly lock/unlock mismatch in base class.
27457
27458 2005-05-09  Wim Taymans  <wim@fluendo.com>
27459
27460         * docs/design/draft-push-pull.txt:
27461         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
27462         * gst/elements/gstfilesink.c: (gst_filesink_init),
27463         (gst_filesink_query):
27464         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27465         (gst_type_find_handle_src_query), (find_element_get_length):
27466         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
27467         * gst/gstelement.h:
27468         * gst/gstmessage.c:
27469         * gst/gstmessage.h:
27470         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
27471         (gst_real_pad_get_caps_unlocked),
27472         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
27473         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27474         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
27475         (gst_real_pad_dispose), (gst_real_pad_finalize),
27476         (gst_pad_load_and_link), (gst_pad_save_thyself),
27477         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
27478         (gst_pad_check_pull_range), (gst_pad_pull_range),
27479         (gst_pad_template_get_type), (gst_pad_template_class_init),
27480         (gst_pad_template_init), (gst_pad_template_dispose),
27481         (name_is_valid), (gst_static_pad_template_get),
27482         (gst_pad_template_new), (gst_static_pad_template_get_caps),
27483         (gst_pad_template_get_caps), (gst_pad_set_element_private),
27484         (gst_pad_get_element_private), (gst_pad_start_task),
27485         (gst_pad_pause_task), (gst_pad_stop_task),
27486         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
27487         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
27488         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
27489         (gst_ghost_pad_new):
27490         * gst/gstpad.h:
27491         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
27492         (gst_query_new_position), (gst_query_set_position),
27493         (gst_query_parse_position), (gst_query_new_convert),
27494         (gst_query_set_convert), (gst_query_parse_convert):
27495         * gst/gstquery.h:
27496         * gst/gstqueryutils.c:
27497         * gst/gstqueryutils.h:
27498         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
27499         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
27500         (gst_queue_handle_src_query):
27501         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27502         (gst_element_query_position), (gst_element_query_convert),
27503         (intersect_caps_func), (gst_pad_query_position),
27504         (gst_pad_query_convert):
27505         * gst/gstutils.h:
27506         * tools/gst-inspect.c: (print_pad_info):
27507         * tools/gst-xmlinspect.c: (print_element_info):
27508         Remove old query functions. Ported old code.
27509         Added position/convert helper functions to gstutils.
27510         Reordered gstpad.c code, grouping relevant things.
27511         Remove gst_message_new(), always need to speficy a specific
27512         message.
27513
27514
27515 2005-05-09  Andy Wingo  <wingo@pobox.com>
27516
27517         * gst/gstiterator.h: Add some includes.
27518
27519         * gst/gstqueryutils.h: Include more headers.
27520
27521         * gst/gstpad.h:
27522         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
27523         some uses of gst_pad_query.
27524
27525         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
27526         NULL out parameters.
27527         (gst_query_new_position): New proc, allocates a new position
27528         query.
27529
27530         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
27531         gstqueryutils.c to the build.
27532
27533         * gst/gststructure.c (gst_structure_set_valist): Implement with
27534         the generic G_VALUE_COLLECT.
27535         
27536 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
27537
27538         * gst/Makefile.am: (gst_headers):
27539         Added gstqueryutils.h to the list of headers to install, that was
27540         a 'nachty' move wingo :)
27541
27542 2005-05-06  Andy Wingo  <wingo@pobox.com>
27543
27544         * gst/gstquery.h
27545         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
27546         GstData, init a memchunk.
27547         (standard_definitions): Add a few query types, deprecate a few.
27548         (gst_query_get_type): New proc.
27549         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
27550         implementation.
27551         (gst_query_new_application, gst_query_get_structure): New public
27552         procs.
27553
27554         * docs/design/draft-query.txt: Removed LINKS from the query types,
27555         because all the rest can be dispatched to other pads -- seemed
27556         ugly to have a query that couldn't be dispatched. internal_links
27557         is fine as a pad method.
27558
27559         * gst/gstpad.h: Add query2 as a pad method, add the new functions
27560         in gstpad.c, but maintain binary compatibility for the moment.
27561         Will fix before 0.9 is out.
27562
27563         * gst/gstqueryutils.c: 
27564         * gst/gstqueryutils.h: New files, implement 3 methods for each
27565         query type: parse_query, parse_response, and set. Probably need an
27566         allocator as well.
27567
27568         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
27569
27570         * gst/elements/gstfilesink.c (gst_filesink_query2):
27571         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
27572         query_types, and formats methods.
27573
27574         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
27575         (gst_pad_set_query2_function): New functions.
27576         (gst_real_pad_init): Set query2_default as the default query2
27577         function. Basically just dispatches to internally linked pads.
27578
27579         Needs review!
27580         
27581         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
27582         without using the atomic operations. Only one thread can possibly
27583         be accessing the data at this point. Changed so as to avoid
27584         gst_atomic operations.
27585
27586 2005-05-06  Wim Taymans  <wim@fluendo.com>
27587
27588         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
27589         Also set caps if we use the fallback buffer alloc.
27590
27591 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
27592
27593         * docs/gst/Makefile.am:
27594         * docs/gst/gstreamer-docs.sgml:
27595         * docs/gst/gstreamer-sections.txt:
27596         * docs/gst/tmpl/gstatomic.sgml:
27597         * docs/gst/tmpl/gstmemchunk.sgml:
27598         * testsuite/elements/struct_i386.h:
27599         * win32/GStreamer.vcproj:
27600         * win32/Makefile:
27601           Purge GstAtomic stuff from docs and win32 makefiles as well
27602
27603 2005-05-06  Wim Taymans  <wim@fluendo.com>
27604
27605         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
27606         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
27607         * gst/gstpad.c: (gst_pad_peer_get_caps):
27608         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
27609         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
27610         (gst_queue_src_activate), (gst_queue_change_state):
27611         * gst/gstqueue.h:
27612         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27613         (intersect_caps_func):
27614         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
27615         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
27616         Some fixes for the peer_get_caps() change.
27617
27618 2005-05-06  Wim Taymans  <wim@fluendo.com>
27619
27620         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27621         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
27622         (gst_basesink_activate):
27623         Actually do something with error codes returned from the push
27624         functions.
27625
27626 2005-05-06  Wim Taymans  <wim@fluendo.com>
27627
27628         * docs/design/part-element-sink.txt:
27629         * docs/design/part-element-source.txt:
27630         * gst/base/gstbasesink.c: (gst_basesink_class_init),
27631         (gst_basesink_event), (gst_basesink_activate):
27632         * gst/base/gstbasesink.h:
27633         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
27634         (gst_basesrc_activate):
27635         * gst/base/gstbasesrc.h:
27636         * gst/gstelement.c: (gst_element_pads_activate):
27637         Some more documentation.
27638         Fixed scheduling decision in _pads_activate().
27639
27640 2005-05-05  Andy Wingo  <wingo@pobox.com>
27641
27642         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
27643         the test suite.
27644
27645 2005-05-05  Wim Taymans  <wim@fluendo.com>
27646
27647         * gst/base/Makefile.am:
27648         * gst/base/gstbasesink.h:
27649         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27650         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
27651         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
27652         (gst_collectpads_class_init), (gst_collectpads_init),
27653         (gst_collectpads_finalize), (gst_collectpads_new),
27654         (gst_collectpads_set_function), (gst_collectpads_add_pad),
27655         (find_pad), (gst_collectpads_remove_pad),
27656         (gst_collectpads_is_active), (gst_collectpads_collect),
27657         (gst_collectpads_collect_range), (gst_collectpads_start),
27658         (gst_collectpads_stop), (gst_collectpads_peek),
27659         (gst_collectpads_pop), (gst_collectpads_available),
27660         (gst_collectpads_read), (gst_collectpads_flush),
27661         (gst_collectpads_chain):
27662         * gst/base/gstcollectpads.h:
27663         * gst/elements/Makefile.am:
27664         * gst/elements/gstelements.c:
27665         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27666         (gst_fakesink_get_times), (gst_fakesink_event),
27667         (gst_fakesink_preroll), (gst_fakesink_render):
27668         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27669         (gst_filesink_init), (gst_filesink_set_location),
27670         (gst_filesink_open_file), (gst_filesink_close_file),
27671         (gst_filesink_pad_query), (gst_filesink_event),
27672         (gst_filesink_render), (gst_filesink_change_state):
27673         * gst/elements/gstfilesink.h:
27674         Added object to help in making collect pad based elements.
27675         Ported filesink.
27676         Make event function in sink baseclass return gboolean.
27677
27678 2005-05-05  Wim Taymans  <wim@fluendo.com>
27679
27680         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
27681         (gst_bin_get_by_name):
27682         * gst/gstbuffer.h:
27683         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
27684         (gst_clock_finalize):
27685         * gst/gstdata.c: (gst_data_replace):
27686         * gst/gstdata.h:
27687         * gst/gstelement.c: (gst_element_request_pad),
27688         (gst_element_pads_activate):
27689         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
27690         (gst_object_unref):
27691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27692         (gst_pad_set_checkgetrange_function),
27693         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
27694         (gst_pad_check_pull_range), (gst_pad_pull_range),
27695         (gst_static_pad_template_get_caps), (gst_pad_start_task),
27696         (gst_pad_pause_task), (gst_pad_stop_task):
27697         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27698         (gst_element_request_pad), (gst_pad_proxy_getcaps):
27699         Fix name lookup in GstBin.
27700         Added _data_replace() function and _buffer_replace()
27701         Use finalize method to clean up clock.
27702         Fix refcounting on request pads.
27703         Fix pad schedule mode error.
27704         Some more object refcounting debug info,
27705
27706
27707 2005-05-04  Andy Wingo <wingo@pobox.com>
27708
27709         * check/Makefile.am:
27710         * docs/gst/tmpl/gstatomic.sgml:
27711         * docs/gst/tmpl/gstplugin.sgml:
27712         * gst/base/gstbasesink.c: (gst_basesink_activate):
27713         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
27714         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
27715         (gst_basesrc_query), (gst_basesrc_set_property),
27716         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
27717         (gst_basesrc_activate):
27718         * gst/base/gstbasesrc.h:
27719         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
27720         (gst_base_transform_src_activate):
27721         * gst/elements/gstelements.c:
27722         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27723         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27724         * gst/elements/gsttee.c: (gst_tee_sink_activate):
27725         * gst/elements/gsttypefindelement.c: (find_element_get_length),
27726         (gst_type_find_element_checkgetrange),
27727         (gst_type_find_element_activate):
27728         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
27729         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
27730         (gst_caps_load_thyself):
27731         * gst/gstelement.c: (gst_element_pads_activate),
27732         (gst_element_save_thyself), (gst_element_restore_thyself):
27733         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
27734         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
27735         * gst/gstpad.h:
27736         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
27737         (gst_xml_parse_file), (gst_xml_parse_memory),
27738         (gst_xml_get_element), (gst_xml_make_element):
27739         * gst/indexers/gstfileindex.c: (gst_file_index_load),
27740         (_file_index_id_save_xml), (gst_file_index_commit):
27741         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
27742         (read_enum), (load_pad_template), (load_feature), (load_plugin),
27743         (load_paths):
27744         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
27745         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
27746         * tools/gst-complete.c: (main):
27747         * tools/gst-compprep.c: (main):
27748         * tools/gst-inspect.c: (print_element_properties_info):
27749         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
27750         * tools/gst-xmlinspect.c: (print_element_properties):
27751         GCC 4 fixen.
27752         
27753 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
27754
27755         * gst/gstplugin.c: (gst_plugin_check_module),
27756         (gst_plugin_check_file), (gst_plugin_load_file):
27757             apply patch from #172526 to make register work on MacOSX
27758
27759 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27760
27761         * docs/gst/tmpl/gstconfig.sgml:
27762         * gst/gstconfig.h.in:
27763           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
27764         * testsuite/debug/printf_extension.c: (main):
27765           Do not use GST_PTR_FORMAT on pointers to types with
27766           sizeof < sizeof(gpointer).  Fixes test on 64-bit
27767         * testsuite/elements/property.h:
27768           use correct printf format
27769
27770 2005-05-02  Wim Taymans  <wim@fluendo.com>
27771
27772         * docs/design/draft-push-pull.txt:
27773         * docs/design/draft-query.txt:
27774         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
27775         (gst_basesrc_start):
27776         Added draft for new query API.
27777         Added draft for better selecting scheduling methods.
27778         Make basesrc ignore length if the subclass does not support
27779         it.
27780
27781 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27782
27783         * gst/Makefile.am:
27784           possible fixes for automake-1.5 - _LIBADD is reserved
27785
27786 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27787
27788         * docs/faq/Makefile.am:
27789         * docs/manual/Makefile.am:
27790         * docs/manuals.mak:
27791         * docs/pwg/Makefile.am:
27792         * gst/Makefile.am:
27793           possible fixes for automake-1.5
27794
27795 2005-04-28  Wim Taymans  <wim@fluendo.com>
27796
27797         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27798         (gst_basesink_pad_getcaps), (gst_basesink_init),
27799         (gst_basesink_do_sync):
27800         * gst/gstclock.c: (gst_clock_entry_new):
27801         * gst/gstevent.c: (gst_event_discont_get_value):
27802         * gst/gstpipeline.c: (pipeline_bus_handler),
27803         (gst_pipeline_change_state):
27804         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
27805         Better debugging of clocking info.
27806         Allow NULL values when getting discont values.
27807
27808 2005-04-27  Wim Taymans  <wim@fluendo.com>
27809
27810         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27811         * check/gst/gstpad.c: (gst_pad_suite):
27812         Increase timeout for checks.
27813
27814 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27815
27816         * check/Makefile.am:
27817           fix the broken rule for cleanup.  Apparently this rule is
27818           only needed on FC2, so maybe this warrants further autotool
27819           inspection.
27820
27821 2005-04-26  Wim Taymans  <wim@fluendo.com>
27822
27823         * gst/gsttrashstack.h:
27824         Ooohh. a nasty one! After having a failed pop() from the stack,
27825         it's possible that the stack is empty. In that case, don't
27826         follow the NULL pointer.
27827
27828 2005-04-25  Wim Taymans  <wim@fluendo.com>
27829
27830         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27831         (gst_pad_set_checkgetrange_function),
27832         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
27833         (gst_pad_check_pull_range), (gst_pad_pull_range),
27834         (gst_static_pad_template_get_caps), (gst_pad_start_task),
27835         (gst_pad_pause_task), (gst_pad_stop_task):
27836         * gst/gstplugin.c: (gst_plugin_load):
27837         * gst/gstplugin.h:
27838         Remove gst_library_load as it does more harm than good with
27839         the new g_module flags.
27840         Revert bogus caps template check in pad linking, pad caps
27841         are important when linking not the template, which is more
27842         general than the current caps.
27843
27844 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27845
27846         * gst/autoplug/.cvsignore:
27847         * gst/autoplug/Makefile.am:
27848         * gst/autoplug/gstsearchfuncs.c:
27849         * gst/autoplug/gstsearchfuncs.h:
27850         * gst/autoplug/gstspider.c:
27851         * gst/autoplug/gstspider.h:
27852         * gst/autoplug/gstspideridentity.c:
27853         * gst/autoplug/gstspideridentity.h:
27854         * gst/autoplug/spidertest.c:
27855           Die, spider, die.
27856
27857 2005-04-25  Wim Taymans  <wim@fluendo.com>
27858
27859         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27860         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27861         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
27862         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
27863         * gst/gstpad.h:
27864         Added stubs for unimplemented functions. 
27865
27866 2005-04-24  David Schleef  <ds@schleef.org>
27867
27868         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
27869         please fix.
27870
27871 2005-04-24  David Schleef  <ds@schleef.org>
27872
27873         Convert everything from GstAtomicInt to g_atomic_int_*, and
27874         remove gstatomic.
27875         * gst/Makefile.am:
27876         * gst/gstatomic.c:
27877         * gst/gstatomic.h:
27878         * gst/gstatomic_impl.h:
27879         * gst/gstbuffer.c:
27880         * gst/gstcaps.c:
27881         * gst/gstcaps.h:
27882         * gst/gstclock.c:
27883         * gst/gstclock.h:
27884         * gst/gstdata.c:
27885         * gst/gstdata.h:
27886         * gst/gstdata_private.h:
27887         * gst/gstevent.c:
27888         * gst/gstinfo.c:
27889         * gst/gstinfo.h:
27890         * gst/gstmessage.c:
27891         * gst/gstobject.c:
27892         * gst/gstobject.h:
27893         * gst/gststructure.c:
27894         * gst/gststructure.h:
27895         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
27896         * gst/gstutils.h:
27897
27898 2005-04-24  David Schleef  <ds@schleef.org>
27899
27900         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
27901         make the regressions tests work.  Remove some code that is no
27902         longer true.
27903         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
27904         Disable warning for pads without templates.
27905
27906 2005-04-24  David Schleef  <ds@schleef.org>
27907
27908         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
27909         functions that handle filtered links.
27910         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
27911         removed functions.
27912         * gst/gstutils.c: Fix/remove utility functions that handle
27913         filtered caps.
27914         * gst/gstutils.h:
27915         * gst/gstvalue.c: Add serialization/deserialization of caps
27916         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
27917         requires fixing so that the filter caps notation creates
27918         a capsfilter element and sets the filter_caps property.  I
27919         think everyone probably wants to keep the shorthand notation.
27920         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
27921         * docs/gst/tmpl/gstpad.sgml:
27922
27923         * gst/elements/gstelements.c: Register capsfilter element.
27924         * gst/Makefile.am: fix spacing
27925         * docs/random/ds/0.9-suggested-changes: random
27926
27927 2005-04-23  David Schleef  <ds@schleef.org>
27928
27929         * gst/elements/Makefile.am:
27930         * gst/elements/gstcapsfilter.c: New element that acts like an
27931         identity, but filters caps.  Will eventually replace filtered
27932         caps in pad linking.
27933         * gst/gstutils.c: (gst_element_create_all_pads): New function
27934         to create all the ALWAYS pads that are registered with an
27935         element class.  This functionality should eventually be
27936         merged in with GstElement initialization.
27937         * gst/gstutils.h:
27938         * testsuite/trigger/README: part of trigger test code that should
27939         have been checked in a long time ago.
27940
27941 2005-04-23  David Schleef  <ds@schleef.org>
27942
27943         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
27944         needed with new versions of libtool (nobody will confirm this),
27945         and hard to carry around.
27946         * gst/autoplug/Makefile.am:
27947         * gst/base/Makefile.am:
27948         * gst/elements/Makefile.am:
27949         * gst/indexers/Makefile.am:
27950         * gst/schedulers/Makefile.am:
27951         * libs/gst/bytestream/Makefile.am:
27952         * libs/gst/control/Makefile.am:
27953         * libs/gst/dataprotocol/Makefile.am:
27954         * libs/gst/getbits/Makefile.am:
27955
27956 2005-04-21  Wim Taymans  <wim@fluendo.com>
27957
27958         * docs/design/draft-push-pull.txt:
27959         * docs/design/part-MT-refcounting.txt:
27960         * docs/design/part-TODO.txt:
27961         * docs/design/part-caps.txt:
27962         * docs/design/part-events.txt:
27963         * docs/design/part-gstbus.txt:
27964         * docs/design/part-gstpipeline.txt:
27965         * docs/design/part-messages.txt:
27966         * docs/design/part-push-pull.txt:
27967         * docs/design/part-query.txt:
27968         Some more docs.
27969
27970 2005-04-21  Wim Taymans  <wim@fluendo.com>
27971
27972         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
27973         (gst_message_new), (gst_message_new_error),
27974         (gst_message_new_warning), (gst_message_new_tag),
27975         (gst_message_new_state_changed), (gst_message_new_application),
27976         (gst_message_get_structure):
27977         * gst/gstmessage.h:
27978         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27979         (gst_structure_copy_conditional):
27980         Use parent refcount in GstMessage to ensure GstStructure
27981         consistency.
27982         Cleaned up headers a bit.
27983         
27984
27985 2005-04-20  Wim Taymans  <wim@fluendo.com>
27986
27987         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27988         (gst_basesink_pad_getcaps), (gst_basesink_init),
27989         (gst_basesink_chain_unlocked):
27990         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27991         (gst_type_find_helper):
27992         * gst/elements/gsttypefindelement.c:
27993         (gst_type_find_element_have_type), (gst_type_find_element_init),
27994         (stop_typefinding), (gst_type_find_element_handle_event),
27995         (find_suggest), (gst_type_find_element_chain),
27996         (gst_type_find_element_checkgetrange),
27997         (gst_type_find_element_getrange), (do_typefind),
27998         (gst_type_find_element_activate):
27999         * gst/gstbuffer.c: (_gst_buffer_sub_free),
28000         (gst_buffer_default_free), (gst_buffer_default_copy),
28001         (gst_buffer_set_caps):
28002         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
28003         (gst_caps_replace):
28004         * gst/gstmessage.c: (gst_message_new),
28005         (gst_message_new_state_changed):
28006         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28007         (gst_pad_set_checkgetrange_function),
28008         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
28009         (gst_pad_set_caps), (gst_pad_check_pull_range),
28010         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
28011         * gst/gstpad.h:
28012         * gst/gsttypefind.c: (gst_type_find_register):
28013         Make gst_caps_replace() work like other _replace() functions.
28014         Use _caps_replace() where possible.
28015         Make sure _message_new() initialises its field.
28016         Add gst_static_pad_template_get_caps()
28017
28018
28019 2005-04-18  Andy Wingo  <wingo@pobox.com>
28020
28021         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
28022         on the peer, not the pad. I think that was a typo. Pass an extra
28023         arg to see if random access is possible. Activate the pads as
28024         PULL_RANGE if possible.
28025
28026         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
28027
28028         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
28029         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
28030         to PROP_....
28031
28032 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28033
28034         * docs/faq/using.xml:
28035           Add note on gstreamer-properties (#154996).
28036
28037 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28038
28039         * docs/random/bbb/optional-properties:
28040           Some analysis on optional properties.
28041
28042 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28043
28044         * docs/gst/tmpl/gstelementfactory.sgml:
28045         * gst/gstelement.h:
28046         * gst/gstelementfactory.c: (gst_element_factory_init),
28047         (gst_element_factory_cleanup), (gst_element_register),
28048         (__gst_element_factory_add_static_pad_template),
28049         (gst_element_factory_get_static_pad_templates),
28050         (gst_element_factory_can_src_caps),
28051         (gst_element_factory_can_sink_caps):
28052         * gst/registries/Makefile.am:
28053         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
28054         (gst_xml_registry_class_init), (gst_xml_registry_init),
28055         (gst_xml_registry_new), (gst_xml_registry_set_property),
28056         (gst_xml_registry_get_property), (get_time), (make_dir),
28057         (gst_xml_registry_get_perms_func),
28058         (plugin_times_older_than_recurse), (plugin_times_older_than),
28059         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
28060         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
28061         (add_to_char_array), (read_string), (read_uint), (read_enum),
28062         (load_pad_template), (load_feature), (load_plugin), (load_paths),
28063         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
28064         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
28065         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
28066         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
28067         (gst_xml_registry_rebuild):
28068         * gst/registries/gstlibxmlregistry.h:
28069         * tools/gst-compprep.c: (main):
28070         * tools/gst-inspect.c: (print_pad_templates_info):
28071         * tools/gst-xmlinspect.c: (print_element_info):
28072           Use libxml2 for registry parsing, use staticpadtemplates in
28073           elementfactories. Makes gst_init() +/- 10x faster.
28074
28075 2005-04-12  Wim Taymans  <wim@fluendo.com>
28076
28077         * gst/base/Makefile.am:
28078         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28079         (gst_basesink_pad_getcaps), (gst_basesink_init),
28080         (gst_basesink_event), (gst_basesink_change_state):
28081         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28082         (gst_basesrc_init), (gst_basesrc_query),
28083         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28084         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28085         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28086         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28087         (gst_basesrc_stop), (gst_basesrc_activate),
28088         (gst_basesrc_change_state):
28089         * gst/base/gsttypefindhelper.c: (helper_find_peek),
28090         (helper_find_suggest), (gst_type_find_helper):
28091         * gst/base/gsttypefindhelper.h:
28092         * gst/elements/Makefile.am:
28093         * gst/elements/gstelements.c:
28094         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28095         (gst_fakesink_get_times), (gst_fakesink_event),
28096         (gst_fakesink_preroll), (gst_fakesink_render):
28097         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28098         (gst_fakesrc_init), (gst_fakesrc_event_handler),
28099         (gst_fakesrc_get_property), (gst_fakesrc_create),
28100         (gst_fakesrc_start), (gst_fakesrc_stop):
28101         * gst/elements/gstfakesrc.h:
28102         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
28103         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28104         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28105         (gst_filesrc_create_read), (gst_filesrc_create),
28106         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
28107         (gst_filesrc_start):
28108         * gst/elements/gsttypefindelement.c:
28109         (gst_type_find_element_have_type), (gst_type_find_element_init),
28110         (start_typefinding), (stop_typefinding), (push_buffer_store),
28111         (gst_type_find_element_handle_event),
28112         (gst_type_find_element_chain),
28113         (gst_type_find_element_checkgetrange),
28114         (gst_type_find_element_getrange), (do_typefind),
28115         (gst_type_find_element_activate),
28116         (gst_type_find_element_change_state):
28117         * gst/elements/gsttypefindelement.h:
28118         * gst/gstpipeline.c: (pipeline_bus_handler):
28119         Added typefind helper.
28120         Small preroll fix in the base sink.
28121         Disable typefind code in basesrc.
28122         Crude port of typefindelement.
28123         Fakesrc cleanups.
28124
28125
28126 2005-04-11  Wim Taymans  <wim@fluendo.com>
28127
28128         * check/gst/gstbus.c: (gstbus_suite):
28129         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
28130         * check/gstcheck.h:
28131           Fix up the timeout so that the test does not fail.
28132
28133 2005-04-06  Wim Taymans  <wim@fluendo.com>
28134
28135         * gst/base/README:
28136         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28137         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
28138         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28139         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28140         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28141         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28142         (gst_basesrc_stop), (gst_basesrc_activate),
28143         (gst_basesrc_change_state), (basesrc_find_peek),
28144         (basesrc_find_suggest), (gst_basesrc_type_find):
28145         * gst/base/gstbasesrc.h:
28146         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
28147         (gst_filesrc_class_init), (gst_filesrc_init),
28148         (gst_filesrc_finalize), (gst_filesrc_set_location),
28149         (gst_filesrc_set_property), (gst_filesrc_get_property),
28150         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28151         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28152         (gst_filesrc_create_read), (gst_filesrc_create),
28153         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
28154         * gst/elements/gstfilesrc.h:
28155         * gst/gstelement.c: (gst_element_get_state_func),
28156         (gst_element_lost_state), (gst_element_pads_activate):
28157         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28158         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28159         (gst_pad_pull_range):
28160         * gst/gstpad.h:
28161         More work on the generic source base class, implement seeking,
28162         query.
28163         Make filesrc extend the base source class.
28164         Added gst_pad_set_checkgetrange_function to GstPad.
28165
28166 2005-04-06  Andy Wingo  <wingo@pobox.com>
28167
28168         * pkgconfig/gstreamer-base.pc.in:
28169         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
28170
28171         * pkgconfig/Makefile.am:
28172         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
28173
28174 2005-04-04  Wim Taymans  <wim@fluendo.com>
28175
28176         * gst/base/Makefile.am:
28177         * gst/base/README:
28178         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28179         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28180         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28181         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
28182         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28183         (gst_basesrc_base_init), (gst_basesrc_class_init),
28184         (gst_basesrc_init), (gst_basesrc_get_formats),
28185         (gst_basesrc_get_query_types), (gst_basesrc_query),
28186         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
28187         (gst_basesrc_set_property), (gst_basesrc_get_property),
28188         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
28189         (gst_basesrc_loop), (gst_basesrc_activate),
28190         (gst_basesrc_change_state):
28191         * gst/base/gstbasesrc.h:
28192         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
28193         (gst_fakesrc_class_init), (gst_fakesrc_init),
28194         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
28195         (gst_fakesrc_get_property), (gst_fakesrc_create):
28196         * gst/elements/gstfakesrc.h:
28197         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
28198         (gst_filesrc_open_file), (gst_filesrc_loop),
28199         (gst_filesrc_activate), (filesrc_find_peek),
28200         (gst_filesrc_type_find):
28201         Made base source class, make fakesrc extend it.
28202         Add comments to basesink class.
28203         Some filesrc cleanup.
28204
28205 2005-03-31  David Schleef  <ds@schleef.org>
28206
28207         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
28208         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
28209         expected to link against libgstreamer.
28210         * gst/base/Makefile.am: link against libgstreamer
28211         * gst/elements/Makefile.am: same
28212
28213 2005-03-31  Andy Wingo  <wingo@pobox.com>
28214
28215         * tests/instantiate/Makefile.am:
28216         * tests/instantiate/caps.c: Add test to test speed of caps copy
28217         and free.
28218
28219         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
28220         GMemChunk to be fair.
28221
28222         * gst/gsttrashstack.h: Remove warning about using the fallback
28223         trash stack implementation, it's still faster than malloc.
28224
28225 2005-03-30  Andy Wingo  <wingo@pobox.com>
28226
28227         * tests/complexity.c: Add a copyright.
28228
28229 2005-03-31  Wim Taymans  <wim@fluendo.com>
28230
28231         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
28232         (gst_base_transform_class_init), (gst_base_transform_init),
28233         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
28234         (gst_base_transform_get_property),
28235         (gst_base_transform_sink_activate),
28236         (gst_base_transform_src_activate),
28237         (gst_base_transform_change_state):
28238         * gst/base/gstbasetransform.h:
28239         * gst/elements/gstidentity.c: (gst_identity_class_init),
28240         (gst_identity_event), (gst_identity_check_perfect),
28241         (gst_identity_transform), (gst_identity_start),
28242         (gst_identity_stop):
28243         Added start/stop methods to transform base class so subclasses 
28244         don't need to deal with state changes even.
28245
28246 2005-03-31  Wim Taymans  <wim@fluendo.com>
28247
28248         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
28249         (gst_event_new_discontinuous), (gst_event_discont_get_value):
28250         * gst/gstevent.h:
28251         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28252         (gst_pad_pull_range):
28253         Added rate to the discont event to prepare for variable speed
28254         and reverse playback.
28255
28256 2005-03-29  David Schleef  <ds@schleef.org>
28257
28258         * configure.ac:
28259         * testsuite/trigger/Makefile.am:
28260         * testsuite/trigger/trigger.c: A little example program to show
28261         how trigger-based elements can work.
28262
28263 2005-03-29  Wim Taymans  <wim@fluendo.com>
28264
28265         * gst/base/Makefile.am:
28266         * gst/base/README:
28267         * gst/base/gstbasesink.c: (gst_basesink_get_type),
28268         (gst_basesink_base_init), (gst_basesink_class_init),
28269         (gst_basesink_pad_getcaps), (gst_basesink_init),
28270         (gst_basesink_activate), (gst_basesink_change_state):
28271         * gst/base/gstbasesink.h:
28272         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
28273         (gst_base_transform_base_init), (gst_base_transform_finalize),
28274         (gst_base_transform_class_init), (gst_base_transform_init),
28275         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
28276         (gst_base_transform_event), (gst_base_transform_getrange),
28277         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
28278         (gst_base_transform_set_property),
28279         (gst_base_transform_get_property),
28280         (gst_base_transform_sink_activate),
28281         (gst_base_transform_src_activate),
28282         (gst_base_transform_change_state):
28283         * gst/base/gstbasetransform.h:
28284         * gst/elements/gstidentity.c: (gst_identity_finalize),
28285         (gst_identity_class_init), (gst_identity_init),
28286         (gst_identity_event), (gst_identity_check_perfect),
28287         (gst_identity_transform), (gst_identity_set_property),
28288         (gst_identity_get_property), (gst_identity_change_state):
28289         * gst/elements/gstidentity.h:
28290         * gst/gstelement.c: (gst_element_get_state_func),
28291         (gst_element_lost_state), (gst_element_pads_activate):
28292         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28293         (gst_pad_check_pull_range), (gst_pad_pull_range):
28294         * gst/gstpad.h:
28295         Simplify pad activation.
28296         Added function to check if pull_range can be performed.
28297         Error out when pulling inactive or flushing pads.
28298         Removed const from refcounted types as it does not make sense.
28299         Simplify pad templates in basesink
28300         Added base class for simple 1-to-1 transforms.
28301         Make identity subclass the base transform.
28302
28303 2005-03-29  Andy Wingo  <wingo@pobox.com>
28304
28305         * docs/libs/gstreamer-libs-overrides.txt: 
28306         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
28307         really don't understand what's going on, but like whatever. I want
28308         green buildbot!
28309
28310         * docs/gst/Makefile.am:
28311         * docs/libs/Makefile.am: Dist the overrides files.
28312
28313         * check/Makefile.am (clean-local): Remove .libs directories.
28314
28315         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
28316         elements to EXTRA_DIST, so po/ files are happy.
28317
28318         * po/POTFILES.in: Er, remove it here.
28319
28320         * po/POTFILES: Remove gstspider.c.
28321
28322         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
28323
28324         * docs/libs/gstreamer-libs-docs.sgml: 
28325         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
28326         bytestream.
28327
28328         * tests/complexity.c (main): Set the length of the preroll queue
28329         on the sinks to prevent a lockup.
28330
28331         * libs/gst/dataprotocol/Makefile.am: 
28332         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
28333         the same as the one in check/gst-libs/gdp.c.
28334
28335         * po/, docs/gst/: Commit automatic changes to docs and po files.
28336
28337         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
28338         the versioned libgstbase.
28339
28340         * check/Makefile.am: Depend on an unversioned gst-register, seems
28341         to make autoconf happier.
28342
28343         * gst/base/Makefile.am: Make libgstbase a versioned lib.
28344
28345 2005-03-28  Wim Taymans  <wim@fluendo.com>
28346
28347         * configure.ac:
28348         * docs/design/part-gstelement.txt:
28349         * docs/design/part-negotiation.txt:
28350         * docs/design/part-preroll.txt:
28351         * docs/design/part-scheduling.txt:
28352         * docs/design/part-states.txt:
28353         * gst/Makefile.am:
28354         * gst/base/Makefile.am:
28355         * gst/base/README:
28356         * gst/base/gstbasesink.c: (gst_basesink_get_template),
28357         (gst_basesink_base_init), (gst_basesink_class_init),
28358         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28359         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28360         (gst_basesink_set_pad_functions),
28361         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
28362         (gst_basesink_set_property), (gst_basesink_get_property),
28363         (gst_base_sink_get_template), (gst_base_sink_get_caps),
28364         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
28365         (gst_basesink_preroll_queue_push),
28366         (gst_basesink_preroll_queue_empty),
28367         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
28368         (gst_basesink_event), (gst_basesink_get_times),
28369         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
28370         (gst_basesink_chain_unlocked), (gst_basesink_chain),
28371         (gst_basesink_loop), (gst_basesink_activate),
28372         (gst_basesink_change_state):
28373         * gst/base/gstbasesink.h:
28374         * gst/elements/Makefile.am:
28375         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
28376         (gst_fakesink_class_init), (gst_fakesink_init),
28377         (gst_fakesink_set_property), (gst_fakesink_get_property),
28378         (gst_fakesink_get_times), (gst_fakesink_event),
28379         (gst_fakesink_preroll), (gst_fakesink_render),
28380         (gst_fakesink_change_state):
28381         * gst/elements/gstfakesink.h:
28382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28383         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
28384         * gst/gstelement.c: (gst_element_add_pad),
28385         (gst_element_get_state_func), (gst_element_abort_state),
28386         (gst_element_commit_state), (gst_element_lost_state),
28387         (gst_element_set_state), (gst_element_pads_activate):
28388         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
28389         * gst/gstpipeline.c: (gst_pipeline_send_event),
28390         (gst_pipeline_change_state):
28391         Added state change code.
28392         Added/updated docs.
28393         Added sink base class, make fakesink extend the base class.
28394         Small cleanups in GstPipeline.
28395
28396 2005-03-26  David Schleef  <ds@schleef.org>
28397
28398         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
28399         is broken and should be implemented in a different library.
28400         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
28401         * gst/gst.h: remove gstcpu.h
28402         * gst/gstcpu.c: remove
28403         * gst/gstcpu.h: remove
28404         * gst/Makefile.am.future: Remove this file.  It's ancient.
28405
28406 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28407
28408         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28409         (gst_bin_send_event):
28410           Add default event/set_manager handlers. The set_manager handler
28411           takes care that the manager is distributed over kids that were
28412           already in the bin before the manager was set. The event handler
28413           is a utility virtual function that sends the event over all sinks,
28414           so that gst_element_send_event (bin, event); has the expected
28415           behaviour.
28416         * gst/gstpad.c: (gst_pad_event_default):
28417           Re-install default event handling for discontinuities, so that
28418           seeking works without requiring hacks in applications or extra
28419           code in sinks.
28420         * gst/gstpipeline.c: (gst_pipeline_class_init),
28421         (gst_pipeline_send_event):
28422           Half hack, half utility: set a pipeline to PAUSED for seek events,
28423           since that is the only way we can guarantee a/v sync. Means that
28424           you can do gst_element_seek (pipeline, method, pos); on a pipeline
28425           and it "just works".
28426
28427 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28428
28429         * gst/gstpipeline.c: (gst_pipeline_use_clock):
28430           Lock/unlock mismatch.
28431
28432 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
28433
28434         * docs/faq/gst-uninstalled:
28435           add gst-plugins-base
28436         * docs/gst/Makefile.am:
28437           don't error out until docs are fixed
28438         * docs/gst/gstreamer.types:
28439           remove thread
28440
28441 2005-03-22  Wim Taymans  <wim@fluendo.com>
28442
28443         * check/Makefile.am:
28444         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
28445         * gst/gststructure.c: (gst_structure_set_valist),
28446         (gst_structure_copy_conditional):
28447         Activated more tests.
28448         Added message test.
28449         Added G_TYPE_POINTER to GstStructure.
28450         
28451
28452 2005-03-22  Wim Taymans  <wim@fluendo.com>
28453
28454         * docs/design/part-TODO.txt:
28455         * docs/design/part-events.txt:
28456         * docs/design/part-gstbin.txt:
28457         * docs/design/part-gstbus.txt:
28458         * docs/design/part-gstpipeline.txt:
28459         * docs/design/part-messages.txt:
28460         * gst/gstbus.c:
28461         * gst/gstmessage.c:
28462         Docs updates
28463
28464 2005-03-21  Wim Taymans  <wim@fluendo.com>
28465
28466         * gst/gstbus.c: (gst_bus_post):
28467         Fix copy-and-paste error.
28468
28469 2005-03-21  Wim Taymans  <wim@fluendo.com>
28470
28471         * check/Makefile.am:
28472         * gst/Makefile.am:
28473         * gst/elements/Makefile.am:
28474         * gst/elements/gstelements.c:
28475         * gst/elements/gstfakesink.c: (gst_fakesink_init),
28476         (gst_fakesink_event), (gst_fakesink_chain):
28477         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28478         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
28479         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
28480         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
28481         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28482         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
28483         (gst_fakesrc_loop), (gst_fakesrc_activate),
28484         (gst_fakesrc_change_state):
28485         * gst/elements/gstfakesrc.h:
28486         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
28487         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
28488         (gst_filesrc_open_file), (gst_filesrc_loop),
28489         (gst_filesrc_activate), (gst_filesrc_change_state),
28490         (filesrc_find_peek), (filesrc_find_suggest),
28491         (gst_filesrc_type_find):
28492         * gst/elements/gstidentity.c: (gst_identity_finalize),
28493         (gst_identity_class_init), (gst_identity_init),
28494         (gst_identity_proxy_getcaps), (identity_queue_push),
28495         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
28496         (gst_identity_getrange), (gst_identity_chain),
28497         (gst_identity_sink_loop), (gst_identity_src_loop),
28498         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
28499         (gst_identity_set_property), (gst_identity_get_property),
28500         (gst_identity_change_state):
28501         * gst/elements/gstidentity.h:
28502         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
28503         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
28504         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
28505         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
28506         (gst_tee_sink_activate):
28507         * gst/elements/gsttee.h:
28508         * gst/gst.c: (gst_register_core_elements), (init_post):
28509         * gst/gst.h:
28510         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
28511         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
28512         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
28513         (gst_bin_change_state):
28514         * gst/gstbin.h:
28515         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
28516         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
28517         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
28518         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
28519         (gst_bus_set_sync_handler), (gst_bus_create_watch),
28520         (bus_watch_callback), (bus_watch_destroy),
28521         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
28522         (poll_timeout), (gst_bus_poll):
28523         * gst/gstbus.h:
28524         * gst/gstcaps.h:
28525         * gst/gstdata.h:
28526         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28527         (gst_element_post_message), (gst_element_message_full),
28528         (gst_element_get_state_func), (gst_element_get_state),
28529         (gst_element_abort_state), (gst_element_commit_state),
28530         (gst_element_lost_state), (gst_element_set_state),
28531         (gst_element_pads_activate), (gst_element_change_state),
28532         (gst_element_dispose), (gst_element_set_manager_func),
28533         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
28534         (gst_element_set_manager), (gst_element_get_manager),
28535         (gst_element_set_bus), (gst_element_get_bus),
28536         (gst_element_set_scheduler), (gst_element_get_scheduler):
28537         * gst/gstelement.h:
28538         * gst/gstevent.c: (gst_event_new_segment_seek),
28539         (gst_event_new_flush):
28540         * gst/gstevent.h:
28541         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
28542         (_gst_message_free), (gst_message_get_type), (gst_message_new),
28543         (gst_message_new_eos), (gst_message_new_error),
28544         (gst_message_new_warning), (gst_message_new_tag),
28545         (gst_message_new_state_changed), (gst_message_new_application),
28546         (gst_message_get_structure), (gst_message_parse_tag),
28547         (gst_message_parse_state_changed), (gst_message_parse_error),
28548         (gst_message_parse_warning):
28549         * gst/gstmessage.h:
28550         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
28551         (gst_real_pad_set_property), (gst_pad_set_active),
28552         (gst_pad_is_active), (gst_pad_set_blocked_async),
28553         (gst_pad_set_blocked), (gst_pad_is_blocked),
28554         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
28555         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
28556         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
28557         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
28558         (gst_pad_link_filtered), (gst_pad_relink_filtered),
28559         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
28560         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
28561         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
28562         (gst_pad_set_caps), (gst_pad_configure_sink),
28563         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
28564         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
28565         (gst_real_pad_dispose), (gst_real_pad_finalize),
28566         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
28567         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28568         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
28569         * gst/gstpad.h:
28570         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
28571         (pipeline_bus_handler), (gst_pipeline_change_state),
28572         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
28573         * gst/gstpipeline.h:
28574         * gst/gstprobe.h:
28575         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
28576         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
28577         (gst_queue_link_src), (gst_queue_bufferalloc),
28578         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
28579         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
28580         (gst_queue_loop), (gst_queue_handle_src_event),
28581         (gst_queue_handle_src_query), (gst_queue_src_activate),
28582         (gst_queue_change_state):
28583         * gst/gstqueue.h:
28584         * gst/gstscheduler.c: (gst_scheduler_init),
28585         (gst_scheduler_dispose), (gst_scheduler_create_task),
28586         (gst_scheduler_factory_create):
28587         * gst/gstscheduler.h:
28588         * gst/gststructure.c: (gst_structure_get_type),
28589         (gst_structure_copy_conditional):
28590         * gst/gststructure.h:
28591         * gst/gsttaginterface.h:
28592         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28593         (gst_task_init), (gst_task_dispose), (gst_task_create),
28594         (gst_task_get_state), (gst_task_start), (gst_task_stop),
28595         (gst_task_pause):
28596         * gst/gsttask.h:
28597         * gst/gstthread.c:
28598         * gst/gstthread.h:
28599         * gst/gsttypes.h:
28600         * gst/schedulers/Makefile.am:
28601         * gst/schedulers/cothreads_compat.h:
28602         * gst/schedulers/entryscheduler.c:
28603         * gst/schedulers/faircothreads.c:
28604         * gst/schedulers/faircothreads.h:
28605         * gst/schedulers/fairscheduler.c:
28606         * gst/schedulers/gstbasicscheduler.c:
28607         * gst/schedulers/gstoptimalscheduler.c:
28608         * gst/schedulers/gthread-cothreads.h:
28609         * gst/schedulers/threadscheduler.c:
28610         (gst_thread_scheduler_task_get_type),
28611         (gst_thread_scheduler_task_class_init),
28612         (gst_thread_scheduler_task_init),
28613         (gst_thread_scheduler_task_start),
28614         (gst_thread_scheduler_task_stop),
28615         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
28616         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28617         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
28618         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
28619         (plugin_init):
28620         * libs/gst/Makefile.am:
28621         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
28622         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
28623         (gst_file_pad_parent_set):
28624         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
28625         (gst_dp_event_from_packet):
28626         * tests/complexity.c: (main):
28627         * tests/mass_elements.c: (main):
28628         * testsuite/states/locked.c: (message_received), (main):
28629         * testsuite/states/parent.c: (main):
28630         * tools/gst-inspect.c: (print_element_flag_info),
28631         (print_implementation_info), (print_pad_info):
28632         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
28633         (main):
28634         * tools/gst-md5sum.c: (event_loop), (main):
28635         * tools/gst-typefind.c: (main):
28636         * tools/gst-xmlinspect.c: (print_element_info):
28637         Next big merge.
28638         Added GstBus for mainloop integration.
28639         Added GstMessage for sending notifications on the bus.
28640         Added GstTask as an abstraction for pipeline entry points.
28641         Removed GstThread.
28642         Removed Schedulers.
28643         Simplified GstQueue for multithreaded core.
28644         Made _link threadsafe, removed old capsnego.
28645         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
28646         Added pad blocking functions.
28647         Reworked scheduling functions in GstPad to prepare for
28648         scheduling updates soon.
28649         Moved events out of data stream.
28650         Simplified GstEvent types.
28651         Added return values to push/pull.
28652         Removed clocking from GstElement.
28653         Added prototypes for state change function for next merge.
28654         Removed iterate from bins and state change management.
28655         Fixed some elements, disabled others for now.
28656         Fixed -inspect and -launch.
28657         Added check for GstBus.
28658
28659 2005-03-10  Wim Taymans  <wim@fluendo.com>
28660
28661         * docs/design/part-MT-refcounting.txt:
28662         * docs/design/part-clocks.txt:
28663         * docs/design/part-gstelement.txt:
28664         * docs/design/part-gstobject.txt:
28665         * docs/design/part-standards.txt:
28666         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28667         (gst_bin_remove_func), (gst_bin_remove):
28668         * gst/gstbin.h:
28669         * gst/gstbuffer.c:
28670         * gst/gstcaps.h:
28671         * testsuite/clock/clock1.c: (main):
28672         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
28673         (main):
28674         * testsuite/dlopen/loadgst.c: (do_test):
28675         * testsuite/refcounting/bin.c: (add_remove_test1),
28676         (add_remove_test2), (main):
28677         * testsuite/refcounting/element.c: (main):
28678         * testsuite/refcounting/element_pad.c: (main):
28679         * testsuite/refcounting/pad.c: (main):
28680         * tools/gst-launch.c: (sigint_handler_sighandler):
28681         * tools/gst-typefind.c: (main):
28682         Doc updates.
28683         Added doc about clock.
28684         removed gst_bin_iterate_recurse_up(), marked methods
28685         for removal.
28686         Fix more testsuites.
28687
28688 2005-03-09  Wim Taymans  <wim@fluendo.com>
28689
28690         * gst/gstpad.c: (gst_pad_get_direction),
28691         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
28692         (gst_pad_collect_valist):
28693         * testsuite/bins/interface.c: (main):
28694         * testsuite/caps/audioscale.c: (test_caps):
28695         * testsuite/caps/caps.c: (test1), (test2), (test3):
28696         * testsuite/caps/deserialize.c: (main):
28697         * testsuite/caps/enumcaps.c: (main):
28698         * testsuite/caps/filtercaps.c: (main):
28699         * testsuite/caps/intersect2.c: (main):
28700         * testsuite/caps/random.c: (main):
28701         * testsuite/caps/renegotiate.c: (my_fixate), (main):
28702         * testsuite/caps/sets.c: (check_caps):
28703         * testsuite/caps/simplify.c: (check_caps), (main):
28704         * testsuite/caps/subtract.c: (check_caps):
28705         Fix _pad_get_direction wrt ghostpads.
28706         Fix caps testsuite.
28707
28708 2005-03-09  Wim Taymans  <wim@fluendo.com>
28709
28710         * check/Makefile.am:
28711         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
28712         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
28713         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
28714         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
28715         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
28716         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
28717         (gst_bin_remove), (gst_bin_iterate_recurse_up),
28718         (bin_element_is_sink), (gst_bin_iterate_sinks),
28719         (gst_bin_iterate_all_by_interface):
28720         * gst/gstbin.h:
28721         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
28722         (gst_element_change_state), (gst_element_dispose),
28723         (gst_element_finalize), (gst_element_set_loop_function):
28724         * gst/gstelement.h:
28725         * gst/gstiterator.c: (find_custom_fold_func):
28726         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28727         (gst_pad_collectv), (gst_pad_collect_valist),
28728         (gst_pad_template_new):
28729         * gst/gstpipeline.c: (gst_pipeline_class_init),
28730         (gst_pipeline_dispose), (gst_pipeline_set_property),
28731         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
28732         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
28733         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
28734         * gst/gstutils.h:
28735         * gst/schedulers/entryscheduler.c:
28736         * gst/schedulers/gstbasicscheduler.c:
28737         (gst_basic_scheduler_cothreaded_chain),
28738         (gst_basic_scheduler_chain_add_element):
28739         * testsuite/bins/interface.c: (main):
28740         Added GstBin test.
28741         Added GstSystemClock test.
28742         Implemented clock distribution code in GstBin.
28743         Implemented iterate sinks method for future use.
28744         Rearranged gstelement.h
28745         Fix GstIterator comparison bug.
28746         Moved some code to GstPipeline, mostly clocking related.
28747
28748 2005-03-09  Wim Taymans  <wim@fluendo.com>
28749
28750         * configure.ac:
28751         * gst/gst_private.h:
28752         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28753         (gst_bin_remove_func), (gst_bin_remove),
28754         (gst_bin_get_by_name_recurse_up):
28755         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
28756         (gst_clock_id_compare_func), (gst_clock_id_wait),
28757         (gst_clock_id_wait_async), (gst_clock_init),
28758         (gst_clock_adjust_unlocked), (gst_clock_get_time):
28759         * gst/gstelement.h:
28760         * gst/gstinfo.c: (_gst_debug_init):
28761         * gst/gstobject.h:
28762         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28763         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
28764         * gst/gstpad.h:
28765         Bump version number, we're now 0.9.0
28766         Add future debugging category.
28767         Fix NULL _unref() in _get_by_name_recurse_up
28768         Rearrange gstpad.h.
28769         Update some docs.
28770
28771 2005-03-08  Wim Taymans  <wim@fluendo.com>
28772
28773         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
28774         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
28775         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28776         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
28777         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
28778         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
28779         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
28780         * gst/elements/gstidentity.c: (gst_identity_class_init):
28781         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
28782         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
28783         * gst/elements/gstshaper.c: (gst_shaper_class_init):
28784         * gst/elements/gststatistics.c: (gst_statistics_class_init):
28785         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
28786         (gst_tee_link):
28787         * gst/gstelement.c: (gst_element_class_init),
28788         (gst_element_base_class_init), (gst_element_init),
28789         (gst_element_get_random_pad), (gst_element_wait_state_change),
28790         (gst_element_change_state), (gst_element_dispose),
28791         (gst_element_finalize), (gst_element_set_loop_function):
28792         * gst/gstelement.h:
28793         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
28794         * gst/gstthread.c: (gst_thread_class_init),
28795         (gst_thread_release_children_locks), (gst_thread_change_state):
28796         * gst/schedulers/gstbasicscheduler.c:
28797         (gst_basic_scheduler_loopfunc_wrapper),
28798         (gst_basic_scheduler_chain_wrapper),
28799         (gst_basic_scheduler_src_wrapper),
28800         (gst_basic_scheduler_remove_element):
28801         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
28802         Remove threadsafe properties. Fix elements because GObject
28803         complains when installing a property before declaring a
28804         set/get_property handler.
28805         Rearrange gstelement.h file, use STATE macros for state locks.
28806         Free mutexes in the finalize method instead of dispose.
28807
28808 2005-03-08  Wim Taymans  <wim@fluendo.com>
28809
28810         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28811         * gst/gstthread.c: (gst_thread_release_children_locks):
28812         Added parentage check.
28813         Fix build og GstThread again.
28814
28815 2005-03-08  Wim Taymans  <wim@fluendo.com>
28816
28817         * docs/design/part-MT-refcounting.txt:
28818         * docs/design/part-conventions.txt:
28819         * docs/design/part-gstobject.txt:
28820         * docs/design/part-relations.txt:
28821         * docs/design/part-standards.txt:
28822         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28823         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
28824         (gst_bin_get_by_name), (gst_bin_get_by_interface),
28825         (gst_bin_iterate_all_by_interface):
28826         * gst/gstbuffer.h:
28827         * gst/gstclock.h:
28828         * gst/gstelement.c: (gst_element_class_init),
28829         (gst_element_change_state), (gst_element_set_loop_function):
28830         * gst/gstelement.h:
28831         * gst/gstiterator.c:
28832         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
28833         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
28834         (gst_object_dispatch_properties_changed), (gst_object_set_name),
28835         (gst_object_set_parent), (gst_object_unparent),
28836         (gst_object_check_uniqueness):
28837         * gst/gstobject.h:
28838         Docs updates, clean up some headers.
28839
28840 2005-03-07  Wim Taymans  <wim@fluendo.com>
28841
28842         * check/.cvsignore:
28843         * check/Makefile.am:
28844         * check/gst-libs/.cvsignore:
28845         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
28846         * check/gst/.cvsignore:
28847         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
28848         (START_TEST), (gstbus_suite), (main):
28849         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
28850         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
28851         (gst_data_suite), (main):
28852         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
28853         (add_fold_func), (gstiterator_suite), (main):
28854         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
28855         (thread_name_object), (thread_name_object_default),
28856         (gst_object_name_compare), (gst_object_suite), (main):
28857         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
28858         (gst_pad_suite), (main):
28859         * check/gstcheck.c: (gst_check_log_message_func),
28860         (gst_check_log_critical_func), (gst_check_init):
28861         * check/gstcheck.h:
28862         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
28863         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
28864         Added checks.
28865
28866 2005-03-07  Wim Taymans  <wim@fluendo.com>
28867
28868         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
28869         (gst_list_iterator_next), (gst_list_iterator_resync),
28870         (gst_list_iterator_free), (gst_iterator_new_list),
28871         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
28872         (gst_iterator_free), (gst_iterator_push), (filter_next),
28873         (filter_resync), (filter_uninit), (filter_free),
28874         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
28875         (gst_iterator_foreach), (find_custom_fold_func),
28876         (gst_iterator_find_custom):
28877         * gst/gstiterator.h:
28878         Added missing files.
28879
28880 2005-03-07  Wim Taymans  <wim@fluendo.com>
28881
28882         * Makefile.am:
28883         * configure.ac:
28884         * docs/design/part-MT-refcounting.txt:
28885         * docs/design/part-conventions.txt:
28886         * docs/design/part-gstobject.txt:
28887         * docs/design/part-relations.txt:
28888         * examples/mixer/mixer.c: (main):
28889         * examples/thread/thread.c: (eos), (main):
28890         * gst/Makefile.am:
28891         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
28892         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
28893         (gst_spider_plug_from_srcpad):
28894         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
28895         (gst_spider_identity_change_state),
28896         (gst_spider_identity_sink_loop_type_finding):
28897         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
28898         * gst/elements/gstidentity.c: (gst_identity_init):
28899         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
28900         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
28901         * gst/elements/gsttypefindelement.c: (free_entry):
28902         * gst/gst.c:
28903         * gst/gst.h:
28904         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
28905         (gst_bin_set_clock_func), (gst_bin_auto_clock),
28906         (gst_bin_set_index), (gst_bin_set_element_sched),
28907         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
28908         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
28909         (gst_bin_iterate_elements), (iterate_child_recurse),
28910         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
28911         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
28912         (compare_interface), (gst_bin_get_by_interface),
28913         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
28914         * gst/gstbin.h:
28915         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
28916         (gst_buffer_default_free), (gst_buffer_default_copy),
28917         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
28918         (gst_buffer_create_sub):
28919         * gst/gstbuffer.h:
28920         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
28921         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
28922         (gst_caps_unref), (gst_static_caps_get),
28923         (gst_caps_remove_and_get_structure), (gst_caps_append),
28924         (gst_caps_append_structure), (gst_caps_remove_structure),
28925         (gst_caps_copy_nth), (gst_caps_set_simple),
28926         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
28927         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
28928         (gst_caps_structure_intersect_field), (gst_caps_intersect),
28929         (gst_caps_structure_subtract_field), (gst_caps_subtract),
28930         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
28931         (gst_caps_structure_figure_out_union),
28932         (gst_caps_switch_structures), (gst_caps_do_simplify),
28933         (gst_caps_replace), (gst_caps_from_string),
28934         (gst_caps_copy_conditional):
28935         * gst/gstcaps.h:
28936         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
28937         (_gst_clock_id_free), (gst_clock_id_unref),
28938         (gst_clock_id_compare_func), (gst_clock_id_wait),
28939         (gst_clock_id_wait_async), (gst_clock_class_init),
28940         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
28941         (gst_clock_get_time), (gst_clock_set_time_adjust),
28942         (gst_clock_set_property), (gst_clock_get_property):
28943         * gst/gstclock.h:
28944         * gst/gstcompat.h:
28945         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
28946         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
28947         * gst/gstdata.h:
28948         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28949         (gst_element_requires_clock), (gst_element_provides_clock),
28950         (gst_element_set_clock), (gst_element_clock_wait),
28951         (gst_element_wait), (gst_element_set_time_delay),
28952         (gst_element_is_indexable), (gst_element_add_pad),
28953         (gst_element_add_ghost_pad), (gst_element_remove_pad),
28954         (pad_compare_name), (gst_element_get_static_pad),
28955         (gst_element_request_pad), (gst_element_get_request_pad),
28956         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
28957         (gst_element_class_get_pad_template_list),
28958         (gst_element_class_get_pad_template), (gst_element_error_func),
28959         (gst_element_get_random_pad), (gst_element_get_event_masks),
28960         (gst_element_send_event), (gst_element_seek),
28961         (gst_element_get_query_types), (gst_element_query),
28962         (gst_element_get_formats), (gst_element_convert),
28963         (gst_element_is_locked_state), (gst_element_set_locked_state),
28964         (gst_element_sync_state_with_parent), (gst_element_change_state),
28965         (gst_element_finalize), (gst_element_yield),
28966         (gst_element_interrupt), (gst_element_set_scheduler),
28967         (gst_element_get_scheduler), (gst_element_set_loop_function):
28968         * gst/gstelement.h:
28969         * gst/gstevent.h:
28970         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
28971         (gst_format_get_by_nick), (gst_format_get_details),
28972         (gst_format_iterate_definitions):
28973         * gst/gstformat.h:
28974         * gst/gstindex.c: (gst_index_gtype_resolver):
28975         * gst/gstinfo.c:
28976         * gst/gstinfo.h:
28977         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
28978         (gst_mem_chunk_free):
28979         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
28980         (gst_object_ref), (gst_object_unref), (gst_object_sink),
28981         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
28982         (gst_object_dispatch_properties_changed),
28983         (gst_object_set_name_default), (gst_object_set_name),
28984         (gst_object_get_name), (gst_object_set_name_prefix),
28985         (gst_object_get_name_prefix), (gst_object_set_parent),
28986         (gst_object_get_parent), (gst_object_unparent),
28987         (gst_object_check_uniqueness), (gst_object_save_thyself),
28988         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28989         (gst_object_set_property), (gst_object_get_property),
28990         (gst_object_get_path_string):
28991         * gst/gstobject.h:
28992         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28993         (gst_real_pad_init), (gst_real_pad_get_property),
28994         (gst_pad_custom_new), (gst_pad_get_direction),
28995         (gst_pad_set_active), (gst_pad_is_active),
28996         (gst_pad_set_event_function), (gst_pad_is_linked),
28997         (gst_pad_link_free), (gst_pad_link_intersect),
28998         (gst_pad_link_fixate), (gst_pad_set_caps),
28999         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
29000         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
29001         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
29002         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
29003         (gst_pad_get_caps), (gst_pad_peer_get_caps),
29004         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
29005         (gst_pad_realize), (gst_pad_get_allowed_caps),
29006         (gst_real_pad_dispose), (gst_real_pad_finalize),
29007         (gst_pad_collectv), (gst_pad_collect_valist),
29008         (gst_pad_template_dispose), (gst_pad_template_new),
29009         (gst_pad_get_internal_links):
29010         * gst/gstpad.h:
29011         * gst/gstpipeline.c: (gst_pipeline_dispose),
29012         (gst_pipeline_change_state):
29013         * gst/gstpipeline.h:
29014         * gst/gstplugin.c:
29015         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
29016         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
29017         * gst/gstpluginfeature.h:
29018         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
29019         * gst/gstquery.c: (_gst_query_type_initialize),
29020         (gst_query_type_register), (gst_query_type_get_by_nick),
29021         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
29022         * gst/gstquery.h:
29023         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
29024         * gst/gstscheduler.c: (gst_scheduler_add_element),
29025         (gst_scheduler_factory_create):
29026         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29027         (gst_structure_free), (gst_structure_set_name),
29028         (gst_structure_id_set_value), (gst_structure_set_value),
29029         (gst_structure_set_valist), (gst_structure_remove_field),
29030         (gst_structure_remove_fields),
29031         (gst_structure_remove_fields_valist),
29032         (gst_structure_remove_all_fields), (gst_structure_foreach),
29033         (gst_structure_map_in_place),
29034         (gst_caps_structure_fixate_field_nearest_int),
29035         (gst_caps_structure_fixate_field_nearest_double):
29036         * gst/gststructure.h:
29037         * gst/gstsystemclock.c: (gst_system_clock_class_init),
29038         (gst_system_clock_init), (gst_system_clock_dispose),
29039         (gst_system_clock_async_thread),
29040         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
29041         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
29042         * gst/gstsystemclock.h:
29043         * gst/gsttag.c: (gst_tag_list_add_value_internal),
29044         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
29045         * gst/gsttaginterface.c:
29046         * gst/gstthread.c: (gst_thread_dispose),
29047         (gst_thread_release_children_locks), (gst_thread_change_state),
29048         (gst_thread_main_loop):
29049         * gst/gsttrashstack.h:
29050         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
29051         * gst/gsttypes.h:
29052         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29053         (gst_element_request_pad), (gst_element_get_pad_from_template),
29054         (gst_element_request_compatible_pad),
29055         (gst_element_get_compatible_pad_filtered),
29056         (gst_element_get_compatible_pad), (gst_element_state_get_name),
29057         (gst_element_link_pads_filtered), (gst_element_link_filtered),
29058         (gst_element_link_many), (gst_element_link),
29059         (gst_element_link_pads), (gst_element_unlink_pads),
29060         (gst_element_unlink_many), (gst_element_unlink),
29061         (gst_pad_can_link_filtered), (gst_pad_can_link),
29062         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
29063         (gst_object_default_error), (gst_bin_add_many),
29064         (gst_bin_remove_many), (gst_element_populate_std_props),
29065         (gst_element_class_install_std_props), (gst_buffer_merge),
29066         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
29067         (link_fold_func), (gst_pad_proxy_setcaps):
29068         * gst/gstutils.h:
29069         * gst/gstvalue.c: (gst_value_deserialize_string):
29070         * gst/parse/grammar.y:
29071         * gst/schedulers/gstbasicscheduler.c:
29072         (gst_basic_scheduler_cothreaded_chain),
29073         (gst_basic_scheduler_chain_recursive_add),
29074         (gst_basic_scheduler_pad_link):
29075         * gst/schedulers/gstoptimalscheduler.c:
29076         (get_group_schedule_function),
29077         (gst_opt_scheduler_state_transition),
29078         (gst_opt_scheduler_add_element), (element_get_reachables_func):
29079         * libs/gst/bytestream/bytestream.c:
29080         * libs/gst/dataprotocol/dataprotocol.c:
29081         (gst_dp_header_from_buffer):
29082         * po/nb.po:
29083         * po/ru.po:
29084         * tests/threadstate/threadstate2.c: (eos):
29085         * tools/gst-compprep.c: (main):
29086         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
29087         (print_pad_info), (print_children_info):
29088         * tools/gst-launch.c: (idle_func), (main):
29089         * tools/gst-md5sum.c: (idle_func), (main):
29090         * tools/gst-xmlinspect.c: (print_element_info):
29091         First THREADED backport attempt, focusing on adding locks and
29092         making sure the API is threadsafe. Needs more work. More docs
29093         follow this week.
29094
29095 2005-02-24  Andy Wingo  <wingo@pobox.com>
29096
29097         * tests/bench-complexity.scm:
29098         * tests/complexity.gnuplot: New files, good for running complexity
29099         benchmarks.
29100
29101         * tests/Makefile.am:
29102         * tests/complexity.c: New test, sets up N elements, at each level
29103         teeing into M streams per element. Eeeenteresting.
29104
29105         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
29106         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
29107         running bench-mass_elements.scm.
29108
29109         * tests/bench-mass_elements.scm: New script, runs mass_elements
29110         for various numbers of identities, outputting the results to a
29111         file. Requires guile 1.6. Just for testing.
29112
29113 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29114
29115         * gst/schedulers/fairscheduler.c:
29116           compile with debug disabled
29117
29118 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29119
29120         * configure.ac:
29121           hunting season on 0.9 is now OPEN