4a4bb3ead47d6ecc99bf4e7f865dd11b7dab17fb
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gstutils.c:
4           Add mising "Since:" to docs.
5
6 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
7
8         * gst/gstplugin.c:
9           Include "glib-compat-private.h" to fix the build on system with
10           glib < 2.10. Fixes #503131.
11
12 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
13
14         * gst/gstutils.c:
15         * gst/gstutils.h:
16           Actually its not PURE as it gets the time from elsewhere.
17
18 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
19
20         * docs/gst/gstreamer-sections.txt:
21         * gst/gstclock.h:
22         * gst/gstdebugutils.c:
23         * gst/gstinfo.c:
24         * gst/gstutils.c:
25         * gst/gstutils.h:
26         * libs/gst/base/gstbasesink.c:
27         * tools/gst-launch.c:
28           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
29           uses as we don't have HAVE_POSIX_TIMERS in public headers.
30           Thanks Tim for spotting.
31
32 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
33
34         * configure.ac:
35           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
36
37 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
38
39         * gst/gststructure.c: (gst_structure_validate_name),
40           (gst_structure_new_valist), (gst_structure_parse_value),
41           (gst_structure_from_string):
42           Don't crash in _from_string() if the structure name is not valid
43           (fixes #501560).  Allow structure names to start with a number
44           again (this apparently broke the ubuntu codec installer).
45
46         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
47           (GST_START_TEST):
48           Add unit test for the crash; update unit tests for new behaviour.
49
50 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
51
52         * gst/gstutils.c:
53         Clarify gst_element_get_compatible_pad() documentation.
54         Fixes #500919.
55
56 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
57
58         * tests/check/Makefile.am:
59           Don't forget to dist {gst,libs}/struct_hppa.h.
60
61 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
62
63         * libs/gst/base/gstbasesink.c:
64           Use new API to get elapsed time.
65
66 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
67
68         * gst/gstdebugutils.c:
69         * gst/gstinfo.c:
70           Fix wrong order of args in GST_CLOCK_DIFF() usage.
71
72         * tools/gst-launch.c:
73           Use new API to get elapsed time.
74
75 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
76
77         * docs/gst/gstreamer-sections.txt:
78         * gst/gstclock.h:
79         * gst/gstdebugutils.c:
80         * gst/gstinfo.c:
81           Rename new API + ChangeLog surgery to remove old name from last entry..
82           API: GST_GET_TIMESTAMP
83
84 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
85
86         * docs/gst/gstreamer-sections.txt:
87         * gst/gstclock.h:
88         * gst/gstdebugutils.c:
89         * gst/gstinfo.c:
90           Now hide the different clock stuff behind a macro.
91
92 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
93
94         * configure.ac:
95         * gst/gstdebugutils.c:
96         * gst/gstinfo.c:
97           Apply the posix-timer check from #361155. Conditionally use the posix
98           timer for logging. This gives better timestamp precission, less
99           overhead and no ntp jitter.
100
101 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
102
103         * gst/gstminiobject.c: (gst_mini_object_get_type),
104         (gst_mini_object_class_init), (gst_mini_object_copy_default),
105         (gst_mini_object_finalize), (gst_mini_object_copy),
106         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
107         (gst_mini_object_replace), (param_mini_object_validate),
108         (gst_param_spec_mini_object_get_type):
109         Some cleanup and checking against invalid function parameters.
110
111 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
112
113         * docs/gst/gstreamer-sections.txt:
114         * gst/gstclock.h:
115         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
116         (gst_systemclock_suite):
117         Start merging in the easy bits of #361155, the monotonic clock patch.
118         This one adds a few handy macros with docs and a testsuite.
119
120 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
121
122         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
123         Be a bit smarter when seeking, like, don't try to do a seek when it's
124         not needed. This avoids errors when the file is not seekable.
125         Fixes #499771.
126
127 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
128
129         * docs/gst/gstreamer-docs.sgml:
130         * docs/gst/gstreamer-sections.txt:
131         * docs/gst/gstreamer.types.in:
132         * gst/Makefile.am:
133         * gst/gst.h:
134         * gst/gstpreset.c:
135         * gst/gstpreset.h:
136         * plugins/elements/gstqueue.c:
137           Due to popular request remove preset interface again. :-(.
138
139 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
140
141         * tools/gst-inspect.c:
142           Print 'default value' for enums and flags too.
143
144 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
145
146         * docs/random/ensonic/profiling.txt:
147           More ideas.
148
149         * gst/gstbin.c:
150           Fix typo and give better log output.
151
152         * gst/gstdebugutils.c:
153         * gst/gstdebugutils.h:
154           More ideas, make graphs a bit smaller and fix param name in macro.
155
156 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
157
158         * gst/gstpreset.c:
159           Try harder to use the return value from fgets().
160
161 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
162
163         * gst/gstpreset.c:
164           For theses two fgets we handle the error below.
165
166 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
167
168         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
169         Only send upstream events upstream. Fixes #498746.
170
171 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
172
173         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
174
175         * plugins/elements/gstidentity.c: (gst_identity_class_init),
176         (gst_identity_init), (gst_identity_transform_ip),
177         (gst_identity_set_property), (gst_identity_get_property):
178         * plugins/elements/gstidentity.h:
179         Add property to disable handoff signal emission. Fixes #498694.
180         API: GstIdentity::signal-handoffs
181
182 2007-11-21  Julien Moutte  <julien@fluendo.com>
183
184         * docs/faq/gst-uninstalled: Yet another missing library for the
185         uninstalled script (fft)
186
187 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
188
189         * docs/faq/developing.xml:
190         Add a question about how to submit new translations.
191
192         * docs/random/release:
193         Update the contact email address for the Translation Project
194
195         * plugins/elements/gstfdsrc.c:
196         The parent_class for fdsrc is pushsrc, not GstElement.
197
198 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
199
200         * gst/gstpreset.c:
201           Plug a leak and fix saving.
202
203 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
204
205         * docs/gst/gstreamer-sections.txt:
206         Add new gst_preset__get_property_names() function to the docs
207         to fix the build.
208
209 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
210
211         * gst/gstpreset.c:
212         * gst/gstpreset.h:
213           Change _get_preset_names API to return a strv with copies. Add
214           _get_property_names to allow implementations to filter and provide
215           good default implementation.
216
217 2007-11-20  Julien MOUTTE  <julien@moutte.net>
218
219         * docs/faq/gst-uninstalled: Add another library to the uninstalled
220         script (sdp).
221
222 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
223
224         * gst/gstpreset.c:
225           More cleanups, docs, and TODOs from comments that now slowly come in.
226
227 2007-11-19  Julien MOUTTE  <julien@moutte.net>
228
229         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
230         search path.
231
232 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
233
234         * gst/gstpreset.c:
235           Fix bogus warning and make the property type specific code more
236           similar.
237
238 2007-11-19  Julien MOUTTE  <julien@moutte.net>
239
240         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
241         it build on OS X.
242
243 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
244
245         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
246         (gst_bin_add_func), (gst_bin_remove_func),
247         (gst_bin_change_state_func), (gst_bin_continue_func):
248         Change email, cleanups add some more debug and comments.
249         Also set bus and clock on new elements when the pipeline was in error.
250
251 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
252
253         * gst/gstbin.c:
254         * gst/gstdebugutils.c:
255           Fix build with --disable-gst-debug. Fixes #497859.
256           Spotted by Sameer Naik.
257
258 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
259
260         * gst/gstevent.c:
261           Little documentation improvment.
262
263         * gst/gstpreset.c:
264           More TODO cleanups. Remove c++ comments.
265
266         * libs/gst/controller/gstcontroller.c:
267           Add TODO and use quark from static string.
268
269         * tests/check/gst/gstmessage.c:
270         * tests/check/gst/gststructure.c:
271           Use quark from static string.
272
273 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
274
275         * gst/gstpreset.c:
276           Add some comments and TODOs.
277
278         * gst/gstpreset.h:
279           Add padding for future changes.
280
281         * plugins/elements/gstqueue.c:
282           Implement the iface.    
283
284 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
285
286         * docs/gst/gstreamer-docs.sgml:
287         * docs/gst/gstreamer-sections.txt:
288         * docs/gst/gstreamer.types.in:
289         * gst/Makefile.am:
290         * gst/gst.h:
291         * gst/gstpreset.c:
292         * gst/gstpreset.h:
293           Add the preset interface (Fixes #396779). Do some doc cleanups along.
294
295 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
296
297         * configure.ac:
298
299         Back to CVS
300
301 === release 0.10.15 ===
302
303 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
304
305         * configure.ac:
306           releasing 0.10.15, "October"
307
308 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
309
310         * win32/vs6/libgstreamer.dsp:
311         Convert line endings back to DOS.
312
313 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
314
315         * docs/design/draft-tagreading.txt:
316         * docs/random/ensonic/profiling.txt:
317         Update fast tagreading draft and performance profiling ideas.
318
319 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
320
321         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
322         Don't hold the object lock when unreffing a buffer because it could
323         cause a deadlock when the finalize function wants to grab the object
324         lock too. Fixes #495133.
325
326 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
327
328         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
329         (gst_segment_to_stream_time), (gst_segment_to_running_time):
330         Also accumulate time correctly when doing reverse playback. Fixes
331         #488201,
332         When converting to running and stream time, use default values for
333         start/stop/time/accum when comparing different formats. Fixes #494245.
334
335         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
336         Do running/stream time in TIME format.
337
338         * tests/check/gst/gstsegment.c: (GST_START_TEST),
339         (gst_segment_suite):
340         2 new unit tests for segment accumulation.
341
342 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
343
344         * gst/gst.c: (init_pre):
345         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
346           (_gst_debug_bin_to_dot_file):
347           Move getenv() back into gst_init, so everyone can live happily
348           ever after. Make sure the symbol isn't exported though.
349
350 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
351
352         Patch by: Sebastien Moutte  <sebastien moutte net>
353
354         * win32/common/gstenumtypes.c:
355         * win32/common/gstenumtypes.h:
356           Update enum types.
357
358         * win32/vs6/libgstreamer.dsp:
359           Update vs6 project files (#494343).
360
361 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
362
363         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
364         (gst_base_src_perform_seek), (gst_base_src_default_event),
365         (gst_base_src_set_flushing), (gst_base_src_activate_push),
366         (gst_base_src_activate_pull):
367         Unify flushing code, remove some old unlock code that is no longer used.
368         Take the streaming lock when seeking to avoid races. Fixes #492729.
369         Added some more comments.
370
371 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
372
373         * gst/gst.c: (_gst_disable_segtrap):
374           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
375           we can use gst_segtrap_is_enabled() there now that we have that API.
376           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
377           to do the getenv here (and export the variable).
378
379         * gst/gstdebugutils.c: (debug_dump_element),
380           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
381           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
382
383         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
384           (gst_debug_log_default):
385           Rename _gst_info_start_time to priv_gst_info_start_time so it
386           doesn't get exported (was never in any header).
387
388         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
389           (gst_plugin_loading_mutex):
390           Make static mutex gst_plugin_loading_mutex really static (was never
391           in any header), and use gst_segtrap_is_enabled() instead of
392           _gst_disable_segtrap.
393
394         * gst/gsttrace.c: (_gst_trace_default):
395           Make local _gst_trace_default static (was never in any header).
396
397 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
398
399         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
400
401         * win32/common/libgstbase.def:
402         * win32/common/libgstcontroller.def:
403         * win32/common/libgstdataprotocol.def:
404         * win32/common/libgstnet.def:
405         * win32/common/libgstreamer.def:
406           Add more missing symbols, remove some duplicates, and sort
407           as the 'sort' command sorts it (partially fixes #493983).
408
409 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
410
411         * gst/gstelement.c: (gst_element_set_state_func):
412         Only change the state cookie if a different state was set on the
413         element. See #492729.
414
415 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
416
417         * gst/gstvalue.c:
418           Remove unused and uninitialised type variables that were still
419           exported for some reason (they were never in any header files
420           though).
421
422 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
423
424         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
425         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
426         (gst_base_sink_event), (gst_base_sink_get_position_last),
427         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
428         (gst_base_sink_change_state):
429         Don't try to report a 0 position when we don't know, return -1 and FALSE
430         instead. This mostly happens when we are prerolling.
431         Make sure we can report the right position before we post the ASYNC_DONE
432         message so that a message handler can query position without races.
433
434         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
435         (async_done_handoff), (async_done_func), (send_buffer),
436         (async_done_eos_func), (gst_sinks_suite):
437         Add two tests for the above.
438
439 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
440
441         * MAINTAINERS:
442         Update with new email address.
443
444         * docs/design/part-TODO.txt:
445         Add some more info about future pad-block and negotiation changes.
446
447         * docs/design/part-buffering.txt:
448         Add some ideas about buffering reporting.
449
450 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
451
452         * tests/check/gst/gstobject.c:
453         Disable silly racy test that always fails on this combination of CPU
454         and kernel.
455
456 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
457
458         Patch by: Murray Cumming  <murrayc@murrayc.com>
459
460         * gst/gstobject.c:
461           Corrected the registration of the parent-set and parent-unset
462           signals: The parameter is a GstObject, not a GObject (#493134).
463
464 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
465
466         * gst/gst_private.h:
467         * gst/gstbuffer.h:
468         * gst/gstevent.h:
469         * gst/gstformat.h:
470         * gst/gstmessage.h:
471         * gst/gstplugin.h:
472         * gst/gstquery.h:
473         * gst/gsttaglist.h:
474         * gst/gstvalue.h:
475           Move declaration of private _gst_foo_initialize() functions into
476           our private header file where they should have been all along.
477
478 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
479
480         * docs/plugins/gstreamer-plugins-sections.txt:
481         * gst/gstdebugutils.h:
482         * gst/gstxml.h:
483         * plugins/elements/gstqueue.c:
484           gtk-doc fixes; trailing-comma-in-enum fix.
485
486 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
487
488         * gst/gst.c: (gst_deinit):
489           Clean up on deinit (not the external ones though, doesn't seem to be
490           needed for some reason).
491
492 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
493
494         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
495           Remove __declspec(dllimport) for MSVC that was copied over into core
496           from a plugin, obviously without ever having been tested (note the
497           single underscore in _declspec in the initial commit), and that doesn't
498           really make sense.  See #492077.
499
500 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
501
502         * gst/gst.c: (init_post):
503         * gst/gstevent.c: (_gst_event_initialize):
504         * gst/gstquery.c: (_gst_query_initialize):
505         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
506           g_type_class_ref() other types as well, see #349410 and #64764.
507
508         * gst/gstbuffer.c: (_gst_buffer_initialize):
509         * gst/gstmessage.c: (_gst_message_initialize):
510           Simplify existing g_type_class_ref().
511
512 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
513
514         * gst/gstformat.c: (_gst_format_initialize):
515           g_type_class_ref() our GstFormat type to make sure we avoid the
516           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
517           bug #64764. Should fix intermittent tee unit test failures (#474823).
518
519 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
520
521         * tests/check/elements/tee.c: (test_num_buffers):
522           Simplify, simplify, simplify - or not.  Rewrite unit test
523           not to use gst_parse_launch(); allow N sub-streams. Increasing
524           the number of sub-streams seems to reproduce #474823 more easily.
525
526 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
527
528         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
529
530         * gst/gsttrace.c:
531         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
532         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
533         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
534           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
535           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
536           so use _pipe() directly (#492077).
537
538         * win32/common/dirent.c: (_treaddir):
539           Add a couple of casts to make it build without warnings with MSVC.
540
541         * win32/common/libgstreamer.def:
542           Add some more symbols that need to be exported.
543
544 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
545
546         * tests/examples/metadata/read-metadata.c: (message_loop):
547           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
548           arriving in a second or third tag message are added to
549           the tag list as well.
550
551 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
552
553         * libs/gst/base/gstbasesrc.c:
554           Its "Since:" and not "@Since:". And remove an superflous cast.
555
556 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
557
558         * docs/libs/gstreamer-libs-sections.txt:
559         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
560         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
561         (gst_base_sink_get_property), (gst_base_sink_render_object),
562         (gst_base_sink_preroll_object),
563         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
564         (gst_base_sink_change_state):
565         * libs/gst/base/gstbasesink.h:
566         Add a new last-buffer property that contains the last buffer used in
567         basesink for preroll or rendering. useful for making snapshots.
568         API: gst_base_sink_get_last_buffer()
569         API: GstBaseSink::last-buffer
570
571 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
572
573         * docs/gst/running.xml:
574         * gst/gst.c:
575         * gst/gstdebugutils.c:
576         * gst/gstdebugutils.h:
577         * tools/gst-launch.c:
578           Improve bin graph dumping, by using the envvar to specify a path.
579           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
580
581 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
582
583         * plugins/elements/gsttypefindelement.c:
584           (gst_type_find_element_handle_event),
585           (gst_type_find_element_activate):
586           Post special error message if we can't determine the type of a stream
587           because it's empty.
588
589 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
590
591         * docs/gst/running.xml:
592         * gst/gstdebugutils.c:
593           Document new env-var. Add one log-line after dumpng a graph.
594
595 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
596
597         * configure.ac:
598           Ugly hack to put the (recently removed and non-portable, apparently)
599           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
600           GNU ld, because without that 'make check' fails miserably on my debian
601           stable box.  Someone with more knowledge of linker intricacies and
602           portability issues than me fix this properly please.
603
604 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
605
606         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
607         Reset last seen position after flushing so that we don't report the old
608         position anymore.
609
610 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
611
612         * gst/gstelementfactory.c: (gst_element_register):
613         * gst/gsturi.h:
614         Patch from Alessandro Decina adding get_type_full and
615         get_protocols_full private vfuncs to the URIHandler interface
616         to allow bindings to support creating URI handlers. 
617         Partially fixes: #339279
618         API: GstURIHandlerInterface::get_type_full
619         API: GstURIHandlerInterface::get_protocols_full
620
621 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
622
623         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
624         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
625         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
626         Make it so that pads are considered linked until a buffer is pushed
627         and discovered otherwise. This avoids problems with decodebin2 hanging
628         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
629         case.
630
631         Make sure we lock the multiqueue when updating the max-size properties.
632         
633         Fix a crash on Solaris in a debug statement in get_request_pad that
634         passes a NULL string to GST_DEBUG. 
635
636         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
637         (run_output_order_test):
638         Fix the test to allow the first buffer on not-linked pads to come out
639         of sequence while multiqueue discovers that they are not-linked.
640
641 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
642
643         * configure.ac:
644         * libs/gst/check/Makefile.am:
645         Use a custom export symbol regex for libgstcheck, as it needs
646         to export symbols that don't match the standard GStreamer gst_*
647         pattern, and  --export-dynamic is not portable (only works on 
648         GNU ld)
649
650         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
651         (gst_check_setup_sink_pad):
652         Make sure to pass a message parameter to the fail_* macros.
653
654         * tests/check/gst/gstinfo.c: (GST_START_TEST):
655         Fix some compiler warnings.
656
657 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
658
659         * tests/check/gst/gststructure.c: (test_to_string):
660           Disable test that checks that white spaces are not allowed
661           in structure names or field names, since we need to
662           support that for now for backwards compatibility reasons.
663
664 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
665
666         * docs/gst/gstreamer-sections.txt:
667         * gst/gsttaglist.c:
668         * gst/gsttaglist.h:
669           API: add GST_TAG_ARTIST_SORTNAME
670           API: add GST_TAG_ALBUM_SORTNAME
671           API: add GST_TAG_TITLE_SORTNAME
672           Add tag variants for sorting (#414539).
673
674 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
675
676         * gst/gststructure.c:
677           Also allow white space for names so we don't break
678           backwards compatibility.
679
680 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
681
682         * docs/design/part-TODO.txt:
683         * docs/design/part-segments.txt:
684         * docs/design/part-streams.txt:
685         Small updates.
686
687 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
688
689         * docs/gst/gstreamer-sections.txt:
690          Fixed documentation from my previous commit (added new API add
691          gst_value_set_structure(), add gst_value_get_structure() and
692          GST_VALUE_HOLDS_STRUCTURE).
693
694 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
695
696         * gst/gstdebugutils.c:
697           Reflow code to fix uninitialized variable warning.
698
699 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
700
701         * gst/gstcaps.c: (gst_caps_to_string),
702         (gst_caps_from_string_inplace):
703         * gst/gststructure.c: (gst_structure_get_abbrs),
704         (gst_structure_to_string), (gst_structure_from_string):
705         * gst/gstvalue.c: (gst_value_set_structure),
706         (gst_value_get_structure), (gst_value_serialize_structure),
707         (gst_value_deserialize_structure), (_gst_value_initialize):
708         * gst/gstvalue.h:
709         * tests/check/gst/gststructure.c: (GST_START_TEST),
710         (gst_structure_suite):
711         * tests/check/gst/gstvalue.c: (GST_START_TEST):
712          Added GstStructure to gst_value_table and its related functions.
713          Changed gst_structure_to_string to print ';' in the end.
714          Changed gst_caps_to_string to not print ';' beteween its
715          fields (structures) anymore and remove the lastes ';' from latest
716          structure. Now it is possible to have nested structures.
717          In addition, backward compatibilty is assured by accepting '\0' as
718          end delimiter. Fixes: #487969.
719          API: add gst_value_set_structure()
720          API: add gst_value_get_structure()
721          API: add GST_VALUE_HOLDS_STRUCTURE
722
723 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
724
725         * gst/gstbus.c:
726           When no GSource callback has been set up, tell developer
727           to use a function that actually exists.
728
729 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
730
731         * docs/gst/gstreamer-sections.txt:
732         * gst/Makefile.am:
733         * gst/gst.c:
734         * gst/gst.h:
735         * gst/gstdebugutils.c:
736         * gst/gstdebugutils.h:
737         * gst/gstinfo.c:
738         * gst/gstinfo.h:
739         * tools/gst-launch.c:
740           Allow dumping pipelines as dot graphs. Fixes #456573.
741
742 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
743
744         * gst/gststructure.c:
745           Allow '+' as well, it can be part of media or mime types
746           such as image/svg+xml.
747
748 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
749
750         * docs/gst/gstreamer-sections.txt:
751         * gst/gstbus.c:
752         * gst/gstbus.h:
753           API: add gst_bus_pop_filtered
754           API: add gst_bus_timed_pop_filtered
755           Two new functions for waiting for specific message types on the
756           bus for a specified amount of time without iterating any main
757           loops or main contexts.
758
759         * tests/check/gst/gstbus.c:
760           Some tests for the new functions.
761
762 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
763
764         * docs/libs/gstreamer-libs-sections.txt:
765           Make gtk-doc ignore stuff it should ignore.
766
767 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
768
769         * libs/gst/check/gstcheck.c:
770         * libs/gst/check/gstcheck.h:
771           Allow runtime selection of unit tests to run via the GST_CHECKS
772           environment variable (test case function names, comma-separated).
773
774 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
775
776         * gst/gststructure.c:
777         * tests/check/gst/gststructure.c:
778           Revert serialisation change and constrain structure-names after
779           consensus on irc. Update api documentation to reflect the change.
780
781 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
782
783         * gst/gststructure.c:
784           Improve serialization and fix tests.
785
786         * tests/check/gst/gststructure.c:
787           Add another test that covers why I actually did the previous structure
788           change.
789
790 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
791
792         * tools/gst-inspect.c: (print_element_info):
793         Don't crash when inspecting an element.
794
795 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
796
797         * tests/check/gst/gststructure.c:
798           Add unit test for escaping of structure name when serialising
799           and deserialising to/from strings.
800
801 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
802
803         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
804         (gst_single_queue_new):
805         * plugins/elements/gstqueue.c: (gst_queue_init),
806         (gst_queue_push_one):
807         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
808         upstream is tricked into thinking it can suggest a format downstream
809         while downstream does not support that format. The real problem is that
810         core calls acceptcaps when pushing a buffer with new caps, for which we
811         do a little workaround by setting the caps on the srcpad ourselves
812         before pushing the buffer (until this is figured out). Fixes #486758.
813
814 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
815
816         * gst/gststructure.c:
817         * gst/gstvalue.c:
818           Add some more comments and debug output. Quote structure name to fix
819           deserialisation of some strings.
820
821 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
822
823         * gst/gstbuffer.h:
824           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
825           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
826
827 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
828
829         * tools/gst-inspect.c:
830           Save approx. 400 1 byte allocs when printing. Use API to acces element
831           details.
832
833         * tools/gst-run.c:
834           Avoid a strdup.
835
836         * tools/gst-xmlinspect.c:
837           Use API to acces element details.
838
839 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
840
841         * gst/gstinfo.c:
842           Fix some spelling errors.
843
844 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
845
846         * gst/gstbin.c: (bin_handle_async_done):
847         Correctly set the next state if all of our async children commited their
848         state. This makes sure we can actually cancel the state change in
849         progress. Fixes a regression in Rhythmbox when seeking.
850
851 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
852
853         * gst/gstbin.c:
854           Don't shadow local variable.
855
856         * gst/gstinfo.c:
857           Don't shadow global function name.
858
859 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
860
861         * gst/gstelementfactory.c:
862         * gst/gstpluginfeature.c:
863         * gst/gstpluginfeature.h:
864         * gst/gstregistrybinary.c:
865         * gst/gstregistryxml.c:
866         * gst/gsttypefind.c:
867           Use already-interned string for the private GstPluginFeature
868           plugin_name field.
869
870 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * docs/libs/gstreamer-libs-sections.txt:
873           Add new API to docs; fixes the build.
874
875 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
876         
877         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
878
879         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
880         (gst_base_sink_event):
881         * libs/gst/base/gstbasesink.h:
882         Add function to wait for EOS, subclasses can use this to correctly wait
883         for devices to drain before performing the EOS logic. Fixes #485343.
884         API: gst_base_sink_wait_eos()
885
886 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
887
888         * gst/gstplugin.h:
889           Cast description string constants in GST_PLUGIN_DEFINE macros
890           to a (gchar*) to make C++ code using these macros compile
891           without warning with g++-4.2 (see #462737).  Even if slightly
892           ugly, this seems preferable to putting the description strings
893           into the GLib quark table or making the structure member a
894           const gchar * and doing casts in core code that allocs and
895           frees these strings, or requiring a cast in the C++ code.
896
897 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
898
899         * gst/gstinfo.h:
900           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
901           to print the entire class/function signature into the log
902           file for C++ code.  This only affects C++ code, for C code
903           everything remains the same.
904
905 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
906
907         * gst/gstbin.c: (remove_from_queue):
908         Work around a problem with pipelines containing (semi)loops until a
909         proper, more complicated solution is ready. See #475455.
910
911 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
912
913         * gst/gstplugin.c:
914         * gst/gstplugin.h:
915         * gst/gstregistrybinary.c:
916         * gst/gstregistryxml.c:
917           Put more strings into the GLib quark table. No need to keep
918           a hundred-something copies of identical version strings,
919           license strings, package name strings and package origin
920           strings around. 
921
922 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * docs/manual/advanced-dataaccess.xml:
925           Don't imply that it's okay to unconditionally change
926           buffer data or buffer metadata in a pad probe callback,
927           and a bunch of other comments. Fixes #430031.
928
929 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * win32/common/gstenumtypes.c:
932         * win32/common/gstenumtypes.h:
933         * win32/common/gstversion.h:
934           Update generated files.
935
936 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
937
938         * docs/manual/advanced-autoplugging.xml:
939           Prefix section with broken code with a warning (see #342432).
940
941 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
942
943         * docs/manual/appendix-integration.xml:
944         * docs/manual/basics-init.xml:
945           Call g_thread_init() before g_option_context_new() to
946           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
947
948 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
949
950         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
951         (gst_base_sink_queue_object_unlocked),
952         (gst_base_sink_queue_object), (gst_base_sink_event),
953         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
954         When we received EOS and are waiting for when to post the EOS message,
955         our state is prerolled and we should not return ASYNC.
956         Reorganize some code paths to implement this behavior.
957
958         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
959         (gst_sinks_suite):
960         Add unit test to verify above EOS fix.
961
962 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
963
964         * plugins/elements/gsttypefindelement.c:
965         (gst_type_find_element_have_type), (gst_type_find_element_init),
966         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
967         Move detecting the input caps of the sinkpad to the setcaps function.
968         This allows us to update the output caps when we receive new input caps
969         instead of always using the first detected caps.
970
971 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
972
973         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
974         (gst_base_sink_get_position):
975         Don't try to preroll non-async elements after a flush.
976         Subtract latency form clock times when reporting position.
977
978 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
979
980         * gst/gstpad.c: (gst_pad_pause_task):
981         * gst/gstutils.c:
982         Small comment and documentation update.
983
984 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
985
986         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
987         (gst_base_src_set_live), (gst_base_src_is_live),
988         (gst_base_src_query_latency), (gst_base_src_perform_seek),
989         (gst_base_src_default_event), (gst_base_src_wait),
990         (gst_base_src_do_sync), (gst_base_src_get_range),
991         (gst_base_src_pad_get_range), (gst_base_src_loop),
992         (gst_base_src_unlock), (gst_base_src_unlock_stop),
993         (gst_base_src_set_flushing), (gst_base_src_set_playing),
994         (gst_base_src_activate_push), (gst_base_src_activate_pull),
995         (gst_base_src_change_state):
996         Rework the locking of basesrc in a similar fashion to basesink. We
997         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
998         us to handle live sources and semi live ones much better.
999         Simplify flushing.
1000         Fix unlocking when seeking, shutting down and pausing in live sources.
1001
1002 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1003
1004         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
1005         Fix compilation again.
1006
1007 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1008
1009         * gst/gstelement.c:
1010           Use meaningful categories for the logs to clean the default one.
1011
1012 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * tests/check/pipelines/cleanup.c:
1015           Print message name and not just number.
1016
1017 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1018
1019         * docs/design/draft-tagreading.txt:
1020           Add some more thoughts.
1021
1022 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1023
1024         * tests/check/pipelines/simple-launch-lines.c:
1025           Print message name and not just number.
1026
1027 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1028
1029         * libs/gst/base/gsttypefindhelper.c:
1030           Speedup typefinding. This is work in progress (see #459862).
1031
1032 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1033
1034         * gst/gstplugin.c:
1035           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
1036           Spotted by Josep Torra Valles <josep@fluendo.com>.
1037
1038 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
1039
1040         * gst/gstclock.h:
1041           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
1042           field has moved to GstObject.
1043
1044 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
1045
1046         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
1047         (gst_base_src_get_range), (gst_base_src_change_state):
1048         Call unlock for live sources so that they can't get stuck in _create and
1049         produce a buffer before they are set back to PLAYING.
1050
1051 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
1052
1053         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1054         (gst_queue_locked_dequeue):
1055         Comment the segment-related code... in the PROPER function.
1056         See #482147 and my commit from yesterday.
1057
1058 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
1059
1060         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1061         Also initialize the counter that calculates the first timestamp on a
1062         buffer correctly for non-live sources.
1063
1064 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
1065
1066         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
1067         Disable code that's breaking the current-time-level reporting.
1068         See #482147
1069
1070 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
1071
1072         * docs/gst/gstreamer-sections.txt:
1073         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
1074         as they shouldn't show up. Fixes the docs build.
1075
1076 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
1077         
1078         * gst/gstinfo.h:
1079         Add an explicit variable importation needed on VS6 (only for MSC_VER)
1080         Define M_PI which is used in files which are including gstinfo.h. 
1081         VS6 includes doesn't define it.
1082         * win32/common/libgstbase.def:
1083         * win32/common/libgstcontroller.def:
1084         * win32/common/libgstreamer.def:
1085         Add new exported functions and variables.
1086         * win32/vs6/libgstcontroller.dsp:
1087         * win32/vs6/libgstreamer.dsp:
1088         Update the list of files to build.
1089         
1090 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
1091
1092         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
1093
1094         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
1095         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
1096         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
1097         Improve debugging. Fixes #480858.
1098
1099 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
1100
1101         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
1102
1103         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1104         First patch of code cleanups, use the macros and right arguments in the
1105         macros to signal and lock the queue. See #480858.
1106
1107 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
1108
1109         * gst/gstbus.c: (poll_func):
1110         Improve debugging when dealing with _poll().
1111
1112 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
1113
1114         * gst/gstregistryxml.c:
1115           Fix memory leak I introduced a few days ago.
1116
1117 2007-09-26  Michael Smith <msmith@fluendo.com>
1118
1119         * gst/gstbuffer.c: (gst_buffer_finalize):
1120           Make it once again possible to free GstBuffers in the default
1121           build.
1122           The poisoning scribbles on parts of the miniobject we need in
1123           order to free it.
1124           Fixes #480341
1125
1126 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
1127
1128         * docs/gst/gstreamer-sections.txt:
1129         * gst/gsttaglist.c:
1130         * gst/gsttaglist.h:
1131         API: add GST_TAG_COMPOSER, fixes #459809.
1132
1133 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
1134
1135         * gst/gstplugin.c:
1136         * gst/gstplugin.h:
1137         Add the 3-clause BSD license and the MIT/X11 license to the license
1138         list. Fixes #479784.
1139
1140 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * docs/faq/getting.xml:
1143           Add Q+A about different GStreamer versions (#364056).
1144
1145 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1146
1147         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1148         (gst_base_sink_event), (gst_base_sink_change_state):
1149         Return correct gboolean from query function.
1150
1151 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1152
1153         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1154         (gst_base_sink_event), (gst_base_sink_query),
1155         (gst_base_sink_change_state):
1156         Simplify latency query.
1157         When not synchronizing, we can report latency without querying the peer
1158         element.
1159
1160 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1161
1162         * gst/gstobject.h:
1163         * gst/gstvalue.c:
1164         Fix small typos in the docs.
1165
1166 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1167
1168         * docs/design/draft-latency.txt:
1169         * docs/design/draft-push-pull.txt:
1170         * docs/design/draft-tagreading.txt:
1171         * docs/design/part-MT-refcounting.txt:
1172         * docs/design/part-activation.txt:
1173         * docs/design/part-block.txt:
1174         * docs/design/part-element-source.txt:
1175         * docs/design/part-events.txt:
1176         * docs/design/part-gstbin.txt:
1177         * docs/design/part-gstelement.txt:
1178         * docs/design/part-gstobject.txt:
1179         * docs/design/part-gstpipeline.txt:
1180         * docs/design/part-messages.txt:
1181         * docs/design/part-preroll.txt:
1182         * docs/design/part-push-pull.txt:
1183         * docs/design/part-qos.txt:
1184         * docs/design/part-query.txt:
1185         * docs/design/part-scheduling.txt:
1186         * docs/design/part-seeking.txt:
1187         * docs/design/part-segments.txt:
1188         * docs/design/part-states.txt:
1189         Documentation updates and typo fixes.
1190
1191 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1192
1193         * plugins/elements/gstfakesink.c:
1194           Add some debug text to error message to indicate that
1195           we errored out on request.
1196
1197         * tools/gst-launch.c:
1198           When the state change to PLAYING fails, check for an
1199           error message on the bus and print it.
1200
1201 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1202
1203         translated by: Jorge González González <aloriel@gmail.com>
1204
1205         * po/LINGUAS:
1206         * po/es.po:
1207           Added Spanish translation.
1208
1209 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
1210
1211         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1212         Fix printf arguments.
1213
1214 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1215
1216         * tests/check/generic/states.c:
1217           Improved state change unit test.
1218
1219 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1220
1221         * gst/gstbin.h:
1222           Move priv to the right place.
1223
1224         * gst/gstsystemclock.c:
1225           Add FIXME: and improve log.
1226
1227         * tests/check/Makefile.am:
1228         * tests/examples/manual/Makefile.am:
1229           Work with all types of registries.
1230
1231 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
1232
1233         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1234         Don't unref the event after pushing it. Fixes #478401.
1235
1236 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1237
1238         * .cvsignore:
1239         * tests/examples/manual/.cvsignore:
1240           Ignore registries in any format.
1241
1242 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1243
1244         * gst/glib-compat-private.h:
1245           Add compatibility macro for g_intern_string() for
1246           GLib-2.8 (any reason we can't just bump the
1247           requirement to at least 2.10?)
1248
1249         * gst/gstpadtemplate.h:
1250         * gst/gstelementfactory.c:
1251         * gst/gstregistryxml.c:
1252         * gst/gstregistrybinary.c:
1253           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
1254           up the internal code accordingly.  This shouldn't be a problem, since
1255           there is no reason external code could ever assume the string in such
1256           a structure is dynamically allocated unless it did that itself;  the
1257           use of g_strdup() is private to element factories.  The new code also
1258           saves some memory by putting pad template name strings into the GLib
1259           quark table instead of allocating them dynamically.
1260           Declaring this field constant fixes warnings with g++-4.2 when using
1261           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
1262
1263 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1264
1265         * gst/gstelementfactory.c:
1266           Release static caps. Fixes #475723.
1267
1268 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
1269
1270         * gst/gstinfo.c:
1271         * gst/gstinfo.h:
1272           Make some internal API take const gchar * instead of just
1273           gchar * to avoid compiler warnings with g++-4.2.2 when
1274           passing string constants (partially fixes #478092).
1275
1276 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1277
1278         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
1279         A latency query fails when one of the sinks fail.
1280
1281         * gst/gstelement.c: (gst_element_set_base_time):
1282         Improve debugging.
1283
1284 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1285
1286         * gst/gstbin.c: (gst_bin_continue_func):
1287         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1288         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
1289         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
1290
1291         Fix minor compilation warnings shown with Forte.
1292
1293 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1294
1295         * plugins/elements/gstqueue.c: (apply_buffer),
1296         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
1297         Measure queue level based on the diff between head and tail timestamps
1298         even when pushing the first buffer.
1299
1300 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1301
1302         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1303         (gst_base_sink_event), (gst_base_sink_change_state):
1304         Sinks that don't preroll can always be queried for the latency.
1305         Don't post ASYNC start when we are not async.
1306
1307 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1308
1309         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1310         (gst_queue_handle_sink_event), (gst_queue_chain),
1311         (gst_queue_push_one), (gst_queue_handle_src_query),
1312         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
1313         * plugins/elements/gstqueue.h:
1314         When downstream returns UNEXPECTED from pushing a buffer, don't try to
1315         push more buffers but allow pushing of EOS and NEWSEGMENT.
1316         Add some more debug info here and there. Fixes #476514.
1317
1318 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1319
1320         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1321         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
1322         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1323         (gst_base_sink_set_flushing), (gst_base_sink_query),
1324         (gst_base_sink_change_state):
1325         Latency query is allowed after we are prerolled. Introduce a new flag
1326         for this and stop abusing other variables.
1327
1328 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1329
1330         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1331         Push OOB events downstream when we get them in send_event. This allows
1332         the application to insert events in the pipeline.
1333         Add some more comments.
1334
1335 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1336
1337         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
1338         (do_bin_latency), (gst_bin_change_state_func):
1339         * gst/gstpipeline.c: (gst_pipeline_change_state):
1340         Move latency query from GstPipeline to GstBin so that we can also
1341         use it when async-handling is enabled on bins.
1342
1343 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1344
1345         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1346         (gst_base_src_do_sync), (gst_base_src_change_state):
1347         Update docs.
1348         Clean up the timestamping and syncing code for pseudo live sources.
1349
1350 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
1351
1352         Patch by: Steve Fink  <sphink gmail com>
1353
1354         * docs/manual/appendix-checklist.xml:
1355           Mention less -R switch in the section about debug output (#474055).
1356
1357 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1358
1359         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1360         Queue can latency to the pipeline up to the configured max size in time.
1361         Report this fact in the latency query.
1362
1363 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1364
1365         Patch by: Sebastien Moutte <sebastien at moutte dot net>
1366
1367         * libs/gst/controller/gstinterpolation.c:
1368         * libs/gst/controller/gstlfocontrolsource.c:
1369         Use gst_guint64_to_gdouble() when converting from a uint64 or
1370         GstClockTime to double to fix the build on win32. Fixes #474371.
1371
1372 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1373
1374         * gst/gstbuffer.c: (gst_buffer_finalize):
1375         Implement poisoning for GstBuffer if --enable-poisoning is specified.
1376         When finalizing a buffer the complete struct is filled with 0xff,
1377         thus making a use of the buffer after the final unref impossible.
1378
1379 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1380
1381         * tests/check/libs/controller.c: (GST_START_TEST):
1382         Use fail_unless_equals_int(a, b) instead of
1383         fail_unless_equals (a == b) to get better output on failures.
1384
1385 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1386
1387         * tests/check/gst/gsturi.c:
1388           Also check for the other file URI variant on win32.
1389
1390 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1391
1392         * gst/gsturi.c: (gst_uri_get_location):
1393           If there's no hostname, we want to return 'c:/foo/bar.txt'
1394           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
1395
1396         * tests/check/gst/gsturi.c:
1397           Unit test for the above and a few more things.
1398
1399 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1400
1401         * docs/design/part-live-source.txt:
1402         Add docs on how live sources should timestamp.
1403
1404         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1405         Add some more debug info.
1406         For subclasses that are live and like to sync, add aditional startup
1407         latency to sync time and timestamps so that we timstamp according to the
1408         design doc.
1409
1410 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1411
1412         * gst/gstbuffer.c:
1413           Also do a g_type_class_ref() for the subbuffer type in
1414           the init function.
1415
1416 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1417
1418         * docs/gst/gstreamer-sections.txt:
1419         * gst/gstpad.c: (gst_pad_peer_query):
1420         * gst/gstpad.h:
1421         Add function to perform a query on the peer of a pad.
1422         API: gst_pad_peer_query()
1423
1424 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
1425
1426         * tests/check/gst/gstsystemclock.c:
1427           Cleanup the test a little (use gst-logging and not g_message). Improve
1428           test to check if a wait reached the target.
1429
1430 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1431
1432         * docs/libs/gstreamer-libs-sections.txt:
1433           Add new API to docs and fix the build.
1434
1435 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
1436
1437         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1438         (gst_base_src_init), (gst_base_src_set_do_timestamp),
1439         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
1440         (gst_base_src_get_property), (gst_base_src_do_sync):
1441         * libs/gst/base/gstbasesrc.h:
1442         Add property to make the basesrc timestamp buffers based on the current
1443         running time.
1444         API: GstBaseSrc::do-timestamp
1445         API: gst_base_src_set_do_timestamp()
1446         API: gst_base_src_get_do_timestamp()
1447
1448 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
1449
1450         * docs/random/release:
1451           Really make sure translations are up-to-date before
1452           a release (#465010).
1453
1454 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1455
1456         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1457         Always destroy the timer, also in error cases.
1458
1459 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1460
1461         * docs/manual/highlevel-xml.xml:
1462         Fix XML example code. Fixes #472714.
1463
1464 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1465
1466         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1467         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1468         (gst_base_sink_query):
1469         Protect eos and have_preroll with the OBJECT lock so we don't need to
1470         take the PREROLL lock when querying the latency. Fixes #473846.
1471
1472 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1473
1474         * gst/gstelement.c:
1475           Give some log-messages a category.
1476
1477 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1478
1479         * gst/gststructure.c:
1480         (gst_structure_fixate_field_nearest_fraction):
1481         Fix fraction list fixation code. Take the fraction with the smallest
1482         difference with the target instead of the first one in the list.
1483
1484         * tests/check/gst/gststructure.c: (GST_START_TEST),
1485         (gst_structure_suite):
1486         Added test to verify correct fraction list fixation behaviour.
1487
1488 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1489
1490         * win32/common/libgstreamer.def:
1491           Export gst_bus_add_signal_watch too.
1492
1493 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1494
1495         * docs/libs/gstreamer-libs-sections.txt:
1496         Add new methods to docs.
1497
1498         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1499         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1500         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1501         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1502         * libs/gst/base/gstbasesink.h:
1503         Add ts-offset property to fine-tune the synchronisation.
1504         API: GstBaseSink::ts-offset property
1505         API: gst_base_sink_set_ts_offset()
1506         API: gst_base_sink_get_ts_offset()
1507
1508 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1509
1510         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1511         (gst_base_sink_init), (gst_base_sink_set_sync),
1512         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1513         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1514         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1515         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1516         (gst_base_sink_get_property), (gst_base_sink_change_state):
1517         * libs/gst/base/gstbasesink.h:
1518         Add async property to instruct the sink never to inform the parent about
1519         ASYNC state changes, update docs.
1520         Check argument with g_return_* for the public functions.
1521         API: GstBaseSink::async property
1522         API: gst_base_sink_set_async_enabled()
1523         API: gst_base_sink_is_async_enabled()
1524
1525 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1526
1527         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1528         Improve debugging.
1529
1530         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1531         (gst_base_src_default_query), (gst_base_src_wait),
1532         (gst_base_src_do_sync), (gst_base_src_change_state):
1533         Rearrange some code so that we can add support for measuring the 
1534         startup latency.
1535
1536 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1537
1538         * docs/random/ensonic/dynlink.txt:
1539           More thoughs on this.
1540
1541         * plugins/elements/gstcapsfilter.c:
1542           Add bugzilla ticket number to FIXME comment.
1543
1544 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1545
1546         * docs/design/part-TODO.txt:
1547         * docs/design/part-block.txt:
1548         Update some docs.
1549
1550 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1551
1552         * gst/Makefile.am:
1553           Revert patch which uses $(gst_headers) instead of $^ because it
1554           breaks make dist.
1555
1556 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1557
1558         * tests/check/gst/gstbin.c: (GST_START_TEST):
1559           Fix leaks in the new unit test.
1560
1561 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1562
1563         * gst/gst.c:
1564           Don't use GST_INFO before the debug system is actually initialised
1565           (shouldn't do any harm, but won't print anything either, so we can
1566           just as well remove it).
1567
1568         * gst/gstinfo.h:
1569           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1570           compilers that don't support variadic macros (such as MSVC), should
1571           check for debug_level <= __gst_debug_min as well, since that's the
1572           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1573           inline helper functions. Should improve performance a bit, but also
1574           makes sure uses of GST_INFO et.al are ignored if the debugging
1575           system isn't initialised yet (instead of printing an assertion
1576           failure).
1577
1578 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1579
1580         patch by: David Nečas <yeti@physics.muni.cz>
1581
1582         * gst/Makefile.am:
1583           Replace some non portable makefile constructs.
1584
1585 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1586
1587         * common/gtk-doc-plugins.mak:
1588           Grrrrr. Don't remove the types file on make clean.
1589
1590 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1591
1592         * tools/gst-launch.1.in:
1593         Add colorspace to example pipeline. Fixes #458274.
1594
1595 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1596
1597         * docs/random/release:
1598           The release manager should run 'make download-po' before making a
1599           release to make sure translations are up-to-date.
1600
1601         * po/LINGUAS:
1602         * po/be.po:
1603         * po/pl.po:
1604         * po/rw.po:
1605           Add some new translations.
1606
1607 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1608
1609         * tools/gst-launch.c: (event_loop), (main):
1610         Don´t try to do any state management when a live pipeline posts
1611         buffering messages.
1612         Also make the buffering string translatable.
1613
1614 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1615
1616         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1617         (bin_handle_async_start), (gst_bin_handle_message_func):
1618         Improve debugging.
1619         When adding elements, insert messages into the bus of the newly added
1620         element and make sure the element is the source of the message. This
1621         allows the parent bin to intercept the message and do the
1622         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1623         messages to the app (which is not allowed).
1624         Update some docs.
1625
1626         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1627         Fix testsuite so that is does not work around messages that should not
1628         have been posted in the first place.
1629
1630 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1631
1632         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1633         (update_degree), (gst_bin_sort_iterator_next):
1634         Fix annoying bug in the sorted iterator where a sink that is not really
1635         a sink (when it has downstream links) screwed up the iterator.
1636
1637         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1638         Unit test to verify the fix.
1639
1640 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1641
1642         * gst/gstmessage.h:
1643         Add some more docs for the messages.
1644
1645         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1646         (gst_base_sink_query):
1647         Add some more debugging.
1648
1649         * tools/gst-launch.c: (event_loop):
1650         When interrupting, don't try to set pipeline to PAUSED twice.
1651
1652 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1653
1654         
1655         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1656         (bin_handle_async_start), (gst_bin_handle_message_func):
1657         Move ASYNC_START message posting to where it belongs, similar to
1658         async_done. 
1659         Don't post ASYNC_START when we are in error. 
1660         Post ASYNC_START when we added an async element to a bin.
1661
1662 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1663
1664         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1665         generation from vargs. Fixes #466595.
1666
1667 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1668
1669         * gst/gstbin.c: (gst_bin_element_set_state):
1670         Always change the state of a NO_PREROLL element even if it has ASYNC
1671         elements inside (in case of a bin).
1672
1673         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1674         Unit test for this case.
1675
1676 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1677
1678         * libs/gst/check/gstbufferstraw.c:
1679         * libs/gst/check/gstcheck.h:
1680         * libs/gst/controller/gstcontroller.c:
1681         * libs/gst/controller/gstcontrolsource.h:
1682         * libs/gst/controller/gstlfocontrolsource.h:
1683         * plugins/elements/gstcapsfilter.h:
1684         * plugins/elements/gstfdsink.h:
1685         * plugins/elements/gstfdsrc.h:
1686           Add more missing docs.
1687
1688 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1689
1690         * gst/gststructure.c:
1691         Add Since tag to docs.
1692
1693 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1694
1695         * docs/gst/gstreamer-sections.txt:
1696         * gst/gststructure.c: (gst_structure_get_uint):
1697         * gst/gststructure.h:
1698         Add function to get uint from a structure.
1699         API: gst_structure_get_uint()
1700
1701 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1702
1703         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1704         (gst_caps_intersect):
1705         Fix proper check for simple caps.
1706
1707 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1708
1709         * docs/gst/Makefile.am:
1710         * docs/libs/Makefile.am:
1711           Remove cruft and do some cleanups.
1712
1713         * docs/gst/gstreamer-docs.sgml:
1714         * docs/libs/gstreamer-libs-docs.sgml:
1715           Prepare for comming gtkdoc features (rebase against online docs).
1716
1717 2007-08-10  Michael Smith <msmith@fluendo.com>
1718
1719         * docs/gst/gstreamer-sections.txt:
1720           Add gst_registry_add_path to docs.
1721
1722 2007-08-10  Michael Smith <msmith@fluendo.com>
1723
1724         * gst/gstregistry.h:
1725           Add gst_registry_add_path, which was missing from this header.
1726
1727 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1728
1729         * libs/gst/controller/gstlfocontrolsource.c:
1730           Printf format fix.
1731
1732 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1733
1734         * libs/gst/base/gstbasesink.c:
1735           Don't send an async_start message during downwards state change if 
1736           target state is less than READY
1737
1738 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1739
1740         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1741
1742         * po/LINGUAS:
1743         * po/hu.po:
1744           Added Hungarian translation.
1745
1746 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1747
1748         * po/fi.po:
1749         * po/it.po:
1750         * po/nl.po:
1751         * po/sv.po:
1752         * po/uk.po:
1753           Updated translations.
1754
1755 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1756
1757         * libs/gst/controller/Makefile.am:
1758         Dist gstlfocontrolsourceprivate.h
1759
1760 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1761
1762         * docs/libs/gstreamer-libs.types:
1763         Don't register the enum type gst_lfo_waveform_get_type() in the
1764         .types file - only GObject derived types belong.
1765
1766 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1767
1768         Patch by: <arenevier at fdn dot fr>
1769
1770         * gst/gstbuffer.h:
1771         Remove comma from last element in enum to avoid compile errors when
1772         using -pendantic. Fixes #464366.
1773
1774 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1775
1776         * docs/design/part-TODO.txt:
1777         Add some more TODO items
1778
1779         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1780         Improve debugging.
1781
1782         * gst/gstcaps.c: (gst_caps_intersect):
1783         Optimize trivial intersection case between identical caps pointers.
1784
1785         * gst/gstelement.c: (gst_element_continue_state),
1786         (gst_element_set_state_func):
1787         * gst/gstpad.c:
1788         Fix spelling and grammar mistakes.
1789
1790 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1791
1792         * po/POTFILES.in:
1793         * po/POTFILES.skip:
1794           Update POTFILES. Fixes #461599.
1795
1796 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1797
1798         * gst/gst.c:
1799         Fix confusing typo in debug output.
1800
1801 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1802
1803         reviewed by: Stefan Kost <ensonic@users.sf.net>
1804
1805         * libs/gst/controller/Makefile.am:
1806         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1807         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1808         (gst_lfo_control_source_new),
1809         (gst_lfo_control_source_set_waveform),
1810         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1811         (gst_lfo_control_source_finalize),
1812         (gst_lfo_control_source_dispose),
1813         (gst_lfo_control_source_set_property),
1814         (gst_lfo_control_source_get_property),
1815         (gst_lfo_control_source_class_init):
1816         * libs/gst/controller/gstlfocontrolsource.h:
1817         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1818         API: Add GstLFOControlSource, a control source that gives values
1819         for specific timestamps based on several periodic waveforms.
1820         Fixes #459717.
1821
1822         * tests/check/libs/controller.c: (GST_START_TEST),
1823         (gst_controller_suite):
1824         * docs/libs/gstreamer-libs-docs.sgml:
1825         * docs/libs/gstreamer-libs-sections.txt:
1826         * docs/libs/gstreamer-libs.types:
1827         Add documentation and unit tests for GstLFOControlSource.
1828
1829 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1830
1831         * configure.ac:
1832         Back to CVS
1833
1834 === release 0.10.14 ===
1835
1836 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1837
1838         * configure.ac:
1839           releasing 0.10.14, "Breathing Vacuum"
1840
1841 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1842
1843         * gst/gstelement.c: (gst_element_class_set_details_simple):
1844         * gst/gstelement.h:
1845           Make strings passed to gst_element_class_set_details_simple()
1846           constant, as they should be (#462752).
1847
1848 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1849
1850         * gst/gstbin.c: (gst_bin_change_state_func),
1851         (bin_handle_async_done), (gst_bin_handle_message_func):
1852         Don't forget about the fact that some element went ASYNC even after a
1853         resync. This makes us post the ASYNC_DONE message correctly.
1854         Fixes #462558.
1855
1856 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1857
1858         * gst/gstregistry.c: (gst_registry_add_feature):
1859         When replacing an existing feature in the registry, make sure to
1860         continue holding a reference until we've replaced the name string
1861         within our feature hash table. Make sure to use g_hash_table_replace
1862         instead of g_hash_table_insert to ensure the new name string is used
1863         as a key instead of the old one that we're about to free.
1864         Fixes: #462085
1865
1866 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1867
1868         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1869         (gst_plugin_feature_set_name):
1870         Revert patch from #459466 until after the release and we can work
1871         out exactly what the problem is (if any).
1872
1873 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1874
1875         * docs/gst/gstreamer-sections.txt:
1876         * gst/gsttaglist.c:
1877         * gst/gsttaglist.h:
1878           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1879
1880 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1881
1882         * docs/libs/Makefile.am:
1883         Include our build-prefix libs and includes before the generic ones to
1884         avoid linking against the installed libs when we want the build-tree
1885         ones.
1886
1887 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1888
1889         Patch by: Steve Fink  <sphink gmail com>
1890
1891         * docs/pwg/building-testapp.xml:
1892           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1893           if people try to build or install the example from the plugin
1894           template against a GStreamer from package using the configure
1895           defaults.
1896
1897 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1898
1899         Patch by: Steve Fink  <sphink gmail com>
1900
1901         * tools/gst-inspect.1.in:
1902           Document --print-all and --print-plugin-auto-install-info command
1903           line options in man page.
1904
1905 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1906
1907         * docs/gst/gstreamer-sections.txt:
1908         Add docs for new api function.
1909
1910 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1911
1912         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1913         * gst/gstelementfactory.h:
1914         API: gst_element_factory_has_interface()
1915         Added method to check if an element factory implements a named
1916         interface.
1917
1918 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1919
1920         * configure.ac:
1921         * docs/gst/gstreamer.types.in:
1922           Another conditional doc check.
1923
1924         * gst/gstmessage.c:
1925         * gst/gstparamspecs.h:
1926         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1927         * gst/gstvalue.c:
1928         * gst/gstxml.h:
1929           API-doc fixes.
1930
1931 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1932
1933         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1934         (gst_registry_binary_load_feature),
1935         (gst_registry_binary_load_plugin),
1936         (gst_registry_binary_read_cache):
1937           Print error just once and with additional info.
1938
1939 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1940
1941         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1942         (helper_find_suggest), (helper_find_get_length),
1943         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1944         (gst_type_find_helper_for_buffer):
1945           Cleanup the typefindhelper code and add private doc comments.
1946
1947 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1948
1949         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1950         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1951         Fix capsfilter for cases where the caps set on capsfilter will provide
1952         additional information.
1953         Fixes #449197
1954
1955 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1956
1957         * gst/gsttypefindfactory.c:
1958           Fix docs that recommened wrong function to use.
1959
1960 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1961
1962         * tools/gst-inspect.c: (print_plugin_features):
1963           Also give media-type for typefinders in element output.
1964
1965 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1966
1967         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1968         (gst_registry_remove_features_for_plugin_unlocked),
1969         (gst_registry_add_feature), (gst_registry_remove_feature),
1970         (gst_registry_lookup_feature_locked):
1971         * gst/gstregistry.h:
1972           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1973           Fixes #459501.
1974
1975 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1976
1977         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1978         (gst_plugin_feature_set_name):
1979           Avoid double memory usage for pluginfeature names. Fixes #459466.
1980
1981 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1982
1983         * gst/gstpad.h:
1984           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1985           driving the pipeline may need to explicitly check for NOT_LINKED as
1986           well, since IS_FATAL doesn't cover that.
1987
1988 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1989
1990         * docs/pwg/advanced-types.xml:
1991           Fix typo and duplicate entry in video formats list.
1992
1993 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1994
1995         * libs/gst/controller/gstinterpolation.c:
1996         Also round to the nearest int when using cubic interpolation.
1997
1998 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1999
2000         * libs/gst/controller/gstinterpolation.c:
2001         When linearly interpolating integer types, round to the nearest int
2002         by adding 0.5. Don't do it for float/double types.
2003         Fixes the failing controller test on my machine, which is somehow
2004         rounding differently than on the buildbots.
2005
2006 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2007
2008         * tools/gst-plot-timeline.py:
2009           Better log parsing (categories can have -). Adjust text vs. lines, so
2010           that they span the same y-range.        
2011
2012 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2013
2014         * docs/random/ensonic/audiobaseclasses.txt:
2015         * docs/random/ensonic/dynlink.txt:
2016         * docs/random/ensonic/profiling.txt:
2017           Save my thoughts.
2018
2019         * docs/random/moving-plugins:
2020           Add note to use g_assert type macros.
2021
2022 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2023
2024         * configure.ac:
2025         * libs/gst/check/Makefile.am:
2026           Add libm check as we use in for plugins.
2027
2028 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
2029
2030         * gst/gstbin.c: (gst_bin_continue_func):
2031         Check that the state_cookie hasn't changed since the continue_func
2032         was scheduled. Avoids problems where the state changes back to
2033         something it shouldn't be because it was changed in the meantime.
2034
2035 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
2036
2037         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
2038         (gst_registry_binary_save_string),
2039         (gst_registry_binary_save_pad_template),
2040         (gst_registry_binary_save_feature),
2041         (gst_registry_binary_save_plugin),
2042         (gst_registry_binary_load_feature),
2043         (gst_registry_binary_load_plugin),
2044         (gst_registry_binary_read_cache):
2045           Fix memory leak. Be less verbose in the log.
2046
2047 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2048
2049         * tests/check/elements/.cvsignore:
2050         Add file to cvsignore as commanded.
2051
2052 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2053
2054         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2055         (mq_dummypad_event), (run_output_order_test):
2056         Use a GStaticMutex to protect all cases where libcheck
2057         fail_if/fail_unless macros might be called from multiple threads
2058         simultaneously to avoid errors like:
2059           "check_pack.c:107: :-1081725400:Bad message type arg"
2060
2061 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2062
2063         * tests/check/pipelines/stress.c: (GST_START_TEST):
2064         Make sure we set the pipeline back to the NULL state before
2065         dropping our final reference.
2066
2067 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2068
2069         * tests/check/elements/tee.c: (GST_START_TEST):
2070         Make the tee stress-test a little less stressful so it doesn't just
2071         time out on slow-machines, and remove a small race when it's starting 
2072         up by adding a get_state() call.
2073
2074 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
2075
2076         * gst/gst.c:
2077           Avoid reading registry twice on startup. Fixes #457322.
2078
2079 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
2080
2081         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2082         * pkgconfig/gstreamer-check.pc.in:
2083         Substitute the CFLAGS for libcheck into our .pc file too so that
2084         dependent modules will pick it up properly if libcheck is installed
2085         into some other prefix.
2086
2087 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
2088
2089         * configure.ac:
2090         Revert the pkg-config check for libcheck, since it pulls in the
2091         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
2092         a proper solution, either from the check project, or something else.
2093
2094 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
2095
2096         * configure.ac:
2097           Use pkg-config to locate check.
2098
2099 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
2100
2101         * gst/gsttaglist.c:
2102           Fix doc syntax.
2103
2104         * gst/gstutils.c:
2105         * gst/gstutils.h:
2106           Add deprecation guards.
2107
2108         * libs/gst/base/gstcollectpads.h:
2109           Don't document object (this is implicitly private).
2110
2111 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
2112
2113         * gst/gststructure.c: (gst_structure_parse_value):
2114           When deserialising foo=bar without a type cast, check if it's a
2115           boolean before falling back to a string type, otherwise things like
2116           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
2117           because the filtercaps end up having a signed=(string)true field,
2118           which causes problems later when intersection caps.
2119
2120         * tests/check/gst/gststructure.c: (GST_START_TEST):
2121           Add a unit test for this.
2122
2123 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
2124
2125         Reviewed by: Stefan Kost <ensonic@users.sf.net>
2126
2127         * libs/gst/controller/Makefile.am:
2128         * libs/gst/controller/gstcontroller.c:
2129         (gst_controlled_property_add_interpolation_control_source),
2130         (gst_controlled_property_new), (gst_controlled_property_free),
2131         (gst_controller_find_controlled_property),
2132         (gst_controller_new_valist), (gst_controller_new_list),
2133         (gst_controller_new), (gst_controller_remove_properties_valist),
2134         (gst_controller_remove_properties_list),
2135         (gst_controller_remove_properties),
2136         (gst_controller_set_property_disabled),
2137         (gst_controller_set_disabled), (gst_controller_set_control_source),
2138         (gst_controller_get_control_source), (gst_controller_get),
2139         (gst_controller_sync_values), (gst_controller_get_value_array),
2140         (_gst_controller_dispose), (gst_controller_get_type),
2141         (gst_controlled_property_set_interpolation_mode),
2142         (gst_controller_set), (gst_controller_set_from_list),
2143         (gst_controller_unset), (gst_controller_unset_all),
2144         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
2145         * libs/gst/controller/gstcontroller.h:
2146         * libs/gst/controller/gstcontrollerprivate.h:
2147         * libs/gst/controller/gstcontrolsource.c:
2148         (gst_control_source_class_init), (gst_control_source_init),
2149         (gst_control_source_get_value),
2150         (gst_control_source_get_value_array), (gst_control_source_bind):
2151         * libs/gst/controller/gstcontrolsource.h:
2152         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
2153         (gst_object_get_control_source):
2154         * libs/gst/controller/gstinterpolation.c:
2155         (gst_interpolation_control_source_find_control_point_node),
2156         (gst_interpolation_control_source_get_first_value),
2157         (_interpolate_none_get), (interpolate_none_get),
2158         (interpolate_none_get_boolean_value_array),
2159         (interpolate_none_get_enum_value_array),
2160         (interpolate_none_get_string_value_array),
2161         (_interpolate_trigger_get), (interpolate_trigger_get),
2162         (interpolate_trigger_get_boolean_value_array),
2163         (interpolate_trigger_get_enum_value_array),
2164         (interpolate_trigger_get_string_value_array):
2165         * libs/gst/controller/gstinterpolationcontrolsource.c:
2166         (gst_control_point_free), (gst_interpolation_control_source_reset),
2167         (gst_interpolation_control_source_new),
2168         (gst_interpolation_control_source_set_interpolation_mode),
2169         (gst_interpolation_control_source_bind),
2170         (gst_control_point_compare), (gst_control_point_find),
2171         (gst_interpolation_control_source_set_internal),
2172         (gst_interpolation_control_source_set),
2173         (gst_interpolation_control_source_set_from_list),
2174         (gst_interpolation_control_source_unset),
2175         (gst_interpolation_control_source_unset_all),
2176         (gst_interpolation_control_source_get_all),
2177         (gst_interpolation_control_source_get_count),
2178         (gst_interpolation_control_source_init),
2179         (gst_interpolation_control_source_finalize),
2180         (gst_interpolation_control_source_dispose),
2181         (gst_interpolation_control_source_class_init):
2182         * libs/gst/controller/gstinterpolationcontrolsource.h:
2183         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2184         API: Refactor GstController into the core controller which can take
2185         a GstControlSource for providing actual values for timestamps.
2186         Implement a interpolation control source and use this for backward
2187         compatibility, deprecate a bunch of functions that are now handled
2188         by GstControlSource or GstInterpolationControlSource.
2189         Make it possible to disable the controller completely or only for
2190         specific properties. Fixes #450711.
2191         * docs/libs/gstreamer-libs-docs.sgml:
2192         * docs/libs/gstreamer-libs-sections.txt:
2193         * docs/libs/gstreamer-libs.types:
2194         Add new functions and classes to the docs.
2195         * tests/check/libs/controller.c: (GST_START_TEST),
2196         (gst_controller_suite):
2197         * tests/examples/controller/audio-example.c: (main):
2198         Port unit test and example to the new API and add some new
2199         unit tests.
2200
2201 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
2202
2203         Patch by: Mark Nauwelaerts <manauw at skynet be>
2204
2205         * plugins/elements/gstmultiqueue.c:
2206         (gst_multi_queue_get_internal_links), (apply_buffer),
2207         (single_queue_overrun_cb), (gst_single_queue_new):
2208         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
2209         the pipeline layout can be tracked correctly. Fixes #453732.
2210
2211 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
2212
2213         * docs/gst/Makefile.am:
2214         * docs/libs/Makefile.am:
2215         * docs/plugins/Makefile.am:
2216           Simplify --extra-dir as gtkdoc scans recursively.
2217
2218 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2219
2220         * tools/gst-launch.c: (main):
2221         When we got an error, there is no point in waiting for preroll when
2222         shutting down.
2223
2224 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2225
2226         * plugins/elements/gsttee.c: (gst_tee_base_init),
2227         (gst_tee_request_new_pad), (gst_tee_release_pad),
2228         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
2229         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
2230         (gst_tee_chain):
2231         Be a lot smarter when deciding what srcpad to use for proxying
2232         the buffer_alloc. Also handle pad added/removed when doing so.
2233         Fixes #357959.
2234         Keep track of what pads we already pushed on in case we have pads
2235         added/removed while pushing. Fixes #374639 
2236
2237         * tests/check/Makefile.am:
2238         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
2239         (tee_suite):
2240         Added unit test for pad resync.
2241
2242 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2243
2244         * po/nl.po:
2245         * po/sv.po:
2246           Updated translations.
2247
2248 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2249
2250         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
2251
2252         * po/LINGUAS:
2253         * po/fi.po:
2254           Added new Finnish translation.
2255
2256 2007-06-28  Wim Taymans  <wim@fluendo.com>
2257
2258         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2259         (single_queue_overrun_cb):
2260         When figuring out when a queue is filled, use our internal time estimate
2261         based on segments, just like check_full does.
2262
2263 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2264
2265         * gst/gstminiobject.c: (gst_mini_object_get_type):
2266           Remove 3 do-nothing methods.
2267
2268 2007-06-27  Wim Taymans  <wim@fluendo.com>
2269
2270         Patch by: Tim Angus <tim at ngus dot net>
2271
2272         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2273         (gst_capsfilter_set_property):
2274         Take a reference instead of a copy when setting "caps".
2275         Fix documentation to clarify this behaviour. Fixes #449414.
2276
2277 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2278
2279         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2280         * gst/gstplugin.c: (gst_plugin_init):
2281         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
2282         * gst/gstquery.c: (gst_query_get_type):
2283         * gst/gstregistry.c: (gst_registry_init):
2284         * gst/gsturi.c: (gst_uri_handler_base_init):
2285           Remove empty instance_init() functions to save relocs and lessen the
2286           noise. Remove some of the function prototypes that are doubled by
2287           G_DEFINE_TYPE.
2288           
2289 2007-06-27  Wim Taymans  <wim@fluendo.com>
2290
2291         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
2292
2293         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
2294         Add peer and direction in the XML serialisation of ghostpads.
2295         Fixes #449226.
2296
2297 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2298
2299         * configure.ac:
2300           Preserve useful information, thanks Tim.
2301
2302 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
2303
2304         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2305         (gst_single_queue_flush), (apply_segment), (apply_buffer),
2306         (gst_single_queue_push_one), (gst_multi_queue_loop),
2307         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2308         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
2309         (compute_high_id), (gst_single_queue_new):
2310         * plugins/elements/gstmultiqueue.h:
2311         Take the multiqueue lock when updating the fill level so we don't get
2312         confused. 
2313
2314         After applying a buffer or event on the src pad segment, make sure to
2315         call gst_data_queue_limits_changed() to get the data queue to unblock
2316         and check the filled state again.
2317         
2318         Rework the not-linked pad handling so the logic is that not-linked 
2319         pads can push as fast as they like, but only so they never get 
2320         ahead of any linked pads.
2321
2322         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
2323         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
2324         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
2325
2326         Add a test to check that not-linked pads always stay behind
2327         linked pads.
2328
2329         Fixes: #430682
2330
2331 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
2332
2333         * docs/random/release:
2334           Some updates to the release procedure.
2335
2336 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2337
2338         * gst/gstelementfactory.c: (__gst_element_details_clear):
2339           Microoptimization that saves stunning 80 bytes.
2340
2341 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
2342
2343         * docs/plugins/gstreamer-plugins.args:
2344         * docs/plugins/inspect/plugin-coreelements.xml:
2345         * docs/plugins/inspect/plugin-coreindexers.xml:
2346           Update docs with caps info.
2347
2348 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2349
2350         * po/it.po:
2351           Updated Italian translation.
2352
2353 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2354
2355         * ChangeLog:
2356         * po/vi.po:
2357           Update Vietnamese translations.
2358
2359 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2360
2361         * libs/gst/base/gstbasesink.c:
2362           Remove unused signal enum.
2363
2364 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2365
2366         * docs/gst/gstreamer-sections.txt:
2367         * gst/gstelement.c:
2368         * gst/gstutils.c: (gst_type_register_static_full):
2369         Beef up and include the docs for gst_type_register_static_full and
2370         gst_element_class_set_details_simple and add the API keyword
2371         in the ChangeLog.
2372
2373 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2374
2375         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2376         (update_time_level), (gst_single_queue_push_one),
2377         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
2378         (single_queue_overrun_cb), (single_queue_underrun_cb),
2379         (single_queue_check_full):
2380         Fix setting max-* properties after adding queues.
2381         Use IS_FILLED for checking visible items.
2382         Signal overrun if multiple queues overrun.
2383         Add extra debug output.
2384         Patch by: Wim Taymans <wim@fluendo.com>
2385
2386 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
2387
2388         * gst/gstelement.c: (gst_element_class_set_details_simple):
2389         * gst/gstelement.h:
2390         * gst/gstutils.c: (gst_type_register_static_full):
2391         * gst/gstutils.h:
2392         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
2393         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
2394         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
2395         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
2396         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
2397         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
2398         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
2399         * plugins/elements/gstidentity.c: (gst_identity_base_init):
2400         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
2401         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2402         (apply_buffer), (gst_queue_chain):
2403         * plugins/elements/gsttee.c: (gst_tee_base_init):
2404         * plugins/elements/gsttypefindelement.c:
2405         (gst_type_find_element_base_init),
2406         (gst_type_find_element_class_init):
2407           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
2408           API: add gst_type_register_static_full
2409           API: add gst_element_class_set_details_simple
2410
2411 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2412
2413         * docs/pwg/advanced-types.xml:
2414           Fix typo in iana.org URI.
2415
2416 2007-06-19  Andy Wingo  <wingo@pobox.com>
2417
2418         * tests/check/pipelines/simple-launch-lines.c
2419         (test_state_change_returns): Enable pull-mode tests now that
2420         basesink has been fixed.
2421
2422         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
2423         Changed from gst_base_sink_is_prerolled, reversing the sense of
2424         the return value. Returns FALSE also if the sink is in pull mode,
2425         in which case it needs no preroll.
2426         (gst_base_sink_query, gst_base_sink_change_state): Update for
2427         needs_preroll change.
2428         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
2429         chaining up, in which we return SUCCESS directly if we activated
2430         in pull mode instead of ASYNC. Involves countering an async_start
2431         message sent before chaining up; not sure if this is correct, in
2432         an ideal world we only send async-start when activating in push
2433         mode.
2434
2435         * tests/check/pipelines/simple-launch-lines.c
2436         (test_state_change_returns): New test, partially disabled until
2437         basesink is fixed.
2438
2439 2007-06-19  Wim Taymans  <wim@fluendo.com>
2440
2441         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2442         (gst_multi_queue_sink_event):
2443         Fix event leak.
2444
2445 2007-06-19  Wim Taymans  <wim@fluendo.com>
2446
2447         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2448         (gst_bin_change_state_func), (bin_push_state_continue),
2449         (bin_handle_async_start), (bin_handle_async_done),
2450         (gst_bin_handle_message_func):
2451         Move the common code for posting state-change messages into
2452         one function.
2453         Broadcast the state signal after we posted the messages.
2454         Mark the bin as busy when it's doing a state-change.
2455         Make sure async-start/done messages don't interfere with the bin's
2456         state when it's busy.
2457         After the state change, let the bin check which elements completed the
2458         state change while it was busy so that it can update its state.
2459
2460 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2461
2462         * docs/random/release:
2463         Add a note about updating the doap file to the release checklist
2464
2465 2007-06-18  Wim Taymans  <wim@fluendo.com>
2466
2467         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2468         (gst_single_queue_push_one), (gst_multi_queue_chain),
2469         (gst_multi_queue_sink_event):
2470         Make sure we don't reference the buffer/event after we have given away
2471         ownership in the queue.
2472
2473 2007-06-18  Wim Taymans  <wim@fluendo.com>
2474
2475         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2476         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2477         Update queue state _after_ adding the item in the queue because else we
2478         could end up being full without the element added yet.
2479
2480 2007-06-18  Wim Taymans  <wim@fluendo.com>
2481
2482         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2483         (gst_bin_remove_func), (gst_bin_get_state_func),
2484         (gst_bin_element_set_state), (gst_bin_continue_func),
2485         (bin_push_state_continue), (bin_handle_async_start),
2486         (bin_handle_async_done), (gst_bin_handle_message_func):
2487         * gst/gstbin.h:
2488         Immediatly commit the toplevel bin state when receiving an async-done
2489         message. This enables us to avoid spawning a thread to commit the state
2490         in some common cases and it also avoids some races.
2491         Avoid spawning a state thread when adding/removing async elements to a
2492         toplevel bin. Instead we immediatly update the bin state.
2493         Get rid of iterating all the children when getting the state in the bin
2494         because it is now always up-to-date.
2495         Fix bug where locked elements would always return _SUCCESS even it they
2496         returned NO_PREROLL before being locked.
2497         Fix the order of the state_change, async-start/done messages that was
2498         sometimes incorrect.
2499         Mark the state_dirty field as deprecated, we don't need it anymore as we
2500         are always up-to-date.
2501
2502         * gst/gstelement.c: (gst_element_get_state_func),
2503         (gst_element_continue_state):
2504         Small debug inprovements.
2505         Return the previous element state return when nothing is pending instead
2506         of blindly returning SUCCESS.
2507
2508         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2509         (gst_sinks_suite):
2510         Add a whole bunch of new testcases.
2511
2512 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2513
2514         * po/uk.po:
2515         * po/vi.po:
2516           Update translations.
2517
2518 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2519
2520         * gst/gstpad.c:
2521         Fix typo in the docs.
2522
2523 2007-06-15  Wim Taymans  <wim@fluendo.com>
2524
2525         * docs/libs/gstreamer-libs-sections.txt:
2526         Add docs for new methods.
2527
2528 2007-06-15  Wim Taymans  <wim@fluendo.com>
2529
2530         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2531         (gst_multi_queue_item_new):
2532         Don't use GSlice because we don't depend on >= 2.10 yet.
2533
2534 2007-06-15  Wim Taymans  <wim@fluendo.com>
2535
2536         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2537         (update_time_level), (apply_segment), (apply_buffer),
2538         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2539         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2540         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2541         (single_queue_underrun_cb), (single_queue_check_full):
2542         Remove debug printf.
2543
2544 2007-06-15  Wim Taymans  <wim@fluendo.com>
2545
2546         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2547         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2548         (gst_data_queue_set_flushing), (gst_data_queue_push),
2549         (gst_data_queue_pop), (gst_data_queue_drop_head),
2550         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2551         * libs/gst/base/gstdataqueue.h:
2552         Various cleanups.
2553         Added methods to get the current levels and to inform the queue that the
2554         'full' limits changed.
2555
2556         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2557         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2558         (gst_single_queue_flush), (update_time_level), (apply_segment),
2559         (apply_buffer), (gst_single_queue_push_one),
2560         (gst_multi_queue_item_steal_object),
2561         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2562         (gst_multi_queue_loop), (gst_multi_queue_chain),
2563         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2564         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2565         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2566         (single_queue_underrun_cb), (single_queue_check_full),
2567         (gst_single_queue_new):
2568         Keep track of time in the queue by measuring the difference between
2569         running_time on input and output. This gives more accurate results and
2570         can compensate for segments correctly.
2571         Make a queue by default only 5 buffers deep. We will now increase the
2572         buffer size depending on the filledness of the other queues.
2573         Factor out commong flush code.
2574         Make sure we don't add additional refcounts to buffers when we can avoid
2575         it.
2576         Propagate GstFlowReturn differently.
2577         Use GSlice for intermediate GstMultiQueueItems.
2578         Keep track of EOS.
2579         Resize queues on over and underruns based on filled level of other
2580         queues.
2581         When checking if the queue is filled, prefer to measure in time if we
2582         can and fall back to bytes when no time is known.
2583
2584         * plugins/elements/gstqueue.c:
2585         Fix return value.
2586
2587 2007-06-15  Wim Taymans  <wim@fluendo.com>
2588
2589         * libs/gst/base/gstbasetransform.c:
2590         (gst_base_transform_sink_event):
2591         Work around the brokenness of the event vmethod in basetransform. Prefer
2592         to return TRUE when the subclass returned FALSE (meaning don't forward
2593         the event). 
2594
2595         * libs/gst/base/gstbasetransform.h:
2596         Clarify the docs.
2597
2598 2007-06-15  Wim Taymans  <wim@fluendo.com>
2599
2600         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2601         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2602         (gst_base_src_default_query), (gst_base_src_get_range),
2603         (gst_base_src_start):
2604         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2605         Improve debugging.
2606
2607 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2608
2609         * docs/pwg/advanced-types.xml:
2610           Added more formats to caps table.
2611
2612 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2613
2614         * tools/gst-launch.c: (main):
2615           Remove crufy code. GOption does not need this workaround.
2616
2617 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2618
2619         * libs/gst/controller/gstcontroller.c:
2620         (gst_controlled_property_set_interpolation_mode):
2621           Fix wrong getter for enums in controller.
2622
2623 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2624
2625         * libs/gst/check/gstcheck.c: (gst_check_init):
2626           Intercept criticals and warnings in the Gst-Phonon log domain, so
2627           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2628           well.
2629         
2630 2007-06-14  Edward Hervey  <edward@fluendo.com>
2631
2632         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2633         Since this file doesn't include "gst.h" it will not go through the
2634         macros that disable GST_LOG if debugging was disabled.
2635
2636 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2637
2638         * libs/gst/check/Makefile.am:
2639         * libs/gst/check/gstcheck.h:
2640         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2641         * pkgconfig/gstreamer-check.pc.in:
2642           Ugly 'fix' for the controller unit test on the p5 bot: in
2643           fail_unless_equals_float() check whether the values are 'almost
2644           equal' by allowing a small absolute error, which should be good
2645           enough for our use cases (normal numbers and values close to 0).
2646           Proper fixage left to floating point arithmetic aficionados.
2647
2648 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2649
2650         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2651         (gst_base_sink_render_object), (gst_base_sink_get_position):
2652           Add two breaks thats where missing.
2653
2654 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * docs/libs/gstreamer-libs-sections.txt:
2657         * libs/gst/check/gstcheck.h:
2658           API: add fail_unless_equals_float() and assert_equals_float().
2659           Add documentation for some of the macros.
2660
2661         * tests/check/libs/controller.c: (GST_START_TEST):
2662           Use newly-added asserts.
2663
2664 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2665
2666         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2667           Show the caps change in the log to help spotting the case of not
2668           exactly matching caps.
2669
2670 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * docs/pwg/building-boiler.xml:
2673           Fix typos, spotted by Thijs Vermeir (#447190).
2674
2675 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2676
2677         * docs/plugins/tmpl/.cvsignore:
2678         Ignore file to keep the buildbots happy
2679
2680 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2681
2682         * docs/plugins/Makefile.am:
2683         * docs/plugins/gstreamer-plugins-docs.sgml:
2684         * docs/plugins/gstreamer-plugins-sections.txt:
2685         Pull fdsink into the docs too.
2686
2687 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2688
2689         * libs/gst/controller/gstinterpolation.c:
2690         Actually use the new functions with min/max checks for the trigger and
2691         none interpolation modes for get() and get_value_array() instead of
2692         just the latter.
2693
2694 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2695
2696         * libs/gst/controller/gstcontroller.c:
2697         (gst_controlled_property_free):
2698         Unset the minimum and maximum GValues when freeing the corresponding
2699         GstControllerProperty struct.
2700
2701 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2702
2703         * libs/gst/controller/gstcontroller.c:
2704         (gst_controlled_property_new):
2705         * libs/gst/controller/gstcontrollerprivate.h:
2706         * libs/gst/controller/gstinterpolation.c:
2707         (gst_controlled_property_find_control_point_node),
2708         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2709         (interpolate_none_get_string_value_array),
2710         (interpolate_trigger_get),
2711         (interpolate_trigger_get_enum_value_array),
2712         (interpolate_trigger_get_string_value_array):
2713         Protect against values larger or smaller than the minimum or maximum
2714         allowed value for the property when using values that can be compared.
2715
2716         Optimize trigger interpolator a bit by taking the last requested value
2717         into account instead of always looping through the complete list.
2718
2719         Fix coding style a bit, everywhere else we use "return foo" instead
2720         of "return (foo)".
2721         
2722         * tests/check/libs/controller.c: (GST_START_TEST),
2723         (gst_controller_suite):
2724         Add unit test for the protection against too large or too small
2725         values.
2726
2727 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2728
2729         * docs/random/slomo/controller.txt:
2730         Add some thoughts about the future of the controller.
2731
2732 2007-06-08  Wim Taymans  <wim@fluendo.com>
2733
2734         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2735         Don't overflow in retimestamping code.
2736
2737 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2738
2739         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2740         Use gst_util_guint64_to_gdouble for conversions.
2741         * win32/common/libgstreamer.def:
2742         Add new exported functions.
2743
2744 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2745
2746         * gst/gstutils.c:
2747           Small docs addition.
2748
2749 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2750
2751         * README:
2752           Remove that test line again.
2753
2754 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2755
2756         * README:
2757           Test commit mail sending.
2758
2759 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2760
2761         * configure.ac:
2762           Fix typo and test commit mail sending.
2763
2764 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2765
2766         * tests/examples/controller/audio-example.c:
2767           Improve comment and test commit mail sending.
2768
2769 2007-06-07  Wim Taymans  <wim@fluendo.com>
2770
2771         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2772         (gst_bin_remove_func), (gst_bin_element_set_state),
2773         (bin_handle_async_start), (bin_handle_async_done),
2774         (gst_bin_handle_message_func):
2775         Add helper function to find messages.
2776         Generate the async-done messages together with the state change
2777         messages.
2778         Small cleanups in handling toplevel bins.
2779
2780 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2781
2782         * libs/gst/base/gstdataqueue.c:
2783         * libs/gst/base/gstdataqueue.h:
2784         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2785         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2786         (gst_multi_queue_sink_event):
2787         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2788           Fix multiqueue leaking buffers and events when downstream or the
2789           queue are flushing. Make refcounting assumptions explicit and
2790           document them (shouldn't break existing code that uses it other than
2791           maybe leak miniobjects, but that already happens anyway). Add unit
2792           test for the most common flushing case. Fixes #423700.
2793           
2794 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2795
2796         * libs/gst/controller/gstcontroller.c:
2797         Clarify docs: The get_all, get_value_array(s) functions
2798         don't modify the GObject properties.
2799
2800 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2801
2802         * libs/gst/controller/gstcontroller.c:
2803         (gst_controlled_property_set_interpolation_mode),
2804         (gst_controlled_property_prepend_default),
2805         (gst_controlled_property_new), (gst_controller_set_unlocked),
2806         (gst_controller_set), (gst_controller_set_from_list),
2807         (gst_controller_unset), (gst_controller_unset_all):
2808         * libs/gst/controller/gstcontrollerprivate.h:
2809         * libs/gst/controller/gstinterpolation.c:
2810         Factor out the 'set' logic into gst_controller_set_unlocked for the
2811         gst_controller_set and gst_controller_set_from_list functions.
2812
2813         To make life of the interpolators easier always add a control point
2814         at timestamp zero with the default value.
2815
2816         In the linear interpolator make things more obvious by better variable
2817         naming (slope).
2818
2819         Implement cubic interpolation mode (by using a natural cubic spline)
2820         and map the quadratic interpolation mode to this too (as quadratic
2821         doesn't make much sense, see discussion on the list).
2822
2823         * tests/check/libs/controller.c: (GST_START_TEST),
2824         (gst_controller_suite):
2825         Add unit test for the cubic interpolation mode and check everywhere
2826         if the interpolation mode could be set as expected.
2827
2828 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2829
2830         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2831           Don't use GLib-2.10 functions, we still depend on
2832           GLib-how-old-is-it-again-2.8.
2833
2834 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2835
2836         * docs/gst/gstreamer-sections.txt:
2837         * gst/Makefile.am:
2838         * gst/gst.c:
2839         * gst/gst.h:
2840         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2841         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2842         (_gst_param_fraction_values_cmp),
2843         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2844         * gst/gstparamspecs.h:
2845         * gst/gstvalue.c:
2846         * tests/check/Makefile.am:
2847         * tests/check/gst/.cvsignore:
2848         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2849         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2850         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2851         (GST_START_TEST), (gst_param_spec_suite):
2852           API: add GstParamSpecFraction, so elements can have fraction
2853           properties without lots of painful string parsing (#444648).
2854
2855 2007-06-05  Wim Taymans  <wim@fluendo.com>
2856
2857         * gst/gstobject.c: (gst_object_class_init):
2858         Fix signal signature.
2859
2860         * gst/gstsegment.c:
2861         Add small clarification in the api docs.
2862
2863         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2864         States are protected with object lock.
2865
2866 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2867
2868         * AUTHORS:
2869         I should probably be listed as an author by now.
2870
2871         * docs/random/release:
2872         Update the release doc
2873
2874 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2875
2876         * gst/gstvalue.c:
2877           Make docs for gst_value_compare() mention return enums that
2878           actually exist.
2879
2880 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2881
2882         * configure.ac:
2883           Back to CVS
2884
2885 === release 0.10.13 ===
2886
2887 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2888
2889         * configure.ac:
2890           releasing 0.10.13, "With or without you"
2891
2892 2007-05-25  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstbin.c: (bin_handle_async_done):
2895         Make sure that the child bin stops after completing the async state
2896         change so that the parent can continue the state change to PLAYING.
2897         Fixes #441159.
2898
2899 2007-05-25  Wim Taymans  <wim@fluendo.com>
2900
2901         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2902         (unref_data), (gst_collect_pads_remove_pad),
2903         (gst_collect_pads_check_pads):
2904         Use additional refcounting to avoid crashes when dynamically adding and
2905         removing pads. Fixes #420206.
2906
2907 2007-05-24  Wim Taymans  <wim@fluendo.com>
2908
2909         * tools/gst-launch.c: (event_loop):
2910         When buffering goes from a two digit to a single digit number, make sure
2911         to remove the old second digit by writing a blank over it.
2912
2913 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2914
2915         * libs/gst/base/gstdataqueue.c:
2916           Eliminate tabs and trailing comma in enum list; fix some typos.
2917
2918 2007-05-24  Wim Taymans  <wim@fluendo.com>
2919
2920         * tests/check/gst/gstbin.c: (GST_START_TEST):
2921         Allow refcount of 3 and 4 because some state thread might still be busy
2922         with it.
2923
2924 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         * plugins/elements/Makefile.am:
2927         * plugins/elements/gstmultiqueue.h:
2928         * plugins/elements/gstqueue.h:
2929           These are not installed headers, no need for padding.
2930
2931 2007-05-24  Wim Taymans  <wim@fluendo.com>
2932
2933         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2934         (gst_bin_continue_func):
2935         Enable latency for next release.
2936         Restore STATE_LOCK around recalc_state that was left out during the
2937         rewrite and could result in racy behaviour when _get_state and
2938         recalc_state are run concurrently. See #440463.
2939
2940 2007-05-23  Wim Taymans  <wim@fluendo.com>
2941
2942         * tests/check/gst/gstsystemclock.c: (store_callback),
2943         (GST_START_TEST):
2944         Improve test_async_order to also work when both timers are already
2945         expired when we get scheduled to check it.
2946
2947 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2950         (gst_bin_set_property), (gst_bin_get_property),
2951         (gst_bin_remove_func), (gst_bin_handle_message_func):
2952         * gst/gstbin.h:
2953           'private' is a c++ keyword, let's not use that in header files,
2954           otherwise c++ compilers will throw a tantrum.
2955
2956 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2957
2958         * plugins/elements/gstelements.c:
2959         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2960         (gst_file_sink_get_current_offset):
2961         * plugins/indexers/gstindexers.c: (plugin_init):
2962           Use #ifdef for HAVE_XYZ for consistency.
2963
2964         * tests/check/Makefile.am:
2965         * tests/check/elements/.cvsignore:
2966         * tests/check/elements/filesink.c: (setup_filesink),
2967         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2968           Add some unit tests for filesink.
2969
2970 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2971
2972         Patch by: Mark Nauwelaerts <manauw at skynet be>
2973
2974         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2975         (gst_file_sink_query), (gst_file_sink_do_seek),
2976         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2977         * plugins/elements/gstfilesink.h:
2978           Fix position reporting; rename data_written member to current_pos to
2979           reflect its real meaning (fixes #412648).
2980
2981 2007-05-22  Edward Hervey  <edward@fluendo.com>
2982
2983         * docs/gst/gstreamer-sections.txt:
2984         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2985         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2986         (gst_bin_remove_func), (gst_bin_handle_message_func):
2987         * gst/gstbin.h:
2988         Add a property for bins that handle the state change of their childs.
2989         Fixes #435880
2990
2991 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2992
2993         * libs/gst/controller/gstinterpolation.c:
2994         Use an array of the correct type when using _get_value_array with
2995         linear interpolation.
2996
2997 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2998
2999         * gst/gstelement.c (gst_element_requires_clock,
3000           gst_element_provides_clock, gst_element_request_pad,
3001           gst_element_class_set_details, gst_element_class_set_details_simple,
3002           gst_element_default_send_event, gst_element_abort_state,
3003           gst_element_continue_state, gst_element_set_state,
3004           gst_element_set_state_func, iterator_activate_fold_with_resync):
3005         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
3006           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
3007           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
3008           gst_pad_get_range, gst_pad_pull_range):
3009         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
3010           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
3011           GstPadActivateModeFunction, GstPadChainFunction,
3012           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
3013           GstPadFixateCapsFunction, GstPadTemplate):
3014         * gst/gstpipeline.c (gst_pipeline_change_state,
3015           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
3016           gst_pipeline_set_clock, gst_pipeline_auto_clock,
3017           gst_pipeline_get_delay):
3018           Whitespace and docs fixes.
3019
3020 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3021
3022         * libs/gst/controller/gstinterpolation.c:
3023         (interpolate_trigger_get_enum_value_array),
3024         (interpolate_trigger_get_string_value_array):
3025         Add support for retrieving value arrays when using the trigger
3026         interpolation mode. 
3027
3028 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3029
3030         * libs/gst/controller/gstcontroller.c:
3031         (gst_controller_get_value_array):
3032         * libs/gst/controller/gstcontroller.h:
3033         Clarify the docs of gst_controller_get_value_array(): The array where
3034         the values should be written to must be allocated as there seems to be
3035         no way to get the size of a random GType. This doesn't change any
3036         behaviour. Also fix some typos all over the place and remove an unused,
3037         commented function that is not necessary as g_object_set() could be
3038         used instead.
3039         * tests/check/libs/controller.c: (GST_START_TEST),
3040         (gst_controller_suite):
3041         Add unit test for gst_controller_get_value_array().
3042
3043 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
3044
3045         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3046
3047         Disable part of the gst_buffer_try_new_and_alloc test, because
3048         it can happily succeed on 64-bit systems where there's more address
3049         space available.
3050
3051 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3052
3053         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3054         Add unit test for the improved caps checking from bug #421543.
3055
3056 2007-05-21  Wim Taymans  <wim@fluendo.com>
3057
3058         * docs/design/part-synchronisation.txt:
3059         Small addition.
3060
3061         * gst/gstbin.c: (gst_bin_query):
3062         * plugins/elements/gstqueue.c: (apply_segment):
3063         Improve debugging.
3064
3065         * gst/gstmessage.h:
3066         Improve docs.
3067
3068 2007-05-21  Wim Taymans  <wim@fluendo.com>
3069
3070         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3071         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
3072         (gst_pad_configure_src):
3073         Added simple version of improved caps checking. It was previously
3074         assumed that a setcaps function would check the validity of the caps but
3075         people prefer us to check caps against the template automatically. 
3076         Fixes #421543.
3077
3078 2007-05-21  Wim Taymans  <wim@fluendo.com>
3079
3080         * libs/gst/base/gstbasetransform.h:
3081         Fix macro for locking/unlocking the transform lock.
3082
3083 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3084
3085         * docs/plugins/tmpl/.cvsignore:
3086           Ignore more.
3087
3088 2007-05-18  Edward Hervey  <edward@fluendo.com>
3089
3090         * plugins/elements/gstqueue.c: (gst_queue_loop):
3091         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
3092         for the subtle art of warning a potentially blocking thread that it
3093         should check the source pad return value, and relay the information
3094         upstream.
3095
3096 2007-05-18  Edward Hervey  <edward@fluendo.com>
3097
3098         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3099         Release the queue lock !
3100
3101 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3102
3103         * docs/libs/gstreamer-libs-sections.txt:
3104         Add the two new controller functions to the appropiate places.
3105
3106 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3107
3108         reviewed by: Stefan Kost <ensonic@users.sf.net>
3109
3110         * libs/gst/controller/gstcontroller.c:
3111         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
3112         (_gst_controller_get_property), (_gst_controller_set_property),
3113         (_gst_controller_init), (_gst_controller_class_init):
3114         * libs/gst/controller/gstcontroller.h:
3115         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
3116         (gst_object_get_control_rate), (gst_object_set_control_rate):
3117         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
3118         Add API that provides sync suggestion timestamps for elements that
3119         call gst_object_sync_values() from which those elements can subdivide
3120         their processing loop to get the best results for the controlled
3121         properties. For now it just suggests last_sync + control_rate as
3122         new timestamp but this will be improved in the future.
3123
3124         While doing that change the control-rate property to a GstClockTime
3125         from guint and change it's meaning from samples to nanoseconds as
3126         the GstController doesn't know anything about sampling rate. Strictly
3127         speaking this breaks ABI but as the control-rate property didn't do
3128         anything in the past and as such couldn't be used this should be no
3129         problem.        
3130
3131 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3132
3133         reviewed by: Stefan Kost <ensonic@users.sf.net>
3134
3135         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3136         (gst_controller_unset_all):
3137         * libs/gst/controller/gstcontrollerprivate.h:
3138         * libs/gst/controller/gstinterpolation.c:
3139         (gst_controlled_property_find_control_point_node):
3140         Save last synced value from the list to continue searching from there
3141         in future syncs. This speeds everything up a bit.
3142         
3143 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3144
3145         reviewed by: Stefan Kost <ensonic@users.sf.net>
3146
3147         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
3148         (gst_control_point_find), (gst_controlled_property_new),
3149         (gst_control_point_free), (gst_controlled_property_free),
3150         (gst_controller_set), (gst_controller_set_from_list),
3151         (gst_controller_unset), (gst_controller_unset_all),
3152         (gst_controller_sync_values):
3153         * libs/gst/controller/gstcontroller.h:
3154         * libs/gst/controller/gstcontrollerprivate.h:
3155         * libs/gst/controller/gstinterpolation.c:
3156         (gst_controlled_property_find_control_point_node),
3157         (interpolate_none_get), (interpolate_trigger_get):
3158         Add a new private GstControlPoint struct which "inherits" from
3159         GstTimedValue to allow different interpolators to store internal
3160         values next to each control point. From the outside everything is
3161         still a GstControlPoint so we don't loose binary compatibility.
3162         Also fixup all the GValue handling to not leak GValues or list nodes.
3163         * tests/check/libs/controller.c: (GST_START_TEST):
3164         Free the list nodes and GValues in the controller_misc test.
3165
3166 2007-05-17  Edward Hervey  <edward@fluendo.com>
3167
3168         * gst/gstsegment.c:
3169         Small doc fix.
3170
3171 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3172
3173         * gst/gstplugin.c: (gst_plugin_load_file):
3174           If we fail to load a plugin because of unresolved symbols or missing
3175           libraries and spew a warning to stderr, we may just as well mention
3176           which plugin it was that failed to load.
3177
3178 2007-05-13  David Schleef  <ds@schleef.org>
3179
3180         * docs/Makefile.am: the gtk-doc makefile snippet correctly
3181           handles the case when ENABLE_GTK_DOC is false, and installs
3182           the prebuilt documentation.  So gtk-doc subdirs are 
3183           unconditionally enabled.  Fixes: #349099.
3184
3185 2007-05-13  David Schleef  <ds@schleef.org>
3186
3187         * gst/gstutils.h: Reword some documentation.
3188
3189 2007-05-12  David Schleef  <ds@schleef.org>
3190
3191         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
3192           do anything with the passed "module" parameter, so remove it.
3193           Allows removal of additional vestigal code.
3194
3195 2007-05-12  David Schleef  <ds@schleef.org>
3196
3197         * gst/gstplugin.c:
3198           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
3199           Switch to using g_stat() because it's more portable.
3200
3201 2007-05-12  David Schleef  <ds@schleef.org>
3202
3203         * gst/gst.c:
3204           Add GST_DISABLE_OPTION_PARSING, in order to disable option
3205           parsing for embedded systems.
3206         * gst/gstelementfactory.c:
3207           Allow gst_element_register() to be called with plugin==NULL.
3208           Did nobody notice that static elements were broken?
3209
3210 2007-05-12  Wim Taymans  <wim@fluendo.com>
3211
3212         * tools/gst-launch.c: (event_loop):
3213         Give more interesting info when buffering starts and stops.
3214         Fix case where buffering starts but we fail to update the buffering flag
3215         because the target state is not PLAYING.
3216
3217 2007-05-12  Wim Taymans  <wim@fluendo.com>
3218
3219         * plugins/elements/gstqueue.c: (gst_queue_init),
3220         (gst_queue_finalize), (update_time_level), (apply_segment),
3221         (apply_buffer), (gst_queue_locked_flush),
3222         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
3223         (gst_queue_handle_sink_event), (gst_queue_chain),
3224         (gst_queue_push_one), (gst_queue_loop):
3225         * plugins/elements/gstqueue.h:
3226         Refactor an cleanup queue a bit.
3227         Do better time level calculations that also work when the srcpad is not
3228         yet running.
3229         Remove some unneeded debug lines.
3230
3231         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
3232         Added testcase for time level measurement.
3233         Try to make some stuff more racefree.
3234
3235 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3236
3237         * gst/gsturi.c: (gst_element_make_from_uri):
3238           Don't leak plugin feature.
3239
3240         * tests/check/Makefile.am:
3241         * tests/check/gst/.cvsignore:
3242         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
3243           Add brain-dead unit test.
3244
3245 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3246
3247         Patch by: Jeroen Wouters <woutersj at gmail com>
3248
3249         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
3250           Treat protocol strings in a case-insensitive way (#437563).
3251
3252 2007-05-11  Michael Smith <msmith@fluendo.com>
3253
3254         * gst/gstplugin.c: (gst_plugin_load_file):
3255         * gst/gstregistry.c: (gst_registry_scan_path_level):
3256           Don't print a g_warning for any failure to load a shared object.
3257           Instead, push this down into gstplugin.c, and warn _only_ if we
3258           failed to open the module (i.e. failure to link).
3259           Avoids warnings on normal, working, non-plugin .so files.
3260
3261 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
3262
3263         * gst/gstplugin.c (gst_plugin_load_file):
3264         * gst/gstregistry.c (GST_CAT_DEFAULT,
3265           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
3266           Print a g_warning if there was an error when loading a plugins during
3267           registry scan. The shuld help beginners starting with gst-plugin
3268           template.
3269
3270 2007-05-10  Wim Taymans  <wim@fluendo.com>
3271
3272         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3273         (update_time_level), (gst_queue_locked_flush),
3274         (gst_queue_handle_sink_event), (gst_queue_chain),
3275         (gst_queue_push_one), (gst_queue_loop):
3276         * plugins/elements/gstqueue.h:
3277         Be smarter when calculating the current amount of data in the queue by
3278         measuring the difference between start and end timestamps (in running
3279         time) inside the queue. Fixes #432876.
3280         API: GstQueue::pushing to notify elements that we are pushing data again
3281         since the running signal is rather broken for this purpose.
3282
3283 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
3284
3285         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
3286           gst_queue_base_init, gst_queue_init):
3287           use GST_BOILERPLATE
3288
3289 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
3290
3291         * win32/common/libgstreamer.def:
3292         Add new exported functions.
3293         * win32/vs6/grammar.dsp:
3294         Use grammar pre-generated files.
3295
3296 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3297
3298         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
3299
3300         * gst/Makefile.am:
3301         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
3302         * gst/gstparse.h:
3303         * gst/gstutils.c: (gst_parse_bin_from_description):
3304         * gst/gstutils.h:
3305           Maintain API and ABI when --disable-parse is used. Now that
3306           we have an appropriate error code, we can just return NULL and the
3307           appropriate error when gst_parse_launch() is used despite it having
3308           been disabled (#342564).
3309
3310         * tests/check/Makefile.am:
3311         * tests/check/pipelines/.cvsignore:
3312         * tests/check/pipelines/parse-disabled.c:
3313           Make sure these functions exist and return NULL plus a GError when
3314           --disable-parse is used.
3315
3316 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3317
3318         * tests/benchmarks/complexity.c: (main):
3319         * tests/benchmarks/mass-elements.c: (main):
3320           Set a good example and don't leak messages.
3321
3322 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
3323
3324         * docs/gst/Makefile.am:
3325         * docs/libs/Makefile.am:
3326           Correct fixxrefs options.
3327
3328         * docs/plugins/Makefile.am:
3329         * docs/plugins/gstreamer-plugins-docs.sgml:
3330         * docs/plugins/gstreamer-plugins-sections.txt:
3331         * plugins/elements/Makefile.am:
3332         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
3333         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
3334           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
3335           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
3336           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
3337           _GstCapsFilterClass, trans_class):
3338         * plugins/elements/gstelements.c (name, rank, type, _elements):
3339         * plugins/elements/gstidentity.c
3340           (gst_identity_check_imperfect_timestamp,
3341           gst_identity_check_imperfect_offset):
3342           Document capsfilter and add doc-blurb to identity.
3343
3344 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3345
3346         * libs/gst/controller/gstcontroller.c:
3347         (gst_controlled_property_set_interpolation_mode):
3348         * libs/gst/controller/gstinterpolation.c:
3349           Don't crash if someone tries to set an interpolation mode that
3350           is invalid or that isn't supported yet. Fixes #422295.
3351
3352         * tests/check/libs/controller.c: (GST_START_TEST),
3353         (gst_controller_suite):
3354           Add a test case for the above.
3355
3356 2007-05-03  Edward Hervey  <edward@fluendo.com>
3357
3358         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3359         Properly set the last_stop position on GstSegment. This will only happen
3360         if there is a buffer to push out.
3361
3362 2007-05-03  Wim Taymans  <wim@fluendo.com>
3363
3364         * libs/gst/base/gstbasetransform.c:
3365         (gst_base_transform_buffer_alloc):
3366         always_in_place does not mean that the sink and source caps are the
3367         same! Make sure we don't blindly proxy the buffer_alloc in this case.
3368
3369 2007-05-03  Wim Taymans  <wim@fluendo.com>
3370
3371         * docs/libs/gstreamer-libs-sections.txt:
3372         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3373         (gst_base_src_default_query), (gst_base_src_get_range):
3374         * libs/gst/base/gstbasesrc.h:
3375         API: gst_base_src_query_latency(). Added method so that subclasses can
3376         easily get the latency values of the base source class.
3377
3378 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
3379
3380         * tools/gst-inspect.c (print_implementation_info):
3381         Remove 0.8 cruft.
3382
3383 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
3384
3385         * tools/Makefile.am:
3386         * tools/gst-launch.1.in:
3387           Don't create a customised man page based on the host architecture,
3388           describe the default registry path generically. That way the man
3389           page is the same for all architectures and packagers have one
3390           multilib issue less to deal with. Fixes #434926.
3391
3392 2007-05-02  Wim Taymans  <wim@fluendo.com>
3393
3394         * gst/gstpad.c:
3395         Fix documentation as spotted by rg on IRC. 
3396
3397 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
3398
3399         * gst/gstutils.c:
3400           Improve docs for gst_element_{link,unlink}.
3401
3402 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
3403
3404         * docs/design/part-events.txt:
3405         * docs/design/part-overview.txt:
3406         * gst/gstevent.c:
3407         * gst/gsturi.c:
3408         * gst/gsturi.h:
3409         * libs/gst/base/gstbasesink.c:
3410           Typo fixes; minor docs addition.
3411
3412 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3413
3414         * docs/gst/gstreamer-sections.txt:
3415         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
3416         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
3417         * gst/gsturi.h:
3418         API: Add gst_uri_protocol_is_supported(), which checks if a sink
3419         or src that supports a given URI protocol exists.
3420
3421 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3422
3423         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3424         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3425         Set the location to NULL if "file://" is set as URI. Otherwise
3426         some random previous URI would still be set if "file://" is
3427         set on an already used filesink/filesrc.
3428
3429 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3430
3431         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3432         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3433         Special case the "file://" URI as as this is used by some
3434         applications to test with gst_element_make_from_uri if there's
3435         an element that supports the URI protocol.
3436         Also move the g_path_is_absolute() check for the location part
3437         of the URI to also check this for "file://localhost/bla" URIs.
3438
3439 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * docs/gst/gstreamer-sections.txt:
3442         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
3443         * gst/gstbuffer.h:
3444         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
3445         (gst_buffer_suite):
3446           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
3447
3448 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
3449
3450         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3451         (gst_registry_binary_load_pad_template),
3452         (gst_registry_binary_load_plugin),
3453         (gst_registry_binary_read_cache):
3454         * gst/gstregistrybinary.h:
3455           Implement no-mmap alternative for registry reading. Do code cleanups.
3456           Add more comments about avoiding strdups for all text data. Comments
3457           welcome.
3458
3459 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3460
3461         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3462           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3463           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3464           Comment structs and reformat to fix the build (that stuff should go
3465           into a priv. header).
3466
3467 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3468
3469         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3470         (gst_registry_binary_load_feature):
3471         * gst/gstregistrybinary.h:
3472           Refactor so that we can implement multiple features. Add support for
3473           TypeFindFactory features.
3474
3475 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3476
3477         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3478
3479         * configure.ac:
3480           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3481
3482 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3483
3484         * gst/gstbin.c: (gst_bin_element_set_state),
3485         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3486         (bin_handle_async_done), (gst_bin_handle_message_func):
3487           Fix build with --gst-disable-gst-debug
3488
3489 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3490
3491         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3492           Make sure streaming has finished before calling the ::stop() vfunc,
3493           since that vfunc might clear state which is being used in the
3494           streaming thread. This fixes a race that caused crashes in
3495           audioresample when shutting down a pipeline (#420106).
3496
3497 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3498
3499         * docs/gst/gstreamer-sections.txt:
3500           That was one byte missing.
3501
3502 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3503
3504         * configure.ac:
3505         * docs/gst/gstreamer-sections.txt:
3506         * gst/Makefile.am:
3507         * gst/gstconfig.h.in:
3508         * gst/gstobject.c: (gst_object_class_init),
3509         (gst_signal_object_class_init):
3510         * gst/gstobject.h:
3511           2nd attempt to have a xml-less build as a joined effort of #413123
3512           and #421480.
3513
3514 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3515
3516         * docs/design/draft-tagreading.txt:
3517           Added open issues/thoughts to draft.
3518
3519 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3520
3521         * gst/parse/grammar.tab.pre.c:
3522         * gst/parse/grammar.tab.pre.h:
3523         * gst/parse/lex._gst_parse_yy.pre.c:
3524         Update the prebuild parser sources.
3525
3526 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3527
3528         * gst/parse/Makefile.am:
3529         And now fix the building of the flex sources. Now everything should
3530         work as expected.
3531
3532 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3533
3534         * gst/parse/Makefile.am:
3535         Now hopefully fix the build failures by setting proper rule
3536         dependencies and moving instead of copying.
3537
3538 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3539
3540         * tests/benchmarks/complexity.gnuplot:
3541         * tests/benchmarks/complexity.scm:
3542         * tests/benchmarks/mass-elements.gnuplot:
3543         * tests/benchmarks/mass-elements.scm:
3544           Total licensification.
3545
3546 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3547
3548         * gst/parse/Makefile.am:
3549           Fix the build by correcting the rule that gave wrong files to flex.
3550
3551 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3552
3553         * tests/benchmarks/complexity.c:
3554         * tests/benchmarks/mass-elements.c:
3555           Change licence to LGPL as granted by Benjamin and Andy.
3556
3557 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3558
3559         * gst/parse/Makefile.am:
3560         Add correct grammar.tab.h dependency if compiling without new enough
3561         flex. Fixes #431150.
3562
3563 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3564
3565         * gst/parse/Makefile.am:
3566         Fix typo and use outdated sources if the flex/bison sources are newer
3567         than the pregenerated ones but flex is too old. Print a warning in
3568         that case. This should fix the build on the build bot.
3569
3570 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3571
3572         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3573         * gst/parse/Makefile.am:
3574         * gst/parse/grammar.y:
3575         * gst/parse/parse.l:
3576         Make the parser reentrant and recursively callable. This requires flex
3577         >= 2.5.31, for older versions pregenerated sources are used as we
3578         can't bump the build dependency. Finally fixes #349180.
3579
3580         * gst/gstparse.c: (gst_parse_launch):
3581         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3582         now anyway.
3583
3584         * docs/gst/Makefile.am:
3585         * docs/gst/Makefile.am:
3586         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3587         (__gst_parse_strfree), (__gst_parse_link_new),
3588         (__gst_parse_link_free), (__gst_parse_chain_new),
3589         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3590         (gst_parse_element_set), (gst_parse_free_link),
3591         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3592         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3593         (_gst_parse_launch):
3594         * gst/parse/grammar.tab.pre.h:
3595         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3596         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3597         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3598         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3599         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3600         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3601         (_gst_parse_yypop_buffer_state),
3602         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3603         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3604         (yy_fatal_error), (_gst_parse_yyget_extra),
3605         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3606         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3607         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3608         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3609         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3610         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3611         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3612         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3613         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3614         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3615         (_gst_parse_yyfree):
3616         If the installed flex version is too old use pre-generated parser
3617         sources. These pre-generated parser sources are always updated when
3618         the actual flex/bison sources change but require everybody who wants
3619         to change something in the parser to have flex >= 2.5.31 installed.
3620
3621 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3622
3623         * common/m4/gst-gettext.m4:
3624         * gst/gst-i18n-lib.h:
3625           Make --disable-nls to work
3626
3627 2007-04-17  Wim Taymans  <wim@fluendo.com>
3628
3629         * gst/gstconfig.h.in:
3630         Revert previous change that broke the build.
3631
3632 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3633
3634         * configure.ac:
3635         * gst/Makefile.am:
3636         * gst/gstconfig.h.in:
3637           Drop libxml2 dependency when building with 
3638           --enable-binary-registry --disable-loadsave
3639
3640 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3641
3642         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3643         (gst_registry_binary_read_cache):
3644         * gst/gstregistrybinary.h:
3645           Remove unnecessary <sys/mman.h> include which broke the win32 build
3646           with MingW; move includes from header file to .c file, even if the
3647           header file isn't installed; use g_strerror() where UTF-8 strings
3648           are expected, such as in GST_DEBUG messages.
3649
3650 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3651
3652         * docs/libs/gstreamer-libs-sections.txt:
3653         Remove bogus addition for API I didn't end up keeping.
3654
3655         * libs/gst/base/gstbasesrc.h:
3656         Mention Since: 0.10.13 in the documentation.
3657
3658         Add the API keyword to the previous ChangeLog entry.
3659
3660 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3661
3662         * docs/libs/gstreamer-libs-sections.txt:
3663         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3664         (gst_base_src_default_prepare_seek_segment),
3665         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3666         * libs/gst/base/gstbasesrc.h:
3667         Allow basesrc derived classes to execute seeks in other formats
3668         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3669         to prepare the GstSegment in any format that their perform_seek method
3670         will be able to understand. The default implementation provides the
3671         old behaviour of attempting to convert the seek offsets to the 
3672         configured native format.
3673
3674         API: basesrc::prepare_seek_segment vmethod.
3675
3676 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3677
3678         * gst/gstelement.c: (gst_element_get_state_func):
3679         Don't output the same debug statement twice.
3680
3681         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3682         (gst_adapter_peek), (gst_adapter_take_buffer):
3683         Optimise the case where we have buffers at the head of the queue that
3684         can be joined quickly (because they're contiguous sub-buffers) by
3685         merging them together rather than copying data out into new memory.
3686
3687         * gst/parse/grammar.y:
3688         * tests/check/pipelines/parse-launch.c:
3689         Fix a leak in an error path for parse_launch, and add a check 
3690         for it to the testsuite.
3691
3692 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3693
3694         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3695           Don't deadlock when releasing a pad - gst_pad_set_active may try
3696           and take the multiqueue lock too.
3697
3698 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3699
3700         * gst/gsterror.c: (_gst_core_errors_init):
3701         * gst/gsterror.h:
3702           API: add GST_CORE_ERROR_DISABLED (#392804).
3703
3704 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * docs/faq/gst-uninstalled:
3707           don't get empty paths on the PATH variables
3708         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3709           Don't format for the uncommon terminal width of 84 characters.
3710
3711 2007-04-06  Wim Taymans  <wim@fluendo.com>
3712
3713         * gst/gstpipeline.c: (reset_stream_time),
3714         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3715         Only try to select a different pipeline clock when we went back to
3716         PAUSED and not when we merely got flushed.
3717
3718 2007-04-05  Michael Smith  <msmith@fluendo.com>
3719
3720         * tools/gst-launch.1.in:
3721           fractions are better supported in gstreamer than ractions, so
3722           suggest using those.
3723
3724 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3725
3726         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3727
3728         * po/LINGUAS:
3729         * po/da.po:
3730           Added Danish translation.
3731
3732 2007-04-05  Wim Taymans  <wim@fluendo.com>
3733
3734         * libs/gst/base/gstbasesink.c:
3735         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3736         Fix leak caused when refusing newsegment after EOS.
3737
3738         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3739         (gst_fake_sink_init), (gst_fake_sink_set_property),
3740         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3741         (gst_fake_sink_render), (gst_fake_sink_change_state):
3742         * plugins/elements/gstfakesink.h:
3743         Add num-buffers property to make the element generate EOS after a
3744         configurable amount of buffers.
3745         API: fakesink::num-buffers property.
3746
3747         * tests/check/elements/fakesink.c: (GST_START_TEST),
3748         (fakesink_suite):
3749         Fix GstBus leak in test.
3750         Test for fakesink num-buffers.
3751
3752 2007-04-05  Wim Taymans  <wim@fluendo.com>
3753
3754         * libs/gst/base/gstbasesink.c:
3755         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3756         (gst_base_sink_change_state):
3757         Don't accept anything after an EOS, return UNEXPECTED instead.
3758
3759         * tests/check/elements/fakesink.c: (GST_START_TEST),
3760         (fakesink_suite):
3761         Unit test for new EOS behaviour.
3762
3763 2007-04-05  Wim Taymans  <wim@fluendo.com>
3764
3765         * gst/gstelement.c: (gst_element_get_request_pad):
3766         Make padtemplates also work when they don't contain %s or %d.
3767
3768 2007-04-05  Wim Taymans  <wim@fluendo.com>
3769
3770         * docs/gst/gstreamer-sections.txt:
3771         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3772         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3773         * gst/gstclock.h:
3774         Improve _adjust_unlocked() so that it overflows less.
3775         Add gst_clock_unadjust_unlocked to convert from external time to
3776         internal time based on calibration.
3777         Add some more debug.
3778         API: GstClock::gst_clock_unadjust_unlocked()
3779
3780 2007-04-03  Wim Taymans  <wim@fluendo.com>
3781
3782         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3783
3784         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3785         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3786         when releasing sink pad. Fixes #425400.
3787
3788 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3789
3790         * docs/random/ensonic/dynlink.txt:
3791           More work on proposal for new core api.
3792
3793         * docs/libs/gstreamer-libs-sections.txt:
3794         * libs/gst/base/gstbasetransform.h:
3795           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3796           
3797         * libs/gst/controller/gstcontroller.c:
3798         (on_object_controlled_property_changed),
3799         (gst_controller_sync_values),
3800         (gst_controller_set_interpolation_mode):
3801         * libs/gst/controller/gstcontroller.h:
3802           Less verbose logging add docs for unimplemented parts and correctly
3803           return when using unavailable parts.
3804
3805 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3806
3807         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3808         Move all the debug to the CLOCK category, and associate it with
3809         the clock object.
3810
3811 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3812
3813         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3814         Make take_buffer a bit quicker by removing redundant checks
3815         caused by calling gst_adapter_take.
3816
3817 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3818
3819         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3820           Don't leak GCond.
3821
3822         * tests/check/Makefile.am:
3823         * tests/check/elements/.cvsignore:
3824         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3825         (GST_START_TEST), (multiqueue_suite):
3826           Add some dead simple unit tests for the 'multiqueue' element
3827           (some bits don't work yet and are disabled for now).
3828
3829 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3830
3831         * gst/gstelement.c: (gst_element_get_request_pad),
3832         (gst_element_class_get_request_pad_template):
3833           Make gst_element_get_request_pad() create request pads only for
3834           request pad templates and not for, say, sometimes pad templates.
3835
3836 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3837
3838         * docs/design/draft-klass.txt:
3839           Add example that needs more thinking.
3840         
3841         * docs/design/draft-missing-plugins.txt:
3842           More thoughts about wrapper plugins.
3843         
3844         * docs/random/ensonic/embedded.txt:
3845         * docs/random/ensonic/profiling.txt:
3846           More design work.
3847
3848 2007-03-25  Wim Taymans  <wim@fluendo.com>
3849
3850         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3851         (gst_base_src_loop):
3852         Only push the segment events in the PLAYING state for live sources.
3853
3854 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3855
3856         * gst/gstpipeline.c: (gst_pipeline_change_state):
3857         Modify the clock distribution path in PAUSED->PLAYING so that we 
3858         never attempt to choose a new clock unless we're actually leaving
3859         the PAUSED state for the first time. This prevents choosing a
3860         different clock when the state_change gets called for a 2nd time due
3861         to some element doing an async state change.
3862
3863 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3864
3865         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3866         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3867         (gst_pad_chain_unchecked), (gst_pad_push):
3868         Revert last commit. This needs some more thoughts.
3869
3870 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3871
3872         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3873         (gst_pad_chain_unchecked), (gst_pad_push):
3874         Check in set_caps if the caps are compatible with the pad and remove
3875         two functions that are redundant now. Fixes #421543.
3876
3877 2007-03-22  Wim Taymans  <wim@fluendo.com>
3878
3879         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3880         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3881         Unref some more to make valgrind happy.
3882
3883 2007-03-22  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3886         (gst_system_clock_id_wait_jitter),
3887         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3888         Fix anoying regression that survived a few releases. When adding an
3889         async entry while blocking on a sync entry, the sync entry will unblock
3890         but still be busy, so it should continue to wait instead of returning
3891         _BUSY to the app.
3892         Add some comments here and there.
3893
3894         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3895         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3896         Add testcase for this.
3897
3898 2007-03-22  Wim Taymans  <wim@fluendo.com>
3899
3900         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3901         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3902         WRONG_STATE and can silently pause the task. All other cases should
3903         error out.
3904
3905 2007-03-22  Wim Taymans  <wim@fluendo.com>
3906
3907         Patch by: Ville Syrjala <syrjala at sci dot fi>
3908
3909         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3910         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3911         Improve debugging.
3912
3913 2007-03-21  Michael Smith  <msmith@fluendo.com>
3914
3915         * docs/pwg/advanced-types.xml:
3916           Fix some errors in the typefinding docs pointed out on irc.
3917
3918 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3919
3920         * libs/gst/base/gstbasesrc.c:
3921         Clarify FIXME comment in the face of having added unlock_stop()
3922
3923 2007-03-21  Wim Taymans  <wim@fluendo.com>
3924
3925         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3926         Prepare for release where we warn against possible app breakage in the
3927         case of live pipelines along with an env var to enable/disable live
3928         preroll mode (GST_COMPAT=[no-]live-preroll).
3929
3930 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3931
3932         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3933         So we should use correct constants for checking for None offset.
3934
3935 2007-03-20  Wim Taymans  <wim@fluendo.com>
3936
3937         * docs/design/part-block.txt:
3938         Mention the fact that the newly switched element should be set to at
3939         least PAUSED.
3940
3941 2007-03-20  Wim Taymans  <wim@fluendo.com>
3942
3943         * gst/gst.c:
3944         Fix compilation with registry disabled as spotted by Saur.
3945
3946 2007-03-20  Wim Taymans  <wim@fluendo.com>
3947
3948         Patch by: Olivier Crete <tester at tester dot ca>
3949
3950         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3951         Look at the pending state too when syncing the element state to the
3952         parent. Fixes #420133.
3953
3954 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3955
3956         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3957         (gst_base_sink_change_state):
3958         * libs/gst/base/gstbasesink.h:
3959         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3960         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3961         (gst_base_src_deactivate):
3962         * libs/gst/base/gstbasesrc.h:
3963         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3964         for sub-classes to correctly clear any state they set trying to
3965         unlock, such as clearing out unlock commands from a command fd.
3966         API: basesrc::unlock_stop
3967         API: basesink::unlock_stop
3968
3969         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3970         (gst_fd_sink_render), (gst_fd_sink_unlock),
3971         (gst_fd_sink_unlock_stop):
3972         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3973         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3974         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3975
3976         Implement unlock_stop in fdsrc and fdsink.
3977         Implement seeking in fdsrc when a seekable fd is passed, as in
3978         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3979
3980 2007-03-19  Wim Taymans  <wim@fluendo.com>
3981
3982         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3983
3984         * gst/gstelement.c: (gst_element_class_init):
3985         Fix pad-added and pad-removed signal signatures so that the pad type is
3986         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3987
3988 2007-03-19  Wim Taymans  <wim@fluendo.com>
3989
3990         * docs/gst/gstreamer-sections.txt:
3991         Add new element field and method.
3992
3993         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3994         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3995         (gst_bin_recalc_state), (gst_bin_get_state_func),
3996         (gst_bin_element_set_state), (gst_bin_change_state_func),
3997         (gst_bin_continue_func), (bin_bus_handler),
3998         (bin_push_state_continue), (bin_handle_async_start),
3999         (bin_handle_async_done), (gst_bin_handle_message_func):
4000         Make async state changes a bit smarter by using new ASYNC_START and
4001         ASYNC_DONE messages. This reduces the number of times we run the state
4002         recalculation thread.
4003         Don't change state of element with a pending ASYNC_START message.
4004         Deprecate STATE_DIRTY messages.
4005         
4006         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
4007         (gst_element_get_state_func), (gst_element_continue_state),
4008         (gst_element_lost_state), (gst_element_set_state_func),
4009         (gst_element_change_state):
4010         * gst/gstelement.h:
4011         Keep the state that was last set by the app in a new element field.
4012         Don't allow state changes when handling an element event.
4013         Post ASYNC_START and ASYNC_DONE messages.
4014         Change lost_state so that we go to PAUSED and wait for the parent to set
4015         us to PLAYING again (so latency calculation can be performed)
4016         Export gst_element_change_state() method so that subclasses can use it.
4017         API: gst_element_change_state()
4018         API: GST_STATE_TARGET
4019
4020         * gst/gstpipeline.c: (gst_pipeline_class_init),
4021         (reset_stream_time), (gst_pipeline_change_state),
4022         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
4023         Using the new ASYNC_START message we can reset the base_time when
4024         needed. This can then be used to implement base_time redistribution in
4025         flushing seeks so that we can remove the explicit seek handling.
4026         Perform latency query and configuration when going to PLAYING.
4027
4028         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4029         (gst_base_sink_query), (gst_base_sink_change_state):
4030         Post new ASYNC_START/ASYNC_DONE messages.
4031
4032         * tests/check/generic/sinks.c: (GST_START_TEST):
4033         Fix test because the bin will not set the async element to PLAYING right
4034         away.
4035
4036         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
4037         Make the message check a little stronger.
4038         Handle ASYNC messages.
4039
4040         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
4041         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
4042         Expect ASYNC_DONE messages.
4043
4044 2007-03-19  Wim Taymans  <wim@fluendo.com>
4045
4046         * docs/gst/gstreamer-sections.txt:
4047         * gst/gstmessage.c: (gst_message_new_async_start),
4048         (gst_message_new_async_done), (gst_message_parse_info),
4049         (gst_message_parse_async_start):
4050         * gst/gstmessage.h:
4051         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
4052         support.
4053
4054 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4055
4056         * tools/gst-inspect.c:
4057         (print_plugin_automatic_install_info_codecs):
4058           Now that we don't check for the 'Codec' keyword any longer in the
4059           klass, we shouldn't spew a warning if the klass isn't a decoder or
4060           encoder (since it might be a Source/Network, for example).
4061
4062 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4063
4064         * tools/gst-inspect.c:
4065         (print_plugin_automatic_install_info_codecs):
4066           Don't require decoder/demuxer/depayloader elements or
4067           encoder/muxer/paylader elements to have 'Codec' as part of their
4068           factory class string when introspecting a plugin's capabilities.
4069           draft-klass.txt mentions that it might be removed in future, and
4070           flump3dec doesn't have it as part of its class string, so chances
4071           are others might also not have it.
4072
4073 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4074
4075         * po/af.po:
4076         * po/az.po:
4077         * po/bg.po:
4078         * po/ca.po:
4079         * po/cs.po:
4080         * po/de.po:
4081         * po/en_GB.po:
4082         * po/fr.po:
4083         * po/it.po:
4084         * po/nb.po:
4085         * po/nl.po:
4086         * po/ru.po:
4087         * po/sq.po:
4088         * po/sr.po:
4089         * po/sv.po:
4090         * po/tr.po:
4091         * po/uk.po:
4092         * po/vi.po:
4093         * po/zh_CN.po:
4094         * po/zh_TW.po:
4095           Update translations from translation project
4096
4097 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
4098
4099         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
4100         (gst_child_proxy_set_property):
4101           Invert precondition check to be alike the ones in the mimiced gobject
4102           api.
4103
4104 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
4105
4106         * docs/design/draft-tagreading.txt:
4107         * docs/random/ensonic/audiobaseclasses.txt:
4108           Do some Architect work.
4109
4110         * gst/gstobject.c: (gst_object_set_name):
4111           Add a WARNING.
4112
4113         * gst/gstpad.c:
4114           Add docs that point from gst_pad_get_range to gst_pad_pull_range
4115
4116 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
4117
4118         * gst/gstsystemclock.c: (gst_system_clock_init),
4119         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
4120         Defer starting the async system clock thread until the first async
4121         wait is scheduled. Fixes #414986.
4122
4123 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4124
4125         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
4126         (gst_single_queue_free):
4127           Fix small leak (free GstSingleQueue structure too, not only contents).
4128
4129 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
4130
4131         * gst/gstbin.c:(gst_bin_add):
4132         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
4133         * win32/common/libgstbase.def:
4134         * win32/common/libgstreamer.def:
4135         Add new exported functions.
4136
4137 2007-03-09  Wim Taymans  <wim@fluendo.com>
4138
4139         * docs/plugins/gstreamer-plugins-sections.txt:
4140         Fix GstTee docs.
4141
4142 2007-03-09  Wim Taymans  <wim@fluendo.com>
4143
4144         * docs/gst/gstreamer-sections.txt:
4145         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
4146         * gst/gstbuffer.h:
4147         Add metadata copy functions. Fixes #393099.
4148         API: gst_buffer_copy_metadata()
4149
4150         * gst/gstutils.c: (gst_buffer_stamp):
4151         * libs/gst/base/gstbasetransform.c:
4152         (gst_base_transform_prepare_output_buffer):
4153         Use new metadata copy functions.
4154
4155 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4156
4157         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4158         (gst_identity_init), (gst_identity_check_perfect),
4159         (gst_identity_check_imperfect_timestamp),
4160         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
4161         (gst_identity_set_property), (gst_identity_get_property):
4162         * plugins/elements/gstidentity.h:
4163         Separate out check-imperfect-timestamp and check-imperfect-offset.
4164         Put back check-perfect as it was to keep compatibility.
4165
4166 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
4167
4168         * gst/gstelement.c: (gst_element_dispose):
4169         There's no need to warn if VOID_PENDING is not NONE here, as
4170         long as the state is NULL it's ok, and that's checked immediately
4171         above.
4172
4173 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4174
4175         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4176         Fix check for perfect stream to ignore buffers with -1 
4177         offsets/offset ends when checking data contiguity.
4178
4179 2007-03-08  Wim Taymans  <wim@fluendo.com>
4180
4181         * tools/gst-launch.c: (event_loop):
4182         Print INFO messages.
4183
4184 2007-03-08  Wim Taymans  <wim@fluendo.com>
4185
4186         * libs/gst/base/gstbasetransform.c:
4187         (gst_base_transform_sink_eventfunc),
4188         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4189         (gst_base_transform_activate):
4190         * libs/gst/base/gstbasetransform.h:
4191         Add support for dropping buffers with custom GstFlowReturn.
4192         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
4193         buffers or dropped buffers.
4194
4195         * docs/libs/gstreamer-libs-sections.txt:
4196         docs for new custom return code.
4197
4198         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4199         Use drop support in base class to implement drop-probability.
4200
4201 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4202
4203         * gst/gst.c: (load_plugin_func):
4204         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
4205         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4206         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
4207           Remove newlines at end of debug log strings.
4208
4209 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4210
4211         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4212         Only post bus message at max, once per buffer received.
4213
4214 2007-03-07  Wim Taymans  <wim@fluendo.com>
4215
4216         * docs/design/Makefile.am:
4217         * docs/design/part-synchronisation.txt:
4218         Add doc about synchronisation
4219
4220         * docs/design/draft-latency.txt:
4221         * docs/design/part-TODO.txt:
4222         * docs/design/part-clocks.txt:
4223         * docs/design/part-events.txt:
4224         * docs/design/part-gstbus.txt:
4225         * docs/design/part-gstpipeline.txt:
4226         * docs/design/part-live-source.txt:
4227         * docs/design/part-messages.txt:
4228         * docs/design/part-overview.txt:
4229         * docs/design/part-streams.txt:
4230         * docs/design/part-trickmodes.txt:
4231         Documentation updates.
4232
4233 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4234
4235         * gstreamer.doap:
4236         Update the doap file.
4237
4238 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4239
4240         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4241         Rename non-perfect to imperfect for Mike and for the sanctity of the
4242         language.
4243         Also make sure bus message gets emitted for data-incontiguities.
4244
4245 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4246
4247         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
4248         (gst_identity_start):
4249         * plugins/elements/gstidentity.h:
4250         Emit bus message if check-perfect is true and we encounter a
4251         non-perfect stream between 2 consecutive buffers.
4252         Fixes #415394.
4253
4254 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4255
4256         * configure.ac:
4257         Back to CVS
4258
4259 === release 0.10.12 ===
4260
4261 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
4262
4263         * configure.ac:
4264           releasing 0.10.12, "Inevitable Demise"
4265
4266 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
4267
4268         * configure.ac:
4269          Version 0.10.11.2 (0.10.12 pre-release)
4270          Bump libtool versioning.
4271
4272 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
4273
4274         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4275           Log flow-names and not numbers.
4276
4277 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4278
4279         * configure.ac:
4280           Convert to new AG_GST style.
4281
4282 2007-02-28  Wim Taymans  <wim@fluendo.com>
4283
4284         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
4285         Don't unref query twice.
4286
4287 2007-02-28  Wim Taymans  <wim@fluendo.com>
4288
4289         * gst/gstvalue.c: (gst_value_transform_object_string),
4290         (_gst_value_initialize):
4291         Implement GstObject -> string transform so we print object names
4292         when serializing GValues containing GstObjects.
4293
4294 2007-02-28  Wim Taymans  <wim@fluendo.com>
4295
4296         * docs/gst/gstreamer-sections.txt:
4297         Add new stuff to docs.
4298
4299 2007-02-28  Wim Taymans  <wim@fluendo.com>
4300
4301         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4302         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
4303         (gst_base_sink_change_state):
4304         Improve latency query code.
4305         Don't leak latency events.
4306
4307         * tests/check/gst/gstbin.c: (GST_START_TEST):
4308         Improve debugging.
4309
4310 2007-02-28  Wim Taymans  <wim@fluendo.com>
4311
4312         * gst/gstelement.c: (gst_element_message_full),
4313         (gst_element_get_state_func):
4314         * gst/gstelement.h:
4315         Improve docs a little. Added Since: for new macro.
4316
4317         * gst/gstobject.c: (gst_object_sink):
4318         * gst/gstpipeline.c: (gst_pipeline_change_state),
4319         (gst_pipeline_set_new_stream_time):
4320         * gst/gstpipeline.h:
4321         Improve debugging and docs.
4322
4323         * gst/gstutils.c: (gst_element_state_change_return_get_name):
4324         Improve debugging.
4325
4326 2007-02-28  Wim Taymans  <wim@fluendo.com>
4327
4328         * gst/gstelement.c: (gst_element_message_full),
4329         (gst_element_set_locked_state), (gst_element_get_state_func),
4330         (gst_element_change_state):
4331         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
4332         Documentation updates.
4333         Small code cleanups.
4334
4335         * gst/gstmessage.c: (gst_message_new_info),
4336         (gst_message_parse_info):
4337         * gst/gstmessage.h:
4338         API: gst_message_new_info()
4339         API: gst_message_parse_info()
4340         Add INFO message create and parse code.
4341
4342 2007-02-28  Wim Taymans  <wim@fluendo.com>
4343
4344         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
4345         (bin_query_latency_done):
4346         Also report the live parameter of a latency query.
4347
4348 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4349
4350         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
4351           Copy the current generic/states example from -base and adapt so
4352           we can use the exact same code everywhere.
4353           Check a STATES_IGNORE_ELEMENTS env var which can be used
4354           to ignore certain element factories for this test, which is
4355           what is being done in -base
4356         * tests/check/Makefile.am:
4357           Mention this environment variable.
4358
4359 2007-02-27  Wim Taymans  <wim@fluendo.com>
4360
4361         * docs/gst/gstreamer-sections.txt:
4362         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
4363         (gst_bus_timed_pop), (gst_bus_pop):
4364         * gst/gstbus.h:
4365         API: gst_bus_timed_pop()
4366         Implement gst_bus_timed_pop() to do a blocking timed wait for a
4367         message to arrive on the bus.
4368
4369         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
4370         (gst_bus_suite):
4371         Two unit tests for new _timed_pop() function.
4372
4373 2007-02-23  Wim Taymans  <wim@fluendo.com>
4374
4375         * gst/gstpipeline.c: (gst_pipeline_change_state),
4376         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
4377         Don't ref a NULL clock in _provide_clock_func().
4378         Don't allow an INVALID delay.
4379         Don't try to calculate base_time with an invalid start_time.
4380         Also distribute and notify a NULL clock when it was selected.
4381
4382         * tools/gst-launch.c: (event_loop):
4383         Don't crash when a NULL clock was selected in the pipeline.
4384
4385 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4386
4387         * docs/design/Makefile.am:
4388         * docs/design/draft-missing-plugins.txt:
4389         * docs/random/draft-missing-plugins.txt:
4390           Some small updates: update plugin system identifier prefix
4391           ('gstreamer.net' to 'gstreamer'), mention our new install
4392           API in libgstbaseutils rather than libgimme-codec, add
4393           reference to the online docs.
4394
4395 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4396
4397         * win32/common/config.h:
4398           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
4399           use moap cl ci to only check in what is mentioned in the ChangeLog.
4400
4401 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4402
4403         * docs/gst/gstreamer-sections.txt:
4404         * gst/gstelement.h:
4405           Fix up documentation to link to the correct GstGError section.
4406           Add GST_ELEMENT_INFO macro since someone else added a Info message.
4407
4408 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * tools/gst-launch.c: (event_loop):
4411           Make sure that we actually show the important message part of a
4412           warning message.
4413           No need to check if the gerror is not NULL to free; first of all
4414           g_free accepts NULL; and second the default error handler would
4415           segfault if gerror was NULL.
4416
4417 2007-02-21  Wim Taymans  <wim@fluendo.com>
4418
4419         * docs/gst/gstreamer-sections.txt:
4420         Removed docs as well.
4421
4422 2007-02-21  Wim Taymans  <wim@fluendo.com>
4423
4424         * gst/gstmessage.c: (gst_message_parse_duration):
4425         * gst/gstmessage.h:
4426         Remove new messages for release.
4427
4428 2007-02-20  Wim Taymans  <wim@fluendo.com>
4429
4430         * docs/design/part-gstghostpad.txt:
4431         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
4432         (gst_ghost_pad_new_full):
4433         Make the ghostpad a parent of the internal pad again for better backward
4434         compatibility. Don't write code that relies on this however.
4435
4436         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4437         (gst_pad_link_check_hierarchy):
4438         Require that parents should be GstElements in the hierarchy check.
4439
4440 2007-02-20  Wim Taymans  <wim@fluendo.com>
4441
4442         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
4443         (gst_bin_change_state_func), (bin_query_min_max_init),
4444         (bin_query_latency_fold), (bin_query_latency_done),
4445         (gst_bin_query):
4446         Improve debug info.
4447         Implement latency query.
4448
4449 2007-02-20  Wim Taymans  <wim@fluendo.com>
4450
4451         * docs/design/part-gstghostpad.txt:
4452         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
4453         (gst_ghost_pad_internal_do_activate_push),
4454         (gst_ghost_pad_internal_do_activate_pull),
4455         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4456         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
4457         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
4458         Do not set the internal pad as a parent anymore so we can avoid
4459         hierarchy linking errors when the ghostpad has no parent yet. This also
4460         fixes failed activation because of unlinked internal pads, which in
4461         turn fixes the impossible case where you have to activate a pad before
4462         you can add it to a running element.
4463         Also fix the docs.
4464
4465         * gst/gstpad.c: (pre_activate), (post_activate),
4466         (gst_pad_set_active), (gst_pad_activate_pull),
4467         (gst_pad_activate_push), (gst_pad_check_pull_range):
4468         Add some more debug info.
4469         Mark activation mode in pre_activate so that we don't try to activate in
4470         endless loops. Fixes #385084.
4471
4472 2007-02-19  Wim Taymans  <wim@fluendo.com>
4473
4474         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4475         (gst_base_transform_check_get_range):
4476         Implement a checkgetrange function instead of relying on the default
4477         core behaviour that assumes we can operate in pull mode if we have a
4478         getrange function. First step at fixing #385084.
4479
4480 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
4481
4482         * gst/gstchildproxy.h:
4483         * libs/gst/base/gstbasesink.h:
4484         * libs/gst/base/gstbasesrc.h:
4485         * libs/gst/base/gstbasetransform.h:
4486         More docs coverage and some ChangeLog surgery (add missing names)
4487
4488 2007-02-15  Wim Taymans  <wim@fluendo.com>
4489
4490         * docs/design/part-TODO.txt:
4491         * docs/design/part-activation.txt:
4492         * docs/design/part-block.txt:
4493         * docs/design/part-buffering.txt:
4494         * docs/design/part-clocks.txt:
4495         * docs/design/part-element-source.txt:
4496         * docs/design/part-events.txt:
4497         * docs/design/part-gstbin.txt:
4498         * docs/design/part-gstbus.txt:
4499         * docs/design/part-gstpipeline.txt:
4500         * docs/design/part-live-source.txt:
4501         * docs/design/part-messages.txt:
4502         * docs/design/part-overview.txt:
4503         * docs/design/part-qos.txt:
4504         * docs/design/part-query.txt:
4505         * docs/design/part-states.txt:
4506         * docs/design/part-trickmodes.txt:
4507         Some doc updates. Start renaming from stream_time to running_time where
4508         it was used wrongly.
4509
4510 2007-02-15  Wim Taymans  <wim@fluendo.com>
4511
4512         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4513         Answer LATENCY query.
4514
4515 2007-02-15  Wim Taymans  <wim@fluendo.com>
4516
4517         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4518         (GST_START_TEST):
4519         Improve debugging.
4520
4521 2007-02-15  Wim Taymans  <wim@fluendo.com>
4522
4523         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4524         (gst_pad_dispatcher):
4525         Improve debugging of default pad dispatcher and query functions.
4526
4527 2007-02-15  Wim Taymans  <wim@fluendo.com>
4528
4529         * docs/gst/gstreamer-sections.txt:
4530         Remove old unused method.
4531
4532 2007-02-13  Wim Taymans  <wim@fluendo.com>
4533
4534         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4535         Fix check
4536
4537 2007-02-13  Wim Taymans  <wim@fluendo.com>
4538
4539         * docs/design/part-seeking.txt:
4540         Some small update.
4541
4542         * gst/gstsegment.c: (gst_segment_set_seek):
4543         Revert old bogus change that should make seeking work again.
4544
4545 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4546
4547         * docs/random/ensonic/dynlink.txt:
4548         * docs/random/ensonic/interfaces.txt:
4549         * docs/random/ensonic/receipies.txt:
4550           Possible dynamic reconnection api, plus some type fixes the other two
4551           docs.
4552
4553 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
4554
4555         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4556         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4557         Also check for an absolute path following file:// in the filesrc
4558         element. Remove redundant check and call g_path_is_absolute() on the
4559         unescaped location.
4560
4561 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4562
4563         * docs/design/draft-klass.txt:
4564           Add existing category analysis.
4565           
4566         * gst/gstcaps.c:
4567           Fix doc example, framerate is a fraction.
4568
4569 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4570
4571         * configure.ac:
4572         * docs/gst/Makefile.am:
4573         * docs/gst/gstreamer-sections.txt:
4574         * docs/libs/Makefile.am:
4575           Erm, forgot a bunch of --extra-dir.
4576
4577 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4578
4579         * configure.ac:
4580         * docs/gst/Makefile.am:
4581         * docs/libs/Makefile.am:
4582         * docs/plugins/Makefile.am:
4583           Add crossreferences to glib/gobject docs.
4584
4585 2007-02-12  Wim Taymans  <wim@fluendo.com>
4586
4587         * docs/design/draft-latency.txt:
4588         Small update.
4589
4590         * docs/libs/gstreamer-libs-sections.txt:
4591         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4592         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4593         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4594         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4595         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4596         (gst_base_sink_get_position), (gst_base_sink_query),
4597         (gst_base_sink_change_state):
4598         * libs/gst/base/gstbasesink.h:
4599         API: gst_base_sink_query_latency() to let subclasses query the upstream
4600         latency.
4601         API: gst_base_sink_get_latency() to let subclasses query the configured
4602         latency in the sink.
4603         Implement query and set latency.
4604         Update some docs.
4605         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
4606         don't continue preroll when we are flushing. Fixes #405284.
4607
4608         * tests/check/pipelines/stress.c: (change_state_timeout),
4609         (quit_timeout), (GST_START_TEST), (stress_suite):
4610         Test for #405284.
4611
4612 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4613
4614         Patch by: René Stadler <mail at renestadler de>
4615
4616         * docs/gst/gstreamer-sections.txt:
4617         * gst/gsttaglist.c: (_gst_tag_initialize):
4618         * gst/gsttaglist.h:
4619           API: add GST_TAG_REFERENCE_LEVEL (#403597).
4620
4621 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
4622
4623         * docs/libs/Makefile.am:
4624           Fix path to core docs.
4625
4626         * gst/gstbin.c: (gst_bin_get_by_interface),
4627         (gst_bin_iterate_all_by_interface):
4628           Refix docs by also renaming 'interface' to 'iface' in implementation.
4629
4630         * docs/gst/gstreamer-sections.txt:
4631         * gst/gstcaps.c:
4632         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4633         * gst/gstchildproxy.h:
4634         * gst/gstelementfactory.c:
4635         * gst/gstpadtemplate.h:
4636         * libs/gst/controller/gstcontroller.c:
4637         (gst_controlled_property_new):
4638           Document more.
4639
4640 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
4641
4642         * gst/gstbin.h:(gst_bin_get_by_interface),
4643         (gst_bin_iterate_all_by_interface):
4644         Replace interface parameter name by iface as interface is 
4645         a reserved keyword in Visual Studio for C++ projects so it removes
4646         a build error for application developpers using VS.
4647         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4648         Fix a bug on Windows in uri format check. Now the prefix checked
4649         is file:// and next we check if the path after file:// is absolute.
4650         * win32/common/libgstbase.def:
4651         * win32/common/libgstdataprotocol.def:
4652         * win32/common/libgstgstreamer.def:
4653         Add new exported functions.
4654
4655 2007-02-09  Andy Wingo  <wingo@pobox.com>
4656
4657         * tests/check/pipelines/simple-launch-lines.c
4658         (simple_launch_lines_suite, test_tee): Disable tee test until I
4659         have time to fix it :-(
4660
4661         * tests/check/Makefile.am (noinst_HEADERS): 
4662         * tests/check/libs/libsabi.c: 
4663         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4664         * tests/check/gst/gstabi.c: 
4665         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4666
4667         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4668         tests for push and pull tee behavior.
4669
4670         * plugins/elements/gsttee.h: 
4671         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4672         mark as deprecated as well as unimplemented. It was a crack idea.
4673         Add support for tee operating in pull mode, off by default.
4674
4675         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4676         normal-case logs down to LOG, raise errors to WARNING.
4677         (gst_registry_xml_read_cache): Don't log before calling a function
4678         that logs.
4679
4680         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4681         exit (registry finalize).
4682         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4683         DEBUG log when we emit signals that people don't even have the
4684         chance to connect to.
4685         (gst_registry_scan_path_level): Less logging in the normal case.
4686
4687 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4688
4689         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4690
4691         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4692         Correctly generate EOS for non-seekable files. We don't have a total
4693         length for them and would get an unexpected end of file if we only
4694         special-cased for regular files. (Fixes: #404569)
4695
4696 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4697
4698         * tests/check/elements/filesrc.c: (GST_START_TEST),
4699         (filesrc_suite):
4700         Add unit test for the GstURIHandler interface in filesrc. This also
4701         tests the newly added file://localhost/foo/bar support.
4702
4703 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4704
4705         * gst/gstelementfactory.h:
4706           The klass string is not a hierarchy. Add reference to the design doc
4707           for more information and common types.
4708
4709 2007-02-02  Wim Taymans  <wim@fluendo.com>
4710
4711         * gst/gstquery.c: (gst_query_new_latency):
4712         Remove old structure field.
4713
4714 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4715
4716         * tools/gst-launch.1.in:
4717           Give example for network streaming (#351998)
4718
4719 2007-02-02  Wim Taymans  <wim@fluendo.com>
4720
4721         * docs/gst/gstreamer-sections.txt:
4722         Add docs for new methods.
4723
4724         * gst/gstevent.c: (gst_event_new_latency),
4725         (gst_event_parse_latency):
4726         * gst/gstevent.h:
4727         Add new LATENCY event to configure latency in a pipeline.
4728         API: gst_event_new_latency
4729         API: gst_event_parse_latency
4730
4731         * gst/gstmessage.c: (gst_message_new_buffering),
4732         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4733         (gst_message_new_latency), (gst_message_parse_buffering),
4734         (gst_message_parse_lost_preroll):
4735         * gst/gstmessage.h:
4736         Added messages used in draft-latency.
4737         API: gst_message_new_lost_preroll
4738         API: gst_message_parse_lost_preroll
4739         API: gst_message_new_prerolled
4740         API: gst_message_new_latency
4741
4742         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4743         (gst_query_parse_latency):
4744         * gst/gstquery.h:
4745         Implemented new latency query as in design doc.
4746         API: gst_query_new_latency
4747         API: gst_query_set_latency
4748         API: gst_query_parse_latency
4749
4750 2007-02-02  Wim Taymans  <wim@fluendo.com>
4751
4752         * docs/design/draft-latency.txt:
4753         Slight redesign to allow for dynamic latency adjustments.
4754
4755         * docs/design/part-negotiation.txt:
4756         Fix some typos.
4757
4758 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4759
4760         reviewed by: Wim Taymans <wim@fluendo.com>
4761
4762         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4763         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4764         Allow file://localhost/foo/bar URLs and correctly fail for every other
4765         hostname that one sets. This was gnomevfssrc is linked for those if
4766         installed as it can handle it (#403172)
4767
4768 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4769
4770         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4771
4772         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4773         (unref_data), (gst_collect_pads_add_pad_full):
4774         * libs/gst/base/gstcollectpads.h:
4775         Don't put the previously added destroy notify in the GstCollectData
4776         struct as all it's padding is already used and we don't want to break
4777         ABI. Instead put in the pad's GObject data for now. This should be
4778         cleaned up for 0.11 (#402393).
4779
4780 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4781
4782         reviewed by: Wim Taymans <wim@fluendo.com>
4783
4784         * docs/libs/gstreamer-libs-sections.txt:
4785         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4786         (unref_data), (gst_collect_pads_add_pad),
4787         (gst_collect_pads_add_pad_full):
4788         * libs/gst/base/gstcollectpads.h:
4789         API: Add function to specify a destroy notification for custom
4790         GstCollectData when adding new pads in GstCollectPads (#402393).
4791
4792 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
4793
4794         * po/sv.po:
4795           Update Swedish translation (#378255).
4796
4797 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4798
4799         * docs/design/draft-klass.txt:
4800           Fix the previous change, this is a list of categories and not a hierarchy.
4801
4802 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4803
4804         * docs/design/draft-klass.txt:
4805           Add info about how to get a list of used classes.
4806
4807 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
4808
4809         * plugins/elements/gsttypefindelement.c:
4810         (gst_type_find_element_chain_do_typefinding),
4811         (gst_type_find_element_change_state):
4812           Don't leak found caps in chain function (no idea why that never
4813           showed up as a leak anywhere).
4814
4815 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
4816
4817         * gst/gstplugin.h:
4818           Fix and expand GstPluginDesc API docs.
4819
4820 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4821
4822         * gst/gstcaps.c:
4823         * gst/gstelementfactory.c:
4824         * gst/gstpadtemplate.h:
4825           api doc fixes
4826
4827         * libs/gst/controller/gstcontroller.c:
4828         (gst_controlled_property_new):
4829         * tests/examples/controller/audio-example.c:
4830           comment fixes
4831
4832 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4833
4834         * configure.ac:
4835           comment about refining the xml deps
4836
4837         * docs/manuals.mak:
4838           comments about moving away from jade for docs
4839         
4840         * gst/gst.c:
4841           recommit the ifdefs to use the binary registry
4842         
4843         * gst/gstbin.c: (gst_bin_change_state_func):
4844           this break is obsolete
4845
4846         * gst/gstelementfactory.h:
4847           better GST_ELEMENT_DETAILS docs, add comment about translation
4848
4849         * gst/gstinfo.h:
4850           remove eol slash
4851
4852         * gst/gstobject.c: (gst_signal_object_get_type):
4853           add G_UNLIKELY as usual
4854
4855         * gst/gstpad.c: (gst_pad_event_default):
4856           add fall trhu comment
4857
4858         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4859         (gst_registry_binary_initialize_magic),
4860         (gst_registry_binary_save_string),
4861         (gst_registry_binary_save_pad_template),
4862         (gst_registry_binary_save_feature),
4863         (gst_registry_binary_save_plugin),
4864         (gst_registry_binary_write_cache),
4865         (gst_registry_binary_check_magic),
4866         (gst_registry_binary_load_pad_template),
4867         (gst_registry_binary_load_feature),
4868         (gst_registry_binary_load_plugin),
4869         (gst_registry_binary_read_cache):
4870           comment typo and formatting
4871
4872         * gst/gstutils.c: (gst_element_state_get_name),
4873         (gst_element_state_change_return_get_name):
4874           remove obsolete breaks
4875
4876         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4877           add FIXME 0.11 and remove cpp comment
4878
4879 2007-01-29  Edward Hervey  <edward@fluendo.com>
4880
4881         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4882         Fix print statement in an even more portable way.
4883
4884 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4885
4886         * docs/gst/gstreamer-sections.txt:
4887         * gst/gstutils.h:
4888           API: add GST_ROUND_DOWN_* macros (#401781).
4889
4890 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4891
4892         * docs/gst/gstreamer.types.in:
4893         * gst/gstregistry.c: (gst_registry_class_init):
4894           Document registry signals and make gtk-doc pick them up (#401381).
4895
4896 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4897
4898         * docs/pwg/building-testapp.xml:
4899           Add some audioconverts and audioresample to the pipeline, and some
4900           more comments and error handling.
4901
4902 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4903
4904         * docs/manual/manual.xml:
4905         * docs/pwg/pwg.xml:
4906           Fix typo (#400987).
4907
4908 2007-01-26  Wim Taymans  <wim@fluendo.com>
4909
4910         * gst/gstcaps.c: (gst_static_caps_get):
4911         Init caps flags too.
4912
4913 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4914
4915         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4916
4917         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4918         If not using mmap'ed files try to seek to the end instead of the
4919         start to determine whether we can seek at all. This fixes the case
4920         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4921         seeks for everything afterwards fail. Fixes #400656
4922
4923 2007-01-25  Wim Taymans  <wim@fluendo.com>
4924
4925         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4926         Add some refcount debugging.
4927         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4928         in multiple streaming threads.
4929
4930 2007-01-25  Wim Taymans  <wim@fluendo.com>
4931
4932         Patch by: David Schleef <ds at schleef dot org>
4933
4934         * docs/libs/gstreamer-libs-sections.txt:
4935         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4936         * libs/gst/base/gstadapter.h:
4937         API: gst_adapter_copy() that can reduce the amount of memcpy when
4938         getting data from the adapter. Fixes #388201.
4939
4940 2007-01-25  Edward Hervey  <edward@fluendo.com>
4941
4942         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4943         In print statements, "%x" is for guint. Fixes build on macosx.
4944
4945 2007-01-24  Edward Hervey  <edward@fluendo.com>
4946
4947         * plugins/elements/gstmultiqueue.c:
4948         (gst_multi_queue_loop):
4949         Small fix.
4950         (single_queue_overrun_cb), (single_queue_underrun_cb),
4951         (single_queue_check_full), (gst_single_queue_new):
4952         Implement single queue growth system.
4953         This uses the extra-size properties, and will grow single queues by
4954         that much if one goes full whereas there are others empty. This is
4955         called extra-mode in the code.
4956         When a single queue's levels go back below the initial max-size
4957         limits, it is no longer in extra-mode. This is to ensure we don't
4958         consume too much memory.
4959         Fixes #399875
4960
4961 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4962
4963         * gst/gst.c: (gst_init_get_option_group):
4964           Make warning about late g_thread_init() calls a bit more explicit,
4965           so that it's more obvious to application developers what they need
4966           to do if a user files a bug against their application.
4967
4968 2007-01-22  Edward Hervey  <edward@fluendo.com>
4969
4970         * plugins/elements/gstmultiqueue.c:
4971         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4972         Remove previous hack of unsetting the flushing flag for the source pad
4973         instead of activating it. Instead, fix the source pad activate function
4974         so that it no longer depends on having a parent set or not.
4975
4976 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4977
4978         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4979
4980         * docs/manual/basics-bus.xml:
4981           Fix example code, gst_element_unref() doesn't exist any longer.
4982
4983 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4984
4985         Patch by: Mark Nauwelaerts <manauw at skynet be>
4986
4987         * gst/gstpad.c:
4988           Fix two docs typoes (#399094).
4989
4990 2007-01-19  Edward Hervey  <edward@fluendo.com>
4991
4992         * docs/faq/gst-uninstalled:
4993         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4994         depending on libgstbaseutils can work in uninstalled environment.
4995
4996 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4997
4998         * gst/gsttaglist.h:
4999         * gst/gsttagsetter.c:
5000         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
5001         statement for new tag.
5002
5003 2007-01-17  Edward Hervey  <edward@fluendo.com>
5004
5005         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
5006         When dynamically creating single queues, activate sinkpad before adding
5007         it.
5008         We should be doing the same thing for the source pad, but we can't
5009         since it would call a method which needs the parent to be set in order
5010         to work propertly. Instead of activating the source pad, we just unset
5011         the flushing flag, which is the minimal requirement for adding a pad
5012         to an element in a state greater than READY.
5013
5014 2007-01-17  Edward Hervey  <edward@fluendo.com>
5015
5016         * docs/faq/gst-uninstalled:
5017         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
5018         Mac OS X.
5019
5020 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5021
5022         * tests/check/gst/gstabi.c:
5023         * tests/check/gst/struct_hppa.h:
5024         * tests/check/libs/libsabi.c:
5025         * tests/check/libs/struct_hppa.h:
5026           Add ABI structs for HPPA (see #393796).
5027
5028 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5031           Actually write ABI structs to the file specified in the GST_ABI
5032           environment variable, as the message we print claims we would.
5033
5034 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5035
5036         * tests/check/gst/gsttask.c:
5037           Fix header comment.
5038
5039 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5040
5041         * gst/gsttaglist.c: (_gst_tag_initialize):
5042           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
5043           previous two entries.
5044
5045 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5046
5047         * docs/gst/gstreamer-sections.txt:
5048         * gst/gsttaglist.c: (_gst_tag_initialize):
5049         * gst/gsttaglist.h:
5050           Add tag support for beat-per-minute.
5051
5052 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5053
5054         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5055         (gst_registry_binary_initialize_magic),
5056         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
5057         (gst_registry_binary_save_pad_template),
5058         (gst_registry_binary_save_feature),
5059         (gst_registry_binary_save_plugin),
5060         (gst_registry_binary_write_cache),
5061         (gst_registry_binary_check_magic),
5062         (gst_registry_binary_load_pad_template),
5063         (gst_registry_binary_load_feature),
5064         (gst_registry_binary_load_plugin),
5065         (gst_registry_binary_read_cache):
5066         * gst/gstregistrybinary.h:
5067           Use glib types, cleanup comments, impement interfaces and uri-types.
5068
5069 2007-01-13  Andy Wingo  <wingo@pobox.com>
5070
5071         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
5072         getrange() to return buffers with other caps, while we fix
5073         demuxers and typefind, or otherwise change part-negotiation.txt.
5074
5075 2007-01-12  Andy Wingo  <wingo@pobox.com>
5076
5077         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
5078         Factor start/stop into this private function instead of partially
5079         in activate functions and partially in the change_state function.
5080         Fixes setup before the element has changed from READY->PAUSED, as
5081         is the case in pull-mode pipelines.
5082         (gst_base_transform_sink_activate_push)
5083         (gst_base_transform_src_activate_pull): Refactor to use
5084         gst_base_transform_activate().
5085         (gst_base_transform_change_state): Removed, not needed any more.
5086
5087         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
5088         Truncate before fixating.
5089         
5090         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
5091         Don't set_caps() if the result of fixating is ANY, as it's not
5092         supported, and not necessary in the case of a link with no
5093         template caps on either side. Fixes tests/check/libs/basesrc in
5094         some pull-mode tests.
5095
5096         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
5097         (gst_base_transform_init, gst_base_transform_sink_activate_push)
5098         (gst_base_transform_src_activate_pull): 
5099         Track the activation mode.
5100         (gst_base_transform_setcaps): In pull mode, when activating the
5101         src pad, after activating the sink pad, activate the sink pad's
5102         peer, as discussed in part-negotiation.txt.
5103
5104         * libs/gst/base/gstbasesrc.h: 
5105         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
5106         vmethod, as in basesink.
5107
5108         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
5109
5110         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
5111         mode, first proxy the setcaps to the peer pad.
5112         (gst_base_sink_pad_fixate): Add a fixate function that calls the
5113         new fixate vmethod.
5114         (gst_base_sink_default_activate_pull): Rename from
5115         gst_base_sink_activate_pull.
5116         (gst_base_sink_negotiate_pull): New function, performs negotiation
5117         in pull mode before calling ::activate_pull().
5118         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
5119         vmethod instead of the default implementation. I have no idea how
5120         this worked before. Negotiate before calling activate_pull.
5121
5122         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
5123         sink pads in pull mode. In addition to being correct, fixes
5124         filesrc ! decodebin ! identity ! fakesink.
5125         (gst_pad_get_range, gst_pad_pull_range): Don't call
5126         gst_pad_set_caps() if the caps changes; instead error out with
5127         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
5128
5129 2007-01-12  Andy Wingo  <wingo@pobox.com>
5130
5131         * docs/design/part-negotiation.txt: Update with more policy.
5132
5133 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5134
5135         * libs/gst/check/gstbufferstraw.h:
5136         * libs/gst/check/gstcheck.h:
5137           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
5138           belongs.
5139
5140 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5141
5142         * tests/check/Makefile.am:
5143         * tests/check/gst/.cvsignore:
5144         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
5145         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
5146         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
5147         (GST_START_TEST), (gst_tag_setter_suite):
5148           Add minimal unit test for beforementioned GstTagSetter bug.
5149
5150 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         Patch by: René Stadler <mail at renestadler dot de>
5153
5154         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
5155           gst_tag_list_merge() returns a new list, so it's not the best idea
5156           to ingore its return value. Effectively meant that tags could only
5157           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
5158           Also add function guard to require a non-NULL taglist as input (has
5159           always been so due to gst_tag_list_copy(), just making it explicit).
5160
5161 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5162
5163         * docs/random/draft-missing-plugins.txt:
5164           Some additions: mention new API that is supposed to be used at the
5165           various stages; short blob about new gst-inspect introspection
5166           option; mention potential future problem with plugins that have
5167           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
5168
5169 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5170
5171         * tools/gst-inspect.c:
5172         (print_plugin_automatic_install_info_codecs),
5173         (print_plugin_automatic_install_info_protocols),
5174         (print_plugin_automatic_install_info), (main):
5175         Add --print-plugin-auto-install-info option to gst-inspect, so we can
5176         introspect plugin files and get machine-parsable output that corresponds
5177         to the last bit of the missing-plugin installer string (small gotcha:
5178         doesn't take into account ranks).
5179
5180 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
5181
5182         * configure.ac:
5183         * docs/gst/gstreamer-sections.txt:
5184         * gst/Makefile.am:
5185         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
5186         (gst_registry_lookup_locked):
5187         * gst/gstregistry.h:
5188         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5189         (gst_registry_binary_initialize_magic),
5190         (gst_registry_binary_save_string),
5191         (gst_registry_binary_save_pad_template),
5192         (gst_registry_binary_save_feature),
5193         (gst_registry_binary_save_plugin),
5194         (gst_registry_binary_write_cache),
5195         (gst_registry_binary_check_magic),
5196         (gst_registry_binary_load_pad_template),
5197         (gst_registry_binary_load_feature),
5198         (gst_registry_binary_load_plugin),
5199         (gst_registry_binary_read_cache):
5200         * gst/gstregistrybinary.h:
5201         * gst/gstregistryxml.c: (load_feature),
5202         (gst_registry_xml_read_cache):
5203           commit binary registry (disabled by default, see #359653)
5204
5205 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5206
5207         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
5208           Fix 'make check' too.
5209
5210 2007-01-10  Andy Wingo  <wingo@pobox.com>
5211
5212         * docs/design/part-negotiation.txt: Fix a typo, add a couple
5213         notes.
5214         
5215         * docs/design/part-negotiation.txt: Update with, um, one way that
5216         pull-mode negotiation might work?
5217
5218         * gst/gstpad.h: 
5219         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
5220         that the pad must be a src pad; makes sense to call it the other
5221         way in pull mode, and the logic is symmetric anyway.
5222
5223 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5224
5225         * plugins/elements/gstfilesink.c:
5226           Include <stdio.h> for fseeko().
5227
5228 2007-01-10  Wim Taymans  <wim@fluendo.com>
5229
5230         * gst/gstevent.c:
5231         * gst/gstevent.h:
5232         Reserve LATENCY event.
5233
5234 2007-01-09  Wim Taymans  <wim@fluendo.com>
5235
5236         * docs/design/draft-latency.txt:
5237         Updates.
5238
5239 2007-01-09  Wim Taymans  <wim@fluendo.com>
5240
5241         * docs/design/draft-latency.txt:
5242         Updates.
5243
5244         * gst/gstelement.h:
5245         * gst/gststructure.c:
5246         * gst/gsttrace.c:
5247         Small typo fixes.
5248
5249 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5250
5251         * tests/check/.cvsignore:
5252           Ignore test-registry.xml as well.
5253
5254 2007-01-09  Wim Taymans  <wim@fluendo.com>
5255
5256         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5257         unref data at the end when we are done with the pad.
5258
5259 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * docs/gst/gstreamer-sections.txt:
5262         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
5263         (init_post), (gst_deinit), (gst_update_registry):
5264         * gst/gst.h:
5265           API: add gst_update_registry() (#391296).
5266
5267         * tests/check/Makefile.am:
5268         * tests/check/gst/gstregistry.c:
5269         * tests/check/gst/.cvsignore:
5270           Simple unit test for the above.
5271
5272 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5273
5274         * gst/gstregistry.c: (gst_registry_scan_path_level):
5275           Plugin extension on HP-UX is .sl, add that to the list of approved
5276           plugin extensions (see #393796).
5277
5278         * tests/check/gst/gstpad.c: (GST_START_TEST):
5279           ulong => gulong. Fixes compilation with HP-UX compiler.
5280
5281         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5282           Fix compilation if valgrind headers are not available.
5283
5284 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
5285
5286         * win32/common/libgstreamer.def: 
5287           Add new exported function.
5288         * win32/vs6/libgstbase.dsp: 
5289           Add gstdataqueue.c to the build.
5290         * win32/vs6/libgstcoreelements.dsp:
5291           Add gstmultiqueue.c to the build.
5292         
5293 2007-01-06  Andy Wingo  <wingo@pobox.com>
5294
5295         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
5296         activate_pull(), providing for a way to specialize the process of
5297         spawning a thread to pull on the sink pad. There is a default
5298         implementation.
5299
5300         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
5301         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
5302         (gst_base_sink_init): Renamed pad activation functions (inserting
5303         "_pad" in their names). Refactor to use the new activate_pull
5304         vmethod, as appropriate.
5305         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
5306         default activate_pull function to start a task pulling from the
5307         sink pad, as before.
5308
5309         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
5310         on the pads if necessary, as in push()/chain(). Update docs.
5311         Shouldn't affect existing pull() usage as it is currently only
5312         being used on buffers without caps.
5313
5314 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5315
5316         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5317         (init_pre):
5318           Call g_thread_init() first thing in gst_init() / gst_check_init().
5319           When initialisation is done via gst_init_get_option_group() and
5320           GOption parsing, issue a warning if the GLib thread system has not
5321           been initialised yet by the time gst_init_get_option_group() is
5322           called, as it's quite likely other GLib functions such as
5323           g_option_context_new() have been called already then, and
5324           g_thread_init() must be called before any other GLib function. The
5325           application in question must be fixed in that case, since memory
5326           corruption might happen otherwise.
5327           We issue the warning because even if the GLib folks decide to work
5328           around the problem on their end in future, this is still an issue
5329           with all GLib versions >= 2.10.0, so we should warn until we depend
5330           on a GLib version we know to be safe.
5331           Update documentation as well.
5332           Closes bug #391278.
5333
5334 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5335
5336         * tools/gst-inspect.c: (main):
5337         * tools/gst-launch.c: (main):
5338         * tools/gst-typefind.c: (main):
5339         * tools/gst-xmlinspect.c: (main):
5340           Call g_thread_init() really really early, before any other GLib
5341           function (see #342564 and recent discussion on gtk-devel-list).
5342
5343 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5344
5345         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
5346
5347         * gst/gst_private.h:
5348         * gst/gstconfig.h.in:
5349         * gst/gstinfo.h:
5350           On win32, all the __declspec stuff for symbol exporting is
5351           apparently only needed with MSVC, but doesn't work with MingW.
5352           Fixes compilation with MingW and #391909.
5353
5354 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5355
5356         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
5357           Change some GST_ERROR_OBJECT that aren't really errors to
5358           GST_WARNING_OBJECT in order to reduce terminal spam.
5359
5360 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5361
5362         * tests/check/Makefile.am:
5363           disable test again, as there seem to be still race problems
5364
5365 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5366
5367         * tests/check/Makefile.am:
5368         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5369         (GST_START_TEST), (queue_suite):
5370           enable queue test again, add tests for the leaky behaviour
5371
5372 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * configure.ac:
5375         * tests/examples/Makefile.am:
5376           Compile adapter test/example only if the required headers are
5377           available (fixes #391915).
5378
5379 2007-01-01  David Schleef  <ds@schleef.org>
5380
5381         * gst/gstplugin.c:
5382           Restore the previous signal handler for SIGSEGV instead of
5383           setting to default, since we may have stolen it away from
5384           someone.  (i.e., Mono)
5385
5386 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5387
5388         * docs/random/draft-missing-plugins.txt:
5389           Some small additions and clarifications.
5390
5391 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * gst/gstregistryxml.c: (gst_registry_save_escaped):
5394           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
5395           since that can lead to random memory corruptions and crashes
5396           (may or may not be related to #383244, #386711, and #386711).
5397
5398 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5399
5400         * tests/check/.cvsignore:
5401         * tests/check/Makefile.am:
5402           sync .cvsignome and CLEANFILES
5403
5404 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5405
5406         * tests/check/Makefile.am:
5407           fix distcheck
5408
5409 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5410
5411         * docs/design/part-states.txt:
5412           two tiny additional comments
5413         
5414         * gst/gststructure.c:
5415           doc fixing
5416
5417         * tests/check/Makefile.am:
5418         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5419         (GST_START_TEST):
5420           disable test for now, unless it gets fixed
5421
5422 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5423
5424         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5425         (GST_START_TEST):
5426           fix race in underrun test
5427
5428 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5429
5430         * tests/check/elements/.cvsignore:
5431           ignore more
5432
5433         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5434         (GST_START_TEST):
5435           try to narrow test failure
5436
5437 2006-12-21  David Schleef  <ds@schleef.org>
5438
5439         * plugins/elements/gstfakesrc.c:
5440           Use g_random_int_range(), since it produces better random
5441           numbers in a range than almost-correct floating point code.
5442
5443 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5444
5445         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5446         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5447         (gst_check_teardown_sink_pad):
5448           do not automatically (de)activate pads
5449
5450         * tests/check/Makefile.am:
5451         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5452         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
5453           add new, yet simple tests for queue
5454
5455         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
5456         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
5457         * tests/check/elements/filesrc.c: (cleanup_filesrc),
5458         (GST_START_TEST):
5459         * tests/check/elements/identity.c: (cleanup_identity):
5460           consistent pad (de)activation
5461
5462 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5463
5464         Patch by: Sebastian Dröge  <slomo ubuntu com>
5465
5466         * libs/gst/base/gstcollectpads.c:
5467           Fix two doc typos (#387866).
5468
5469 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5470
5471         * docs/manual/advanced-dparams.xml:
5472           Fix typo (g_object_control_properties() doesn't exist).
5473
5474 2006-12-19  Edward Hervey  <edward@fluendo.com>
5475
5476         * gst/gstsegment.c: (gst_segment_set_seek):
5477         Fine tune the cases where the segment start/stop values are really
5478         updated.
5479         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5480         Add tests for the return values of gst_segment_set_seek().
5481
5482 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5483
5484         * gst/gst.c:
5485           Docs typo fix.
5486
5487         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5488         (gst_queue_init):
5489           Fix incorrect documentation and flesh it out a bit more.
5490           Set default values for the max properties on the GParamSpec as well,
5491           so it shows up correctly in gst-inspect.
5492
5493 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
5494
5495         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5496           Correct docs of queue, add more detail and crosslink it more.
5497
5498 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5499
5500         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5501           Print additional debug info when the stream isn't perfectly
5502           timestamped; don't try to use invalid durations.
5503
5504 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * docs/design/Makefile.am:
5507           Dist new design docs.
5508
5509 2006-12-16  Wim Taymans  <wim@fluendo.com>
5510
5511         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5512
5513         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
5514         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5515         (gst_collect_pads_stop), (gst_collect_pads_event),
5516         (gst_collect_pads_chain):
5517         * libs/gst/base/gstcollectpads.h:
5518         Add refcounting to the collectpads data so we can track when it's safe
5519         to free the data. Fixes #383382.
5520
5521 2006-12-15  Wim Taymans  <wim@fluendo.com>
5522
5523         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5524         (gst_collect_pads_remove_pad):
5525         Automatically activate/deactivate pads when they are added to a
5526         started/stoped collectpads.
5527
5528 2006-12-15  Wim Taymans  <wim@fluendo.com>
5529
5530         * gst/gstelement.c: (gst_element_add_pad):
5531         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5532         * gst/gstpad.c: (gst_pad_init):
5533         Set pads to FLUSHING when they are created. Check, warn and fix when a
5534         demuxer adds an inactive pad to itself when running. Fixes #339326.
5535
5536 2006-12-15  Wim Taymans  <wim@fluendo.com>
5537
5538         * gst/gstelement.c: (gst_element_class_init),
5539         (gst_element_default_send_event), (gst_element_send_event),
5540         (gst_element_default_query), (gst_element_query):
5541         Expose default element send_event and query handling as vmethods that
5542         subclasses can chain up to.
5543
5544 2006-12-15  Wim Taymans  <wim@fluendo.com>
5545
5546         * gst/gstelement.c: (gst_element_set_state_func):
5547         Small documentation fixes.
5548
5549 2006-12-15  Wim Taymans  <wim@fluendo.com>
5550
5551         * docs/design/draft-latency.txt:
5552         Checked in draft for handling latency in pipelines.
5553
5554 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * Makefile.am:
5557         * gstreamer.doap:
5558         * gstreamer.spec.in:
5559           adding .doap file
5560
5561 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
5562
5563         * gst/gst.c: (init_pre), (init_post):
5564           init_pre() and init_post() might be called via our GOptionGroup or
5565           from gst_init(), and we should skip both of them if we've already
5566           been initialised, otherwise we will init some things twice or add
5567           two default log functions.
5568
5569 2006-12-13  Edward Hervey  <edward@fluendo.com>
5570
5571         * docs/manual/basics-bus.xml:
5572         No, gst_main_loop does not exist. Its g_main_loop.
5573         Discovered by somebody who abused the copy-paste technique of coding :)
5574
5575 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5576
5577         * gst/gstghostpad.c:
5578           Log ghostpad debug stuff to the GST_PADS category as well rather
5579           than just to the default category.
5580
5581 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5582
5583         * configure.ac:
5584         * gst/gst.c: (init_pre):
5585           Add some basic system details such as OS and architecture
5586           to the debug output if possible, courtesy of uname().
5587
5588 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5589
5590         * docs/gst/running.xml:
5591           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
5592           environment variables.
5593
5594 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5595
5596         * tests/check/gst/gstbin.c: (GST_START_TEST):
5597         It is acceptable to have a refcount of 2 or 3 at this point in the
5598         test, because the pipeline might be just posting its state_change
5599         message. The next line then waits for that message to appear using
5600         bus_poll, so that should be fine too.
5601
5602 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5603
5604         * gst/gst.c: (ensure_current_registry_forking):
5605         Ignore EINTR when reading from the child registry pipe.
5606         Explicitly ignore the return value from close, since it makes no
5607         difference.
5608
5609         * gst/gstminiobject.c: (gst_mini_object_ref),
5610         (gst_mini_object_unref):
5611         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
5612
5613         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
5614         When removing cached plugins, remove their features too, so they're
5615         not visible after they've disappeared.
5616
5617         * gst/gstutils.c: (prepare_link_maybe_ghosting):
5618         In the unlikely case that we are linking pads with no parents, don't
5619         crash trying to get the non-existent parent bin.
5620
5621         * gst/parse/grammar.y:
5622         Output debug in the PIPELINE category
5623
5624 2005-03-08  Wim Taymans  <wim@fluendo.com>
5625
5626         Patch by: René Stadler <mail at renestadler dot de>
5627
5628         * gst/gstclock.c: (gst_clock_new_periodic_id):
5629         Reject invalid clock times for interval of periodic ids.
5630         Fixes ##383506.
5631
5632 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5633
5634         * gst/gstelementfactory.c: (gst_element_factory_create):
5635         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5636         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5637         * tools/gst-inspect.c: (print_element_info):
5638         Fix refcounting of gst_plugin_feature_load to match the docs. 
5639         Fixes: #380129
5640
5641 2006-12-07  Wim Taymans  <wim@fluendo.com>
5642
5643         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5644         (gst_base_sink_get_position):
5645         Improve debugging of events.
5646
5647 2006-12-07  Wim Taymans  <wim@fluendo.com>
5648
5649         Patch by: René Stadler <mail at renestadler dot de>
5650
5651         * gst/gstclock.c: (gst_clock_id_wait):
5652         Make period ids add the interval to the origial requested time instead
5653         of the possibly updated time which can be wrong when there are multiple
5654         waiters for the same id. Fixes #382592.
5655
5656         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5657         (gst_system_clock_id_wait_jitter_unlocked),
5658         (gst_system_clock_id_wait_jitter):
5659         Fix restart in the async notify thread when an async entry is added to
5660         the front of the list. Fixes #381492. 
5661
5662         * tests/check/gst/gstsystemclock.c: (store_callback),
5663         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5664         Added test for multiple async waits.
5665         Added test for async wait order.
5666
5667 2006-12-07  Wim Taymans  <wim@fluendo.com>
5668
5669         * gst/gstbin.c: (gst_bin_query):
5670         Add some more docs about the POSITION query.
5671
5672 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5673
5674         * configure.ac:
5675         Bump version nano - back to CVS.
5676
5677 === release 0.10.11 ===
5678
5679 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5680
5681         * configure.ac:
5682           releasing 0.10.11, "Love never runs on time"
5683
5684 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5685
5686         * win32/common/libgstbase.def:
5687         * win32/common/libgstreamer.def:
5688         * win32/vs8/libgstbase.vcproj:
5689         * win32/vs8/libgstcoreelements.vcproj:
5690         * win32/vs8/libgstreamer.vcproj:
5691         Fix compilation on win32 under VS8
5692         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5693         Partially fixes #381175
5694
5695 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5696
5697         * gst/gstvalue.c: (gst_value_compare_fraction):
5698         If someone is foolish enough to compare 2 fractions with denominator =
5699         0, return UNORDERED rather than aborting.
5700
5701 2006-11-28  Edward Hervey  <edward@fluendo.com>
5702
5703         * libs/gst/base/Makefile.am:
5704         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5705         (gst_data_queue_base_init), (gst_data_queue_class_init),
5706         (gst_data_queue_init), (gst_data_queue_new),
5707         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5708         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5709         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5710         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5711         (gst_data_queue_set_flushing), (gst_data_queue_push),
5712         (gst_data_queue_pop), (gst_data_queue_drop_head),
5713         (gst_data_queue_set_property), (gst_data_queue_get_property):
5714         * libs/gst/base/gstdataqueue.h:
5715         New GstDataQueue object for threadsafe queueing. Most useful for
5716         elements that need some queueing functionnality.
5717         * docs/libs/gstreamer-libs-docs.sgml:
5718         * docs/libs/gstreamer-libs-sections.txt:
5719         Insert documentation for GstDataQueue
5720         * plugins/elements/Makefile.am:
5721         * plugins/elements/gstelements.c:
5722         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5723         (gst_multi_queue_class_init), (gst_multi_queue_init),
5724         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5725         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5726         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5727         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5728         (gst_multi_queue_loop), (gst_multi_queue_chain),
5729         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5730         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5731         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5732         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5733         (wake_up_next_non_linked), (compute_next_non_linked),
5734         (single_queue_overrun_cb), (single_queue_underrun_cb),
5735         (single_queue_check_full), (gst_single_queue_new):
5736         * plugins/elements/gstmultiqueue.h:
5737         New multiqueue element, using GstDataQueue. Used for queuing multiple
5738         streams.
5739         Closes #344639 and #347785
5740
5741 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5742
5743         * docs/pwg/advanced-types.xml:
5744           add more missing type details
5745
5746         * tools/gst-run.c: (main):
5747           remove unused variable
5748
5749 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
5750
5751         * docs/libs/Makefile.am:
5752         * docs/libs/gstreamer-libs.types:
5753           add types of base classes to enable gobject specific stuff in the docs
5754
5755         * docs/random/ensonic/embedded.txt:
5756           more ideas about isolating platform specific things
5757
5758 2006-11-20  Wim Taymans  <wim@fluendo.com>
5759
5760         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5761
5762         * libs/gst/check/gstcheck.h:
5763         Fix compilation and running against 0.9.4. Fixes #377332.
5764
5765 2006-11-20  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/gstsegment.c: (gst_segment_set_seek),
5768         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5769         (gst_segment_to_running_time):
5770         Fix boundary checking in to_running_time() and to_stream_time().
5771         Fixes #377183.
5772
5773         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5774         stream and running time can now be calculated for the complete
5775         clipped segment.
5776
5777 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
5778
5779         * gst/gstpad.c: (gst_pad_push_event):
5780           Can't access event structure after giving away ownership of
5781           the event.
5782
5783 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
5784
5785         * docs/random/ensonic/embedded.txt:
5786         * docs/random/ensonic/profiling.txt:
5787         * docs/random/ensonic/receipies.txt:
5788           more thinking
5789
5790 2006-11-13  Wim Taymans  <wim@fluendo.com>
5791
5792         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5793
5794         * gst/gstpad.c:
5795         Fix documentation for gst_pad_dispatcher. Fixes #374475.
5796
5797 2006-11-13  Wim Taymans  <wim@fluendo.com>
5798
5799         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5800
5801         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5802         Store new length in segment duration so we don't keep on calling the
5803         potentially expensize get_size() call. Fixes #370865.
5804
5805 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
5806
5807         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
5808
5809         * win32/common/libgstreamer.def:
5810           Add two missing symbols (#366492).
5811
5812 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
5813
5814         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5815         (gst_adapter_take_buffer):
5816         Fix format string to use all its arguments.
5817         Remove useless >= check on a guint
5818
5819 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5820
5821         * tests/examples/adapter/.cvsignore:
5822         Ignore build file as commanded by the build-bot
5823
5824 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5825
5826         * tests/examples/adapter/Makefile.am:
5827         * tests/examples/adapter/adapter_test.c: (run_test_take),
5828         (run_test_take_buffer), (run_tests), (main):
5829
5830         Add new files from the previous commit
5831
5832 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5833
5834         * Makefile.am:
5835         * configure.ac:
5836         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5837         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5838         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5839         * libs/gst/base/gstadapter.h:
5840         * tests/check/libs/adapter.c: (create_and_fill_adapter),
5841         (GST_START_TEST), (gst_adapter_suite):
5842         * tests/examples/Makefile.am:
5843         Do some optimisation work in GstAdapter to avoid copies in more cases.
5844         It could still do slightly better by merging buffers when
5845         gst_buffer_is_span_fast is true, but is already faster. 
5846
5847         Also, avoid traversing a single-linked list to append each incoming 
5848         buffer inside the adapter.
5849
5850         Add simple test app that times the adapter behaviour in different
5851         situations, and extend the unit test to check that bytes enter and
5852         exit the adapter in their original order.
5853
5854 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5855
5856         * docs/random/draft-missing-plugins.txt:
5857           Update: use element message instead of adding a new message
5858           type to the core; don't provide GStreamer API to initiate the
5859           plugin download, just provide API to compose the strings needed
5860           and let an external libgimmestuff handle the rest.
5861
5862 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
5863
5864         * tools/gst-inspect.c: (print_element_properties_info):
5865         Print a string instead of 'unknown type' for GValueArray properties
5866
5867 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
5868
5869         * docs/random/draft-missing-plugins.txt:
5870         More small fixes.
5871
5872 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5873
5874         * tests/examples/typefind/typefind.c: (type_found), (main):
5875           Make typefind element example work again (#371894); add a
5876           license header.
5877
5878 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5879
5880         * docs/random/draft-missing-plugins.txt:
5881           Commit initial draft about how to deal with missing plugins,
5882           needs work (API too).
5883
5884 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5885
5886         * docs/pwg/advanced-types.xml:
5887           documents the new caps elements (see #363118)
5888
5889 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5890
5891         * gst/gstplugin.c: (gst_plugin_load_file):
5892         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5893         (gst_file_src_map_region), (gst_file_src_start):
5894         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5895         (gst_file_index_commit):
5896           Use g_strerror() instead of strerror() - we want UTF-8.
5897
5898 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         Patch by: Peter Kjellerstedt <pkj at axis com>
5901
5902         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5903           Another printf fix (#371493).
5904
5905 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5906
5907         * tests/check/gst/gsttag.c:
5908           relicence (okay with author=company)
5909
5910 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5911
5912         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5913         (gst_pad_push_event):
5914           Enhance debug and improve docs
5915         
5916         * gst/gsturi.c:
5917           Fix docs
5918
5919 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5920
5921         * docs/random/ensonic/distributed.txt:
5922         * docs/random/ensonic/profiling.txt:
5923           more ideas
5924
5925 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5926
5927         * docs/gst/gstreamer-sections.txt:
5928           add new API and fix the build
5929           
5930         * gst/gstbin.c: (gst_bin_recalc_state):
5931         * gst/gstelement.c: (gst_element_message_full),
5932         (gst_element_get_state_func), (gst_element_set_state_func):
5933           use new API and improve logging
5934         
5935         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5936         * gst/gstutils.h:
5937           API: add function to get StateChangereturn names to improve logs 
5938
5939 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5940
5941         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5942           I'm considering shooting the next person to put strerror stuff
5943           in the translateable part of the message.
5944
5945 2006-11-03  Wim Taymans  <wim@fluendo.com>
5946
5947         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5948         Get the type and printf conversion specifiers right.
5949
5950 2006-11-03  Wim Taymans  <wim@fluendo.com>
5951
5952         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5953
5954         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5955         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5956         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5957         Some small cleanups. Improve debugging.
5958         * gst/gstpad.h:
5959         Signal all waiting threads with a broadcast instead of just one.
5960         Fixes #369942.
5961
5962 2006-11-03  Wim Taymans  <wim@fluendo.com>
5963
5964         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5965         (gst_fd_src_create):
5966         Add some debugging. 
5967         Only update fd when it's different from the old.
5968
5969 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5970
5971         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5972           Printf fixes for PPC/OSX, take two (#369366).
5973
5974 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5975
5976         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5977
5978         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5979         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5980         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5981           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5982           don't cast to long long for portability reasons, but use
5983           GLib's types instead.
5984
5985 2006-10-30  Michael Smith  <msmith@fluendo.com>
5986
5987         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5988           Get the arguments to lseek() the right way around.
5989           Fixes 367677.
5990
5991 2006-10-30  Wim Taymans  <wim@fluendo.com>
5992
5993         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5994
5995         * gst/gstinfo.h:
5996         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5997
5998 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5999
6000         Patch by: Kjartan Maraas  <kmaraas at gnome org>
6001
6002         * docs/design/part-MT-refcounting.txt:
6003         * docs/random/wtay/capsnego2-docs:
6004         * gst/gstclock.c:
6005         * gst/gstxml.c:
6006           Typo fixes (#366212).
6007
6008 2006-10-28  Wim Taymans  <wim@fluendo.com>
6009
6010         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6011
6012         * gst/gst.c:
6013         * win32/common/libgstbase.def:
6014         * win32/common/libgstreamer.def:
6015         * win32/vs8/libgstbase.vcproj:
6016         * win32/vs8/libgstcontroller.vcproj:
6017         Add needed entries in .def files.
6018         Use HAVE_UNISTD_H.
6019         Rearrange def files in vs8 solutions. Fixes #366286.
6020
6021 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
6022
6023         * win32/common/gstconfig.h:
6024           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
6025           hand-made win32 gstconfig.h. Fixes #366321.
6026
6027 2006-10-27  Wim Taymans  <wim@fluendo.com>
6028
6029         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
6030         (gst_ghost_pad_new_full):
6031         Make acceptcaps return TRUE when we don't have a target, just like
6032         setcaps does.
6033
6034 2006-10-27  Wim Taymans  <wim@fluendo.com>
6035
6036         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6037         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
6038
6039 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6040
6041         * gst/gststructure.c: (gst_structure_id_set_value):
6042           If someone tries to set a non-UTF8 string field on a structure,
6043           don't just print a warning, but also ignore the request and do
6044           not change/add that field to the structure.
6045
6046         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6047           Test for the above.
6048
6049 2006-10-25  David Schleef  <ds@schleef.org>
6050
6051         * gst/gstinfo.c:
6052           g_hash_table_insert() needs a cast to a non-const pointer duh.
6053
6054 2006-10-25  David Schleef  <ds@schleef.org>
6055
6056         * gst/gstinfo.c:
6057         * gst/gstinfo.h:
6058           Change name parameter of _gst_debug_register_funcptr to const
6059           to reflect the constness of its use in the function as well
6060           as to quiet a gcc warning.
6061
6062 2006-10-25  Edward Hervey  <edward@fluendo.com>
6063
6064         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6065         Don't push the buffer if it's empty.
6066         Closes #363095
6067
6068 2006-10-24  Wim Taymans  <wim@fluendo.com>
6069
6070         * gst/gstevent.h:
6071         Add small comment.
6072
6073         * libs/gst/base/gstbasetransform.c:
6074         (gst_base_transform_sink_eventfunc):
6075         Debug segment values *after* updating them as this is more
6076         interesting.
6077
6078 2006-10-23  Wim Taymans  <wim@fluendo.com>
6079
6080         * docs/design/part-events.txt:
6081         Update some docs.
6082
6083         * docs/design/part-block.txt:
6084         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6085         (gst_pad_push_event):
6086         Revert BLOCKING patch, it tries to be smart without really having a
6087         clear idea what or how. So, now we discard all FLUSHING events again on
6088         a blocking pad. Should fix gnonlin again.
6089
6090 2006-10-23  Wim Taymans  <wim@fluendo.com>
6091
6092         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6093
6094         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6095         (gst_base_src_start), (gst_base_src_activate_push):
6096         Make sure size is always initialized. Fixes #364388.
6097
6098 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
6099
6100         * docs/random/ensonic/distributed.txt:
6101           add some ideas about doing distributed processing
6102
6103         * docs/random/ensonic/profiling.txt:
6104           get_rusage look promising
6105
6106 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
6107
6108         * docs/manual/basics-helloworld.xml:
6109           Add a cast in example to fix compile warning
6110
6111 2006-10-18  Wim Taymans  <wim@fluendo.com>
6112
6113         * gst/gstsegment.c: (gst_segment_set_last_stop),
6114         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
6115         Relax arg checking again, -1 is allowed.
6116
6117 2006-10-18  Wim Taymans  <wim@fluendo.com>
6118
6119         * gst/gstsegment.c: (gst_segment_set_last_stop),
6120         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
6121         _set_last_stop() must be with a value != -1
6122         A _TYPE_SET to -1 means seek to 0.
6123         Calc last_stop correctly for negative rates.
6124         Make sure we work with positive durations when updating a segment.
6125
6126 2006-10-18  Wim Taymans  <wim@fluendo.com>
6127
6128         * docs/design/part-live-source.txt:
6129         * gst/gstclock.h:
6130         Small docs fixes.
6131
6132 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
6133
6134         * gst/gstbuffer.h:
6135           Add an explicit cast to GstBuffer** to keep old code that added an
6136           explicit cast to GstMiniObject** for gst_mini_object_replace()
6137           compiling without warning.
6138
6139 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
6142           check for validity of dates
6143
6144 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6145
6146         * docs/gst/gstreamer-sections.txt:
6147           Forgot this one, makes gtk-doc shut up.
6148
6149 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6150
6151         Patch by: Peter Kjellerstedt <pkj at axis com>
6152
6153         * gst/gstobject.h:
6154           Don't define xmlNodePtr to gpointer if the core was built with
6155           --disable-loadsave and --disable-registry, this will break
6156           applications that want to use libxml2 but are buildling against a
6157           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
6158           instead so we don't have to mess with the libxml2 namespace
6159           (#361675).
6160
6161 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6162
6163         * gst/gstbuffer.h:
6164           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
6165           type-punned pointer warnings.
6166
6167 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6168
6169         * gst/gstelement.h:
6170           Add casts to the correct return type to state <=> state transition
6171           macros.
6172
6173 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
6174
6175         * docs/design/part-live-source.txt:
6176           describe howto handle latency
6177         
6178         * docs/random/ensonic/profiling.txt:
6179           more ideas
6180
6181         * tools/gst-plot-timeline.py:
6182           fix log parsing for solaris, remove unused function
6183
6184 2006-10-16  Wim Taymans  <wim@fluendo.com>
6185
6186         * docs/design/part-trickmodes.txt:
6187         * gst/gstevent.c:
6188         Update some docs regarding reverse playback.
6189
6190 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6191
6192         Patch by: Marcus Granado  <mrc dot gran at gmail com>
6193
6194         * win32/vs8/grammar.vcproj:
6195           Error out with a warning if glib-genmarshal.exe is not in path,
6196           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
6197
6198 2006-10-13  Wim Taymans  <wim@fluendo.com>
6199
6200         * gst/gstsegment.c: (gst_segment_set_seek):
6201         When seeking to stop -1, set last_stop (current position) to the
6202         duration of the segment.
6203
6204 2006-10-13  Wim Taymans  <wim@fluendo.com>
6205
6206         * gst/gstelement.h:
6207         Clarify _NO_PREROLL a bit more.
6208
6209         * gst/gstevent.c:
6210         Fix docs.
6211
6212         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
6213         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
6214         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
6215         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
6216         due to wrong locking order. Fixes #361769.
6217         Remove some redundant/misplaced checks in pad_block.
6218
6219         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6220         For negative rates, count backwards from the duration.
6221
6222 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6223
6224         * gst/gsterror.c: (_gst_library_errors_init):
6225           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
6226           up with something better).
6227
6228 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6229
6230         * win32/vs6/libgstreamer.dsp:
6231         * win32/vs7/libgstreamer.vcproj:
6232         * win32/vs8/libgstreamer.vcproj:
6233           Don't reference glib-compat.c which is currently not used and not
6234           disted; add gstquark.c which was recently added. Fixes #361730.
6235
6236 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6237
6238         * win32/common/libgstbase.def:
6239         * win32/common/libgstcontroller.def:
6240         * win32/common/libgstreamer.def:
6241           Add gst_caps_merge() and a bunch of other recently-added functions.
6242           Fixes #361732.
6243
6244 2006-10-11  Wim Taymans  <wim@fluendo.com>
6245
6246         * docs/plugins/gstreamer-plugins.args:
6247         * docs/plugins/inspect/plugin-coreelements.xml:
6248         * docs/plugins/inspect/plugin-coreindexers.xml:
6249         Update element args.
6250
6251         * gst/gstsystemclock.c:
6252         Small comment update.
6253
6254         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
6255         (gst_tee_request_new_pad), (gst_tee_release_pad),
6256         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
6257         (gst_tee_sink_activate_pull):
6258         * plugins/elements/gsttee.h:
6259         Some tee loving:
6260         Add default property defines.
6261         Implement release pad function.
6262         Give properties better blubs etc.
6263         Activate pads before adding them to a running tee.
6264         Do simple buffer_alloc on the first requested pad.
6265         Post error when activation fails.
6266
6267 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6268
6269         * gst/gst.c: (ensure_current_registry_forking):
6270           Check return value of write() to make compiler happy.
6271
6272 2006-10-11  Wim Taymans  <wim@fluendo.com>
6273
6274         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6275
6276         * plugins/elements/gstqueue.c: (gst_queue_chain):
6277         Recheck queue filledness after signalling the overrun when we're about
6278         to leak downstream because we released the lock when emitting the signal
6279         and the queue could be empty again. Fixes #352345.
6280
6281 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6282
6283         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
6284           Fix refcounting here too, just like we did for _new_valist() a few
6285           days ago (#357180) (thanks to René Stadler). Also remove all those
6286           'Since: 0.9' from the gtk-doc blobs.
6287
6288         * tests/check/libs/controller.c: (controller_refcount_new_list),
6289         (gst_controller_suite):
6290           Unit test for the above.
6291
6292 2006-10-10  Wim Taymans  <wim@fluendo.com>
6293
6294         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
6295
6296         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6297         (gst_pad_save_thyself):
6298         Update some docs.
6299         Write pad direction in XML output. Fixes #345496.
6300
6301 2006-10-10  Wim Taymans  <wim@fluendo.com>
6302
6303         Patch by: René Stadler <mail at renestadler dot de>
6304
6305         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6306         (gst_controller_new_list), (_gst_controller_dispose),
6307         (_gst_controller_finalize), (_gst_controller_class_init):
6308         Take ref to controlled object so that it cannot disappear. 
6309         Fixes #357432.
6310
6311 2006-10-10  Wim Taymans  <wim@fluendo.com>
6312
6313         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6314         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6315         (gst_check_teardown_sink_pad):
6316         Activate/deactivate pads in setup/teardown respectively.
6317
6318 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6319
6320         Patch by: Josep Torre Valles <josep@fluendo.com>
6321
6322         * gst/Makefile.am:
6323         Cast values when making gstenumtypes.h.  This pacifies Forte
6324         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
6325         in the enumeration.
6326
6327 2006-10-09  Wim Taymans  <wim@fluendo.com>
6328
6329         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
6330         Rename some more @cur to @start to fix docs. 
6331
6332         * gst/gstsegment.c: (gst_segment_set_seek):
6333         Fix typo.
6334         time and start must always stay in sync as defined in design doc.
6335
6336         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6337         Rename param to fix docs.
6338
6339         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6340         Check that start and time are in sync.
6341
6342         * tests/check/pipelines/parse-launch.c:
6343         (gst_parse_test_element_change_state):
6344         Activate pad before adding to the element.
6345
6346 2006-10-09  Wim Taymans  <wim@fluendo.com>
6347
6348         * docs/design/part-qos.txt:
6349         Fix typo.
6350
6351         * gst/gstevent.c:
6352         * gst/gstevent.h:
6353         Update seek event docs regarding negative rates.
6354         Rename @cur to @start. 
6355
6356         * gst/gstsegment.c: (gst_segment_set_seek):
6357         * gst/gstsegment.h:
6358         Update set_seek docs regarding negative rates.
6359         Correctly update last_stop to @stop when dealing with negative
6360         rates.
6361         Rename @cur to @start. 
6362
6363         * tests/check/gst/gstpad.c: (GST_START_TEST):
6364         Activate pads before trying to use them.
6365
6366         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6367         (gst_segment_suite):
6368         Add simple check for segments and negative rates.
6369
6370 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6371
6372         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6373         * gst/gsttaglist.h:
6374         * docs/gst/gstreamer-sections.txt:
6375           API: add gst_tag_list_is_empty() (#360467).
6376
6377         * tests/check/gst/gsttag.c: (GST_START_TEST):
6378           And a test case.
6379
6380 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6381
6382         * gst/gstmessage.h:
6383         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
6384         a value that doesn't fit on enumeration.
6385
6386 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6387
6388         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6389         Remove local debugging system and use Gstreamer's instead.
6390
6391 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6392
6393         Patch by: Josep Torre Valles <josep@fluendo.com>
6394
6395         * common/m4/gst-error.m4:
6396         Disable warning of statement not reached on Forte.
6397         * gst/gstmessage.h:
6398         Fix warning on Forte (value doesn't fit on enumeration).
6399         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
6400         Fix warning on Forte (value doesn't fit on enumeration).
6401         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6402         DEBUG macro says it takes minimum of 2 args and so Forte
6403         complains about the use with just 1 arg.
6404         * plugins/elements/gstfdsink.c:
6405         * plugins/elements/gstfdsrc.c:
6406         * plugins/elements/gstfilesink.c:
6407         * plugins/elements/gstfilesrc.c:
6408         Use correct return type for the uri handler implementations.
6409
6410         All these fix warnings in Forte.  Fixes bug #360860.
6411
6412 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/gstelement.h:
6415           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
6416           format string, so don't use G_GNUC_PRINTF for those versions.
6417
6418 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6419
6420         * gst/gsttaglist.c: (gst_is_tag_list):
6421         * gst/gsttaglist.h:
6422           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
6423
6424         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6425           Small test for the above.
6426
6427 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6428
6429         * gst/gsttaglist.h:
6430           Less tabs, more spaces.
6431
6432 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
6433
6434         * gst/gstinfo.h:
6435           Those two function declarations do actually belong there, revert
6436           commit from yesterday that turned them intro macros.
6437
6438 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6439
6440         Patch by: Josep Torre Valles <josep@fluendo.com>
6441
6442         * gst/gst.c: (gst_init_get_option_group):
6443         Fix empty declaration and type mismatch.
6444         * gst/gstbin.c: (gst_bin_change_state_func):
6445         Fix type mismatch.
6446         * gst/gstelement.c: (gst_element_continue_state),
6447         (gst_element_set_state_func), (gst_element_change_state),
6448         (gst_element_change_state_func):
6449         Fix type mismatches.
6450         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
6451         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
6452         Cast as appropriate.
6453         * gst/gstobject.c: (gst_class_signal_connect):
6454         Cast as appropriate.  The function pointer parameter really
6455         has the wrong type but would break API if we change it.
6456         * gst/gstquery.c:
6457         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
6458         order of including string.h.
6459         * gst/gstutils.c: (gst_element_state_get_name):
6460         Remove unreachable line.
6461         * gst/gstxml.c: (gst_xml_parse_doc):
6462         Fix type mismatch.
6463         All these caught by Forte.
6464
6465 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6466
6467         Patch by: Josep Torre Valles <josep@fluendo.com>
6468
6469         * common/m4/gst-error.m4:
6470         Fixed bug #360151.
6471         We need to disable warnings on Forte for empty declarations
6472         due to gst-indent adding ;s to lines that just use macros
6473         where the macro actually doesn't need a ; at end to end
6474         statement.
6475
6476 2006-10-06  Wim Taymans  <wim@fluendo.com>
6477
6478         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6479         (gst_file_sink_close_file), (gst_file_sink_event),
6480         (gst_file_sink_render):
6481         Add some FIXME for the NEWSEGMENT handling.
6482
6483 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6484
6485         * gst/parse/grammar.y:
6486         Remove static function gst_parse_element_lock as all it does
6487         is return.  Looks like cruft from 0.8.
6488
6489 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6490
6491         Patch by: Josep Torre Valles <josep@fluendo.com>
6492
6493         * common/m4/gst-error.m4:
6494         * configure.ac:
6495         * libs/gst/net/Makefile.am:
6496         Fix a compilation issue with Forte on Solaris.  inet_aton is in
6497         libresolv.
6498
6499 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6500
6501         * gst/gstpad.c: (pre_activate):
6502         * gst/gstregistry.c: (gst_registry_scan_path_level):
6503         * gst/gstregistryxml.c: (load_plugin):
6504         * libs/gst/controller/gstcontroller.c:
6505         (gst_controlled_property_set_interpolation_mode):
6506         * libs/gst/dataprotocol/dataprotocol.c:
6507         (gst_dp_packet_from_event_1_0):
6508         * libs/gst/net/gstnetclientclock.c:
6509         (gst_net_client_clock_observe_times):
6510         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6511           Printf fixes.
6512
6513 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6514
6515         * configure.ac:
6516         * docs/gst/gstreamer-sections.txt:
6517         * gst/gstconfig.h.in:
6518         * gst/gstelement.h:
6519         * gst/gstinfo.h:
6520           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
6521           whether we can use G_GNUC_PRINTF in other header files and at
6522           least check the printf format/arguments of debug messages and
6523           GST_ELEMENT_ERROR messages when the printf extension is not
6524           being used.
6525           Replace more tabs with spaces in gstinfo.h and remove two spurious
6526           function declarations in GST_DISABLE_DEBUG part with macros.
6527
6528 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6529
6530         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
6531           More docs for the sync-message signal (mention that it is not
6532           emitted by default); log message structures of messages posted on
6533           the bus as well.
6534
6535 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
6536
6537         * gst/gst.c: (ensure_current_registry_forking):
6538         Use a pipe pair to receive status results from the forked child, and
6539         ignore the result from waitpid. Fixes #355499
6540
6541 2006-10-02  Wim Taymans  <wim@fluendo.com>
6542
6543         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6544         (gst_ghost_pad_suite):
6545         Fix leak in check.
6546
6547 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6548
6549         * gst/gstpad.c:
6550           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
6551
6552 2006-10-02  Edward Hervey  <edward@fluendo.com>
6553
6554         * docs/design/part-block.txt:
6555         Further explain the use of flushing on blocked pads.
6556         * docs/gst/gstreamer-sections.txt:
6557         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6558         (gst_pad_push_event):
6559         * gst/gstpad.h:
6560         Added new GstPadFlag : GST_PAD_BLOCKING.
6561         Adds the notion of pads really blocking, which enables to properly
6562         handle FLUSH_START/FLUSH_STOP events on blocked pads.
6563         Fixes #358999
6564         API: gst_pad_is_blocking()
6565         API: GST_PAD_IS_BLOCKING() macro
6566         API: GST_PAD_BLOCKING GstPadFlag
6567         
6568 2006-10-02  Wim Taymans  <wim@fluendo.com>
6569
6570         Patch by: mrcgran <mrc.gran at gmail dot com>
6571
6572         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
6573         Filter the proxied caps against the padtemplate if we have one.
6574
6575         * gst/gstquery.c: (gst_query_new_segment):
6576         Add include for gstinfo.h so that compilation with
6577         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
6578
6579 2006-10-02  Wim Taymans  <wim@fluendo.com>
6580
6581         Patch by: Alessandro Decina  <alessandro at nnva org>
6582
6583         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
6584         (gst_file_sink_set_location), (gst_file_sink_open_file),
6585         (gst_file_sink_close_file), (gst_file_sink_event),
6586         (gst_file_sink_render):
6587         Set file to NULL when closing filesink so that we can set a new filename
6588         in READY. Fixes #358613.
6589
6590 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6591
6592         Patch by: Alessandro Decina  <alessandro at nnva org>
6593
6594         * gst/gstevent.c: (_gst_event_copy):
6595           Fix gst_mini_object_make_writable() and gst_event_copy() for events
6596           with event structures by setting the parent refcount address of the
6597           copied structure to the address of the refcount member of the newly
6598           copied event rather than the address of the refcount member of the
6599           original event. Fixes #358737.
6600
6601         * tests/check/gst/gstevent.c: (GST_START_TEST):
6602           Unit test for the above.
6603
6604 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
6605
6606         * docs/design/Makefile.am:
6607           Dist some more files.
6608
6609 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6610
6611         * tests/check/libs/controller.c: (GST_START_TEST),
6612         (gst_controller_suite):
6613           Add test for the previous fix; add some more tests
6614           for correct refcounting behaviour; fix a few leaks
6615           in test cases; call gst_controller_init() at start
6616           of all tests.
6617
6618 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6619
6620         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6621         (gst_controller_set_from_list):
6622           Don't g_return_val_if_fail() on timed values with invalid timestamps
6623           inside a critical section without unlocking the mutex. Spotted by
6624           René Stadler. (#357617)
6625           Also, fix up refcounting properly: when returning an existing
6626           controller, we should increase the reference only once and not
6627           once per property and when trying to control a property again
6628           we should also increase the refcount.
6629
6630 2006-09-29  Wim Taymans  <wim@fluendo.com>
6631
6632         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6633         * libs/gst/net/gstnettimeprovider.c:
6634         (gst_net_time_provider_thread):
6635         Stop reading commands when EOF as well.
6636
6637         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6638         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6639         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6640         Unify description of the dump property.
6641
6642 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6643
6644         * tests/examples/manual/.cvsignore:
6645         OK, so it's actually cvsignore that needs changing. Stop laughing.
6646
6647 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6648
6649         * tests/examples/manual/Makefile.am:
6650         Gah, declare vars *before* using them
6651
6652 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6653
6654         * gst/gst.c: (init_pre), (scan_and_update_registry),
6655         (ensure_current_registry_nonforking),
6656         (ensure_current_registry_forking), (ensure_current_registry),
6657         (init_post), (gst_debug_help), (gst_deinit):
6658         * gst/gst_private.h:
6659         * gst/gstregistry.c: (gst_registry_finalize),
6660         (gst_registry_remove_features_for_plugin_unlocked),
6661         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6662         (gst_registry_scan_path),
6663         (_priv_gst_registry_remove_cache_plugins),
6664         (_priv_gst_registry_cleanup):
6665         * gst/gstregistry.h:
6666         Re-commit the registry changes, along with an extra fix:
6667           When a cached plugin is encountered at a different file path,
6668           update the stored path in the registry cache so that the parent
6669           process knows where it actually is now when it re-reads the registry
6670           cache. Fixes the thing that broke distcheck with the previous commit.
6671
6672         * tests/check/Makefile.am:
6673         Clean up files named 'core' too when running make clean.
6674
6675         * tests/examples/manual/Makefile.am:
6676         Set up a registry path for running these tests, and clean it properly
6677         for distcheck.
6678
6679 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6680
6681         * configure.ac:
6682         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6683         want gmodule-no-export-2.0.pc instead so that we don't drag in
6684         --export-dynamic on every project that links to GStreamer.
6685
6686         Also, make our export regex only match the start of symbols, rather 
6687         than any symbol that contains '_gst' somewhere.
6688
6689         * libs/gst/check/Makefile.am:
6690         The libgstcheck we build does however need export-dynamic, as it
6691         produces some symbols that don't match our _gst... style regex.
6692         Fixes: #318031
6693
6694 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6695
6696         * gst/gst.c: (init_pre), (scan_and_update_registry),
6697         (ensure_current_registry_nonforking),
6698         (ensure_current_registry_forking), (ensure_current_registry),
6699         (init_post), (gst_debug_help), (gst_deinit):
6700         * gst/gst_private.h:
6701         * gst/gstregistry.c: (gst_registry_finalize),
6702         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6703         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6704         (_gst_registry_cleanup):
6705         * gst/gstregistry.h:
6706           Revert previous change until I figure out why it breaks distcheck.
6707
6708 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6709
6710         * gst/gst.c: (init_pre), (scan_and_update_registry),
6711         (ensure_current_registry_nonforking),
6712         (ensure_current_registry_forking), (ensure_current_registry),
6713         (init_post), (gst_debug_help), (gst_deinit):
6714
6715           Make init_pre and init_post take the full complement of GOptionFunc
6716           args so they can return useful GErrors. Make the registry updating
6717           functions do so.
6718
6719           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6720           ensure that the registry we're about to write out doesn't contain
6721           stale information about old-deleted plugin files.
6722
6723           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6724           that deletion of plugin files is considered a registry change.
6725
6726         * gst/gst_private.h:
6727         * gst/gstregistry.c: (gst_registry_finalize),
6728         (gst_registry_remove_features_for_plugin_unlocked),
6729         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6730         (gst_registry_scan_path),
6731         (_priv_gst_registry_remove_cache_plugins),
6732         (_priv_gst_registry_cleanup):
6733         * gst/gstregistry.h:
6734         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6735         by adding _priv prefix, so that they won't appear in the global
6736         symbol table. They still do atm though because of #318031. Move the
6737         prototypes to gst_private.h
6738
6739         When removing a plugin, remove all features for that plugin too. 
6740         Fixes #340878.
6741
6742 2006-09-27  Wim Taymans  <wim@fluendo.com>
6743
6744         * docs/random/moving-plugins:
6745         Make it clear that the "compiled-in descriptions" really mean
6746         the element details.
6747
6748         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6749         (gst_base_sink_wait_preroll):
6750         Update docs.
6751
6752         * docs/libs/gstreamer-libs-sections.txt:
6753         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6754         (gst_base_src_get_range), (gst_base_src_activate_push):
6755         * libs/gst/base/gstbasesrc.h:
6756         Added function to block while waiting for PLAYING, this function
6757         is used by live sources that block on the clock.
6758         API: gst_base_src_wait_playing()
6759
6760 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6761
6762         Patch by: Peter Kjellerstedt <pkj at axis com>
6763
6764         * Makefile.am:
6765           gst-element-check.m4 is generated and should therefore be
6766           copied from the build dir rather than the source dir (#357593).
6767           'make distcheck' hasn't noticed this because we were disting
6768           the file as well, so stop doing that.
6769
6770 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6771
6772         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6773           Add some tests for gst_caps_intersect().
6774
6775         * tools/gst-launch.c: (event_loop):
6776           Print all buffering percentages we get, even the 100% one.
6777
6778 2006-09-26  Wim Taymans  <wim@fluendo.com>
6779
6780         * tools/gst-inspect.c: (print_element_properties_info),
6781         (print_signal_info):
6782         Fix printing of flags to match the look of enums.
6783
6784 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6785
6786         * gst/gstelementfactory.c:
6787           Fix typo in docs blurb.
6788
6789 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6790
6791         * gst/gsturi.c: (search_by_entry):
6792           Don't assert/crash here if a uri handler doesn't return any
6793           supported protocols. The list of protocols could be generated
6794           dynamically at runtime or at plugin registration, and an error
6795           in the underlying library shouldn't be fatal (#353301).
6796
6797 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6798
6799         * gst/gstinfo.c:
6800           Fix warning if HAVE_PRINTF_EXTENSION is undefined
6801           (spotted by Peter Kjellerstedt).
6802
6803 2006-09-23  Wim Taymans  <wim@fluendo.com>
6804
6805         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6806
6807         * libs/gst/base/gstbasesrc.c:
6808         (gst_base_src_default_check_get_range), (gst_base_src_start),
6809         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6810         (gst_base_src_change_state):
6811         Match _start/_stop calls in the activate functions. Remove redundant
6812         _stop call from the state change function. Fixes #356910.
6813         Turn failure DEBUG into ERROR. 
6814
6815 2006-09-22  Wim Taymans  <wim@fluendo.com>
6816
6817         * docs/design/part-buffering.txt:
6818         * gst/gstmessage.c: (gst_message_new_buffering),
6819         (gst_message_parse_buffering):
6820         Update docs about buffering.
6821
6822         * docs/design/part-trickmodes.txt:
6823         Fix typo.
6824
6825 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
6826
6827         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6828         (gst_controller_new_list):
6829           Ref instances when returning them again (fixes #357180)
6830
6831 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6832
6833         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6834           Don't forget to release proxy lock when there's an error.
6835
6836 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
6837
6838         * gst/gstcaps.h:
6839           Add extra initialisers for Caps things, to fix some plugin warnings
6840           when using -Wextra
6841
6842 2006-09-18  Wim Taymans  <wim@fluendo.com>
6843
6844         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6845           Also set template on the internal pad so that a getcaps from the 
6846           target pad returns the template caps.
6847
6848 2006-09-18  Wim Taymans  <wim@fluendo.com>
6849
6850         * gst/gstelement.c: (gst_element_post_message),
6851         (gst_element_dispose):
6852         Use _DEBUG_OBJECT some more.
6853
6854         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6855         Avoid typechecks.
6856
6857         * tools/gst-launch.c: (main):
6858         If the toplevel element is not a GstPipeline, it must be put in a
6859         pipeline so that a bus and clock is selected.
6860
6861 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6862
6863         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6864           JITTER, RATE, and LATENCY query should be handled by the
6865           default case and not by the CONVERT query code.
6866
6867 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6868
6869         * gst/gstformat.c: (gst_format_register):
6870           Fix locking order (must take lock before using n_values).
6871
6872         * gst/gstvalue.c: (gst_value_serialize_enum),
6873         (gst_value_deserialize_enum_iter_cmp),
6874         (gst_value_deserialize_enum):
6875           Fix serialisation/deserialisation of custom registered GstFormats.
6876
6877         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6878           Unit test for custom format serialisation/deserialisation.
6879
6880 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
6881
6882         * docs/pwg/building-boiler.xml:
6883         * plugins/elements/gstcapsfilter.c:
6884         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6885         section.
6886
6887 2006-09-16  Edward Hervey  <edward@fluendo.com>
6888
6889         * libs/gst/base/gstbasetransform.c:
6890         (gst_base_transform_buffer_alloc):
6891         Check if requested caps are the same as the sinks caps IF
6892         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6893         is FALSE.
6894         This fixes the renegotiation issues stated in #352827.
6895
6896 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6897
6898         * configure.ac:
6899         * docs/manual/advanced-autoplugging.xml:
6900         * tests/examples/Makefile.am:
6901         * tests/examples/manual/.cvsignore:
6902         * tests/examples/manual/Makefile.am:
6903         * tests/examples/manual/extract.pl:
6904           Extract the manual examples again like we used to do.
6905           Fix one of them.
6906
6907 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6908
6909         * win32/common/config.h:
6910           update for version
6911
6912 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6913
6914         * gst/gsterror.c:
6915           Documents how to receive errors.
6916
6917 2006-09-15  Wim Taymans  <wim@fluendo.com>
6918
6919         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6920         (event_loop), (main):
6921         Added some comments here and there.
6922         Post an application message when an interrupt is caught instead of doing
6923         an uncontrolled state change.
6924         Clean up the event loop.
6925         Handle buffering messages, pause/resume the pipeline.
6926         Make shutdown because of an interrupt more reliable.
6927
6928 2006-09-15  Wim Taymans  <wim@fluendo.com>
6929
6930         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6931         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6932         (gst_base_sink_preroll_object):
6933         Make sure that our internal state is correct when we commit our state
6934         asynchronously. This solves a race where a state change to PLAYING
6935         could cause the sink to remain blocked in preroll in some situations.
6936
6937 2006-09-15  Wim Taymans  <wim@fluendo.com>
6938
6939         * tools/gst-inspect.c: (print_element_properties_info),
6940         (print_signal_info):
6941         List flags as hex so it's easier to deal with.
6942
6943 2006-09-15  Wim Taymans  <wim@fluendo.com>
6944
6945         * docs/libs/gstreamer-libs-sections.txt:
6946         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6947         (gst_base_sink_do_sync):
6948         * libs/gst/base/gstbasesink.h:
6949         Expose logic to wait for preroll so that subclasses such as audiosink
6950         can also use this method.
6951         API: gst_base_sink_wait_preroll()
6952
6953 2006-09-15  Wim Taymans  <wim@fluendo.com>
6954
6955         * gst/gstobject.c: (gst_object_set_parent):
6956         * gst/gstpipeline.c: (do_pipeline_seek):
6957         Small cleanups in docs and code.
6958
6959         * gst/gstsegment.c: (gst_segment_clip):
6960         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6961         if stop == start and start is in the segment, no clipping should be
6962         done. Also add a test for this.
6963
6964 2006-09-15  Wim Taymans  <wim@fluendo.com>
6965
6966         * docs/design/part-buffering.txt:
6967         * docs/gst/gstreamer-sections.txt:
6968         * gst/gstmessage.c: (gst_message_new_buffering),
6969         (gst_message_parse_buffering):
6970         * gst/gstmessage.h:
6971         Added methods to create and parse BUFFERING messages.
6972         Added preliminary docs about buffering.
6973         API: gst_message_new_buffering
6974         API: gst_message_parse_buffering
6975
6976 2006-09-06  Wim Taymans  <wim@fluendo.com>
6977
6978         * gst/gstbin.c:
6979         Update documentation.
6980
6981         * gst/gstelement.c: (gst_element_class_init),
6982         (gst_element_release_request_pad), (gst_element_set_clock),
6983         (gst_element_get_index), (gst_element_add_pad),
6984         (gst_element_remove_pad), (gst_element_get_random_pad),
6985         (gst_element_send_event), (gst_element_get_query_types),
6986         (gst_element_query), (gst_element_post_message),
6987         (gst_element_message_full), (gst_element_continue_state),
6988         (gst_element_lost_state), (gst_element_save_thyself),
6989         (gst_element_restore_thyself):
6990         Documentation updates.
6991         Rename last bit of the new-pad -> pad-added signal rename.
6992         Fix the case where an element query would only work if the source
6993         pad was linked.
6994         Avoid some useless type checking in message handling.
6995
6996         * gst/gstevent.c:
6997         * gst/gstevent.h:
6998         * gst/gstutils.c:
6999         Documentation updates.
7000
7001 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7004           add an INFO line for when we actually update the fd
7005
7006 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         * configure.ac:
7009           back to TRUNK
7010
7011 === release 0.10.10 ===
7012
7013 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
7014
7015         * configure.ac:
7016           releasing 0.10.10, "Pais"
7017
7018 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
7019
7020         * docs/manual/advanced-position.xml:
7021           Fix typo in sample code.
7022
7023 2006-09-05  Wim Taymans  <wim@fluendo.com>
7024
7025         * libs/gst/net/gstnetclientclock.c: (inet_aton),
7026         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7027         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
7028         * libs/gst/net/gstnetclientclock.h:
7029         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7030         * libs/gst/net/gstnettimepacket.h:
7031         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
7032         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
7033         (gst_net_time_provider_thread), (gst_net_time_provider_new):
7034         * libs/gst/net/gstnettimeprovider.h:
7035         Make stuff compile on windows. Fixes #345295.
7036
7037 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7038
7039         * gst/gst.c: (ensure_current_registry_forking):
7040           Print better details when child was terminated by signal.
7041
7042 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7043
7044         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
7045           Print a warning rather than g_assert() if a plugin feature
7046           is a URI handler but returns no protocols (#353976).
7047
7048 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
7049
7050         * docs/random/moving-plugins:
7051         Fix two typos.         
7052
7053 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7054
7055         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
7056           Fix locking order, handle NULL function values properly.
7057
7058         * gst/gstinfo.h:
7059           Fix docs.
7060
7061         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
7062           Initialise variable before using it and fix debug statement to
7063           print the address of the function rather than the address of the
7064           variable on the stack holding the address of the function.
7065
7066 2006-09-01  Wim Taymans  <wim@fluendo.com>
7067
7068         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
7069         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
7070         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
7071         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
7072         (gst_ghost_pad_parent_unset),
7073         (gst_ghost_pad_internal_do_activate_push),
7074         (gst_ghost_pad_internal_do_activate_pull),
7075         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7076         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7077         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
7078         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
7079         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
7080         (gst_ghost_pad_new_no_target_from_template),
7081         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7082         More cleanups.
7083         Avoid needless typechecking in macros.
7084         Since the internal pad is always present and never changes, there is
7085         no need to locking or ref when retrieving it.
7086         Improve debugging a bit.
7087         Handle link errors when setting the target. Fixes #341029.
7088
7089 2006-09-01  Wim Taymans  <wim@fluendo.com>
7090
7091         * docs/libs/gstreamer-libs-sections.txt:
7092         * docs/plugins/gstreamer-plugins-sections.txt:
7093         Fix docs some more.
7094
7095         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7096         (gst_collect_pads_event):
7097         * libs/gst/base/gstcollectpads.h:
7098         Documentation updates.
7099         Free queued buffer when removing a pad.
7100
7101 2006-08-31  Michael Smith  <msmith@fluendo.com>
7102
7103         * gst/gstutils.c: (gst_element_link_pads),
7104         (gst_element_link_pads_filtered):
7105           Ensure that we set a capsfilter to NULL if we failed to link it
7106           when doing filtered linking, to avoid criticals.
7107
7108           No need to check for unreffing srcpad, which is explicly NULLed
7109           above (a trivial code cleanup).
7110
7111 2006-08-31  Wim Taymans  <wim@fluendo.com>
7112
7113         * docs/design/part-gstghostpad.txt:
7114         Update ascii art in documentation.
7115
7116         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
7117         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
7118         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7119         (gst_ghost_pad_internal_do_activate_push),
7120         (gst_ghost_pad_internal_do_activate_pull),
7121         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7122         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7123         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
7124         (gst_ghost_pad_set_target):
7125         Small cleanups and leak fixes.
7126         Remove some checks now that the internal pad is never NULL.
7127         Fix the case where linking pads without a target would create nasty
7128         criticals. Fixes #341029.
7129         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
7130         value of _set_target().
7131
7132         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7133         (gst_ghost_pad_suite):
7134         Some more tests for creating and linking untargeted ghostpads.
7135
7136 2006-08-31  Edward Hervey  <edward@fluendo.com>
7137
7138         * docs/gst/gstreamer-sections.txt:
7139         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
7140         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7141         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
7142         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
7143         (gst_ghost_pad_new_from_template),
7144         (gst_ghost_pad_new_no_target_from_template):
7145         * gst/gstghostpad.h:
7146         Refactored *_new() functions.
7147         Templates are now used as a g_object_new() parameter.
7148         Use template in _do_getcaps() if we don't have a target.
7149         Small documentation cleanups.
7150         Added two new constructors:
7151         gst_ghost_pad_new_from_template()
7152         gst_ghost_pad_new_no_target_from_template()
7153         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7154         (gst_ghost_pad_suite):
7155         Added tests for new ghostpad instanciation functions.
7156
7157         API additions: gst_ghost_pad_new_from_template,
7158         gst_ghost_pad_new_no_target_from_template
7159
7160 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
7161
7162         * docs/random/ensonic/profiling.txt:
7163           Ideas about qos profiling.
7164
7165 2006-08-29  Wim Taymans  <wim@fluendo.com>
7166
7167         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
7168         Code cleanups.
7169         Fix memleak.
7170
7171 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
7172
7173         * gst/gstxml.c:
7174           Improve and detypofy docs.
7175
7176         * tests/check/Makefile.am:
7177         * tests/check/gst/.cvsignore:
7178         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
7179           Add a basic test suite for GstXML.
7180
7181 2006-08-29  Wim Taymans  <wim@fluendo.com>
7182
7183         * gst/gstelement.c: (activate_pads), (clear_caps),
7184         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7185         Clear the pad caps when the element shut down all of the pads and
7186         is not streaming data that could modify the caps. 
7187         Fixes #352958.
7188
7189 2006-08-28  Michael Smith  <msmith@fluendo.com>
7190
7191         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7192           Revert previous change; I misunderstood single-segment mode.
7193
7194 2006-08-28  Michael Smith  <msmith@fluendo.com>
7195
7196         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7197           Unset DISCONT on buffers when using single-segment mode.
7198
7199 2006-08-28  Wim Taymans  <wim@fluendo.com>
7200
7201         * gst/gstcaps.c: (gst_caps_merge_structure):
7202         * gst/gstcaps.h:
7203         Fix docs and indentation again.
7204
7205         * tests/check/gst/gstquery.c: (GST_START_TEST):
7206         Fix leak in tests and add some more tests.
7207
7208 2006-08-28  Edward Hervey  <edward@fluendo.com>
7209
7210         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7211         Inform GstSegment of the last stop position in order for the current
7212         segment to have a proper duration if it doesn't have a specific stop
7213         position from which a duration could be calculated.
7214         This bug was noticeable when a non-flushing, non-update new segment was
7215         followed by another segment (all buffers from the new segment were being
7216         dropped).
7217
7218 2006-08-28  Wim Taymans  <wim@fluendo.com>
7219
7220         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7221         Small comment update.
7222
7223         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7224         (gst_identity_transform_ip):
7225         Drop-probability is broken, mention this in the code with a 
7226         FIXME and also in the property description.
7227         Make silent also be silent about the drop messages.
7228
7229 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
7230
7231         * docs/manual/appendix-win32.xml:
7232           Remove mention of popt, we don't depend on that any
7233           longer (#353136). Add some comments pointing out that
7234           this section is slightly outdated.
7235
7236 2006-08-28  Wim Taymans  <wim@fluendo.com>
7237
7238         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7239
7240         * gst/gstquery.c: (gst_query_new_segment):
7241         * tests/check/gst/gstquery.c: (GST_START_TEST):
7242         Initialize variables when creating a new segment query.
7243         Fixes #353121.
7244
7245 2006-08-28  Wim Taymans  <wim@fluendo.com>
7246
7247         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7248
7249         * gst/gstelement.c: (gst_element_get_bus):
7250         * tests/check/gst/gstelement.c: (GST_START_TEST):
7251         Check for NULL before _reffing the bus. Fixes #353122.
7252
7253 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
7254
7255         * docs/manual/basics-bus.xml:
7256           Docs update: fix wrong callback return value explanation; add
7257           some lines about the implicit relationship between main loop
7258           and main context; remove duplicate main loop variable declaration.
7259
7260 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
7261
7262         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7263           Don't leak caps in unit test; add a few more simple
7264           checks. 
7265
7266 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
7267
7268         * docs/gst/gstreamer-sections.txt:
7269         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
7270         (gst_caps_structure_is_subset), (gst_caps_merge),
7271         (gst_caps_merge_structure):
7272         * gst/gstcaps.h:
7273         * libs/gst/base/gstbasetransform.c:
7274         (gst_base_transform_transform_caps):
7275         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7276           implement caps merging (fixes #352580)
7277
7278 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
7279
7280         * tools/Makefile.am:
7281         * tools/gst-plot-timeline.py:
7282           add debug-log plotting developer tool (#340674)
7283
7284 2006-08-23  Wim Taymans  <wim@fluendo.com>
7285
7286         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
7287         (gst_pad_stop_task):
7288         Improve debugging for task functions.
7289
7290         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
7291         (gst_task_start), (gst_task_pause), (gst_task_join):
7292         Make sure that the task function started and finished after a 
7293         join(). 
7294         Don't try to push the task function on the threadpool multiple
7295         times.
7296         Improve the g_warning message with some useful suggestions
7297         about how to fix the problem. 
7298
7299 2006-08-23  Wim Taymans  <wim@fluendo.com>
7300
7301         * gst/gstutils.c: (gst_pad_proxy_getcaps):
7302         Handle RESYNC correctly in _proxy_getcaps.
7303
7304 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
7305
7306         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
7307         (gst_xml_parse_memory), (gst_xml_get_element):
7308           Chain up to parent class in dispose function and also
7309           unref the elements in the toplevel_elements GList.
7310           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
7311           Always return a reference in gst_xml_get_element() rather
7312           than only sometimes.
7313
7314         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7315           Don't leak GstXml object.
7316
7317 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
7318
7319         * docs/gst/gstreamer-sections.txt:
7320         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
7321         (gst_caps_merge):
7322         * gst/gstcaps.h:
7323         * libs/gst/base/gstbasetransform.c:
7324         (gst_base_transform_transform_caps):
7325           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
7326           in a better way
7327
7328 2006-08-21  Edward Hervey  <edward@fluendo.com>
7329
7330         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
7331         Implement GObject::dispose virtual method in GstXML so we can free the
7332         top_elements GList.
7333
7334 2006-08-21  Wim Taymans  <wim@fluendo.com>
7335
7336         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
7337         (gst_buffer_create_sub):
7338         Copy duration/offset_end/caps when creating a subbuffer of the
7339         complete parent.
7340         Make the subbuffer read-only when we make the metadata writable for
7341         now. Fixes #351768.
7342
7343         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7344         Added check for metadata copy when creating subbuffers.
7345
7346 2006-08-21  Edward Hervey  <edward@fluendo.com>
7347
7348         * libs/gst/base/gstbasetransform.c:
7349         (gst_base_transform_buffer_alloc):
7350         Only call downstream buffer_alloc if transform element is passthrough
7351         or always_in_place. Closes #350449.
7352
7353 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7354
7355         * ChangeLog:
7356           ChangeLog surgery to add comments to previous changes
7357
7358 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7359
7360         * gst/gst.c:
7361           Add comments
7362
7363         * gst/gstpad.c: (gst_pad_set_active):
7364           Be more verbose in the log
7365
7366         * libs/gst/base/gstbasetransform.c:
7367         (gst_base_transform_transform_caps):
7368           Simplify caps to get rid of duplicates, fixes #345444
7369
7370 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * gst/gstvalue.c:
7373         * gst/gstvalue.h:
7374           Use these optimizations only internally.
7375
7376 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7377
7378         * gst/gstvalue.c: (gst_value_compare_list),
7379         (gst_value_compare_fraction_range),
7380         (gst_value_intersect_fraction_fraction_range),
7381         (gst_value_intersect_fraction_range_fraction_range),
7382         (gst_value_subtract_fraction_fraction_range),
7383         (gst_value_subtract_fraction_range_fraction_range),
7384         (gst_value_get_compare_func), (gst_value_compare),
7385         (gst_value_compare_with_func):
7386         * gst/gstvalue.h:
7387           Saves the expensive lookup of the compare function in many cases
7388          (#345444)
7389
7390 2006-08-18  Edward Hervey  <edward@fluendo.com>
7391
7392         * tests/check/gst/gstinfo.c: (gst_info_suite):
7393         Disable test that require gstdebug if it wasn't built in core.
7394
7395 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7396
7397         * docs/random/ensonic/logging.txt:
7398           update ideas
7399           
7400         * gst/gstinfo.c: (gst_debug_log_default):
7401           reorder fields, save some columns, add optional color codes for log
7402           levels
7403
7404 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7405
7406         * docs/random/ensonic/logging.txt:
7407           add ideas about making the logs a bit more useful
7408
7409 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7410
7411         * docs/pwg/advanced-events.xml:
7412         * docs/pwg/titlepage.xml:
7413           Update for 0.10 API (#340627). Add myself
7414           to authors list.
7415
7416 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7417
7418         * docs/libs/gstreamer-libs-docs.sgml:
7419         * docs/libs/gstreamer-libs-sections.txt:
7420         * libs/gst/check/gstbufferstraw.c:
7421           Make gstcheck stuff show up in docs (still needs to
7422           be documented properly though).
7423
7424 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
7425
7426         * docs/gst/gstreamer-sections.txt:
7427         * gst/Makefile.am:
7428         * gst/gst.c: (init_post):
7429         * gst/gst_private.h:
7430         * gst/gstquark.c: (_priv_gst_quarks_initialize):
7431         * gst/gstquark.h:
7432         * gst/gstquery.c: (gst_query_new_position),
7433         (gst_query_set_position), (gst_query_parse_position),
7434         (gst_query_new_duration), (gst_query_set_duration),
7435         (gst_query_parse_duration), (gst_query_new_convert),
7436         (gst_query_set_convert), (gst_query_parse_convert),
7437         (gst_query_new_segment), (gst_query_set_segment),
7438         (gst_query_parse_segment), (gst_query_new_seeking),
7439         (gst_query_set_seeking), (gst_query_parse_seeking):
7440         Add internal helpers for pre-registering quarks from static strings
7441         and using the quark values directly instead of looking them up when
7442         creating and parsing queries. Can be used for event construction too.
7443         Closes #350432.
7444
7445 2006-08-16  Wim Taymans  <wim@fluendo.com>
7446
7447         * gst/gstbin.c:
7448         Fix bogus docs.
7449
7450 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7451
7452         * gst/gstutils.c: (gst_util_set_value_from_string):
7453           Fix memleak (#351502).
7454
7455         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7456           Add unit test for most of gst_util_set_value_from_string()
7457           (not that one would want to encourage use of this function).
7458
7459 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7460
7461         * libs/gst/check/gstcheck.h:
7462           Use const gchar * variables in fail_unless_equals_string
7463           macro to avoid compiler warnings (and don't use tabs for
7464           indenting).
7465
7466 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7467
7468         * tools/gst-launch.c: (print_tag):
7469           More space on the left for the tag names, to cater
7470           for the 'extended comment' tag (not touching the
7471           string for the first line since it's translated).
7472
7473 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7474
7475         * libs/gst/check/gstcheck.h:
7476           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
7477           print something when they fail.
7478
7479 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7480
7481         * docs/gst/gstreamer-sections.txt:
7482         * gst/gsttaglist.c: (_gst_tag_initialize):
7483         * gst/gsttaglist.h:
7484           API: add GST_TAG_EXTENDED_COMMENT (#350935).
7485           Also change merge function for GST_TAG_COMMENT to
7486           use_first.
7487
7488 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7489
7490         * gst/gstinfo.c: (gst_debug_print_object):
7491           Make GST_PTR_FORMAT print messages as well.
7492
7493         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
7494         (GST_START_TEST), (gst_info_suite):
7495           More tests.
7496
7497 2006-08-14  Edward Hervey  <edward@fluendo.com>
7498
7499         * gst/gstelementfactory.c: (gst_element_register):
7500         If the GstElementClass doesn't have a GstElementDetails with all fields
7501         filled up correctly (longname, description AND author), then error out
7502         nicely instead of crashing.
7503
7504 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7505
7506         * gst/gststructure.c:
7507           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
7508
7509         * gst/gstvalue.h:
7510           Expand on the difference between arrays and lists as we use them.
7511           
7512 2006-08-14  Wim Taymans  <wim@fluendo.com>
7513
7514         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
7515         If the parent state change function failed, don't assume we can safely
7516         stop the source, this will be done when the pads are deactivated.
7517
7518 2006-08-14  Wim Taymans  <wim@fluendo.com>
7519
7520         * gst/gstbuffer.c:
7521         * gst/gsttask.c: (gst_task_join):
7522         Small doc updates.
7523
7524         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7525         (gst_pad_stop_task):
7526         When pad (de)activation failed for some reason, restore the old
7527         activation mode and set the pad to flushing instead of assuming the
7528         pad is deactivated.
7529         If the _task_join() failed, reinstall the task on the pad so that it can
7530         be stopped later and return an error.
7531
7532 2006-08-11  Andy Wingo  <wingo@pobox.com>
7533
7534         * configure.ac:
7535         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7536         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
7537         is only for users of API that don't want to see deprecated
7538         functions in the headers; people that want to compile out
7539         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
7540         CFLAGS. Fixes the build of multifdsink, or will soon..
7541
7542 2006-08-11  Wim Taymans  <wim@fluendo.com>
7543
7544         * docs/gst/gstreamer-sections.txt:
7545         Add GstClockClass vmethod docs.
7546
7547         * gst/gstcaps.h:
7548         Mark #endif with comment for associated #if
7549
7550         * gst/gstclock.c: (gst_clock_id_wait):
7551         * gst/gstclock.h:
7552         Add vmethod wait_jitter to avoid an unneeded _get_time() for
7553         most clock implementations.
7554         Document vmethods.
7555         Flesh out docs about resolution methods.
7556         API: GstClockClass::wait_jitter
7557
7558         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7559         (gst_system_clock_async_thread),
7560         (gst_system_clock_id_wait_jitter_unlocked),
7561         (gst_system_clock_id_wait_jitter):
7562         Use base class wait_jitter variant for improved performance
7563         due to less clock polling.
7564
7565 2006-08-11  Edward Hervey  <edward@fluendo.com>
7566
7567         * gst/gst.c: (gst_init_check), (init_post):
7568         Set gst as being initialized before scanning/updating the registry,
7569         since there might be my python plugin loader that calls gst_init() and
7570         we don't want to loop back in.
7571         Closes #350879
7572
7573 2006-08-11  Wim Taymans  <wim@fluendo.com>
7574
7575         * docs/design/part-qos.txt:
7576         Bring docs in line with the code. Mostly the sign of the jitter was
7577         wrong in the docs. Fixes #349943.
7578
7579         * gst/gstclock.c:
7580         Fix the docs for the jitter.
7581
7582         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
7583         (gst_event_parse_tag), (gst_event_new_buffer_size),
7584         (gst_event_parse_buffer_size), (gst_event_parse_qos),
7585         (gst_event_new_seek), (gst_event_parse_seek),
7586         (gst_event_new_navigation):
7587         Make sure the GstStructure has no parent when creating custom
7588         events.
7589         Add some more argument checking so that we avoid 0.0 rates.
7590         Flesh out the docs for the QoS event some more.
7591
7592 2006-08-11  Wim Taymans  <wim@fluendo.com>
7593
7594         * docs/gst/gstreamer-sections.txt:
7595         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7596         (ensure_current_registry_forking), (ensure_current_registry),
7597         (parse_one_option), (parse_goption_arg), (gst_deinit),
7598         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
7599         * gst/gst.h:
7600         Doc updates.
7601         Added API and command line option to disable registry forking in
7602         addition to the environment variable.
7603         Constify some static arrays.
7604         Added some more debug.
7605         Don't deinit twice.
7606         API: gst_registry_fork_is_enabled()
7607         API: gst_registry_fork_set_enabled()
7608         API: --gst-disable-registry-fork command line option
7609         Fixes #348918.
7610
7611 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
7612
7613         * gst/gst.c: (gst_init):
7614           Fix typo in error message.
7615
7616 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7617
7618         * libs/gst/controller/gstcontroller.h:
7619           fix ABI size-correction
7620
7621         * tests/check/libs/gdp.c: (gst_dp_suite):
7622           make tests that use deprecated API conditional
7623
7624 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7625
7626         * docs/libs/gstreamer-libs-sections.txt:
7627         * libs/gst/controller/gstcontroller.c:
7628         (_gst_controller_get_property), (_gst_controller_set_property),
7629         (_gst_controller_init), (_gst_controller_class_init):
7630         * libs/gst/controller/gstcontroller.h:
7631         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7632         (gst_object_set_control_rate):
7633           API: add gst_object_{s,g}et_control_rate(), add private data section,
7634           fix docs
7635
7636         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7637         * libs/gst/dataprotocol/dataprotocol.h:
7638           add deprecation guards to make gtk-doc happy and allow disabling cruft
7639
7640 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7641
7642         * tests/check/Makefile.am:
7643         * tests/check/gst/.cvsignore:
7644           Let's enable the new unit test as well.
7645
7646 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7647
7648         * configure.ac:
7649         * docs/gst/gstreamer-sections.txt:
7650         * gst/gstconfig.h.in:
7651         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7652         (_gst_info_printf_extension_ptr),
7653         (_gst_info_printf_extension_segment):
7654           API: add GST_SEGMENT_FORMAT, which is a printf extension we
7655           register that lets us easily dump GstSegments into debug
7656           logs (#350419).
7657
7658         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7659         (info_segment_format_printf_extension), (gst_info_suite):
7660           Add simple unit test that logs a bunch of different segments (not
7661           valgrinded at the moment because of leaks in
7662           gst_debug_add_log_function).
7663
7664 2006-08-09  Edward Hervey  <edward@fluendo.com>
7665
7666         * libs/gst/base/gstbasetransform.c:
7667         (gst_base_transform_buffer_alloc):
7668         Even if we can't figure out the proper format to request downstream,
7669         call buffer_alloc() downstream with the input parameters without setting
7670         the caps on the srcpad. This will force negotiation in the chain
7671         function.
7672         Closes #350449
7673
7674 2006-08-08  Edward Hervey  <edward@fluendo.com>
7675
7676         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7677         Unlinking from a pad without a target is now a perfectly valid case
7678         which should NOT raise an assertion.
7679         This case would happen if a linked ghostpad its target set to NULL after
7680         it was previously linked.
7681
7682 2006-08-08  Edward Hervey  <edward@fluendo.com>
7683
7684         * tests/check/libs/gdp.c:
7685         Also comment out the test (see below).
7686
7687 2006-08-08  Edward Hervey  <edward@fluendo.com>
7688
7689         * tests/check/libs/gdp.c: (gst_dp_suite):
7690         Use the architecture information from config.h and not gcc macros
7691         in order to properly disable a test that fails on PPC64.
7692
7693 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7694
7695         * gst/gstelement.c: (gst_element_remove_pad):
7696           Don't crash printing the warning if the pad has no parent.
7697
7698 2006-08-02  Wim Taymans  <wim@fluendo.com>
7699
7700         * libs/gst/dataprotocol/dataprotocol.c:
7701         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7702         (gst_dp_crc), (gst_dp_header_payload_length),
7703         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7704         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7705         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7706         (gst_dp_event_from_packet), (gst_dp_validate_header),
7707         (gst_dp_validate_payload):
7708         Make debug category static
7709         Constify the crc table.
7710         Do some more arg checking in public functions.
7711         Fix some docs and do some small cleanups.
7712
7713         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7714         Add some more checks to see if GDP deals with bogus input.
7715
7716 2006-07-31  Wim Taymans  <wim@fluendo.com>
7717
7718         * gst/gstvalue.c: (gst_value_compare_list):
7719         Fix GstValueList comparison code. Fixes #347293.
7720
7721         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7722         Check to test GstValueList comparison.
7723
7724 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7725
7726         * gst/gstelementfactory.c: (gst_element_factory_create):
7727         Remove unnecessary ref/unref pair
7728
7729         * gst/parse/grammar.y:
7730         Make sure to free the parse buffer on all code paths.
7731         Move a g_free up to the error handler where it's easier to see.
7732
7733         * tests/check/gst/gstevent.c: (test_event):
7734         Extending timeout for downstream travelling events to 10 seconds to
7735         hopefully avoid intermittent failure on the buildbots.
7736
7737         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7738         Don't manually set the state of the src element - it will happen as a
7739         natural consequence of the pipeline changing state, and that way it
7740         will do it in the right order too.
7741
7742 2006-07-31  Wim Taymans  <wim@fluendo.com>
7743
7744         * libs/gst/base/gstbasetransform.c:
7745         (gst_base_transform_buffer_alloc):
7746         Use OBJECT_LOCK and refcounting to get the pad caps in the
7747         buffer_alloc function because the caps could change while we are
7748         busy with them. Fixes #349105
7749
7750 2006-07-31  Wim Taymans  <wim@fluendo.com>
7751
7752         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7753         Protect _PAD_CAPS with OBJECT_LOCK.
7754
7755 2006-07-31  Wim Taymans  <wim@fluendo.com>
7756
7757         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7758         (gst_pad_get_property), (gst_pad_activate_pull),
7759         (gst_pad_activate_push), (gst_pad_set_blocked_async),
7760         (gst_pad_set_activate_function),
7761         (gst_pad_set_activatepull_function),
7762         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7763         (gst_pad_set_getrange_function),
7764         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7765         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7766         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7767         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7768         (gst_pad_set_acceptcaps_function),
7769         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7770         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7771         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7772         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7773         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7774         (gst_pad_configure_sink), (gst_pad_configure_src),
7775         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7776         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7777         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7778         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7779         (gst_pad_send_event):
7780         Use _DEBUG_OBJECT when it makes sense.
7781         Protect GST_PAD_CAPS with the OBJECT_LOCK.
7782         Small cleanups and code reflows.
7783         Avoid caps refcounting in _accept_caps.
7784         Refactor alloc_buffer so that the code performed on the peer is in a
7785         separate function. Also if the pad does not implement a buffer alloc
7786         function, we should still check if the pad is flushing before falling
7787         back to the default allocator.
7788
7789 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7790
7791         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7792         Make all uses of identity and fakesink have silent=true to avoid
7793         serialising every passing data structure, which is breaking tests
7794         on FC4 for some unknown reason.
7795
7796 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7797
7798         * gst/parse/Makefile.am:
7799         * gst/parse/grammar.y:
7800         * gst/parse/parse.l:
7801           Reverted previous patch as it required to bump the flex dependency to
7802           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7803
7804 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7805
7806         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7807
7808         * gst/parse/Makefile.am:
7809         * gst/parse/grammar.y:
7810         * gst/parse/parse.l:
7811           push & pop the state of the lexer for reentrant use case
7812           Fixes #349180
7813
7814 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * libs/gst/base/gstbasesrc.h:
7817           Note in the docs that the ::newsegment vfunc is not actually used by
7818           GstBaseSrc.
7819
7820 2006-07-28  Wim Taymans  <wim@fluendo.com>
7821
7822         * libs/gst/base/gstcollectpads.c:
7823         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7824         (gst_collect_pads_clear), (gst_collect_pads_flush),
7825         (gst_collect_pads_event), (gst_collect_pads_chain):
7826         When flushing a pad, also clear the queued buffer so that we don't
7827         accidentally use it when we shouldn't.
7828         Fix leaks by inreffing incomming buffer.
7829         Flush out queued buffers in case of errors.
7830         Fixes #347452.
7831
7832 2006-07-28  Wim Taymans  <wim@fluendo.com>
7833
7834         * docs/random/phonon-gst:
7835         Random notes about a Phonon backend.
7836
7837 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7838
7839         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7840         Extra debug output
7841         * tests/check/libs/gdp.c: (gst_dp_suite):
7842         Take a whack at fixing the ppc compile using a different define to
7843         disable the broken test.
7844
7845         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7846         Remove excess g_print()
7847
7848 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7849
7850         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7851         Oops, meant to uncomment this line too to dampen the noise a bit.
7852
7853 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7854
7855         * gst/parse/grammar.y:
7856         * gst/parse/parse.l:
7857         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7858         (GST_START_TEST), (parse_suite):
7859         Fix some of the leaks exposed by extending the parse-launch testsuite,
7860         and move the 3 I can't figure out into a separate test that won't run
7861         the pipelines unless the appropriate line is uncommented.
7862
7863 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7864
7865         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7866           Requesting 0 bytes before the end of the file should result in
7867           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7868           unit test.
7869
7870 2006-07-27  Wim Taymans  <wim@fluendo.com>
7871
7872         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7873         Fix useless assert, a uint is always positive.
7874
7875         * gst/gststructure.c: (gst_structure_nth_field_name),
7876         (gst_structure_foreach), (gst_structure_map_in_place):
7877         Check input arguments for public functions to avoid obvious crashes.
7878
7879         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7880         * plugins/elements/gstfakesink.h:
7881         Do less useless typechecking.
7882
7883 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7884
7885         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7886           Do not use mmap() by default since there are a number of error
7887           conditions that we would like to handle in a non-fatal way that
7888           will result in a SIGBUS if we use mmap(). Examples: external
7889           devices (USB harddrive, portable music player) being unplugged
7890           while in use; file on mounted CD/DVD that can't be read because
7891           the medium is partly damaged. Fixes #348455 and #348475.
7892
7893 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7894
7895         * gst/gstquery.h:
7896         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7897         rates are a gdouble
7898
7899 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7900
7901         * gst/gstregistry.c:
7902           Move big documentation comment into class section header, so that it
7903           appears in the API docs.
7904
7905 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7906
7907         * docs/gst/gstreamer-sections.txt:
7908         Oops. Commit the docs additions too for new API.
7909         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7910
7911 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7912
7913         * gst/gststructure.c: (gst_structure_id_set),
7914         (gst_structure_id_set_valist):
7915         * gst/gststructure.h:
7916         Add API for setting values into structures without performing
7917         a quark lookup, if the appropriate quark is already known.
7918
7919         API: gst_structure_id_set
7920         API: gst_structure_id_set_valist
7921
7922         * gst/parse/grammar.y:
7923         * gst/parse/parse.l:
7924         Remove some dead code shown by the coverage information.
7925         Don't throw a critical g_warning when encountering a syntax error,
7926         just warn and let the normal error path handle it.
7927
7928         * plugins/elements/gstelements.c:
7929         Bump the rank of filesink up to PRIMARY so that it is preferred over
7930         gnomevfssink for file:// sink uri's
7931
7932         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7933         (GST_START_TEST), (run_delayed_test),
7934         (gst_parse_test_element_base_init),
7935         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7936         (gst_parse_test_element_change_state),
7937         (gst_register_parse_element), (parse_suite):
7938         Beef up the tests for parse syntax to check that more error cases
7939         fail as they are supposed to. Increases the test coverage a bit.
7940
7941 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7942
7943         * docs/manual/basics-elements.xml:
7944           Fix gst_element_link() example.
7945
7946         * gst/gstutils.c:
7947           Mention in API docs that one should usually gst_bin_add()
7948           elements to a bin or pipeline before doing the linking.
7949           
7950 2006-07-26  Wim Taymans  <wim@fluendo.com>
7951
7952         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7953         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7954         Avoid function call for known types by keeping the buffer and
7955         subbuffer GType global.
7956
7957         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7958         Random silly optimisations in read() path.
7959
7960 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7961
7962         * tools/gst-launch.c: (main):
7963           If the top-level of the parse is a normal bin, it doesn't do the
7964           right logic to run as a top-level element, so place it inside a
7965           pipeline.
7966
7967 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7968
7969         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7970           Remove superfluous g_object_notify() calls, GObject does
7971           that for us automatically.
7972
7973 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7974
7975         * gst/gstinfo.h:
7976           on Win32, use dllspec to export the debug category symbols
7977
7978 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7979
7980         * gst/gsttaglist.c: (_gst_tag_initialize):
7981           Allow more than one GST_TAG_IMAGE per taglist.
7982
7983 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7984
7985         * gst/gstminiobject.c:
7986           update docs
7987         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7988         (gst_fd_src_create):
7989           log recurring events at LOG level
7990           add more debug for when the fd gets set
7991
7992 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7993
7994         * gst/gstparse.c: (gst_parse_launch):
7995           Also remove reentrance checks if flex is MT safe (#348179)
7996          Fix my empty ChangeLog entry below
7997
7998 2006-07-21  Andy Wingo  <wingo@pobox.com>
7999
8000         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
8001
8002         * libs/gst/check/Makefile.am
8003         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
8004         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
8005         * libs/gst/check/gstbufferstraw.h:
8006         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
8007         functions, thus proving I am still a GStreamer haxor. OK I wrote
8008         them a long time ago, but anyways.
8009
8010 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
8011
8012         * configure.ac:
8013         * gst/gstparse.c: (gst_parse_launch):
8014           Check for flex version and omit mutex if we have a MT save flex
8015           (fixes #348179)
8016
8017 2006-07-21  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/gstparse.c: (gst_parse_launch):
8020         Protect recursive calls to _parse with a recursive mutex
8021         and busy flag.
8022
8023 2006-07-21  Wim Taymans  <wim@fluendo.com>
8024
8025         * tests/check/gst/gstpad.c: (GST_START_TEST):
8026         Fix leak in test.
8027
8028 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
8029
8030         * gst/gstparse.c: (gst_parse_launch):
8031           Do not hang on recursive usage of gst_parse_launch()
8032
8033 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
8034
8035         * gst/gsttaglist.c:
8036           Add some more docs, comments and FIXME 0.11s here and there
8037           and also fix some typos.
8038
8039 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
8040
8041         * gst/gstsegment.h:
8042           Convert tabs to spaces for better readability. 
8043
8044 2006-07-20  Edward Hervey  <edward@fluendo.com>
8045
8046         * tests/check/libs/gdp.c: (gst_dp_suite):
8047         the test_buffer test fails at line 140 on ppc64 at the following
8048         check:
8049         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
8050                 GST_BUFFER_FLAG_IN_CAPS),
8051                 "GST_BUFFER_IN_CAPS flag should have been copied !");
8052         See bug #348114 for more details.
8053
8054 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
8055
8056         * docs/pwg/advanced-scheduling.xml:
8057         * gst/gstpad.c:
8058           Fix typos (#348000).
8059
8060 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * docs/pwg/intro-basics.xml:
8063           Fix wrong links (#347927).
8064
8065 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
8066
8067         * gst/gstregistry.h:
8068         * gst/gstregistryxml.c: (load_feature),
8069         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
8070         * win32/common/config.h:
8071           make --disable-index work (#342564)
8072
8073 2006-07-18  Wim Taymans  <wim@fluendo.com>
8074
8075         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8076
8077         * gst/Makefile.am:
8078         * gst/gsttrace.h:
8079         The attached patch adds two missing defines to gsttrace.h when tracing
8080         is disabled.  It also corrects one existing define.
8081         Fixes #347756.
8082
8083 2006-07-17  Wim Taymans  <wim@fluendo.com>
8084
8085         * docs/gst/gstreamer-sections.txt:
8086         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
8087         * gst/gst.h:
8088         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
8089         Add two functions to check and change the SIGSEGV behaviour
8090         when loading plugins.
8091         Don't mess with the SIGSEGV handler when we were told not to.
8092         Fixes #347794.
8093         API: gst_segtrap_is_enabled
8094         API: gst_segtrap_set_enabled
8095
8096 2006-07-14  Wim Taymans  <wim@fluendo.com>
8097
8098         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8099         * tests/check/elements/filesrc.c: (GST_START_TEST):
8100         Revert fix for regression in #347408 after release.
8101
8102 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
8103
8104         Patch by: Antoine Tremblay <hexa00 at gmail com>
8105
8106         * gst/gstutils.c: (gst_element_unlink):
8107           Free iterator when done (#347311).
8108
8109         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8110           And add a test case for this.
8111
8112 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
8113
8114         * configure.ac:
8115         Bump nano back to CVS
8116
8117 === release 0.10.9 ===
8118
8119 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
8120
8121         * configure.ac:
8122           releasing 0.10.9, "On the road again"
8123
8124 2006-07-13  Wim Taymans  <wim@fluendo.com>
8125
8126         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8127         * tests/check/elements/filesrc.c: (GST_START_TEST):
8128         Revert pull-0 fix for release. Disable check. Fixes #347408.
8129
8130 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8131
8132         * libs/gst/dataprotocol/dataprotocol.c:
8133         (gst_dp_event_from_packet_1_0):
8134           Fixes #347337: failure to deserialize event packets with
8135           empty payload (only event type)
8136
8137 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8138
8139         * gst/Makefile.am:
8140           do not install a .c file in the header directory
8141
8142 2006-07-13  Edward Hervey  <edward@fluendo.com>
8143
8144         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8145         GhostPad no longer implicitely use the padtemplates of the targets.
8146         Fixes #347384
8147
8148 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
8149
8150         * gst/gstvalue.c: (gst_value_compare_list),
8151         (gst_value_compare_array), (_gst_value_initialize):
8152         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8153         Make GstValueArray comparison be order dependent as designed.
8154         Add checks for value lists and value array comparisons.
8155         Fixes #347221
8156
8157 2006-07-11  Edward Hervey  <edward@fluendo.com>
8158
8159         * gst/gstbin.c: (activate_pads),
8160         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
8161         (gst_bin_change_state_func):
8162         (de)activate src pads before calling state_change on the childs.
8163         This is to avoid the case where a src ghostpad is blocked (holding the
8164         stream lock), which would block the deactivation of the ghostpad's
8165         target pad.
8166         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
8167         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
8168         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
8169         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8170         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8171         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8172         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8173         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
8174         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
8175         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8176         (gst_ghost_pad_class_init),
8177         (gst_ghost_pad_internal_do_activate_push),
8178         (gst_ghost_pad_internal_do_activate_pull),
8179         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8180         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8181         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
8182         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
8183         GhostPads now create their internal GstProxyPad at creation (and not
8184         when they're linked, as it was being done previously).
8185         The internal and target pads are linked straight away.
8186         The data will also travel through the other pad in order to make
8187         pad blocking and probes non-hackish (the probe/block now really happens
8188         on the GhostPad and not on the target).
8189         * gst/gstpad.c: (gst_pad_set_blocked_async),
8190         (gst_pad_link_prepare), (gst_pad_push_event):
8191         Remove previous ghostpad cruft.
8192         * gst/gstutils.c: (gst_pad_add_data_probe),
8193         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8194         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8195         (gst_pad_remove_buffer_probe):
8196         Remove previous ghost pad cruft.
8197         Added more detailed debug statements.
8198         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8199         Fix the testsuite for refcounting changes.
8200         The comments about who has references were correct, but the refcount
8201         being checked wasn't the same (!?!).
8202
8203         Fixes #341029
8204
8205 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8206
8207         * docs/gst/gstreamer-sections.txt:
8208         * gst/gstconfig.h.in:
8209         More docs for configuration options, add docs to gtk-doc.
8210
8211 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8212
8213         * gst/Makefile.am:
8214         * gst/gstconfig.h.in:
8215         * win32/common/config.h:
8216         Fix build when disabling tracing (fixes #344016). Also start to document
8217         the defines that disable the sub-systems.
8218
8219 2006-07-10  Edward Hervey  <edward@fluendo.com>
8220
8221         * gst/gst.c: (ensure_current_registry_forking):
8222         let's make valgrind happy...
8223
8224 2006-07-09  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/gstelement.c: (activate_pads),
8227         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8228         Better pad activation code: Reset the collect value too on resync.
8229         Add some comments.
8230
8231 2006-07-09  Wim Taymans  <wim@fluendo.com>
8232
8233         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
8234         (gst_pad_activate_push):
8235         Use some more macros where it makes sense.
8236         Allow pad mode switching instead of asserting. When a pad
8237         is activated in one mode and we activate it in another, 
8238         deactivate it first before activating it in a different mode.
8239         Fixes #329198.
8240
8241 2006-07-08  Andy Wingo  <wingo@pobox.com>
8242
8243         * tools/gst-launch.c (main): Handle err == NULL.
8244
8245         * gst/gst.c (init_post, ensure_current_registry)
8246         (ensure_current_registry_forking)
8247         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
8248         factoring out the registry scanning into separate functions. Don't
8249         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
8250         Better environment var name/interface suggestions accepted.
8251
8252 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8253
8254         * gst/gstobject.c: (gst_object_set_name_default),
8255         (gst_object_set_name):
8256           Random micro-optimisation: don't use a hash table
8257           with strings as keys and the usual strdup/strcmp
8258           involved, but rather just use the GQuark of the
8259           type name as key, since it needs to be looked up
8260           anyway to get the type name string.
8261
8262         * tests/check/gst/gstobject.c: (GST_START_TEST):
8263           Fix various leaks.
8264
8265 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8266
8267         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
8268         (gst_bin_iterate_all_by_interface):
8269           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
8270           GTypes are gulongs and thus the top 4 bytes might be cut
8271           off on some platforms when doing GPOINTER_TO_INT, leading
8272           to invalid GTypes and bad things happening (see RH bug #179654).
8273           Also add a check to make sure the type passed in is really
8274           an interface type.
8275
8276 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8277
8278         * .cvsignore:
8279           Ignore more.
8280
8281 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8282
8283         * Makefile.am:
8284         * configure.ac:
8285         * gst-element-check.m4:
8286         * gst-element-check.m4.in:
8287           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
8288           instead of the unversioned gst-inspect (#324176, #168659).
8289
8290 2006-07-06  Wim Taymans  <wim@fluendo.com>
8291
8292         * gst/gstmessage.h:
8293         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
8294         warnings.
8295
8296 2006-07-06  Wim Taymans  <wim@fluendo.com>
8297
8298         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8299         (gst_base_src_wait), (gst_base_src_update_length),
8300         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
8301         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
8302         (gst_base_src_loop), (gst_base_src_start),
8303         (gst_base_src_activate_pull):
8304         Update docs.
8305         blocksize == 0 now means the default blocksize when working in push
8306         based mode.
8307         Remove some pointless asserts in _wait function.
8308         Fix offset/length calculations and EOS handling. We can now pull 0
8309         bytes as well, which is allowed.
8310         use _check_get_range() to decide if we can operate in _pull based
8311         mode.
8312         Fix refcounting leak when check_get_range function was not 
8313         implemented.
8314         API GstBaseSrc::blocksize range can be 0 too now (default)
8315
8316         * tests/check/elements/filesrc.c: (GST_START_TEST),
8317         (filesrc_suite):
8318         Added check to test _get_range() behaviour.
8319
8320 2006-07-06  Wim Taymans  <wim@fluendo.com>
8321
8322         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8323         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
8324         (gst_pad_pull_range):
8325         * gst/gstpad.h:
8326         Lots of comments and docs added to the pad functions.
8327         Flesh out the expected behaviour of the get_range() functions.
8328
8329 2006-07-06  Wim Taymans  <wim@fluendo.com>
8330
8331         * gst/gstbus.h:
8332         * gst/gstclock.h:
8333         * gst/gstevent.h:
8334         * gst/gstiterator.h:
8335         * gst/gstpad.h:
8336         * gst/gstplugin.h:
8337         * gst/gsttask.h:
8338         Remove comma at end of enumerator list. 
8339
8340 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
8341
8342         * win32/common/libgstbase.def:
8343         * win32/common/libgstdataprotocol.def:
8344         * win32/common/libsgtreamer.def:
8345         Add new exported functions.
8346
8347 2006-07-05  Wim Taymans  <wim@fluendo.com>
8348
8349         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
8350         Add some more docs here and there.
8351
8352 2006-07-05  Wim Taymans  <wim@fluendo.com>
8353
8354         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
8355         (gst_base_sink_loop), (gst_base_sink_get_position):
8356         When operating in pull mode update the offset so that we
8357         read sequentially.
8358
8359 2006-07-05  Wim Taymans  <wim@fluendo.com>
8360
8361         * gst/gstregistryxml.c: (read_string):
8362         Avoid strdup. (will happen in libxml, but hey!)
8363
8364         * gst/gsturi.c:
8365         Add some more docs.
8366
8367 2006-07-05  Wim Taymans  <wim@fluendo.com>
8368
8369         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
8370         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8371         (gst_buffer_suite):
8372         No point in checking if the size of the subbuffer > 0, the
8373         code handles it correclty as demonstrated by unit test.
8374         Also add a unit test for the zero sized _new_and_alloc and
8375         _copy. Fixes #346663.
8376
8377 2006-07-05  Wim Taymans  <wim@fluendo.com>
8378
8379         * libs/gst/base/gstbasetransform.c:
8380         (gst_base_transform_prepare_output_buffer),
8381         (gst_base_transform_buffer_alloc),
8382         (gst_base_transform_handle_buffer):
8383         Make sure the buffer we pass to transform_ip has a refcount of
8384         1 and thus is writable. Fixes #343196
8385
8386 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
8387
8388         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8389         (gst_file_src_init), (gst_file_src_set_property),
8390         (gst_file_src_get_property), (gst_file_src_map_region):
8391         * plugins/elements/gstfilesrc.h:
8392         Add "sequential" property, off by default, to use madvise and hint
8393         to the kernel that sequential access is desired.
8394         Touch all retrieved pages by default to ensure they are pulled
8395         into memory. (Closes #345720)
8396
8397 2006-07-03  Wim Taymans  <wim@fluendo.com>
8398
8399         * docs/design/part-block.txt:
8400         * docs/design/part-dynamic.txt:
8401         Small docs updates.
8402
8403 2006-07-03  Wim Taymans  <wim@fluendo.com>
8404
8405         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
8406         (gst_caps_unref), (gst_static_caps_get),
8407         (gst_caps_append_structure):
8408         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
8409         Use GSlice when the glib we build against is >= 2.10
8410
8411 2006-07-03  Wim Taymans  <wim@fluendo.com>
8412
8413         * gst/gstelement.c: (gst_element_pads_activate):
8414         Small cleanup in pad activation code.
8415
8416 2006-07-03  Wim Taymans  <wim@fluendo.com>
8417
8418         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8419
8420         * gst/gst-i18n-app.h:
8421         * gst/gst-i18n-lib.h:
8422         * tools/gst-inspect.c: (print_signal_info):
8423         The attached patch will make the inclusion of gettext.h unconditional in
8424         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
8425         libintl.h in tools/gst-inspect.c.
8426         This allows use of --disable-nls again and fixes #344642.
8427
8428 2006-07-03  Edward Hervey  <edward@fluendo.com>
8429
8430         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
8431         Implement pad blocking on events according to part-block.txt.
8432         More comments on behaviour.
8433         * tests/check/gst/gstevent.c: (test_event):
8434         Send event to peer pad of blocked pad (else it will block).
8435
8436 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8437
8438         * libs/gst/check/gstcheck.c: (gst_check_message_error),
8439         (gst_check_run_suite):
8440           if we get the wrong message, give us the types as string
8441         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8442           Fix a translatable
8443         * tests/check/elements/filesrc.c: (GST_START_TEST):
8444           add a test for trying to open a non-existing file
8445
8446 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8447
8448         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8449           add a test for adding self
8450
8451 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8452
8453         * libs/gst/check/gstcheck.h:
8454           add some assert_ as alias for fail_unless_*
8455         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
8456           increase test coverage
8457
8458 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8459
8460         * Makefile.am:
8461           include lcov.mak for lcov coverage generation
8462         * tools/Makefile.am:
8463           add to CLEANFILES
8464
8465 2006-07-02  Edward Hervey  <edward@fluendo.com>
8466
8467         * tests/check/elements/.cvsignore:
8468         moaping
8469
8470 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * configure.ac:
8473           don't set CFLAGS and friends for gcov, done from GST_GCOV now
8474         * tests/check/Makefile.am:
8475           clean up gcov files
8476
8477 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8478
8479         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
8480           remove gst_caps_simplify; it was not declared and not used
8481           and deprecated in 0.8
8482
8483 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8484
8485         * docs/faq/gst-uninstalled:
8486           don't put empty paths on PYTHONPATH
8487         * docs/gst/gstreamer-sections.txt:
8488           remove some symbols that are not there
8489
8490 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8491
8492         * gst/gstcaps.c: (gst_caps_compare_structures):
8493           whitespace fixes
8494         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8495         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8496           add more tests
8497
8498 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8499
8500         * libs/gst/dataprotocol/Makefile.am:
8501           build dataprotocol test by linking to the lib, instead of
8502           compiling the source, so we get coverage
8503         * tests/check/Makefile.am:
8504         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
8505         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
8506           add a test for filesrc
8507
8508 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8509
8510         * tests/check/gst/gststructure.c: (GST_START_TEST),
8511         (gst_structure_suite):
8512           Push coverage from 59.04% to 70.00%
8513
8514 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8515
8516         * tests/check/Makefile.am:
8517           gst-inspect every element; this makes sure that we also get
8518           coverage on element's get/set functions
8519
8520 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * configure.ac:
8523           set CFLAGS and friends to -O0 if gcov is being used
8524           add GCOV LIBS
8525         * gst/Makefile.am:
8526         * libs/gst/base/Makefile.am:
8527         * libs/gst/check/Makefile.am:
8528         * libs/gst/controller/Makefile.am:
8529         * libs/gst/dataprotocol/Makefile.am:
8530         * libs/gst/net/Makefile.am:
8531         * plugins/elements/Makefile.am:
8532         * plugins/indexers/Makefile.am:
8533           add makefile rules to generate gcov data and clean up
8534         * tests/check/Makefile.am:
8535           add a coverage target that generates an html overview
8536           of coverage data
8537
8538 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8539
8540         * tests/check/elements/fakesink.c:
8541         * tests/check/elements/fakesrc.c:
8542         * tests/check/elements/fdsrc.c:
8543         * tests/check/elements/identity.c:
8544         * tests/check/generic/sinks.c: (gst_sinks_suite):
8545         * tests/check/generic/states.c:
8546         * tests/check/gst/gst.c:
8547         * tests/check/gst/gstabi.c:
8548         * tests/check/gst/gstbin.c:
8549         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8550         * tests/check/gst/gstbus.c: (gst_bus_suite):
8551         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8552         * tests/check/gst/gstelement.c:
8553         * tests/check/gst/gstevent.c: (gst_event_suite):
8554         * tests/check/gst/gstghostpad.c:
8555         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
8556         * tests/check/gst/gstmessage.c: (gst_message_suite):
8557         * tests/check/gst/gstminiobject.c:
8558         * tests/check/gst/gstobject.c:
8559         * tests/check/gst/gstpad.c:
8560         * tests/check/gst/gstpipeline.c:
8561         * tests/check/gst/gstplugin.c:
8562         * tests/check/gst/gstquery.c: (gst_query_suite):
8563         * tests/check/gst/gstsegment.c: (gst_segment_suite):
8564         * tests/check/gst/gststructure.c:
8565         * tests/check/gst/gstsystemclock.c:
8566         * tests/check/gst/gsttag.c:
8567         * tests/check/gst/gsttask.c: (gst_task_suite):
8568         * tests/check/gst/gstutils.c:
8569         * tests/check/gst/gstvalue.c:
8570         * tests/check/libs/adapter.c:
8571         * tests/check/libs/basesrc.c:
8572         * tests/check/libs/collectpads.c:
8573         * tests/check/libs/controller.c:
8574         * tests/check/libs/gdp.c: (gst_dp_suite):
8575         * tests/check/libs/gstnetclientclock.c:
8576         * tests/check/libs/gstnettimeprovider.c:
8577         * tests/check/libs/libsabi.c: (libsabi_suite):
8578         * tests/check/libs/typefindhelper.c:
8579         * tests/check/pipelines/cleanup.c:
8580         * tests/check/pipelines/parse-launch.c:
8581         * tests/check/pipelines/simple-launch-lines.c:
8582         * tests/check/pipelines/stress.c: (stress_suite):
8583           use the new macro
8584
8585 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8586
8587         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
8588         * libs/gst/check/gstcheck.h:
8589           create a macro and function so that the simple unit test
8590           case can be just one macro to create main()
8591
8592 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
8593
8594         * gst/gstbin.c: (gst_bin_restore_thyself):
8595         * gst/gstxml.c: (gst_xml_make_element):
8596           Fix deserialisation from XML. Set parent manually
8597           instead of using gst_bin_add(), since gst_bin_add()
8598           will unlink all pads of the element being added.
8599           Fixes #341667.
8600
8601 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
8602
8603         Patch by: Peter Kjellerstedt <pkj at axis com>
8604
8605         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
8606           Fix missing g_strdup() and double free when using the
8607           --gst-plugin-load command line option (#346097).
8608
8609 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8610
8611         * gst/gstinfo.c:
8612           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
8613
8614         * libs/gst/net/gstnetclientclock.c:
8615         * libs/gst/net/gstnettimeprovider.c:
8616           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
8617
8618 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8619
8620         * docs/manual/advanced-dataaccess.xml:
8621           Fix buffer probe example compilation in
8622           ADM (#345708).
8623         
8624 2006-06-22  Edward Hervey  <edward@fluendo.com>
8625
8626         * gst/gstelement.c: (gst_element_pads_activate):
8627         We need to deactivate src pads first and then sink pads.
8628         The reason is the src pads might be blocking while holding the streaming
8629         lock, so we need to deactivate them first so that deactivating the sink
8630         pads doesn't block (since it will require the streaming lock).
8631
8632 2006-06-22  Wim Taymans  <wim@fluendo.com>
8633
8634         * libs/gst/base/gstbasetransform.c:
8635         (gst_base_transform_buffer_alloc):
8636         Forgot to remove two unneeded unrefs.
8637         Simplify a check _is_equal allready checks the obvious case.
8638
8639 2006-06-22  Wim Taymans  <wim@fluendo.com>
8640
8641         * docs/design/part-block.txt:
8642         Some docs about what pad_block should do.
8643
8644 2006-06-22  Wim Taymans  <wim@fluendo.com>
8645
8646         * gst/gstcaps.c: (gst_caps_replace):
8647         Fix crasher when passed NULL. Doc clarification.
8648         Optimize for the trivial case.
8649
8650         * gst/gstpipeline.c: (gst_pipeline_change_state):
8651         Small cleanups.
8652
8653         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8654         Small documentation cleanup.
8655
8656         * libs/gst/base/gstbasetransform.c:
8657         (gst_base_transform_buffer_alloc):
8658         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8659         is what we need and it avoids a whole lot of redundant 
8660         refcount operations.
8661
8662 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
8663
8664         Patch by: Philip Jägenstedt  <philip at lysator liu se>
8665
8666         * docs/manual/advanced-dataaccess.xml:
8667           Fix 'Embedding static elements' section to use
8668           GST_PLUGIN_DEFINE_STATIC (#345607).
8669
8670 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8671
8672         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8673           Attempt to 'fix' spuriously failing test case: it seems like the
8674           timeout of half a second is simply too small when the system is under
8675           load otherwise, and the timeout doesn't really seem to serve any
8676           particular purpose here. Give the pipeline a few seconds to preroll
8677           first, and then give it another half a second to go from PAUSED to
8678           PLAYING and marshal the message into the main thread.
8679
8680 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8681
8682         * tools/gst-feedback-m.m:
8683           Don't only use unversioned tools, try versioned tools as well
8684           (#345086).
8685
8686 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8687
8688         * gst/gstbus.c: (gst_bus_class_init):
8689           Fix some typos, make docs more explicit.
8690
8691 2006-06-20  Wim Taymans  <wim@fluendo.com>
8692
8693         * tests/check/gst/gstghostpad.c: (block_callback),
8694         (GST_START_TEST), (gst_ghost_pad_suite):
8695         Added some more ghostpad tests, mainly blocking
8696         and probes.
8697
8698 2006-06-16  Wim Taymans  <wim@fluendo.com>
8699
8700         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8701         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8702         (gst_file_sink_event), (gst_file_sink_render):
8703         * plugins/elements/gstfilesink.h:
8704         Check if we can seek in the file instead of assuming
8705         we always can. Post an error when we are asked to seek in a
8706         non-seekable file (like a fifo). Fixes #343312.
8707         Some cleanups.
8708
8709 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8710
8711         * tools/gst-launch.1.in:
8712           Un-garble (fourcc) bit in filtered caps section.
8713
8714 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8715
8716         * docs/manual/advanced-autoplugging.xml:
8717         * docs/manual/basics-helloworld.xml:
8718         * docs/manual/highlevel-components.xml:
8719           Don't leak bus reference in sample code.
8720
8721 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8722
8723         * autogen.sh:
8724           Add default for new --enable-plugin-docs switch.
8725
8726         * configure.ac:
8727           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8728           Fixes #344039.
8729
8730         * docs/Makefile.am:
8731           Use new ENABLE_PLUGIN_DOCS conditional.
8732
8733 2006-06-14  Wim Taymans  <wim@fluendo.com>
8734
8735         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8736         Make it clear with a FIXME and a real define what the #if 0
8737         previously disabled.
8738
8739 2006-06-14  Wim Taymans  <wim@fluendo.com>
8740
8741         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8742         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8743         * libs/gst/base/gstbasetransform.c:
8744         (gst_base_transform_sink_eventfunc):
8745         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8746         Don't randomly and silently reset a segment when the format 
8747         changes as this is a bug somewhere upstream. Fixes #330379.
8748
8749 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8750
8751         Patch by: Wouter Paesen  <wouter at kangaroot net>
8752
8753         * libs/gst/controller/gstcontroller.c:
8754         (gst_controlled_property_new):
8755           Fix controlling of float properties (#344849).
8756
8757         * tests/check/libs/controller.c:
8758         (gst_test_mono_source_get_property),
8759         (gst_test_mono_source_set_property),
8760         (gst_test_mono_source_class_init), (GST_START_TEST):
8761           While we're at it, add some float stuff to unit test.
8762
8763 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8764
8765         * docs/README:
8766         * docs/images/gdp-header.svg:
8767           add a gdp image
8768         * docs/libs/Makefile.am:
8769         * docs/libs/gdp-header.png:
8770         * libs/gst/dataprotocol/dataprotocol.c:
8771           add it to the API docs
8772         * docs/manual/intro-motivation.xml:
8773           fix typo
8774
8775 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8776
8777         * gst/gst.c: (scan_and_update_registry), (init_post):
8778           If the fork()'ed child process can't write the updated registry cache
8779           file to disk for some reason, make it exit with a failure exit code,
8780           so that the parent can then re-scan the plugins itself and update the
8781           registry structures in memory and work with that (rather than failing
8782           when creating elements because seemingly no plugins are available).
8783           Refactor registry scanning code into separate function for this and
8784           also separate fork() and non-fork() code paths. Fixes #344748.
8785
8786 2006-06-13  Wim Taymans  <wim@fluendo.com>
8787
8788         * docs/manual/advanced-dataaccess.xml:
8789         Fix wrong PluginDesc. Fixes #344755.
8790
8791 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8792
8793         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8794           Fix silly bug that prevented us from creating
8795           ~/.gstreamer-0.10 and writing the registry in one
8796           go (the first call to g_mkstemp() would overwrite the
8797           placeholder in the template string, so the second call
8798           to g_mkstemp() after creating the missing directory
8799           would then error out with 'invalid argument').
8800
8801 2006-06-13  Edward Hervey  <edward@fluendo.com>
8802
8803         * gst/gst.c: (init_post):
8804         Free string.
8805
8806 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8807
8808         * gst/glib-compat-private.h:
8809         * gst/glib-compat.c:
8810         * gst/glib-compat.h:
8811         * gst/gstvalue.c: (gst_value_serialize_flags):
8812           remove GLib 2.6 compatibility code
8813
8814 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
8815
8816         * gst/parse/Makefile.am:
8817           Fix build with 'make -j N' even more (#340016).
8818
8819 2006-06-12  Wim Taymans  <wim@fluendo.com>
8820
8821         * docs/gst/gstreamer-sections.txt:
8822         Fix docs.
8823
8824 2006-06-12  Wim Taymans  <wim@fluendo.com>
8825
8826         * gst/gstsegment.c: (gst_segment_set_duration),
8827         (gst_segment_set_last_stop), (gst_segment_set_seek),
8828         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8829         (gst_segment_to_running_time), (gst_segment_clip):
8830         Use G_UNLIKELY to help the compiler a bit.
8831
8832 2006-06-12  Wim Taymans  <wim@fluendo.com>
8833
8834         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8835
8836         * gst/gstevent.c: (gst_event_get_type):
8837         * gst/gstmessage.c:
8838         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8839         (gst_pad_push):
8840         constify quark registration strings. Fixes #344115
8841         Avoid unneeded type checking is _pad_push() by internally
8842         calling gst_pad_chain_unchecked().
8843
8844 2006-06-12  Wim Taymans  <wim@fluendo.com>
8845
8846         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8847         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8848         (gst_subbuffer_finalize), (gst_buffer_create_sub),
8849         (gst_buffer_is_span_fast), (gst_buffer_span):
8850         Init _type for consistency.
8851         Use _FLAGS macro to avoid type check.
8852         Avoid unneeded type checks in subbufer code.
8853
8854 2006-06-12  Wim Taymans  <wim@fluendo.com>
8855
8856         * gst/gst.c: (gst_debug_help):
8857         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8858         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8859         (gst_plugin_feature_list_free):
8860         * gst/gstregistry.c: (gst_registry_add_plugin),
8861         (gst_registry_add_feature), (gst_registry_plugin_filter),
8862         (gst_registry_feature_filter), (gst_registry_find_plugin),
8863         (gst_registry_find_feature), (gst_registry_get_plugin_list),
8864         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8865         * gst/gstregistryxml.c: (load_feature),
8866         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8867         * gst/gstminiobject.c: (gst_mini_object_unref),
8868         (gst_mini_object_replace), (gst_value_mini_object_free),
8869         (gst_value_mini_object_copy):
8870         Use _CAST macros to avoid unneeded type checking.
8871         Added some more G_UNLIKELY.
8872
8873 2006-06-12  Wim Taymans  <wim@fluendo.com>
8874
8875         * gst/gstbuffer.h:
8876         Avoid unneeded type checking.
8877         API: GST_BUFFER_IS_DISCONT
8878
8879         * gst/gstminiobject.h:
8880         Avoid type check in flag accessor.
8881
8882         * gst/gstelementfactory.h:
8883         * gst/gstplugin.h:
8884         * gst/gstpluginfeature.h:
8885         Add _CAST macros.
8886         API: GST_ELEMENT_FACTORY_CAST
8887         API: GST_PLUGIN_CAST
8888         API: GST_PLUGIN_FEATURE_CAST
8889
8890 2006-06-12  Wim Taymans  <wim@fluendo.com>
8891
8892         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8893         (gst_object_unref):
8894         Add G_UNLIKELY in type registration.
8895         Avoid type check in _ref/_unref since that is also
8896         done in glib.
8897
8898 2006-06-12  Wim Taymans  <wim@fluendo.com>
8899
8900         * gst/gsterror.c: (gst_g_error_get_type):
8901         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8902         (gst_static_pad_template_get_type):
8903         * gst/gsttaglist.c: (gst_tag_list_get_type):
8904         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8905         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8906         * gst/gsturi.c: (gst_uri_handler_get_type):
8907         * gst/gstvalue.c: (gst_date_get_type):
8908         * gst/gstxml.c: (gst_xml_get_type):
8909         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8910         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8911         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8912         Add G_UNLIKELY in type registration.
8913
8914 2006-06-12  Wim Taymans  <wim@fluendo.com>
8915
8916         * tools/gst-inspect.c: (print_signal_info):
8917         Properly print enum values.
8918
8919 2006-06-12  Wim Taymans  <wim@fluendo.com>
8920
8921         * gst/gstinfo.c: (gst_debug_set_active),
8922         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8923         * gst/gstinfo.h:
8924         Add some G_[UN]LIKELY.
8925         Maintain __gst_debug_min to avoid formatting the arguments of
8926         debug messages that will be dropped anyway to avoid a lot of 
8927         overhead from the debugging system.
8928
8929 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8930
8931         * po/POTFILES.in:
8932         * po/POTFILES.skip:
8933           add missing files containing translatable strings, tell intltool about
8934           one exception
8935
8936 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8937
8938         * tests/check/libs/.cvsignore:
8939         add test-binary to ignore list
8940
8941 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8942
8943         * docs/libs/gstreamer-libs-docs.sgml:
8944         reorder (put dp into a chapter) and indent
8945
8946 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8947
8948         * configure.ac:
8949           back to HEAD
8950
8951 === release 0.10.8 ===
8952
8953 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8954
8955         * configure.ac:
8956           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8957
8958 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8959
8960         * gst/gst.c: (init_post):
8961           move pid declaration to declaration block
8962
8963 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8964
8965         * gst/gst.c: (init_post):
8966           use _exit() instead of exit() in our forked child; this ensures
8967           that none of the registered exit handlers from whatever is using
8968           GStreamer get executed.  This fixes gnome-mixer-applet failing
8969           to load, because ORBit would shut down.
8970           Spotted by: Edward Hervey  <edward@fluendo.com>
8971           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8972           Fixes #344474
8973
8974 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8975
8976         * configure.ac:
8977           back to TRUNK
8978
8979 === release 0.10.7 ===
8980
8981 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8982
8983         * configure.ac:
8984           releasing 0.10.7, "Soepeke, ik zie ou"
8985
8986 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8987
8988         * configure.ac:
8989         * po/af.po:
8990         * po/az.po:
8991         * po/bg.po:
8992         * po/ca.po:
8993         * po/cs.po:
8994         * po/de.po:
8995         * po/en_GB.po:
8996         * po/fr.po:
8997         * po/it.po:
8998         * po/nb.po:
8999         * po/nl.po:
9000         * po/ru.po:
9001         * po/sq.po:
9002         * po/sr.po:
9003         * po/sv.po:
9004         * po/tr.po:
9005         * po/uk.po:
9006         * po/vi.po:
9007         * po/zh_CN.po:
9008         * po/zh_TW.po:
9009         * win32/common/config.h:
9010           0.10.6.2 prerelease
9011
9012 2006-06-07  Wim Taymans  <wim@fluendo.com>
9013
9014         * gst/gstindex.c: (gst_index_gtype_resolver):
9015         * tools/gst-xmlinspect.c: (print_plugin_info):
9016         Fix leak spotted by coverity checker. Fixes #343827
9017         Fix another other leak found by paolo borelli.
9018
9019 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * libs/gst/dataprotocol/dataprotocol.c:
9022         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9023         (gst_dp_version_get_type), (gst_dp_init),
9024         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
9025         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
9026         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
9027         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
9028         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
9029         (gst_dp_packetizer_free):
9030         * libs/gst/dataprotocol/dataprotocol.h:
9031           API: add a GstDPPacketizer object, and create/free functions
9032           API: add GstDPVersion enum
9033           Add 1.0 event function that uses the string serialization
9034           Serialize more useful buffer flags
9035           Fixes #343988
9036
9037 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9038
9039         * tests/check/Makefile.am:
9040         * tests/check/gst/gstabi.c:
9041         * tests/check/gst/struct_ppc64.h:
9042         * tests/check/libs/libsabi.c:
9043         * tests/check/libs/struct_ppc64.h:
9044           add ppc64 structure sizes
9045
9046 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9047
9048         * tests/check/Makefile.am:
9049         * tests/check/gst/gstabi.c:
9050         * tests/check/gst/struct_x86_64.h:
9051         * tests/check/libs/libsabi.c:
9052         * tests/check/libs/struct_x86_64.h:
9053           generate and add structure size lists for x86_64
9054
9055 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9056
9057         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9058         * libs/gst/check/gstcheck.h:
9059           factor out the method from tests that checks size of structures,
9060           and add code to generate the header containing these sizes
9061         * tests/check/gst/gstabi.c: (GST_START_TEST):
9062         * tests/check/gst/struct_i386.h:
9063         * tests/check/libs/libsabi.c: (GST_START_TEST):
9064         * tests/check/libs/struct_i386.h:
9065           use it
9066
9067 2006-06-06  Michael Smith  <msmith@fluendo.com>
9068
9069         * gst/gstsegment.h:
9070           Don't use c++-style comments, fixes #343929
9071
9072 2006-06-05  Edward Hervey  <edward@fluendo.com>
9073
9074         * gst/gst.c:
9075         plugin_paths is not used if we build without registry support.
9076
9077         * gst/gstsegment.c: (gst_segment_copy): 
9078         _copy() was always returning NULL...
9079
9080 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * libs/gst/dataprotocol/dataprotocol.c:
9083         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9084         (gst_dp_packet_from_event):
9085           factor out CRC code
9086
9087 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
9090           make sure we unset caps
9091
9092 2006-06-02  Michael Smith  <msmith@fluendo.com>
9093
9094         * libs/gst/check/gstcheck.c: (gst_check_init),
9095         (gst_check_chain_func):
9096         * libs/gst/check/gstcheck.h:
9097           Add a cond/mutex to the check support lib, signal this whenever we
9098           add to the buffers list. This will allow tests to not busy-wait on
9099           the buffer-list.
9100
9101 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9102
9103         * libs/gst/dataprotocol/dataprotocol.c:
9104         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9105         (gst_dp_packet_from_event):
9106           factor out some common header init code
9107
9108 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9109
9110         * docs/libs/gstreamer-libs-sections.txt:
9111         * docs/libs/tmpl/gstdataprotocol.sgml:
9112         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
9113         * libs/gst/dataprotocol/dataprotocol.h:
9114           API: make gst_dp_crc() public
9115
9116 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
9117
9118         * plugins/indexers/gstindexers.c: (plugin_init):
9119         conditionally register fileindexer (fixes #343598)
9120
9121 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
9122
9123         * gst/gsttagsetter.h:
9124         Can't cast ifaces to a class
9125
9126         * libs/gst/net/gstnetclientclock.h:
9127         * libs/gst/net/gstnettimeprovider.h:
9128         * plugins/elements/gstfakesink.h:
9129         * plugins/elements/gstfakesrc.h:
9130         * plugins/elements/gstfdsink.h:
9131         * plugins/elements/gstfdsrc.h:
9132         * plugins/elements/gstfilesink.h:
9133         * plugins/elements/gstfilesrc.h:
9134         * plugins/elements/gstidentity.h:
9135         * plugins/elements/gstqueue.h:
9136         * plugins/elements/gsttee.h:
9137         * plugins/indexers/gstfileindex.c:
9138         * plugins/indexers/gstmemindex.c:
9139         * tests/old/examples/plugins/example.h:
9140         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
9141
9142 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * libs/gst/dataprotocol/dataprotocol.c:
9145         (gst_dp_header_from_buffer):
9146           make sure we zero the whole ABI-compatible area
9147
9148 2006-06-01  Wim Taymans  <wim@fluendo.com>
9149
9150         Patch by: Alessandro Decina <alessandro at nnva dot org>
9151
9152         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
9153         Make sure the EOS flag is cleared from pads after a flush
9154         or stop. Fixes #343538.
9155
9156         * tests/check/libs/collectpads.c: (GST_START_TEST),
9157         (gst_collect_pads_suite):
9158         Added test for collectpads reusage after EOS.
9159
9160 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
9161
9162         * gst/gst.c:
9163          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
9164         * win32/common/libgstbase.def:
9165          export gst_collect_pads_set_flushing
9166         * win32/common/libgstreamer.def:
9167          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
9168          gst_value_fraction_multiply
9169         * win32/vs6/gst_inspect.dsp:
9170          add a link to intl.lib
9171
9172 2006-05-30  Wim Taymans  <wim@fluendo.com>
9173
9174         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9175         (gst_collect_pads_chain):
9176         Handle the case where a pad is removed from the collection
9177         that could cause the other pads to become collectable.
9178
9179 2006-05-30  Wim Taymans  <wim@fluendo.com>
9180
9181         * gst/gstelement.c:
9182         Clarify the use of _release_request_pad() and
9183         _get_request_pad() a bit better.
9184
9185         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
9186         (gst_adapter_take_buffer):
9187         Fix some doc and comment typos.
9188
9189 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9190
9191         * docs/gst/gstreamer-sections.txt:
9192         * docs/libs/gstreamer-libs-sections.txt:
9193           add declared symbols
9194
9195 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
9196
9197         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9198         Add debug that can be enabled using a #define at the top of the file,
9199         for dumping stats about how late/early we were when waking up from
9200         waiting on the clock.
9201
9202 2006-05-30  Wim Taymans  <wim@fluendo.com>
9203
9204         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
9205         When rebuilding the pad list, don't leak the previous list.
9206
9207 2006-05-30  Wim Taymans  <wim@fluendo.com>
9208
9209         Patch by: Lutz Mueller <lutz at topfrose dot de>
9210
9211         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9212         (gst_base_src_get_query_types), (gst_base_src_update_length):
9213         Publish supported query types.
9214         Update last_stop field in get_range mode so the position
9215         query works. Fixes #342321.
9216
9217 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
9218
9219         * docs/gst/gstreamer-sections.txt:
9220         * gst/gsttaglist.c: (_gst_tag_initialize):
9221         * gst/gsttaglist.h:
9222           API: add GST_TAG_PREVIEW_IMAGE (#343341).
9223
9224 2006-05-30  Wim Taymans  <wim@fluendo.com>
9225
9226         Patch by: Alessandro Decina <alessandro at nnva dot org>
9227
9228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9229         Unlock mutex when removing an unknown pad.
9230         Fixes #343334.
9231
9232         * tests/check/Makefile.am:
9233         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
9234         (push_event), (setup), (teardown), (GST_START_TEST),
9235         (gst_collect_pads_suite), (main):
9236         Added collecpads check, disabled for now as check crashes for
9237         some reason.
9238
9239 2006-05-29  Wim Taymans  <wim@fluendo.com>
9240
9241         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
9242         Don't leak pads lists.
9243
9244 2006-05-29  Wim Taymans  <wim@fluendo.com>
9245
9246         * docs/libs/gstreamer-libs-sections.txt:
9247         * libs/gst/base/gstcollectpads.c:
9248         (gst_collect_pads_set_flushing_unlocked),
9249         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9250         (gst_collect_pads_stop):
9251         * libs/gst/base/gstcollectpads.h:
9252         API: gst_collect_pads_set_flushing()
9253         Added api to set the pads to flushing, useful for seeking
9254         code in elements using collectpads.
9255         Clear segment when receiving a flush.
9256
9257 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
9258
9259         * gst/gst.c: (add_path_func), (init_post):
9260           Don't scan registry paths passed via --gst-plugin-path immediately
9261           (will crash, because absolutely nothing is set up and no types are
9262           registered etc.); do this later in init_post(). Fixes #343057.
9263
9264 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * gst/gst.c: (init_post):
9267           if we have fork, fork while reading/rebuilding the registry
9268           so the parent doesn't take the hit of having all plugins loaded
9269           in memory.  Fixes #342777.
9270         * configure.ac:
9271           Check if we have fork()
9272         * win32/common/config.h.in:
9273           no fork() on win32
9274
9275 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9276
9277         * plugins/elements/gstelements.c:
9278         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9279         (gst_file_src_init), (gst_file_src_set_property),
9280         (gst_file_src_get_property), (gst_file_src_start):
9281         * plugins/elements/gstfilesrc.h:
9282           API: GstFileSrc::use-mmap
9283
9284         Add a use-mmap property to enable easier testing of all code paths.
9285         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
9286         in the absence of gnomevfssrc. (Closes #340501)
9287
9288 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9289
9290         * tools/gst-inspect.c:
9291         Add missing include, removes warning of ngettext not being defined on
9292         some arches.
9293
9294 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9295
9296         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9297         Handle NULL input and output pointers silently as a failed conversion,
9298         rather than g_warnings.
9299
9300 2006-05-25  Wim Taymans  <wim@fluendo.com>
9301
9302         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
9303         Initialize variable before using. Fixes #342820.
9304
9305 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
9306
9307         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
9308           Fix off-by-one bug that would only allow peeks of N-1 bytes
9309           from the start even if the buffer to typefind on contains
9310           in fact N bytes of data (makes vorbis typefinding from a
9311           vorbis identification header buffer work).
9312
9313         * tests/check/Makefile.am:
9314         * tests/check/libs/.cvsignore:
9315         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
9316         (gst_typefindhelper_suite), (main), (foobar_typefind),
9317         (plugin_init):
9318           Add very basic unit test for gst_type_find_helper_for_buffer()
9319           that checks for the problem fixed above.
9320
9321 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9322
9323         * tools/gst-inspect.c: (print_interfaces),
9324         (print_element_properties_info), (print_element_list), (main):
9325           add more translatable strings
9326
9327 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
9328
9329         Patch by: Julien Moutte  <julien at moutte net>
9330
9331         * docs/gst/gstreamer-sections.txt:
9332           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
9333           
9334         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9335         (gst_fake_sink_preroll):
9336         * plugins/elements/gstfakesink.h:
9337           API: Add new GstFakeSink::preroll-handoff signal (#337100).
9338
9339 2006-05-23  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
9342         * gst/gstpad.h:
9343         Added _CUSTOM error and success GstFlowReturn that can be
9344         used be elements internally. 
9345         Added macro to check for SUCCESS flowreturns.
9346         API: GST_FLOW_CUSTOM_SUCCESS
9347         API: GST_FLOW_CUSTOM_ERROR
9348         API: GST_FLOW_IS_SUCCESS
9349
9350         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
9351         Added check for GstFlowReturn sanity.
9352
9353 2006-05-23  Wim Taymans  <wim@fluendo.com>
9354
9355         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9356
9357         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9358         (gst_collect_pads_event):
9359         clear/reset segment info in FLUSH_STOP.
9360         Fixes #336929.
9361
9362 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
9363
9364         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
9365         (gst_collect_pads_check_collected):
9366         Flush queued buffer on _stop(), fixes playing again (#342454)
9367
9368 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9369
9370         * tests/check/gst/gststructure.c: (GST_START_TEST),
9371         (gst_structure_suite):
9372           add a test for a complete structure
9373
9374 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9375
9376         * docs/faq/developing.xml:
9377         * docs/faq/faq.xml:
9378         * docs/faq/troubleshooting.xml:
9379         * docs/faq/using.xml:
9380           Some minor FAQ updates that won't change the fact that
9381           our FAQ is badly structured, full of information hardly
9382           anyone new to GStreamer needs to know and lacking lots
9383           of information people constantly ask for.
9384           
9385 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
9386
9387         * gst/gstpad.c: (gst_pad_set_caps):
9388           Short-circuit gst_pad_set_caps if setting the existing
9389           caps pointer again, and avoid printing debug and 
9390           reffing/unreffing the caps.
9391
9392         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9393           There's actually no need to set the caps before pushing -
9394           the acceptcaps method will handle it anyway.
9395
9396 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9397
9398         * docs/gst/gstreamer-sections.txt:
9399         * win32/common/libgstreamer.def:
9400         * gst/gstutils.c: (gst_element_seek_simple):
9401         * gst/gstutils.h:
9402           API: add gst_element_seek_simple() (#342238).
9403
9404 2006-05-18  Edward Hervey  <edward@fluendo.com>
9405
9406         * gst/gsttypefind.c: (gst_type_find_get_type):
9407         * gst/gsttypefind.h:
9408         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
9409         registered for GstTypeFind pointers. This allows wrapping the structure
9410         in bindings (i.e. gst-python).
9411
9412 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9413
9414         * gst/gsttagsetter.c:
9415           Docs additions and fixes (see #339918).
9416
9417 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9418
9419         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9420         The caps intersection algorithm can produce multiple copies of the
9421         caps. Until that is fixed, we need to simplify the result to be
9422         sure whether the allowed caps are fixed or not.
9423
9424         * plugins/elements/gstqueue.c: (gst_queue_init),
9425         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
9426         (gst_queue_push_one):
9427         Proxied buffer alloc should not set the caps on the source pad.
9428         When pushing buffers, we always accept the caps change that triggers.
9429         This prevents negotiation errors caused by caps changing mid-stream 
9430         and then being refused on our source pad (because upstream is now
9431         refusing those caps).
9432
9433 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9434
9435         * tests/examples/helloworld/helloworld.c: (main):
9436           Must plug audioconvert and audioresample between decoder
9437           and audio sink.
9438
9439 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
9440
9441         * gst/gstregistryxml.c: (read_string), (load_pad_template),
9442         (load_feature), (load_plugin):
9443         Allow empty strings for some of the plugin fields so we don't 
9444         drop valid plugin entries that were written out correctly
9445         (Fixes #341479)
9446
9447 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
9448         
9449         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
9450           Use g_remove and g_rename instead of remove and rename that don't 
9451           handle utf8 characters. rename was failing for users who had specific
9452           characters in their name then the registry was built at each 
9453           gstreamer init.
9454         * win32/vs6/gst_inspect.dsp:
9455         * win32/vs6/gst_launch.dsp:
9456         * win32/vs6/libgstbase.dsp:
9457         * win32/vs6/libgstcoreelements.dsp:
9458         * win32/vs6/libgstreamer.dsp:
9459           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
9460           build of libgstreamer and clean unused libraries in projects link 
9461           settings.
9462
9463 2006-05-17  Edward Hervey  <edward@fluendo.com>
9464
9465         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9466         The queue is not responsible for pushing an EOS when receiving a fatal
9467         flow error. It's up to the real element driving the pipeline to do that.
9468
9469 2006-05-16  Edward Hervey  <edward@fluendo.com>
9470
9471         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9472         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
9473         buffer returned a fatal error. It should just send an EOS and stop
9474         its task.
9475         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
9476         when pushing buffers on the queue and will be able to handle the event.
9477
9478 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9479
9480         * docs/manual/basics-bins.xml:
9481         * docs/manual/basics-init.xml:
9482           Fix typos and minor errors in sample code (#341856).
9483
9484 2006-05-16  Wim Taymans  <wim@fluendo.com>
9485
9486         * docs/design/part-qos.txt:
9487         Fix indexes in formulas to make more sense.
9488
9489 2006-05-15  Wim Taymans  <wim@fluendo.com>
9490
9491         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9492         Don't report POSITION based on clock time if sync is
9493         disabled in a sink.
9494
9495 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
9496
9497         * gst/gstobject.h:
9498           Add cast to make compiler happy - refcount variable was a gint
9499           in GstObject but is a guint in GObject and g_atomic_int_get()
9500           wants a gint *.
9501
9502 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * gst/parse/Makefile.am:
9505           chain commands using &&, which also makes parallel make work
9506
9507 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
9508
9509         * docs/gst/gstreamer-sections.txt:
9510         * gst/gstevent.c:
9511         * gst/gstevent.h:
9512         * gst/gstmessage.h:
9513           Minor docs fixes.
9514
9515 === release 0.10.6 ===
9516
9517 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
9518
9519         * configure.ac:
9520           releasing 0.10.6, "Take the cannoli"
9521
9522 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9523
9524         * tools/gst-launch.c: (print_tag):
9525           Fix use of uninitialized variable in the hypothetical
9526           case that some broken plugin creates a GST_TAG_IMAGE
9527           tag containing a NULL buffer (#341667).
9528
9529 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9530
9531         * tools/gst-launch.c: (print_tag):
9532           Print something more intelligible for image tags when
9533           using the -t switch (#341556).
9534
9535 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9536
9537         * Makefile.am:
9538           updates for win32
9539         * configure.ac:
9540           define GST_MAJORMINOR so we have it available in win32/common/config.h
9541           Possibly remove it from our Makefile.am files later
9542         * win32/common/config.h:
9543         * win32/common/config.h.in:
9544           added GST_MAJORMINOR
9545         * win32/common/gstenumtypes.c: (register_gst_resource_error):
9546         * win32/common/gstversion.h:
9547           updated
9548
9549 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
9550
9551         * win32/MANIFEST:
9552           Update win32 files listing.
9553         * win32/common/gstversion.h:
9554           Add GST_MAJORMINOR definition.
9555         * win32/common/libgstreamer.def:
9556           Add new exported functions.
9557           
9558 2006-05-12  Michael Smith  <msmith@fluendo.com>
9559
9560         * gst/gstplugin.c: (gst_plugin_load_file):
9561           If an so file has no plugin entry point, unload the module.
9562
9563 2006-05-11  Wim Taymans  <wim@fluendo.com>
9564
9565         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
9566         (gst_queue_set_property):
9567         Don't forget to signal the _chain or _loop function 
9568         when the queue size or thresholds change since that might
9569         cause them to make progres again.
9570
9571 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
9572
9573         * gst/gstclock.c: (gst_clock_class_init):
9574         * gst/gstindex.c: (gst_index_class_init):
9575         * gst/gstobject.c: (gst_object_class_init):
9576         * gst/gstpad.c: (gst_pad_class_init):
9577         * gst/gstpipeline.c: (gst_pipeline_class_init):
9578         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9579         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
9580         * libs/gst/base/gstbasetransform.c:
9581         (gst_base_transform_class_init):
9582         * libs/gst/net/gstnetclientclock.c:
9583         (gst_net_client_clock_class_init):
9584         * libs/gst/net/gstnettimeprovider.c:
9585         (gst_net_time_provider_class_init):
9586         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
9587         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9588         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9589         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
9590         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9591         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9592         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9593         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9594         * plugins/elements/gsttee.c: (gst_tee_class_init):
9595         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9596         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9597           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
9598
9599 2006-05-11  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/gstbuffer.c: (_gst_buffer_initialize):
9602         Register subbufer along with the buffer type so that
9603         it does not accidentally gets registered from N
9604         different streaming threads in a non threadsafe way.
9605
9606 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9607
9608         * gst/gstbuffer.h:
9609         * gst/gstevent.h:
9610         * gst/gstmessage.h:
9611           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
9612           gst_event_ref() and gst_message_ref() functions again
9613           (ugly hack, please do fix if there's a better way besides
9614           overrides.txt, which doesn't seem to work).
9615
9616 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * libs/gst/check/gstcheck.h:
9619           add an assert for setting state to avoid lots of repetitive code
9620           in the future
9621
9622 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9623
9624         * gst/gstvalue.c: (gst_value_serialize_flags):
9625           fix a leak if no flags are set
9626         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9627           fix leak in tests
9628
9629 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9630
9631         * docs/manual/basics-pads.xml:
9632           Expand a bit on caps and filtered links and update
9633           examples that were still using the no longer existing
9634           gst_pad_link_filtered() (#338206).
9635
9636 2006-05-10  Wim Taymans  <wim@fluendo.com>
9637
9638         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9639         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9640         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9641         (gst_collect_pads_stop):
9642         * libs/gst/base/gstcollectpads.h:
9643         No need to call _stop in _finalize.
9644         Iterate the main pad list in _finalize.
9645         Added some more debug.
9646         Free lists and data in the right order.
9647         Also free data whem doing _remove_pad when stopped for
9648         backward compatibility protect ::started with PAD_LOCK as
9649         well.
9650
9651 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9652
9653         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9654         (gst_structure_parse_value):
9655           add some comments
9656           rename a method so that it actually says what it does better
9657
9658 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9659
9660         * gst/gstevent.c: (_gst_event_initialize):
9661         * gst/gstformat.c: (_gst_format_initialize):
9662           make sure some essential types used by events are registered
9663           as part of gst_init()
9664         * gst/gstvalue.c: (gst_value_serialize_flags):
9665           if no flags are set, serialize them to a value that represents NONE
9666           so that deserializing them works
9667         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9668           add tests for serialization and deserialization of flags
9669
9670 2006-05-10  Wim Taymans  <wim@fluendo.com>
9671
9672         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9673         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9674         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9675         (gst_collect_pads_event), (gst_collect_pads_chain):
9676         Update docs.
9677         Better debug info.
9678         Catch and return errors from the collect function
9679         Refuse data on eos pads.
9680
9681 2006-05-10  Edward Hervey  <edward@fluendo.com>
9682
9683         * gst/gstinterface.h:
9684         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9685         GInterface type checking.
9686         They were previously using non-defined macros.
9687
9688 2006-05-09  Wim Taymans  <wim@fluendo.com>
9689
9690         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9691         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9692         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9693         (gst_collect_pads_start), (gst_collect_pads_stop),
9694         (gst_collect_pads_peek), (gst_collect_pads_pop),
9695         (gst_collect_pads_available), (gst_collect_pads_read),
9696         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9697         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9698         (gst_collect_pads_chain):
9699         * libs/gst/base/gstcollectpads.h:
9700         Clean up the mess that is collectpads, add comments and
9701         FIXMEs where needed.
9702         Maintain a separate pad list so we can add pads while
9703         collecting the other ones. For this we need a new separate 
9704         lock (see comics).
9705         Fix memory leak in finalize.
9706         Refactor some weird code to set/unset pad flushing flags, mark
9707         with comments.
9708         Don't crash in _available, _read, _flush when we're EOS.
9709
9710         * tests/check/libs/.cvsignore:
9711         Ignore adapter check binary.
9712
9713 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9714
9715         * gst/gstindex.c: (gst_index_resolver_get_type):
9716         * plugins/elements/gstfakesink.c:
9717         (gst_fake_sink_state_error_get_type):
9718         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9719         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9720         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9721           Const-ify GEnumValue arrays.
9722
9723 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9724
9725         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9726           Add test case for flags + gst_buffer_make_metadata_writable().
9727
9728 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9729
9730         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9731           gst_buffer_make_metadata_writable() should maintain the
9732           buffer flags (those that make sense at least) (see #340859).
9733
9734 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9735
9736         * tools/gst-inspect.c:
9737         * tools/gst-launch.c:
9738         * tools/gst-typefind.c:
9739         * tools/gst-xmlinspect.c:
9740         * tools/tools.h:
9741           Fix up includes: need to include stdlib.h in tools.h for exit().
9742
9743 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9744
9745         * gst/gsttaglist.c: (_gst_tag_initialize):
9746         * gst/gsttaglist.h:
9747           API: add GST_TAG_IMAGE tag (#340721).
9748
9749 2006-05-08  Wim Taymans  <wim@fluendo.com>
9750
9751         * gst/gstquery.c:
9752         Added some docs for the segment query.
9753
9754 2006-05-08  Wim Taymans  <wim@fluendo.com>
9755
9756         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9757         (gst_base_src_loop), (gst_base_src_change_state):
9758         Always push non-flushing serialized events in the streaming 
9759         thread.
9760
9761 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * gst/gsterror.c: (_gst_stream_errors_init):
9764           Add a missing error string.
9765
9766 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
9767
9768         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9769         Add applied_rate to the debug
9770
9771         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9772         Copy applied_rate into the outgoing NEWSEGMENT event
9773
9774 2006-05-08  Wim Taymans  <wim@fluendo.com>
9775
9776         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9777
9778         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9779         (gst_base_sink_change_state):
9780         call ::unlock before taking the PREROLL_LOCK so we can safely
9781         handle elements that lock in ::render.
9782         Fixes #340174.
9783
9784 2006-05-08  Edward Hervey  <edward@fluendo.com>
9785
9786         * autogen.sh: (CONFIGURE_DEF_OPT): 
9787         Darwin's libtoolize is in fact called glibtoolize.
9788         Adding glibtoolize to the list of accepted names for libtoolize.
9789
9790 2006-05-08  Wim Taymans  <wim@fluendo.com>
9791
9792         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9793         Unify error handling, don't post an error message
9794         when a push() returns EOS but perform our normal EOS
9795         handling code. Fixes #340772.
9796
9797 2006-05-08  Wim Taymans  <wim@fluendo.com>
9798
9799         * docs/design/part-overview.txt:
9800         Make upsteam/downstream concepts more clear.
9801         Give an example of serialized/non-serialized events.
9802
9803         * docs/design/part-events.txt:
9804         * docs/design/part-streams.txt:
9805         Mention applied_rate.
9806
9807         * docs/design/part-trickmodes.txt:
9808         Mention applied rate, flesh out some more use cases.
9809
9810         * gst/gstevent.c: (gst_event_new_new_segment),
9811         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9812         (gst_event_parse_new_segment_full), (gst_event_new_tag),
9813         (gst_event_parse_tag), (gst_event_new_buffer_size),
9814         (gst_event_parse_buffer_size), (gst_event_new_qos),
9815         (gst_event_parse_qos), (gst_event_parse_seek),
9816         (gst_event_new_navigation):
9817         * gst/gstevent.h:
9818         Add applied_rate field to NEWSEGMENT event.
9819         API: gst_event_new_new_segment_full()
9820         API: gst_event_parse_new_segment_full()
9821
9822         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9823         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9824         (gst_segment_to_stream_time), (gst_segment_to_running_time):
9825         * gst/gstsegment.h:
9826         Add applied_rate to GstSegment structure.
9827         Make calculation of stream_time and running_time more correct
9828         wrt rate/applied_rate.
9829         Add some more docs.
9830         API: GstSegment::applied_rate field
9831         API: gst_segment_set_newsegment_full();
9832
9833         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9834         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9835         * libs/gst/base/gstbasetransform.c:
9836         (gst_base_transform_sink_eventfunc),
9837         (gst_base_transform_handle_buffer):
9838         Parse and use applied_rate in the GstSegment field.
9839
9840         * tests/check/gst/gstevent.c: (GST_START_TEST):
9841         Add check for applied_rate field.
9842
9843         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9844         (gstsegments_suite):
9845         Add more checks for various GstSegment operations.
9846
9847 2006-05-08  Wim Taymans  <wim@fluendo.com>
9848
9849         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9850         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9851         (gst_base_sink_get_position), (gst_base_sink_change_state):
9852         Store the sync time of the buffer end position separatly in a
9853         new variable eos_rtime so we can properly sync the EOS event.
9854         Fixes #340697.
9855         Fix the docs for gst_base_sink_set_qos_enabled().
9856         Don't set segment start to invalid value when we receive a 
9857         non TIME newsegment.
9858         get closer to handling position reporting for negative rates 
9859         correctly.
9860
9861 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9862
9863         * gst/gstcaps.c:
9864         Docs about how to print caps for debug purposes.
9865
9866         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9867         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9868
9869 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9870
9871         * gst/gstelement.c:
9872           use full enum names and preprend a '%' in docs strings to make recent 
9873           gtk-doc turn that into a link
9874
9875 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9876
9877         * docs/manual/basics-bins.xml:
9878         * docs/manual/basics-bus.xml:
9879         * docs/manual/basics-pads.xml:
9880           Some typo fixes, some additions, some clarifications. 
9881
9882 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9883
9884         * tools/gst-inspect.c: (main):
9885         * tools/gst-launch.c: (main):
9886         * tools/gst-run.c: (main):
9887         * tools/gst-typefind.c: (main):
9888         * tools/gst-xmlinspect.c: (main):
9889           Use the string passed to g_option_context_new() for
9890           what it's intended for - the program name is already
9891           printed elsewhere.
9892
9893 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9894
9895         * tools/Makefile.am:
9896         * tools/gst-inspect.c: (main):
9897         * tools/gst-launch.c: (main):
9898         * tools/gst-xmlinspect.c: (main):
9899         * tools/tools.h:
9900           Add back --version command line option (#340460).
9901
9902         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9903           Add --version option and use GOption for argument parsing; refactor a
9904           bit; accept directories as arguments and recurse into them; lastly,
9905           print a decent error message when things go wrong.
9906
9907 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9908
9909         * docs/manual/basics-bins.xml:
9910         Don't mention GstThread (#340611)
9911         * docs/manual/basics-elements.xml:
9912         Update link to GObject tutorial (#340607)
9913         
9914 2006-05-05  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstbuffer.h:
9917         * gst/gstminiobject.c:
9918         Add note about refcounting and miniobject/buffer writeability
9919         to docs. Fixes #340604
9920
9921         * gst/gstelementfactory.h:
9922         Added some explanation about @klass.
9923
9924 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9925
9926         * docs/manual/intro-motivation.xml:
9927         * docs/manual/manual.xml:
9928         Avoid CORBA & Bonobo references (#340598)
9929
9930 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9931
9932         * docs/manual/basics-bus.xml:
9933         * docs/manual/basics-pads.xml:
9934         Fix up some inaccuracies and omissions (#340609)
9935         
9936 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9937
9938         * gst/gstghostpad.c:
9939           Small typo in docs (#340625)
9940
9941 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9942
9943         * gst/parse/Makefile.am:
9944           Make 'make -j' proof (see #340698).
9945
9946 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9947
9948         * configure.ac:
9949           Require GLib-2.8 here as well.
9950
9951 2006-05-05  Wim Taymans  <wim@fluendo.com>
9952
9953         * gst/glib-compat.c:
9954         * gst/gst.c: (init_pre):
9955         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9956         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9957         (gst_object_dispatch_properties_changed):
9958         * gst/gstobject.h:
9959         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9960         * gst/gststructure.c: (gst_structure_set_valist):
9961         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9962         Remove pre glib2.8 compatibility, fixes #340508
9963
9964 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9965
9966         * gst/gsttaglist.h:
9967           Mention type of tags in doc blurbs.
9968
9969 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9970
9971         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9972         (gst_pad_configure_src), (gst_pad_push):
9973         Restore acceptcaps checking behaviour now that good plugins have
9974         been released.
9975
9976 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9977
9978         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9979
9980         * gst/gst.c:
9981         * gst/gstbus.c:
9982         * gst/gstclock.c:
9983         * gst/gstevent.c:
9984         * gst/gstformat.c:
9985         * gst/gstmessage.c:
9986         * gst/gstparse.c:
9987         * gst/gstquery.c:
9988         * gst/gstutils.c:
9989         * gst/parse/Makefile.am:
9990         * libs/gst/base/gstadapter.c:
9991         * libs/gst/base/gstbasesrc.c:
9992         * libs/gst/base/gstpushsrc.c:
9993         * libs/gst/base/gsttypefindhelper.c:
9994         * plugins/elements/gstfakesrc.c:
9995         * plugins/elements/gstidentity.c:
9996           Make sure gstprivate.h and/or config.h are
9997           always included first, otherwise some of our
9998           defines (like _FILE_OFFSET_BITS) might be
9999           redefined in the system headers. Fixes build
10000           on opensolaris (#340016).
10001
10002 2006-05-04  Wim Taymans  <wim@fluendo.com>
10003
10004         * docs/libs/gstreamer-libs-sections.txt:
10005         API: addition: gst_adapter_take_buffer()
10006         
10007         * libs/gst/base/gstadapter.c: (gst_adapter_push),
10008         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
10009         (gst_adapter_available_fast):
10010         * libs/gst/base/gstadapter.h:
10011         Prepare for optimizing the hell out of this hugely inefficient
10012         piece of code. 
10013         Added gst_adapter_take_buffer() so we can at least start thinking
10014         about subbuffering and merging.
10015         Added some comments.
10016
10017         * tests/check/Makefile.am:
10018         * tests/check/libs/adapter.c: (GST_START_TEST),
10019         (gst_adapter_suite), (main):
10020         Added GstAdapter check.
10021
10022 2006-05-04  Wim Taymans  <wim@fluendo.com>
10023
10024         * docs/design/part-overview.txt:
10025         Fix some typos, add blurb about buffer flags.
10026
10027 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10028
10029         * docs/libs/gstreamer-libs-sections.txt:
10030           make sure GstBaseTransformClass shows up in the docs
10031         * libs/gst/base/gstbasetransform.c:
10032         * libs/gst/base/gstbasetransform.h:
10033           move docs so gtk-doc picks it up now
10034
10035 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
10036
10037         * docs/libs/gstreamer-libs-sections.txt:
10038           add missing symbols to docs
10039
10040 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
10041
10042         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10043           back out the newsegment handling change, see #340060 for ongoing
10044           discussion
10045
10046 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
10047
10048         * tools/gst-run.c: (get_candidates), (main):
10049           Fix wrong g_file_test() usage (see glib docs for why it doesn't
10050           work); fix typo in error message. Fixes #340079.
10051
10052 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10053
10054         * common/Makefile.am:
10055         * docs/Makefile.am:
10056         * docs/faq/Makefile.am:
10057         * docs/gst/Makefile.am:
10058         * docs/libs/Makefile.am:
10059         * docs/manual/Makefile.am:
10060         * docs/plugins/Makefile.am:
10061         * docs/pwg/Makefile.am:
10062         * docs/slides/Makefile.am:
10063         * docs/upload.mak:
10064         * common/upload.mak:
10065           move upload.mak to common
10066
10067 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10070           add more asserts on refcounts
10071           do more cleanup at end of tests
10072           fix test leaks showing in FC5
10073
10074 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
10075
10076         * plugins/elements/gsttypefindelement.c:
10077         (gst_type_find_element_handle_event):
10078         reverted wrong change and reflowed code to avoid others falling into
10079         this trap
10080
10081 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10082
10083         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10084           fix changelog entry about last collectpads change,
10085           add notes about proper fix
10086
10087 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10088
10089         * gst/gst.c:
10090         * gst/gstregistry.c: (gst_registry_scan_path_level),
10091         (gst_registry_scan_path):
10092         * gst/gstregistry.h:
10093           only write out registry if it has changed, fixes #338339
10094
10095 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10096
10097         * gst/gstbin.c:
10098         * gst/gstpipeline.c:
10099         * plugins/elements/gstcapsfilter.c:
10100         * plugins/elements/gstfakesink.c:
10101         * plugins/elements/gstfakesrc.c:
10102         * plugins/elements/gstfdsink.c:
10103         * plugins/elements/gstfdsrc.c:
10104         * plugins/elements/gstfilesink.c:
10105         * plugins/elements/gstfilesrc.c:
10106         * plugins/elements/gstidentity.c:
10107         * plugins/elements/gstqueue.c:
10108         * plugins/elements/gsttee.c:
10109         * plugins/elements/gsttypefindelement.c:
10110         (gst_type_find_element_handle_event):
10111           make GstElementDetails const
10112
10113 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10114
10115         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
10116         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10117         (gst_collect_pads_is_collected), (gst_collect_pads_event):
10118           more detailed debug and formatting cleanup,
10119           forward newsegments to src-pad (so that e.g. adder not eats them)
10120
10121 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10122
10123         * gst/gstutils.c: (gst_element_link_pads):
10124           cleanup double code
10125
10126 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10127
10128         * libs/gst/controller/gstcontroller.c:
10129         (gst_controller_sync_values):
10130           some little tuning
10131         * tests/check/libs/controller.c: (GST_START_TEST),
10132         (gst_controller_suite):
10133           a new test for live value handling
10134
10135 2006-04-28  Wim Taymans  <wim@fluendo.com>
10136
10137         * gst/gstutils.c: (push_and_ref):
10138         Added some more docs.
10139         Fix refcount issue whith gst_element_found_tags() helper 
10140         function. Fixes #338335
10141
10142         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10143         Added testsuite for gst_element_found_tags().
10144
10145 2006-04-28  Michael Smith  <msmith@fluendo.com>
10146
10147         * gst/gstvalue.c: (gst_value_serialize_flags):
10148           Avoid NULL dereference when trying to serialize flags containing
10149           invalid values.
10150
10151 2006-04-28  Michael Smith  <msmith@fluendo.com>
10152
10153         * plugins/elements/gsttypefindelement.c:
10154         (gst_type_find_element_handle_event):
10155           If we get EOS before any data is accumulated, don't use
10156           uninitialised local variables.
10157
10158 2006-04-28  Michael Smith  <msmith@fluendo.com>
10159
10160         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10161         (gst_dp_event_from_packet):
10162           Fixes in reading/writing events over GDP (not currently used?) - 
10163           dereferencing NULL events for unknown/invalid event types, memory
10164           leak, and change g_warning to GST_WARNING.
10165
10166 2006-04-28  Wim Taymans  <wim@fluendo.com>
10167
10168         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
10169         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10170         (gst_base_sink_get_position), (gst_base_sink_change_state):
10171         When frame dropping is enabled, we should not ignore frames
10172         without a duration.
10173         Update some documentation.
10174
10175 2006-04-28  Wim Taymans  <wim@fluendo.com>
10176
10177         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10178         (gst_base_src_send_event), (gst_base_src_change_state):
10179         Documentation updates.
10180
10181 2006-04-28  Wim Taymans  <wim@fluendo.com>
10182
10183         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
10184         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
10185         handle EAGAIN, EINTR and short writes correctly. Also clean
10186         up some error cases, avoid a deadlock on bad file descriptors and
10187         use GST_DEBUG_OBJECT.
10188         Fixes #339843
10189
10190 2006-04-28  Wim Taymans  <wim@fluendo.com>
10191
10192         * gst/gstvalue.c: (gst_value_serialize_buffer),
10193         (gst_value_deserialize_buffer):
10194         Don't try to serialize a GValue with a NULL buffer. 
10195         Fixes #339821.
10196
10197         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10198         Added check for serialisation of NULL buffers.
10199
10200 2006-04-28  Wim Taymans  <wim@fluendo.com>
10201
10202         * gst/gstminiobject.c: (gst_value_take_mini_object):
10203         Taking a NULL miniobject is valid, fix the case where
10204         we try to unref the NULL miniobject.
10205
10206 2006-04-28  Wim Taymans  <wim@fluendo.com>
10207
10208         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10209
10210         * gst/gstbin.c: (gst_bin_handle_message_func):
10211         Update docs.
10212         Don't leak bin refcount when a state recalc is
10213         in progress and we delay another one #339808.
10214
10215 2006-04-28  Wim Taymans  <wim@fluendo.com>
10216
10217         * docs/design/part-TODO.txt:
10218         Mention QoS as an ongoing work item.
10219
10220         * docs/design/part-buffering.txt:
10221         New doc about buffering that needs to be fleshed out
10222         at some point.
10223
10224         * docs/design/part-qos.txt:
10225         More QoS policy for decoders/demuxers/transforms
10226
10227         * docs/design/part-trickmodes.txt:
10228         Small update.
10229
10230 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10231
10232         * configure.ac:
10233           back to HEAD
10234
10235 === release 0.10.5 ===
10236
10237 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
10238
10239         * configure.ac:
10240           releasing 0.10.5, "Fogo"
10241
10242 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10243
10244         patch by: Wim Taymans
10245
10246         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
10247         (gst_pad_configure_src), (gst_pad_push):
10248         * gst/gstpipeline.c: (gst_pipeline_init):
10249           Fix internal data flow errors.  Fixes #338711.
10250
10251 2006-04-12  Wim Taymans  <wim@fluendo.com>
10252
10253         * tests/check/gst/gstelement.c: (GST_START_TEST):
10254         Don't leak the factory.
10255
10256 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10257
10258         * configure.ac:
10259         * win32/common/config.h:
10260           prerelease
10261
10262 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
10263
10264         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10265         (gst_controller_unset_all):
10266           Free allocated GstTimedValues when freeing list nodes.
10267           Should fix leaks 'make check-valgrind' complains about.
10268
10269         * win32/common/libgstcontroller.def:
10270           Add gst_controller_unset_all.
10271
10272 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
10273
10274         * docs/libs/gstreamer-libs-sections.txt:
10275         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10276         (gst_controller_unset_all):
10277         * libs/gst/controller/gstcontroller.h:
10278         API: Added new method gst_controller_unset_all()
10279         fixed gst_controller_unset()
10280         * tests/check/libs/controller.c: (GST_START_TEST),
10281         (gst_controller_suite):
10282         Added two testcases for new and fixed method
10283
10284 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
10285
10286         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10287           MSG_DONTWAIT is not defined on Cygwin, so work
10288           around that (fixes #317048).
10289           
10290 2006-04-11  Wim Taymans  <wim@fluendo.com>
10291
10292         * gst/gstelementfactory.c: (gst_element_register),
10293         (gst_element_factory_create), (gst_element_factory_make):
10294         Some cleanups.
10295         Fixed a FIXME.
10296         Updated docs (Fixes #131079)
10297
10298         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10299         Small cleanups.
10300
10301         * tests/check/gst/gstelement.c: (GST_START_TEST),
10302         (gst_element_suite):
10303         Added testcase for elementfactory class field.
10304
10305 2006-04-10  Wim Taymans  <wim@fluendo.com>
10306
10307         * gst/gstsegment.c:
10308         Added some more docs.
10309
10310         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
10311         (gst_base_sink_reset_qos):
10312         Calculate more accurate rate values.
10313
10314 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
10315
10316         * gst/gst_private.h:
10317           add a new #ifdef to use __declspec(dllimport) only for
10318           other modules and not for gstreamer core
10319         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
10320           use gst_guint64_to_gdouble for conversion
10321         * win32/common/libgstreamer.def:
10322           add new exported functions
10323         * win32/vs6/gst_inspect.dsp:
10324         * win32/vs6/gst_launch.dsp:
10325         * win32/vs6/libgstbase.dsp:
10326         * win32/vs6/libgstcontroller.dsp:
10327         * win32/vs6/libgstcoreelements.dsp:
10328         * win32/vs6/libgstdataprotocol.dsp:
10329         * win32/vs6/libgstnet.dsp:
10330           update project files
10331
10332 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10333
10334         * gst/gstbuffer.c: (gst_subbuffer_class_init):
10335         * gst/gstclock.c: (gst_clock_class_init):
10336         * gst/gstelement.c: (gst_element_class_init):
10337         * gst/gstindex.c: (gst_index_class_init):
10338         * gst/gstindexfactory.c: (gst_index_factory_class_init):
10339         * gst/gstobject.c: (gst_object_class_init),
10340         (gst_signal_object_class_init):
10341         * gst/gstpad.c: (gst_pad_class_init):
10342         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
10343         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
10344         * gst/gstregistry.c: (gst_registry_class_init):
10345         * gst/gstsystemclock.c: (gst_system_clock_class_init):
10346         * gst/gsttask.c: (gst_task_class_init):
10347         * gst/gstxml.c: (gst_xml_class_init):
10348         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10349         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10350         (gst_base_src_loop):
10351         * libs/gst/controller/gstcontroller.c:/
10352         (_gst_controller_class_init):
10353         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10354         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
10355         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
10356         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10357         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10358         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
10359
10360 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
10361
10362         * gst/gstpad.c: (gst_pad_link):
10363           Must set peer pads before calling the link function, otherwise
10364           a task started from a link function might get a flow-not-linked
10365           result when trying to push because the other thread where the
10366           linking happens hasn't had a chance to set the peers yet. This
10367           might happen for example when a queue gets linked to a downstream
10368           element, as queue starts a streaming task when its source pad
10369           gets linked. Happens in real life when playing back flac/musepack
10370           files in playbin (#332390).
10371           
10372 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10373
10374         * gst/gstindex.h:
10375         * gst/gstxml.h:
10376         * libs/gst/base/gstadapter.h:
10377         * libs/gst/base/gstbasesink.h:
10378         * libs/gst/base/gstbasesrc.h:
10379         * libs/gst/base/gstbasetransform.h:
10380         * libs/gst/base/gstcollectpads.h:
10381         * libs/gst/base/gstpushsrc.h:
10382         Fix broken GObject macros
10383
10384 2006-04-07  Wim Taymans  <wim@fluendo.com>
10385
10386         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10387         Initialize start and stop times, thanks valgrind.
10388
10389 2006-04-07  Wim Taymans  <wim@fluendo.com>
10390
10391         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10392         Be a bit nicer to badly behaving upstream elements that expect
10393         us to deal with non TIME segments and timestamps (such as fakesrc
10394         in the testsuite).
10395
10396 2006-04-07  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstbus.c:
10399         Small documentation clarification about the signal watch.
10400
10401         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
10402         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10403         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10404         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10405         (gst_base_sink_get_position_last),
10406         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
10407         Convert and store timestamps in stream time and running time, the
10408         raw timestamps are not useful, also document this better.
10409         Use different window sizes for good and bad QoS observations so
10410         we react to badness a little quicker.
10411         Keep track of the amount of rendered and dropped buffers.
10412         Send QoS timestamps in running time.
10413
10414         * libs/gst/base/gstbasetransform.c:
10415         (gst_base_transform_sink_eventfunc),
10416         (gst_base_transform_handle_buffer):
10417         Compare QoS timestamps against running time.
10418
10419 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10420
10421         * gst/gstpad.c:
10422           Typo fixes in docs.
10423
10424 2006-04-06  Michael Smith  <msmith@fluendo.com>
10425
10426         * gst/gstpad.c: (gst_pad_set_property):
10427           Use g_value_get_object() instead of g_value_dup_gst_object(),
10428           to avoid double-reffing the pad template (which we then sink,
10429           so this worked previously if (and only if) the pad template
10430           was floating.
10431
10432         * gst/gstpadtemplate.c: (gst_pad_template_init),
10433         (gst_pad_template_pad_created):
10434           Never return floating references to pad templates, create
10435           them as initially-sunken.
10436
10437           Document an extra function (and make this stop sinking our
10438           pad template, since that is now guaranteed to do nothing,
10439           since we created it sunken).
10440
10441         * gst/gstghostpad.c:
10442           Fix docs typo.
10443
10444 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10445
10446         * gst/gstinfo.c: (__gst_in_valgrind):
10447           Add some newlines.
10448
10449         * plugins/elements/gsttypefindelement.c:
10450         (gst_type_find_element_chain):
10451           Don't leak buffer caps.
10452
10453 2006-04-06  Michael Smith  <msmith@fluendo.com>
10454
10455         * gst/parse/grammar.y:
10456           Fix a leak in parse-launch for any source-or-sink named element 
10457           references used.
10458
10459         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10460           Unref the pipeline if it exists after we've failed parsing.
10461
10462 2006-04-05  Michael Smith  <msmith@fluendo.com>
10463
10464         * gst/gstpipeline.c: (gst_pipeline_init):
10465           When we create a pipeline bus, initially create it in flushing mode.
10466           Fixes leaks in at least one test, and makes a new pipeline work the
10467           same as one that has gone to READY and then back to NULL.
10468
10469         * gst/gstelement.c:
10470           Typo fix in docs.
10471
10472 2006-04-05  Michael Smith  <msmith@fluendo.com>
10473
10474         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10475           Unref a pad we reffed.
10476         * tests/check/gst/gstutils.c: (GST_START_TEST):
10477           Unref bins
10478
10479 2006-04-05  Michael Smith  <msmith@fluendo.com>
10480
10481         * gst/gstquery.c: (gst_query_set_formats),
10482         (gst_query_set_formatsv):
10483           Fix leaking GValues in queries, as shown by valgrind/testsuite.
10484
10485 2006-04-05  Michael Smith  <msmith@fluendo.com>
10486
10487         * tests/check/generic/sinks.c: (GST_START_TEST):
10488           Fix a variety of memleaks in sinks check, which are only sometimes 
10489           shown by running the tests under valgrind (weird?).
10490
10491 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
10492
10493         * docs/version.entities.in:
10494           Fix the substituted entity name after thomas' changes on the
10495           weekend.
10496
10497 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10498
10499         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
10500         VALGRIND_PRINTF
10501         
10502 2006-04-05  Andy Wingo  <wingo@pobox.com>
10503
10504         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
10505
10506         * libs/gst/base/gstbasetransform.c
10507         (gst_base_transform_sink_eventfunc): When resetting our segment on
10508         FLUSH_STOP, also update the flag saying we haven't seen a
10509         newsegment.
10510
10511 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10512
10513         Patch by: Paolo Borelli  <pborelli at katamail dot com>
10514
10515         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10516         (gst_plugin_check_license):
10517           minor clean-ups: G_DEFINE_TYPE already takes care of the
10518           parent_class stuff, no need to do it twice. Mark array of
10519           license strings as constant. (#337103)
10520           
10521 2006-04-04  Michael Smith  <msmith@fluendo.com>
10522
10523         * tools/gst-inspect.c: (print_element_list):
10524           Free the right plugin list; fixes a memory leak.
10525
10526 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10527
10528         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
10529
10530         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10531           Don't error out on empty buffers (#336945).
10532           
10533 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
10534
10535         * docs/libs/gstreamer-libs-sections.txt:
10536         * gst/gsttaglist.c:
10537         * libs/gst/base/gstbasesink.c:
10538         * libs/gst/base/gstbasesink.h:
10539         * libs/gst/base/gstbasesrc.c:
10540         * libs/gst/base/gstbasesrc.h:
10541           Documentation updates. Make BaseSink and BaseSrc docs contain the
10542           class structure so that people can actually see the prototypes for
10543           virtual functions they're supposed to be overriding.
10544
10545 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10546
10547         * plugins/elements/gsttypefindelement.c:
10548         (gst_type_find_element_chain):
10549           More debug info; when skipping typefinding, send cached
10550           events in all cases.
10551
10552 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10553
10554         * configure.ac:
10555           use new AS_VERSION and AS_NANO macros
10556         * gst/gst-i18n-lib.h:
10557         * gst/gst.c:
10558         * gst/gsterror.c:
10559         * gst/gstversion.h.in:
10560         * win32/common/config.h:
10561         * win32/common/config.h.in:
10562           update accordingly
10563
10564 2006-03-31  Michael Smith  <msmith@fluendo.com>
10565
10566         * plugins/elements/gsttypefindelement.c:
10567         (gst_type_find_element_chain):
10568           Do not typefind content if the buffers already have caps.
10569           Neccesary for icydemux (#333657), and the right thing to do anyway.
10570
10571 2006-03-30  Wim Taymans  <wim@fluendo.com>
10572
10573         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10574         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
10575         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
10576         (gst_base_sink_record_qos_observation),
10577         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10578         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10579         (gst_base_sink_change_state):
10580         More QoS measurements as described in the design doc.
10581         Get rid of ringbuffer with observations, running average is
10582         more simple and equally good.
10583         Calculates valid proportion now.
10584         Added beginning of flood measurement.
10585
10586 2006-03-29  Wim Taymans  <wim@fluendo.com>
10587
10588         * docs/design/part-qos.txt:
10589         * gst/gstclock.c:
10590         Small documentation updates and additions.
10591
10592 2006-03-29  Wim Taymans  <wim@fluendo.com>
10593
10594         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10595         (gst_base_src_send_event), (gst_base_src_loop),
10596         (gst_base_src_change_state):
10597         Perform the EOS logic when we reach the segment stop position.
10598         Fix compilation on gcc4.1
10599
10600 2006-03-29  Wim Taymans  <wim@fluendo.com>
10601
10602         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
10603
10604         * plugins/elements/gstqueue.c: (gst_queue_init),
10605         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10606         (gst_queue_set_property):
10607         * plugins/elements/gstqueue.h:
10608         In queue, when EOS is received, if minimum threshold > max_size -
10609         current_level, there is chance that queue blocks forever in conditional
10610         item del wait. This is because the queue is not emptied completely due
10611         to minimum threshold.  Here is another approach. Instead of setting
10612         cur_levels to max in EOS, just zero all minimum threshold levels. This
10613         should make sure that queue gives out all data. When going to READY
10614         (stop) state, just reset the original minimum threshold levels.
10615         Fixes #336336.
10616
10617 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
10618
10619         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10620         (gst_type_find_element_handle_event),
10621         (gst_type_find_element_send_cached_events),
10622         (gst_type_find_element_change_state):
10623         * plugins/elements/gsttypefindelement.h:
10624           When typefinding is done in push mode, we should cache
10625           events we receive during typefinding instead of just
10626           dropping them (e.g. newsegment, custom events from
10627           dvdreadsrc etc.) and then send them out once we've
10628           determined the type of the stream (and decodebin
10629           has had a chance to plug in a decoder/demuxer).
10630           
10631 2006-03-27  Wim Taymans  <wim@fluendo.com>
10632
10633         * docs/design/part-qos.txt:
10634         First QoS ideas.
10635
10636 2006-03-27  Wim Taymans  <wim@fluendo.com>
10637
10638         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10639
10640         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10641         (gst_base_src_send_event), (gst_base_src_change_state):
10642         Handle element seek correctly when we are streaming.
10643         Fixes #326998.
10644
10645 2006-03-24  Michael Smith  <msmith@fluendo.com>
10646
10647         * docs/faq/gst-uninstalled:
10648           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10649           allow you to correctly run intalled applications built against old 
10650           core, using plugins that require updated core (e.g. running
10651           installed totem against a full uninstalled gstreamer stack)
10652
10653 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10654
10655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10656         more debug details
10657
10658 2006-03-24  Wim Taymans  <wim@fluendo.com>
10659
10660         * docs/gst/gstreamer-sections.txt:
10661         Rearrange the order of the methods so that related methods
10662         are grouped together in sections.
10663
10664 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10665
10666         * gst/gstelement.c:
10667           Little clarification in the docs
10668
10669 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10670
10671         * docs/README:
10672         formatting fix
10673         * plugins/elements/gstidentity.c:
10674         * plugins/elements/gstqueue.c:
10675         * plugins/elements/gsttee.c:
10676         * plugins/elements/gsttypefindelement.c:
10677         GST_ELEMENT_DETAILS formatting
10678
10679 2006-03-24  Wim Taymans  <wim@fluendo.com>
10680
10681         * libs/gst/base/gstbasesink.h:
10682         Only add fields, not insert or we break ABI.
10683
10684 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10685
10686         * win32/common/libgstbase.def:
10687         * win32/common/libgstreamer.def:
10688           Update, add recently added functions.
10689
10690 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10691
10692         * docs/gst/gstreamer-sections.txt:
10693         * gst/gstutils.c: (gst_pad_query_peer_position),
10694         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10695         * gst/gstutils.h:
10696           API: add some new utility functions:
10697            - gst_pad_query_peer_position()
10698            - gst_pad_query_peer_duration()
10699            - gst_pad_query_peer_convert()
10700           
10701 2006-03-23  Wim Taymans  <wim@fluendo.com>
10702
10703         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10704         (gst_base_sink_init), (gst_base_sink_finalize),
10705         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10706         (gst_base_sink_set_property), (gst_base_sink_get_property),
10707         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10708         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10709         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10710         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10711         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10712         (gst_base_sink_preroll_object), (gst_base_sink_event),
10713         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10714         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10715         (gst_base_sink_query), (gst_base_sink_change_state):
10716         Decouple max-lateness and the fact that QoS messages are generated
10717         with a new property (qos).
10718         added API: GstBaseSink::async_play()
10719         Add vmethod so subclasses can be notified of ASYNC playing
10720         state changes.
10721         Collect timestamp start and stop to report better current
10722         position in EOS/PLAYING/PAUSED/READY/NULL.
10723         Refactor QoS/frame dropping and other measurements.
10724         API: GstBaseSrc::qos
10725         Fixes #326311
10726
10727         * libs/gst/base/gstbasesink.h:
10728         Added Private struct.
10729         API: gst_base_sink_set_qos_enabled()
10730         API: gst_base_sink_is_qos_enabled()
10731
10732 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10733
10734         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10735           If compiling against GLib-2.8 or newer, try to read the
10736           registry file using GMappedFile first before falling back
10737           to fopen() + fread() (#332151).
10738
10739 2006-03-22  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gstinfo.c: (gst_debug_set_active),
10742         (gst_debug_category_set_threshold):
10743         Disable debugging unless explicitly activated.
10744         Fixes #335480.
10745
10746 2006-03-22  Wim Taymans  <wim@fluendo.com>
10747
10748         * gst/gstelement.c: (gst_element_set_locked_state),
10749         (gst_element_dispose):
10750         Cleanup the error case.
10751
10752         * gst/gstobject.c: (gst_object_dispose):
10753         print a critical when some object was disposed with
10754         a parent, also revive the object since it might
10755         crash the parent.
10756
10757 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
10758
10759         * tools/gst-launch.1.in:
10760           Fix another typo.
10761
10762 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10763
10764         * configure.ac:
10765         * tests/check/Makefile.am:
10766           disable some tests when we don't have a registry
10767         * tests/check/gst/gstutils.c: (gst_utils_suite):
10768           don't build the part that needs parsing
10769
10770 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10771
10772         * gst/Makefile.am
10773         * tests/examples/Makefile.am:
10774           fix --disable-parse build
10775
10776 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10777
10778         * tools/gst-feedback.1.in:
10779           Fix typo: s/feeback/feedback/ (#133494).
10780
10781 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         * tools/Makefile.am:
10784         * tools/gst-launch.1.in:
10785           Add FILES section and correct entry about GST_REGISTRY_PATH
10786           environment variable (#133495; #133494).
10787
10788 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10789
10790         * tools/Makefile.am:
10791         * tools/gst-md5sum.1.in:
10792         * tools/gst-md5sum.c:
10793           Remove gst-md5sum and man page (the md5sink element
10794           required was removed ages ago)
10795
10796 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10797
10798         * gst/gststructure.c: (gst_structure_id_set_value):
10799           Make sure that string fields in structures/taglists
10800           contain valid UTF-8 - we don't want to pass rubbish to
10801           applications because of a buggy plugin (cp. #334167).
10802
10803 2006-03-21  Edward Hervey  <edward@fluendo.com>
10804
10805         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10806         (gst_bin_handle_message_func):
10807         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10808         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10809         (gst_element_set_bus_func):
10810         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10811         * gst/gstminiobject.c: (gst_value_set_mini_object),
10812         (gst_value_take_mini_object):
10813         * gst/gstpad.c: (gst_pad_set_pad_template):
10814         * gst/gstpipeline.c: (gst_pipeline_dispose),
10815         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10816         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10817         (gst_collect_pads_chain):
10818         * libs/gst/net/gstnettimeprovider.c:
10819         (gst_net_time_provider_set_property):
10820         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10821         It's in fact all issues with gst_*object_replace().
10822
10823 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10824
10825         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
10826         
10827         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10828         * pkgconfig/gstreamer-check.pc.in:
10829           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10830
10831 2006-03-21  Edward Hervey  <edward@fluendo.com>
10832
10833         * gst/gstbuffer.h:
10834         * gst/gstevent.h:
10835         * gst/gstmessage.h:
10836         gst_[buffer|event|message]_ref() macros are replaced by a static
10837         inline functions because gcc-4.1 will about if the return value
10838         isn't used.
10839         * tests/check/gst/gstevent.c: (event_probe):
10840         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10841
10842 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
10843
10844         * gst/gstutils.h:
10845         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10846         the type' case. (Closes: #335195 for now). In the future, when we
10847         depend on GLib 2.10, we could also intern the type name using
10848         g_intern_static_string()
10849
10850 2006-03-20  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/gstbin.c: (gst_bin_handle_message_func),
10853         (bin_query_max_init), (bin_query_position_fold),
10854         (bin_query_position_done), (gst_bin_query):
10855         Position query should also take max of all streams.
10856
10857 2006-03-20  Wim Taymans  <wim@fluendo.com>
10858
10859         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10860         (gst_fake_src_finalize):
10861         Fix leaks in fakesrc.
10862
10863         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10864         Fix leaks in the testcase.
10865
10866 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
10867
10868         * gst/gst_private.h:
10869           add win32 specific import decoration(__declspec(dllimport)) 
10870           for all extern GstDebugCategory * variables
10871         * win32/common/libgstbase.def:
10872         * win32/common/libgstcontroller.def:
10873         * win32/common/libgstreamer.def:
10874           Add some exports, remove empty lines
10875         * win32/common/libgstdataprotocol.def:
10876         * win32/common/libgstdataprotocol.dsp:
10877         * win32/common/libgstnet.def:
10878         * win32/common/libgstnet.dsp:
10879           new project files and exportation files added
10880         
10881 2006-03-19  Wim Taymans  <wim@fluendo.com>
10882
10883         * tests/check/libs/basesrc.c: (eos_event_counter):
10884         Use proper return value for probe.
10885
10886 2006-03-17  Wim Taymans  <wim@fluendo.com>
10887
10888         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10889         (gst_pad_push):
10890         Don't leak buffers, caps and pads on negotiation errors.
10891
10892 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10893
10894         * docs/faq/cvs.xml:
10895         * docs/faq/dependencies.xml:
10896         * docs/faq/developing.xml:
10897         * docs/faq/faq.xml:
10898         * docs/faq/general.xml:
10899         * docs/faq/getting.xml:
10900         * docs/faq/legal.xml:
10901         * docs/faq/troubleshooting.xml:
10902         * docs/faq/using.xml:
10903         Faq review and update.
10904
10905 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10906
10907         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10908         (gst_pad_push):
10909         Don't pound the cpu to pieces by checking get_caps when accept_caps
10910         is called with the same caps as the pad already has.
10911         Use GST_DEBUG_OBJECT when outputting caps change information.
10912
10913 2006-03-15  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/gstclock.c: (gst_clock_class_init):
10916         Fix docs.
10917
10918 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10919
10920         * gst/gstbuffer.h:
10921         Documentation fix.
10922
10923         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10924         (gst_pad_accept_caps), (gst_pad_configure_sink),
10925         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10926         Make the default acceptcaps behaviour be to check the requested 
10927         caps against the gst_pad_get_caps output. 
10928
10929         Ensure that gst_pad_accept_caps is used to check caps when a pad
10930         doesn't have a setcaps function, so that pads automatically refuse 
10931         caps that they don't allow in their pad template. (Fixes #332986)
10932
10933         When a buffer with attached caps is pushed, ensure that the source 
10934         pad receives those caps even if the element didn't call
10935         gst_pad_set_caps first.
10936
10937 2006-03-15  Wim Taymans  <wim@fluendo.com>
10938
10939         * libs/gst/base/gstadapter.c:
10940         Add some docs.
10941
10942 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10943
10944         * win32/common/libgstbase.def:
10945         * win32/common/libgstcontroller.def:
10946         * win32/common/libgstreamer.def:
10947           Add a whole bunch of missing functions (#334434).
10948
10949 2006-03-14  Wim Taymans  <wim@fluendo.com>
10950
10951         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10952         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10953         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10954         Better debug info when we receive a segment event.
10955         Reorganize a bit so we can pass the get_times() results around.
10956         Use the segment format when calculating the running time.
10957         Don't do QoS is sync is disabled or we have no clock or the
10958         element does not want us to sync to the clock.
10959         Don't drop buffers if QoS is disabled for now.
10960
10961 2006-03-14  Wim Taymans  <wim@fluendo.com>
10962
10963         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10964         Marked the stats property as unimplemented so people don't get
10965         wild ideas.
10966         Add debug message when regression goes wrong.
10967         Added some more docs.
10968
10969 2006-03-14  Wim Taymans  <wim@fluendo.com>
10970
10971         * gst/gstsegment.c: (gst_segment_to_stream_time):
10972         Return correct return type in case of errors.
10973
10974 2006-03-14  Wim Taymans  <wim@fluendo.com>
10975
10976         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10977           Don't segfault on invalid formats.
10978
10979 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10980
10981         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10982           Can't use gst_segment_to_running_time() when the segment
10983           is not in GST_TIME_FORMAT (like with filesink, for example).
10984           Stops flac encoding pipelines from spewing critical warnings
10985           at EOS (#331248).
10986           
10987 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10988
10989         * gst/gstpipeline.c: (gst_pipeline_class_init):
10990           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10991
10992         * plugins/elements/gsttypefindelement.c:
10993         (gst_type_find_element_handle_event):
10994           Don't try to typefind empty streams.
10995
10996 2006-03-14  Wim Taymans  <wim@fluendo.com>
10997
10998         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10999         (gst_base_sink_do_qos):
11000         Separate QoS calculation.
11001         Only drop buffers when lateness is bigger than the 
11002         duration of the buffer.
11003
11004 2006-03-13  Wim Taymans  <wim@fluendo.com>
11005
11006         * gst/gstpipeline.c: (gst_pipeline_set_property),
11007         (gst_pipeline_get_property), (do_pipeline_seek),
11008         (gst_pipeline_change_state), (gst_pipeline_set_delay),
11009         (gst_pipeline_get_delay):
11010         Don't deadlock when reading properties.
11011
11012 2006-03-13  Wim Taymans  <wim@fluendo.com>
11013
11014         * libs/gst/base/gstbasetransform.c:
11015         (gst_base_transform_class_init), (gst_base_transform_init),
11016         (gst_base_transform_sink_event),
11017         (gst_base_transform_sink_eventfunc),
11018         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
11019         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11020         (gst_base_transform_set_property),
11021         (gst_base_transform_get_property),
11022         (gst_base_transform_change_state), (gst_base_transform_update_qos),
11023         (gst_base_transform_set_qos_enabled),
11024         (gst_base_transform_is_qos_enabled):
11025         * libs/gst/base/gstbasetransform.h:
11026         Make basetransform virtual method for src events too.
11027         Handle QOS in basetransform.
11028         API: gst_base_transform_update_qos()
11029         API: gst_base_transform_set_qos_enabled()
11030         API: gst_base_transform_is_qos_enabled()
11031
11032 2006-03-13  Wim Taymans  <wim@fluendo.com>
11033
11034         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11035         (gst_base_sink_do_sync):
11036         Small cleanups.
11037         Use QOS debug category.
11038
11039 2006-03-13  Wim Taymans  <wim@fluendo.com>
11040
11041         * plugins/elements/gstqueue.c:
11042         Very small doc update.
11043
11044 2006-03-13  Wim Taymans  <wim@fluendo.com>
11045
11046         * gst/gst_private.h:
11047         * gst/gstinfo.c: (_gst_debug_init):
11048         Added QOS debug category
11049
11050 2006-03-13  Wim Taymans  <wim@fluendo.com>
11051
11052         * docs/gst/gstreamer-sections.txt:
11053         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
11054         * gst/gstbin.h:
11055         * gst/gstbus.c: (gst_bus_class_init):
11056         * gst/gstbus.h:
11057         * gst/gstclock.c:
11058         * gst/gstelement.c: (gst_element_set_locked_state):
11059         * gst/gstsegment.c:
11060         Documentation updates.
11061
11062         * gst/gstpipeline.c: (gst_pipeline_get_type),
11063         (gst_pipeline_class_init), (gst_pipeline_init),
11064         (gst_pipeline_dispose), (gst_pipeline_set_property),
11065         (gst_pipeline_get_property), (do_pipeline_seek),
11066         (gst_pipeline_send_event), (gst_pipeline_change_state),
11067         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
11068         (gst_pipeline_get_delay):
11069         * gst/gstpipeline.h:
11070         Added methods for setting the delay.
11071         API: gst_pipeline_set_delay()
11072         API: gst_pipeline_get_delay()
11073         Add pipeline debug category
11074         Various cleanups.
11075         Updated docs.
11076         Don't reset stream time when seek failed.
11077
11078 2006-03-13  Wim Taymans  <wim@fluendo.com>
11079
11080         * docs/design/draft-klass.txt:
11081         * docs/design/part-clocks.txt:
11082         * docs/design/part-events.txt:
11083         * docs/design/part-gstbin.txt:
11084         * docs/design/part-gstpipeline.txt:
11085         * docs/design/part-messages.txt:
11086         * docs/design/part-negotiation.txt:
11087         * docs/design/part-overview.txt:
11088         * docs/design/part-preroll.txt:
11089         * docs/design/part-seeking.txt:
11090         * docs/design/part-states.txt:
11091         * docs/design/part-streams.txt:
11092         Documentation updates.
11093
11094 2006-03-12  Julien MOUTTE  <julien@moutte.net>
11095
11096         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
11097         us to leak strings...
11098
11099 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * libs/gst/net/gstnettimeprovider.c:
11102           fix docs
11103         * win32/common/config.h:
11104           update
11105
11106 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
11107
11108         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
11109
11110         * configure.ac:
11111           Don't check for libgnomeui (leftover from old examples
11112           that aren't built or disted any longer) (#334303).
11113           
11114 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
11115
11116         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
11117         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
11118           Emit RESOURCE_NO_SPACE_LEFT error here as well when
11119           there's no space left on the device.
11120
11121 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
11122
11123         * gst/gstclock.h:
11124           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
11125           to cast the input to GstClockTime before comparing with
11126           another GstClockTime value.
11127
11128 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11129
11130         * configure.ac:
11131           back to trunk
11132
11133 === release 0.10.4 ===
11134
11135 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
11136
11137         * configure.ac:
11138           releasing 0.10.4, "Light"
11139
11140 2006-03-10  Michael Smith  <msmith@fluendo.com>
11141
11142         * libs/gst/dataprotocol/dataprotocol.c:
11143           Fix docs for dataprocotol to not get the return types completely
11144           wrong for a few functions.
11145
11146 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * docs/gst/gstreamer-sections.txt:
11149         * gst/gstpipeline.c: (gst_pipeline_class_init),
11150         (gst_pipeline_init), (gst_pipeline_set_property),
11151         (gst_pipeline_get_property), (gst_pipeline_change_state),
11152         (gst_pipeline_set_auto_flush_bus),
11153         (gst_pipeline_get_auto_flush_bus):
11154         * gst/gstpipeline.h:
11155           Add new API: gst_pipeline_set_auto_flush_bus() and
11156           gst_pipeline_get_auto_flush_bus() to disable automatic
11157           flushing of the pipeline's GstBus when going from READY
11158           to NULL state (#332045).
11159
11160 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11161
11162         * docs/gst/gstreamer-sections.txt:
11163         * gst/gsturi.c: (gst_uri_has_protocol):
11164         * gst/gsturi.h:
11165            Add new API: gst_uri_has_protocol() (#333779).
11166
11167 2006-03-09  Wim Taymans  <wim@fluendo.com>
11168
11169         * gst/gstclock.c: (gst_clock_entry_new),
11170         (gst_clock_id_compare_func), (gst_clock_id_wait),
11171         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
11172         (gst_clock_init), (gst_clock_get_internal_time),
11173         (gst_clock_set_master), (do_linear_regression),
11174         (gst_clock_add_observation), (gst_clock_set_property):
11175         * gst/gstclock.h:
11176         Review docs.
11177         Small cleanups.
11178         Fix a possible segfault when the window-size is made smaller.
11179         Calculate jitter before performing the clock wait. Ideally
11180         the clock implementation should calculate jitter but we need
11181         API breakage for that.
11182
11183         * gst/gstsystemclock.c: (gst_system_clock_init):
11184         Docs review.
11185         
11186         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11187         Remove leftover else
11188
11189         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
11190         (gst_systemclock_suite):
11191         Added check to test GST_CLOCK_DIFF.
11192
11193 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11194
11195         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
11196         (gst_type_find_helper_get_range):
11197           If we are provided with the size, we should implement
11198           GstTypeFind::get_length, so that typefind functions who
11199           want to can actually peek at the middle of a file.
11200
11201 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
11202
11203         * docs/manual/advanced-dataaccess.xml:
11204           Add some very very basic error checking.
11205
11206         * docs/pwg/appendix-checklist.xml:
11207           Some updates to the list of things to check when writing an element.
11208
11209 2006-03-08  Wim Taymans  <wim@fluendo.com>
11210
11211         * docs/design/part-element-transform.txt:
11212         Added some docs about the design of tranform elements.
11213
11214         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11215         (gst_base_src_loop), (gst_base_src_change_state):
11216         Mark buffers with the DISCONT flag.
11217
11218 2006-03-08  Michael Smith  <msmith@fluendo.com>
11219
11220         * gst/gstregistry.h:
11221         * gst/gstregistryxml.c: (gst_registry_save),
11222         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
11223         (gst_registry_xml_save_pad_template),
11224         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
11225         (gst_registry_xml_write_cache):
11226           Rewrite registry-saving to avoid race conditions and check for
11227           failed writes.
11228
11229 2006-03-08  Wim Taymans  <wim@fluendo.com>
11230
11231         * libs/gst/base/gstbasetransform.c:
11232         (gst_base_transform_transform_caps),
11233         (gst_base_transform_transform_size),
11234         (gst_base_transform_prepare_output_buffer),
11235         (gst_base_transform_get_unit_size),
11236         (gst_base_transform_buffer_alloc),
11237         (gst_base_transform_handle_buffer),
11238         (gst_base_transform_change_state):
11239         Cleanups, separate normal flow from errors, add sensible
11240         DEBUG lines.
11241         Don't try to renegotiate when allocating an output buffer.
11242         Also copy DISCONT buffer flag when copying a buffer.
11243         Reset the transform after we finish streaming, not during.
11244
11245 2006-03-08  Wim Taymans  <wim@fluendo.com>
11246
11247         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11248         Use last buffer timestamp in qos message.
11249
11250 2006-03-07  Wim Taymans  <wim@fluendo.com>
11251
11252         Patch by: Christophe Fergeau
11253
11254         * docs/pwg/advanced-tagging.xml:
11255         * docs/pwg/building-pads.xml:
11256           fixes #333416
11257
11258 2006-03-07  Wim Taymans  <wim@fluendo.com>
11259
11260         * docs/libs/gstreamer-libs-sections.txt:
11261         Added basesink new methods.
11262
11263         * gst/gstevent.c:
11264         * gst/gstevent.h:
11265         Docs updates. Flesh out the QoS docs.
11266
11267         * libs/gst/base/gstadapter.c:
11268         Small doc clarification about ownership and flushing.
11269
11270         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
11271         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
11272         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
11273         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11274         * libs/gst/base/gstbasesink.h:
11275         API additions: 
11276         Added new methods to allow subclass to control max-lateness 
11277         and sync.
11278         Generate very basic QoS events based on last sync observation.
11279         Updated docs, fix typo, added some QoS blurb.
11280
11281         * libs/gst/base/gstbasesrc.c:
11282         Remove obsolete _get_state() calls from docs.
11283
11284 2006-03-07  Wim Taymans  <wim@fluendo.com>
11285
11286         * docs/libs/gstreamer-libs-sections.txt:
11287         * libs/gst/base/gstbasetransform.h:
11288         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
11289         Fix docs for GstBaseSrc.
11290
11291 2006-03-07  Wim Taymans  <wim@fluendo.com>
11292
11293         * docs/gst/gstreamer-sections.txt:
11294         * gst/gstbuffer.h:
11295         * gst/gstvalue.c:
11296         * libs/gst/base/gstbasetransform.h:
11297         Small documentation fixes.
11298
11299 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11300
11301         * gst/gstvalue.c:
11302           Document thread-unsafety of gst_value_register_foo_func()
11303           when used at the same time as gst_value_foo() (#322628).
11304
11305 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11306
11307         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
11308         (gst_push_src_check_get_range):
11309           Push sources don't support pull mode by default.
11310
11311 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11312
11313         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11314         (gst_base_src_init), (gst_base_src_pad_check_get_range),
11315         (gst_base_src_default_check_get_range):
11316         * libs/gst/base/gstbasesrc.h:
11317           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
11318           provide default implementation, and rename
11319           gst_base_src_check_get_range() to
11320           gst_base_src_pad_check_get_range() for clarity.
11321
11322 2006-03-06  Wim Taymans  <wim@fluendo.com>
11323
11324         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11325         Make property overridable.
11326
11327 2006-03-06  Wim Taymans  <wim@fluendo.com>
11328
11329         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11330         (gst_base_sink_init), (gst_base_sink_set_property),
11331         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11332         * libs/gst/base/gstbasesink.h:
11333         API addition: Make max-lateness a property.
11334
11335 2006-03-06  Wim Taymans  <wim@fluendo.com>
11336
11337         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
11338         (gst_base_sink_do_sync), (gst_base_sink_render_object):
11339         Don't ever draw a frame that is >10ms late.
11340
11341 2006-03-06  Michael Smith  <msmith@fluendo.com>
11342
11343         * gst/gstmessage.c: (_gst_message_copy):
11344           When copying a message, set the parent_refcount of the enclosed
11345           structure to point at the copy, not the original message.
11346
11347 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11348
11349         Patch by: Christophe Fergeau
11350
11351         * gst/gstutils.h:
11352           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
11353           usable in c++ code (#333417)
11354
11355 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11356
11357         * gst/gstclock.h:
11358           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
11359
11360 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
11361
11362         * libs/gst/base/gstbasetransform.c:
11363         (gst_base_transform_transform_caps):
11364           Make sure caps are writable before passing them to
11365           gst_caps_append().
11366
11367 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11368
11369         * gst/gsterror.h:
11370           Fix some minor docs errors.
11371
11372 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11373
11374           Patch by: Ross Burton <ross at burtonini dot com>
11375
11376         * gst/gsterror.c: (_gst_resource_errors_init):
11377         * gst/gsterror.h:
11378           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
11379
11380 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11381
11382         * gst/gst.c:
11383         Add a check and output a g_warning when GStreamer is built
11384         against GLib 2.6 but running against 2.8 or higher, and vice 
11385         versa. (Closes: #323542)
11386
11387 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11388
11389         * gst/parse/parse.l:
11390           Commit patch for parse_launch syntax from #331255. Removes 
11391           support for quoted strings and mimetypes when writing filtered 
11392           caps. See the bug report for more details - I'm pretty sure this
11393           obscure feature is not in use by _anyone_ anywhere.
11394
11395           With this simple change, the size of the gstreamer.so here 
11396           drops from 2193KB to 1565KB.
11397
11398 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11399
11400         * plugins/elements/gsttypefindelement.h:
11401         * plugins/elements/gsttypefindelement.c:
11402         (gst_type_find_element_src_event), (start_typefinding),
11403         (stop_typefinding), (gst_type_find_element_handle_event),
11404         (gst_type_find_element_chain),
11405         (gst_type_find_element_chain_do_typefinding):
11406           Use gst_type_find_helper_for_buffer() for chain-based
11407           typefinding.
11408
11409 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11410
11411         * plugins/elements/gsttypefindelement.c:
11412         (gst_type_find_element_class_init),
11413         (gst_type_find_element_set_property),
11414         (gst_type_find_element_get_property):
11415           Deprecate "maximum" property (not only was it only taken into
11416           account for typefinding in push-mode anyway, it also was never
11417           actually possible to set it in the first place because the
11418           property was registered with the numeric property ID for the
11419           "minimum" property). Register "maximum" property correctly,
11420           for the sake of future copy'n'pasters. Remove some cruft
11421           from property get/set functions.
11422
11423 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11424
11425         * plugins/elements/gsttypefindelement.c:
11426         (gst_type_find_element_activate):
11427           Use gst_type_find_helper_get_range() here, so we
11428           can honour the "minimum" property and also emit
11429           the signal with the correct probability of the found caps.
11430
11431 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
11432
11433         * docs/libs/gstreamer-libs-sections.txt:
11434         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
11435         (helper_find_suggest), (gst_type_find_helper_get_range),
11436         (gst_type_find_helper):
11437         * libs/gst/base/gsttypefindhelper.h:
11438           New API: gst_type_find_helper_get_range() (#333042).
11439
11440 2006-03-02  Michael Smith  <msmith@fluendo.com>
11441
11442         * gst/gstregistryxml.c: (load_feature):
11443           Asserting on a failure to read part of the registry is Not Cool.
11444           Just log a warning and return NULL (which is already handled)
11445
11446 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
11447
11448         * win32/common/libgstbase.def:
11449           added export of gst_type_find_helper_for_buffer
11450         * win32/common/libgstbase.def:
11451           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
11452           gst_ghost_pad_get_target
11453
11454 2006-02-28  Wim Taymans  <wim@fluendo.com>
11455
11456         * docs/design/draft-klass.txt:
11457         We use Filter now.
11458         Added Connector to mark elements that are only used to
11459         allow pipeline connections.
11460         Moved Debug to extra feature since most of them are 
11461         functionally something else.
11462
11463 2006-02-28  Wim Taymans  <wim@fluendo.com>
11464
11465         * docs/design/draft-klass.txt:
11466         Some updates and clarifications.
11467
11468 2006-02-28  Wim Taymans  <wim@fluendo.com>
11469
11470         * docs/design/draft-klass.txt:
11471         Proposal for klass field values.
11472
11473         * docs/design/part-streams.txt:
11474         Start of a doc describing stream anatomy.
11475
11476 2006-02-28  Wim Taymans  <wim@fluendo.com>
11477
11478         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
11479         Help the compiler a bit with type registration.
11480         Use existing forward cod path instead of duplicating it when 
11481         handling a message.
11482         
11483         * gst/gstbus.c: (gst_bus_get_type):
11484         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
11485         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
11486         * gst/gstclock.c: (gst_clock_get_type):
11487         * gst/gstelement.c: (gst_element_get_type),
11488         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11489         * gst/gstindexfactory.c: (gst_index_factory_get_type):
11490         * gst/gstminiobject.c: (gst_mini_object_get_type):
11491         * gst/gstpad.c: (gst_pad_get_type):
11492         * gst/gstsegment.c: (gst_segment_get_type):
11493         * gst/gststructure.c: (gst_structure_get_type):
11494         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11495         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
11496         * gst/gstvalue.c:
11497         Help compiler with type registration.
11498
11499         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
11500         Small doc update.
11501
11502 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11503
11504         * plugins/elements/gsttypefindelement.c:
11505         (gst_type_find_element_handle_event):
11506           When we get an EOS event and have not found a type yet
11507           (most likely because we had not yet accumulated
11508           TYPE_FIND_MIN_SIZE of data yet), try to determine the
11509           type given the data we have so far. Fixes typefinding
11510           for very short streams again, most notably quicktime
11511           redirections as used on Apple's trailer site (#331701).
11512
11513 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
11516         (gst_type_find_helper):
11517           Try typefinding factories with the highest rank first.
11518
11519 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11520
11521         * docs/libs/gstreamer-libs-docs.sgml:
11522         * docs/libs/gstreamer-libs-sections.txt:
11523         * libs/gst/base/gsttypefindhelper.c:
11524           Add section for typefind helper and add documentation
11525           for the old and the new function.
11526
11527 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11528
11529         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
11530         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
11531         (gst_type_find_helper_for_buffer):
11532         * libs/gst/base/gsttypefindhelper.h:
11533           New API: gst_type_find_helper_for_buffer() (#332723).
11534           
11535 2006-02-27  Michael Smith  <msmith@fluendo.com>
11536
11537         Patch by: Loïc Minier
11538
11539         * configure.ac:
11540         * docs/Makefile.am:
11541         * docs/slides/Makefile.am:
11542           prevent CVS directories getting disted.
11543
11544 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11545
11546         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
11547           Use the REFCOUNTING category for caps refcounting.
11548           
11549 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11550
11551         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11552           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
11553
11554 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11555
11556         * plugins/elements/gsttypefindelement.c:
11557         (gst_type_find_element_activate):
11558           Use gst_pad_check_pull_range() before _activate_pull()
11559           to avoid unnecessary open/close (see #331690).
11560
11561 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11562
11563         * gst/gstutils.c:
11564           Docs enhancement: make it crystal clear what the
11565           gst_pad_add_*_probe() callbacks should look like.
11566
11567 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11568
11569         * libs/gst/base/gstbasesrc.c:
11570           Document how applications can stop recording from
11571           live sources (see #330996).
11572
11573 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11574
11575         * tests/check/Makefile.am:
11576         * tests/check/libs/basesrc.c: (eos_event_counter),
11577         (basesrc_eos_events_pull), (basesrc_eos_events_push),
11578         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
11579         (gst_basesrc_suite), (main):
11580           ... and add some tests for the base source EOS stuff.
11581
11582 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11583
11584         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
11585           Test case originally showed the problem fixed below,
11586           but was then amended. Add checks back at the place
11587           where they used to be.
11588
11589 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11590
11591         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11592         (gst_base_src_init), (gst_base_src_loop),
11593         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11594         (gst_base_src_change_state):
11595         * libs/gst/base/gstbasesrc.h:
11596           Don't unconditionally send EOS when going from PAUSED to
11597           READY state, esp. make sure we don't send two EOS events
11598           in some cases (e.g. one when reaching EOS and one when
11599           going from PAUSED to READY). Also, we don't want to send
11600           EOS events when operating in pull mode. However, we do
11601           want to send an EOS event when shutting down a live
11602           source explicitly, for example (fixes #330996).
11603           
11604 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11605
11606         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11607           Update src->read_position after a seek when not using mmap.
11608           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
11609
11610 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
11611
11612         * gst/Makefile.am:
11613         * gst/gstparse.h:
11614         * gst/gstutils.c:
11615         * gst/gstutils.h:
11616         Make things work with --disable-parse as they do with 
11617         --disable-load-save - the symbols involved disappear, but the
11618         header is still installed and GST_DISABLE_PARSE is included via
11619         gstconfig.h
11620
11621 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11622
11623         * libs/gst/base/gstbasetransform.c:
11624         (gst_base_transform_change_state): Fix a stupid bug. I was 
11625         sure I compiled that.
11626
11627 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11628
11629         * gst/gstpad.c: (gst_pad_set_blocked_async):
11630         * gst/gstutils.c: (gst_pad_add_data_probe),
11631         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11632         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11633         (gst_pad_remove_buffer_probe): Make those function act on the
11634         ghostpad target when it's a ghostpad. (Closes #331727)
11635
11636 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11637
11638         * libs/gst/base/gstbasetransform.c:
11639         (gst_base_transform_change_state): Make basetransform reusable.
11640         (Closes #331898)
11641
11642 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
11643
11644         * docs/random/release:
11645         Move the current documentation of how to do a release to the top
11646         of the file.
11647
11648         * gst/gstbin.c: (gst_bin_class_init),
11649         (gst_bin_handle_message_func):
11650         Allow multiple state-recalculation threads. (Closes #328873)
11651
11652 2006-02-19  Julien MOUTTE  <julien@moutte.net>
11653
11654         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11655         * gst/gstpad.c: (gst_pad_set_event_function),
11656         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11657         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11658         2 strings. You can't use the STR_NULL macro on that.
11659
11660 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
11661
11662         * gst/gstpad.c: (gst_pad_set_event_function),
11663         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11664         (gst_pad_set_getcaps_function)
11665         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11666           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11667           So now, we can use --gst-debug-level=5 on Windows
11668         * win32/common/libgstcontroller.def:
11669           Added export of gst_controller_init
11670         * win32/vs6/libgstcontroller.dsp:
11671           Fixed Release post build configuration
11672
11673 2006-02-17  Wim Taymans  <wim@fluendo.com>
11674
11675         * tests/check/gst/gstquery.c: (GST_START_TEST):
11676         Added another check.
11677
11678 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11679
11680         * plugins/elements/gsttypefindelement.c: (find_peek):
11681           We can do peeks at non-zero offsets, as long as they
11682           fall within the buffer we have.
11683
11684 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11685
11686         * tests/check/Makefile.am:
11687         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11688         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11689         (parse_suite), (main):
11690           Add testsuite for parse launch syntax
11691
11692 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11693
11694         * plugins/elements/gsttypefindelement.c:
11695         (gst_type_find_element_chain):
11696           When typefinding is unsuccessful in the chain function, don't
11697           error out immediately. Only error out with NO_CAPS_FOUND if
11698           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11699           otherwise simply wait for more data so we can try typefinding
11700           again with more data later. Also, don't attempt to typefind
11701           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11702           this should improve typefinding from network sources where the
11703           size of the first buffer can be somewhat random.
11704
11705 2006-02-14  Wim Taymans  <wim@fluendo.com>
11706
11707         * docs/gst/gstreamer-sections.txt:
11708         * gst/gstpadtemplate.c:
11709         * gst/gstpadtemplate.h:
11710         Fix padtemplate docs, fixes #328805.
11711
11712 2006-02-14  Wim Taymans  <wim@fluendo.com>
11713
11714         * tools/gst-launch.c: (main):
11715         NO_PREROLL is not an ERROR so don't send confusing messages
11716         to the user.
11717
11718 2006-02-14  Wim Taymans  <wim@fluendo.com>
11719
11720         Patch by: Torsten Schoenfeld
11721
11722         * gst/gstregistry.c: (gst_registry_get_default),
11723         (_gst_registry_cleanup):
11724         Protect default registry with lock and ref/sink it.
11725         Fixes #324818
11726
11727 2006-02-14  Wim Taymans  <wim@fluendo.com>
11728
11729         * gst/gstbuffer.c:
11730         * gst/gstquery.c: (gst_query_list_add_format),
11731         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11732         (gst_query_parse_formats_nth):
11733         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11734         Docs fixes.
11735
11736 2006-02-14  Wim Taymans  <wim@fluendo.com>
11737
11738         * docs/gst/gstreamer-sections.txt:
11739         Reworked query docs.
11740
11741         * gst/gstquery.c: (gst_query_new_formats),
11742         (gst_query_list_add_format), (gst_query_set_formats),
11743         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11744         (gst_query_parse_formats_nth):
11745         * gst/gstquery.h:
11746         Flesh out formats query, added some new methods.
11747         Fix part of #324398.
11748
11749         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11750         Added query creation tests.
11751
11752 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
11753
11754         * gst/gstpad.c: (fixate_value):
11755         Add a default fixation for fraction lists.
11756
11757 2006-02-13  Wim Taymans  <wim@fluendo.com>
11758
11759         * gst/gsttask.c: (gst_task_init), (gst_task_func),
11760         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11761         (gst_task_join):
11762         * gst/gsttask.h:
11763         Detect and warn for obvious deadlocks. fixes #320340
11764         Fix error case where lock was not released.
11765
11766         * tests/check/Makefile.am:
11767         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11768         (task_func), (gst_element_suite), (main):
11769         Add task check.
11770
11771 2006-02-13  Wim Taymans  <wim@fluendo.com>
11772
11773         * docs/gst/gstreamer-sections.txt:
11774         * gst/gstbus.c:
11775         Add new functions to docs.
11776
11777 2006-02-13  Wim Taymans  <wim@fluendo.com>
11778
11779         * docs/design/part-TODO.txt:
11780         Updated TODO list, basesrc supports seeking to non-bytes
11781         formats.
11782
11783         * docs/design/part-element-sink.txt:
11784         Update docs.
11785
11786         * gst/gstbin.c: (bin_replace_message),
11787         (gst_bin_handle_message_func):
11788         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11789         * gst/gstevent.c: (gst_event_finalize):
11790         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11791         (gst_pad_send_event):
11792         Use shiny new _TYPE_NAME macros.
11793
11794         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11795         Move debug statement up.
11796
11797         * gst/gstelement.c: (gst_element_set_locked_state):
11798         Add some debugging.
11799
11800 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
11801
11802         * docs/gst/gstreamer-sections.txt:
11803         * gst/gstmessage.h:
11804         * gst/gstquery.h:
11805           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11806           macros (#330906). Also, document the already existing
11807           GST_QUERY_TYPE macro.
11808
11809 2006-02-13  Wim Taymans  <wim@fluendo.com>
11810
11811         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11812         (event_probe), (GST_START_TEST):
11813         Only events up to the pipeline EOS are counted, there are
11814         some more when going to NULL currently which we don't care
11815         about for now.
11816
11817 2006-02-13  Wim Taymans  <wim@fluendo.com>
11818
11819         * gst/gstpad.c: (gst_pad_send_event):
11820         Correctly check flushing and emit probes. fixes #330125
11821
11822 2006-02-10  Andy Wingo  <wingo@pobox.com>
11823
11824         * gst/gstbus.c (gst_bus_class_init): Declare our private data
11825         structure.
11826         (gst_bus_init): Cache the location of the private data in the
11827         instance structure.
11828         (gst_bus_enable_sync_message_emission) 
11829         (gst_bus_disable_sync_message_emission): Implement new public
11830         functions.
11831         (gst_bus_post): Emit the sync-message signal if the user asked for
11832         it. Fixes #330684.
11833
11834         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11835         location of the bus-private structure.
11836         (gst_bus_enable_sync_message_emission)
11837         (gst_bus_disable_sync_message_emission): API addition
11838
11839 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
11840
11841         Patch by: Vincent Torri
11842
11843         * docs/pwg/building-boiler.xml:
11844         PWG patch from #326800
11845
11846 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
11847
11848         * configure.ac:
11849         * docs/Makefile.am:
11850         * docs/design/Makefile.am:
11851           Dist design docs.
11852
11853 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11854
11855         * configure.ac:
11856           back to CVS
11857
11858 === release 0.10.3 ===
11859
11860 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
11861
11862         * configure.ac:
11863           releasing 0.10.3, "Like a virgin"
11864
11865 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11866
11867         * configure.ac:
11868           2nd prerelease of 0.10.3
11869           Bump libtool versioning.
11870
11871 2006-02-07  Andy Wingo  <wingo@pobox.com>
11872
11873         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11874         update last_stop if we're in TIME format and the timestamp is
11875         valid.
11876
11877         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
11878         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
11879         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11880         If we get a new newsegment with a different format, adapt
11881         accordingly.
11882
11883         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11884         of 0. Not a problem, really.
11885
11886         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11887         warn if sync=true.
11888
11889 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11890
11891         * configure.ac:
11892           Prelease of 0.10.3
11893
11894 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11895
11896         * win32/vs7:
11897           project files updated to the default vs7 configuration
11898         * win32/common/libgstbase.def:
11899         * win32/common/libgstreamer.def:
11900           added new symbols,
11901           removed empty lines,
11902           sorted all exported symbols alphabetically
11903         * win32/common/dirent.c:
11904         * win32/common/dirent.h:
11905         * win32/common/gchar.h:
11906           use windows line end.
11907           
11908 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11909
11910         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11911           Send EOS event when stopping.
11912
11913 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11914
11915         * docs/README:
11916           Tell folks what to do if the plugin-foobar.xml file
11917           hasn't been generated for a newly-added plugin.
11918
11919 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11920
11921         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11922         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11923         (gst_collect_pads_start), (gst_collect_pads_stop),
11924         (gst_collect_pads_event): Collectpads now holds a reference
11925         to the GstPad that was added. Indeed we don't want to look
11926         at pads that might just go away with no warning...
11927
11928 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11929
11930         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11931         (gst_collect_pads_start), (gst_collect_pads_stop),
11932         (gst_collect_pads_event), (gst_collect_pads_chain):
11933         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11934         Mark Nauwelaerts's patch on bug #328491.
11935
11936 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11937
11938         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11939         (gst_utils_suite):
11940           Add some simple tests for gst_parse_bin_from_description() and
11941           gst_bin_find_unconnected_pad() (#329069).
11942
11943 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11944
11945         * tools/gst-launch.c: (event_loop), (main):
11946           Catch errors during preroll (#320084).
11947
11948 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11949
11950         * plugins/elements/gsttypefindelement.c:
11951         (gst_type_find_element_activate):
11952           Post TYPE_NOT_FOUND error message when typefinding
11953           is unsuccessful in the activate function as well.
11954
11955 2006-02-02  Wim Taymans  <wim@fluendo.com>
11956
11957         * docs/design/part-element-sink.txt:
11958         Updated doc.
11959
11960 2006-02-02  Wim Taymans  <wim@fluendo.com>
11961
11962         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11963         (gst_base_sink_render_object),
11964         (gst_base_sink_queue_object_unlocked):
11965         Only keep track of prerollable items when we are 
11966         prerolling.
11967         Before rendering after preroll, always check if we
11968         have queued items.
11969         Added some more debugging.
11970
11971 2006-02-02  Wim Taymans  <wim@fluendo.com>
11972
11973         * gst/gstelement.c: (gst_element_continue_state),
11974         (gst_element_set_state_func), (gst_element_change_state):
11975         Fixed #326576, been running this for quite some time with
11976         no regressions at all.
11977
11978 2006-02-02  Wim Taymans  <wim@fluendo.com>
11979
11980         * common/gst.supp:
11981         Added more suppressions
11982
11983 2006-02-02  Wim Taymans  <wim@fluendo.com>
11984
11985         * docs/design/part-element-sink.txt:
11986         Updated document.
11987
11988         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11989         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11990         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11991         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11992         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11993         (gst_base_sink_preroll_object),
11994         (gst_base_sink_queue_object_unlocked),
11995         (gst_base_sink_queue_object), (gst_base_sink_event),
11996         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11997         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11998         (gst_base_sink_get_position), (gst_base_sink_change_state):
11999         * libs/gst/base/gstbasesink.h:
12000         Totally refactored matching the design doc.
12001         Use two segments, one to clip incomming buffers and another to
12002         perform sync.
12003         Handle queueing correctly, bypass the queue when playing.
12004         Make EOS cancelable.
12005         Handle errors correctly when operating in pull based mode.
12006
12007         * tests/check/elements/fakesink.c: (GST_START_TEST),
12008         (fakesink_suite):
12009         Added new check for sinks.
12010
12011 2006-02-02  Wim Taymans  <wim@fluendo.com>
12012
12013         * gst/gstsegment.c: (gst_segment_clip):
12014         No reason to refuse to clip when start == -1
12015
12016 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
12017
12018         * docs/README:
12019         * docs/manual/intro-basics.xml:
12020         * docs/manual/intro-preface.xml:
12021         * docs/manual/manual.xml:
12022         * docs/pwg/advanced-dparams.xml:
12023         * docs/pwg/intro-basics.xml:
12024         * docs/pwg/intro-preface.xml:
12025         * docs/pwg/pwg.xml:
12026           describe dparams (controller) for plugins
12027           unify docs a little more
12028
12029 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         * docs/gst/gstreamer-sections.txt:
12032         * gst/gstutils.c: (element_find_unconnected_pad),
12033         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
12034         * gst/gstutils.h:
12035           Add new API: gst_parse_bin_from_description() and
12036           gst_bin_find_unconnected_pad() (#329069).
12037
12038 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
12039
12040         * docs/manual/README:
12041           uncover a nasty detail of the docs build
12042
12043 2006-01-31  Wim Taymans  <wim@fluendo.com>
12044
12045         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
12046         Don't cache duration messages if we're not going to use or
12047         free them.
12048
12049 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
12050
12051         * docs/manual/advanced-dparams.xml:
12052         * docs/pwg/advanced-dparams.xml:
12053           more dparam docs
12054         * gst/gstindex.c:
12055           fix docs
12056         * libs/gst/controller/lib.c: (gst_controller_init):
12057           init just once
12058
12059 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12060
12061         * gst/gstelement.c: (gst_element_message_full):
12062           also show file/line/func if no additional debug was given
12063
12064 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
12065         
12066         * win32/vs7/grammar.vcproj:
12067           activate copy of autogenerated files for Release mode
12068
12069 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
12070         
12071         * win32/common/libgstreamer.def:
12072           export gst_value_compare
12073
12074 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
12075
12076         * plugins/elements/Makefile.am:
12077         * plugins/elements/gstelements.c:
12078         * plugins/elements/gstfdsink.c: (_do_init),
12079         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
12080         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
12081         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
12082         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
12083         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
12084         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
12085         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
12086         * plugins/elements/gstfdsink.h:
12087         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
12088
12089 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
12090
12091         * docs/manual/advanced-dparams.xml:
12092           describe controller
12093         * docs/manual/advanced-position.xml:
12094         * docs/manual/basics-init.xml:
12095         * docs/manual/manual.xml:
12096         * docs/manual/titlepage.xml:
12097         * docs/pwg/pwg.xml:
12098         * docs/pwg/titlepage.xml:
12099           cleanup xml (more to come)
12100         * libs/gst/controller/gstcontroller.c:
12101           fix typo
12102
12103 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
12104         
12105         * win32/vs6/grammar.dsp:
12106           add autogen of gstmarshal.c,h for Release mode
12107                 
12108 2006-01-30  Wim Taymans  <wim@fluendo.com>
12109
12110         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12111         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
12112         (gst_base_sink_handle_object), (gst_base_sink_event),
12113         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
12114         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12115         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
12116         (gst_base_sink_deactivate), (gst_base_sink_activate),
12117         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12118         (gst_base_sink_query), (gst_base_sink_change_state):
12119         Basesink cleanups, remove some old code.
12120         Handle the case where a subclass can preroll in the render
12121         method (mostly audiosinks).
12122         Handle more events.
12123         Remove some locks around variables that are now protected
12124         with the PREROLL_LOCK (clock_id, flushing, ..).
12125         Optimize position query some more, do correct locking.
12126         Remove old code to push queue in state change, this is not
12127         needed anymore since preroll blocks on all prerollable items 
12128         now.
12129         Almost implemented as described in design doc.
12130
12131 2006-01-30  Wim Taymans  <wim@fluendo.com>
12132
12133         * tests/check/gst/gstbin.c: (GST_START_TEST):
12134         Wait for refcount to settle down before checking.
12135
12136 2006-01-30  Wim Taymans  <wim@fluendo.com>
12137
12138         * docs/design/part-element-sink.txt:
12139         Pseudo code overview of desired sink behaviour regarding
12140         preroll.
12141
12142 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12143         * win32/vs6/grammar.dsp:
12144           fix some bugs in Release mode for autogenerated files
12145                 
12146 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12147         * win32/common/libgstbase.def:
12148         * win32/common/libgstreamer.def:
12149           export some new symbols: gst_base_src_set_format,
12150           gst_iterator_next, gst_structure_set_valist
12151
12152 2006-01-29  Julien MOUTTE  <julien@moutte.net>
12153
12154         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12155         Set pad functions unconditionally. Fixes #329105.
12156
12157 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12158         * win32/vs8:
12159           add vs8 project files created by Sergey Scobich
12160
12161 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
12162
12163         * gst/gstutils.c: (gst_element_unlink_pads):
12164         Don't leak pad references.
12165
12166         * tests/check/elements/fakesink.c: (GST_START_TEST):
12167         * tests/check/generic/sinks.c: (GST_START_TEST):
12168         * tests/check/generic/states.c: (GST_START_TEST):
12169         * tests/check/gst/gstbin.c: (GST_START_TEST):
12170         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12171         * tests/check/gst/gstelement.c: (GST_START_TEST):
12172         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12173         * tests/check/gst/gstiterator.c: (GST_START_TEST):
12174         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12175         Fix a bunch of leaks. Make generic/sinks.c
12176         use a bit less cpu by slowing the buffer rate
12177         between fakesrc and fakesink.
12178         
12179 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
12180         * gst/gstcaps.c:
12181         * gst/gstelement.c: (gst_element_send_event):
12182         * gst/gstevent.c:
12183         * gst/gstinfo.c:
12184         * gst/gstiterator.c:
12185         * gst/gstiterator.h:
12186         * gst/gstpad.c: (gst_pad_send_event):
12187         * gst/gststructure.c:
12188         * gst/gsturi.c:
12189         * gst/gstutils.c:
12190         * gst/gstvalue.c:
12191         * libs/gst/base/gstadapter.c:
12192           doc fixes, to link to function, just write gst_cool_function(), don't
12193           prefix with '#'
12194
12195 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12196
12197         * plugins/elements/gsttee.c: (gst_tee_do_push),
12198         (gst_tee_handle_buffer):
12199         Always prefer an actual return value from a src
12200         pad in place of NOT_LINKED. This means we return
12201         WRONG_STATE when all src pads are WRONG_STATE
12202         instead of NOT_LINKED.
12203
12204         Lock when replacing the last message to prevent
12205         racing with the get_property method.
12206
12207         Add debug output
12208
12209 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12210
12211         * tests/check/Makefile.am:
12212         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
12213         (main):
12214         Add a very simple check that should have caught the memleak I fixed
12215         last night (if not for the slice allocator hiding it)
12216
12217 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12218
12219         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12220         (gst_bin_remove_func), (gst_bin_handle_message_func),
12221         (bin_query_duration_fold), (bin_query_generic_fold):
12222         Clean up references to the clock provider when disposed or when
12223         handling a clock-lost message from it.
12224
12225         Unref sinks when performing a query via gst_iterator_fold, as the
12226         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
12227
12228         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
12229         (gst_clock_set_master):
12230         Drop our reference to the master clock, if any, when we are disposed.
12231
12232         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
12233         Chain up in dispose. 
12234
12235 2006-01-26  Wim Taymans  <wim@fluendo.com>
12236
12237         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
12238         Add some debugging.
12239
12240 2006-01-26  Julien MOUTTE  <julien@moutte.net>
12241
12242         * plugins/elements/gsttee.c: (gst_tee_do_push),
12243         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
12244         handles pad being NOT_LINKED or in WRONG_STATE.
12245
12246 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12247
12248         * win32/MANIFEST:
12249           more updating
12250
12251 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12252
12253         * win32/MANIFEST:
12254           remove obsolete entry
12255
12256 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12257
12258         * docs/gst/gstreamer-sections.txt:
12259         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
12260         (gst_bin_iterate_sources), (gst_bin_send_event):
12261         * gst/gstbin.h:
12262         * gst/gstelement.c: (gst_element_send_event):
12263         * gst/gstevent.c:
12264         * gst/gstpad.c: (gst_pad_send_event):
12265           added code for downstream events, reviewed docs in gstevent.c
12266
12267 2006-01-25  Julien MOUTTE  <julien@moutte.net>
12268
12269         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12270         We only query position using the clock in the playing state.
12271         Query peer in the other cases.
12272         * win32/common/config.h: Updates.
12273
12274 2006-01-24  Wim Taymans  <wim@fluendo.com>
12275
12276         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12277         A clock entry that is scheduled for the exact time of the
12278         clock is still in time.
12279
12280         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12281         (gst_base_sink_do_sync):
12282         Add some more debug info.
12283
12284 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12285
12286         * win32/vs7:
12287           Add new vs7 project files and solution.
12288
12289 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12290
12291         * win32/vs7:
12292           all files removed as they were out-dated.
12293
12294 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12295
12296         * docs/random/release:
12297           update notes
12298         * gst/gstbin.c: (gst_bin_init):
12299         * gst/gstbus.c: (gst_bus_new):
12300         * gst/gstbus.h:
12301         * gst/gstpipeline.c: (gst_pipeline_init):
12302           use gst_bus_new(), improve logging, fix docs
12303         * win32/common/config.h:
12304           update for cvs build
12305
12306 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12307
12308         * autogen.sh:
12309           up required version of automake to 1.7
12310
12311 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
12312
12313         * win32/common/libgstreamer.def:
12314           export gst_buffer_is_metadata_writable
12315
12316 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
12317
12318         * docs/gst/gstreamer-sections.txt:
12319         * gst/gstevent.h:
12320           Add gst_event_replace() (#327001)
12321
12322 2006-01-20  Wim Taymans  <wim@fluendo.com>
12323
12324         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12325         Make it actually compile too..
12326
12327 2006-01-20  Wim Taymans  <wim@fluendo.com>
12328
12329         * gst/gstcaps.c:
12330         Clarify behaviour of _is_equal() when passing NULL parameters.
12331
12332         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12333         (gst_pad_set_caps):
12334         Cleanups. Don't unref NULL caps.
12335         When setting the same caps, protect caps of the pad with
12336         proper lock.
12337         Use full functionality of _is_equal() when comparing caps.
12338
12339 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12340
12341         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12342         Don't loop infinitely if there are no buffers to present. Partially
12343         fixes #327197, but collectpads is just broken for reusing elements
12344         to do multiple encodes atm.
12345
12346 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12347
12348         * tools/gst-inspect.c: (print_element_features):
12349         * tools/gst-xmlinspect.c: (main):
12350         URL_HANDLER is not a plugin feature we can search for in
12351         the registry.
12352
12353 2006-01-19  Edward Hervey  <edward@fluendo.com>
12354
12355         * gst/gstelement.c: (gst_element_pads_activate): 
12356         When activating, do src pads first, then sink pads.
12357         When de-activating, do sink pads first, then src pads.
12358
12359 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12360
12361         * docs/gst/gstreamer-sections.txt:
12362         Add gst_index_add_associationv to the docs
12363
12364 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12365
12366         * gst/gstevent.c:
12367           Fix docs typo
12368
12369         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
12370         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
12371           Do some refactoring. Doesn't actually change functionality,
12372           but makes landing the DRAIN event easier later.
12373
12374 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
12375
12376         * docs/pwg/advanced-scheduling.xml:
12377           Update from 0.9.x to 0.10 API and make example a bit
12378           clearer.
12379
12380 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12381
12382         * docs/gst/gstreamer-sections.txt:
12383         Add gst_buffer_(is|make)_metadata_writable methods.
12384
12385 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12386
12387         * docs/design/part-sparsestreams.txt:
12388         Update sparse streams doc, hopefully for greater clarity
12389
12390 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
12391
12392         * docs/design/part-events.txt:
12393         Remove mention of FILLER events.
12394         Add DRAIN event.
12395
12396         * docs/design/part-sparsestreams.txt:
12397         Write some things about using NEWSEGMENT to keep sparse streams
12398         flowing.
12399
12400 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12401
12402         * gst/gstbin.c: (gst_bin_dispose):
12403           Guard gst_object_unref call against a NULL object (dispose
12404           can theoretically be called multiple times).
12405           
12406 2006-01-18  Wim Taymans  <wim@fluendo.com>
12407
12408         * gst/gstbin.c: (gst_bin_element_set_state):
12409         * gst/gstclock.c: (gst_clock_id_wait):
12410         Added some more debug info.
12411
12412         * libs/gst/base/gstadapter.c:
12413         Added more docs.
12414
12415         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12416         (gst_base_sink_do_sync), (gst_base_sink_chain):
12417         Added some comments.
12418
12419 2006-01-18  Wim Taymans  <wim@fluendo.com>
12420
12421         * tests/check/Makefile.am:
12422         * tests/check/elements/fakesink.c: (chain_async_buffer),
12423         (chain_async), (chain_async_return), (GST_START_TEST),
12424         (fakesink_suite), (main):
12425         Added fakesink test that checks prerolling and clipping
12426         behaviour.
12427
12428         * tests/check/gst/gstutils.c: (GST_START_TEST):
12429         Make check run faster so that buildbots don't timeout.
12430
12431 2006-01-18  Wim Taymans  <wim@fluendo.com>
12432
12433         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12434         (gst_base_sink_do_sync):
12435         Some cleanups.
12436         When the sink finishes blocking on the preroll buffer, it can
12437         immediatly render it instead of rendering when the next buffer
12438         arrives.
12439
12440 2006-01-18  Wim Taymans  <wim@fluendo.com>
12441
12442         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
12443         (gst_base_sink_get_property), (gst_base_sink_do_sync),
12444         (gst_base_sink_chain):
12445         Small cleanups.
12446         GST_ELEMENT_CLOCK and sync are protected with LOCK.
12447         Don't store _last_stop if the buffer is dropped.
12448
12449 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12450
12451         * plugins/elements/gsttypefindelement.c:
12452         (gst_type_find_element_class_init):
12453           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
12454           object method handler that sets the caps on the pad and we want
12455           that to happen before we emit the signal (fixes e.g. feeding a
12456           plain text file to decodebin).
12457
12458 2006-01-18  Christian Schaller  <Christian@fluendo.com>
12459
12460         * gst/gstplugin.c: Add MPL and Proprietary as license options
12461
12462 2006-01-18  Andy Wingo  <wingo@pobox.com>
12463
12464         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
12465         symbol was exported before, it appears this was just an oversight.
12466         Fixes #168703.
12467         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
12468
12469         * gst/gstindex.c (gst_index_add_associationv): Changed int in
12470         prototype to gint. OK since this prototype was not in the header.
12471
12472 2006-01-17  Andy Wingo  <wingo@pobox.com>
12473
12474         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
12475         registry while we remove plugins.
12476
12477         * tools/gst-inspect.c (print_element_info): Don't unref the
12478         factory arg, that should be the responsibility of whatever code
12479         received the ref. Fixes a double-free when called from
12480         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
12481         (main): Unref the factory if we have one.
12482         (print_element_list): No change -- relies on the
12483         plugin_feature_list_free to free the list of features.
12484
12485 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
12486
12487         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12488         (gst_buffer_make_metadata_writable):
12489         * gst/gstbuffer.h:
12490         * libs/gst/base/gstbasetransform.c:
12491         (gst_base_transform_prepare_output_buf):
12492         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12493         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12494           Replace gst_buffer_(make|is)_metadata_writable patch now
12495           that the release is out.
12496
12497 2006-01-17  Andy Wingo  <wingo@pobox.com>
12498
12499         * gst/gstregistry.c: Reflow design comment. Update so as to speak
12500         in the present tense without reference to versions.
12501
12502         * gst/gstregistry.c (gst_registry_add_plugin)
12503         (gst_registry_remove_plugin, gst_registry_remove_feature)
12504         (gst_registry_find_feature, gst_registry_get_feature_list)
12505         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
12506         (gst_registry_lookup, gst_registry_scan_path)
12507         (_gst_registry_remove_cache_plugins)
12508         (gst_registry_get_feature_list_by_plugin): Add argument
12509         validation.
12510
12511 === release 0.10.2 ===
12512
12513 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
12514
12515         * configure.ac:
12516           releasing 0.10.2, "If man is five"
12517
12518 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12519
12520         * gst/gstbuffer.c:
12521         * gst/gstbuffer.h:
12522         * libs/gst/base/gstbasetransform.c:
12523         (gst_base_transform_prepare_output_buf):
12524         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12525         * tests/check/gst/gstbuffer.c: (gst_test_suite):
12526           Back out patch until after the release.
12527
12528 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12529
12530         * gst/gstminiobject.c:
12531           Spelling fix in docs.
12532         * ChangeLog - remove conflict indicator
12533
12534 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12535
12536         Reviewed By: Andy Wingo
12537
12538         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12539         (gst_buffer_make_metadata_writable):
12540         * gst/gstbuffer.h:
12541           Add gst_buffer_(is|make)_metadata_writable as analogues of
12542           gst_buffer_(is|make)_writable.
12543
12544         * libs/gst/base/gstbasetransform.c:
12545         (gst_base_transform_prepare_output_buf):
12546         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12547           Use name gst_buffer_(is|make)_metadata_writable functions.
12548
12549         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12550           Test gst_buffer_(is|make)_metadata_writable
12551         
12552           (Closes: #324162)
12553
12554 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12555
12556         * docs/manual/Makefile.am:
12557           don't do parallel make
12558         * configure.ac:
12559           AC_SUBST HOST_CPU
12560         * win32/common/config.h.in:
12561           add generations for HOST_CPU and GST_MAJORMINOR
12562         * win32/common/config.h:
12563           commit generated result
12564
12565 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
12566
12567         * docs/manual/appendix-integration.xml:
12568           Update GNOME integration section to use gst_init_get_option_group()
12569           instead of the old popt stuff (#322911). Also, GNOME applications
12570           should  now use gconf*sink and gconf*src instead of the old gconf
12571           helper lib we had.
12572
12573 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
12574
12575
12576         * docs/gst/gstreamer-docs.sgml:
12577         * docs/gst/gstreamer-sections.txt:
12578         * docs/libs/gstreamer-libs-sections.txt:
12579           add new API entries to the docs
12580         * libs/gst/controller/Makefile.am:
12581         * libs/gst/controller/gstcontroller.c:
12582         * libs/gst/controller/gstcontroller.h:
12583         * libs/gst/controller/gstcontrollerprivate.h:
12584         * libs/gst/controller/gsthelper.c:
12585         * libs/gst/controller/gstinterpolation.c:
12586           move private structs to private header
12587         * po/README:
12588           gstreamer-0.7 -> gstreamer-0.10
12589         * tests/check/libs/struct_i386.h:
12590           remove private structs
12591
12592 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12593
12594         * plugins/indexers/Makefile.am:
12595           Fixes as part of #317048
12596
12597 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12598
12599         * plugins/indexers/Makefile.am:
12600           fix #316086 - compilation when mmap is missing
12601
12602 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
12603
12604         * libs/gst/base/gstbasesink.c:
12605           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
12606           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
12607         * win32/common/config.h:
12608           added some defines GST_MAJORMINOR and HOST_CPU
12609         * win32/common/libgstbase.def:
12610         * win32/common/libgstreamer.def:
12611           added some exported functions.
12612
12613 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12614
12615         * libs/gst/controller/gstcontroller.c:
12616         (gst_controlled_property_set_interpolation_mode),
12617         (gst_controlled_property_new):
12618         * libs/gst/controller/gstcontroller.h:
12619         * libs/gst/controller/gstinterpolation.c:
12620         (interpolate_none_get_string_value_array):
12621           make G_TYPE_STRING controlable
12622
12623 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12624
12625         * tools/README:
12626         * tools/gst-feedback.1.in:
12627         * tools/gst-inspect.1.in:
12628         * tools/gst-launch.1.in:
12629         * tools/gst-md5sum.1.in:
12630         * tools/gst-typefind.1.in:
12631         * tools/gst-xmlinspect.1.in:
12632         * tools/gst-xmllaunch.1.in:
12633           cleanup man-pages, remove reference to gst-register, document env-vars
12634
12635 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
12636
12637         * gst/gstbuffer.c: (gst_buffer_span):
12638           gst_buffer_span should copy the timestamp of the first buffer
12639           if they were both originally overlapping subbuffers of the 
12640           same parent, using the same logic as the 'slow copy' case.
12641
12642 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
12643
12644         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12645           Need to awaken ALL the pads when we pop a buffer, otherwise
12646           collectpads only works when there is 2 input streams.
12647
12648 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
12649
12650         * docs/random/ensonic/media-device-daemon.txt:
12651           more ideas (dbus)
12652         * gst/gstbuffer.c:
12653           fix doc example, add clarification
12654         * tools/gst-launch.1.in:
12655           add initial info about GST_PLUGIN_PATH, needs more work
12656
12657 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
12658
12659         * docs/manual/basics-bins.xml:
12660         * docs/manual/basics-elements.xml:
12661         * docs/manual/intro-basics.xml:
12662           Some more minor docs additions and updates.
12663
12664 2006-01-11  Wim Taymans  <wim@fluendo.com>
12665
12666         * docs/manual/basics-bins.xml:
12667         * docs/manual/basics-elements.xml:
12668         Some small fixes as pointed out by Ser-ver on IRC.
12669
12670 2006-01-10  Edward Hervey  <edward@fluendo.com>
12671
12672         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12673         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12674         the single-segment mode.
12675
12676 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12677
12678         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12679
12680         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12681         (gst_base_src_perform_seek), (gst_base_src_send_event),
12682         (gst_base_src_set_property), (gst_base_src_get_property),
12683         (gst_base_src_loop), (gst_base_src_start),
12684         (gst_base_src_activate_push):
12685         * libs/gst/base/gstbasesrc.h:
12686           Name (private) union; makes Sun's Forte compiler happy (#324900).
12687
12688 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12689
12690         * README:
12691           gst-register is gone.
12692
12693 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12694
12695         * gst/gstvalue.c: (_gst_value_initialize):
12696           make the G_TYPE_DATE instantiation work if debug is disabled
12697
12698 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12699
12700         * gst/gstmessage.c: (gst_message_parse_tag),
12701         (gst_message_parse_error), (gst_message_parse_warning):
12702           Don't crash when return location for error/warning debug
12703           string is NULL; add fact that return locations can be
12704           NULL to docs where appropriate.
12705
12706 2006-01-05  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/gstplugin.c: (gst_plugin_load_file):
12709         Replace strdup by g_strdup.
12710
12711 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12712
12713         * docs/pwg/advanced-types.xml:
12714           fix doc borkage
12715
12716 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12717
12718         submitted by: Abel Cheung
12719
12720         * po/LINGUAS:
12721         * po/zh_TW.po:
12722           Added Chinese (traditional) translation
12723
12724 2006-01-04  Wim Taymans  <wim@fluendo.com>
12725
12726         * docs/manual/basics-pads.xml:
12727         * docs/plugins/Makefile.am:
12728         * docs/plugins/gstreamer-plugins-docs.sgml:
12729         * docs/plugins/gstreamer-plugins-sections.txt:
12730         * docs/pwg/advanced-clock.xml:
12731         * docs/pwg/advanced-scheduling.xml:
12732         * docs/pwg/advanced-types.xml:
12733         * plugins/elements/gstfdsink.c:
12734         * plugins/elements/gstfdsrc.c:
12735         * plugins/elements/gstfdsrc.h:
12736         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12737         * plugins/elements/gstidentity.h:
12738         * plugins/elements/gstqueue.h:
12739         * plugins/elements/gsttee.c:
12740         * plugins/elements/gsttee.h:
12741         * plugins/elements/gsttypefindelement.c:
12742         (gst_type_find_element_class_init):
12743         * plugins/elements/gsttypefindelement.h:
12744         Small updates to various docs.
12745         Added core plugins to docs.
12746
12747 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12748
12749         * common/gst.supp:
12750           add a suppression for liboil's uninitialized variable
12751
12752 2006-01-02  James Livingston  <jrl at ids dot org dot au>
12753
12754         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12755
12756         * gst/gstutils.h:
12757           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12758           macro, so that gcc doesn't complain if the -Wmissing-prototypes
12759           compiler switch is being used (#325429).
12760
12761 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
12762
12763         * gst/gstbin.c: (gst_bin_query):
12764           Disable duration query caching in bins until it gets
12765           fixed (see #324807).
12766
12767 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12768
12769         * tools/gst-inspect.c: (print_element_properties_info):
12770           Handle properties of POINTER and BOXED type.
12771
12772 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12773
12774         * gst/gst.c: (init_post):
12775           Init tags stuff and some other things before loading
12776           any static plugins (there may be other static plugins
12777           than just the GStreamer ones, and they may want to
12778           register their own tags or formats or whatever, and
12779           preferably without segfaulting).
12780
12781         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12782           Print at least a warning in the debug logs if we drop a
12783           query just because we don't know how to adjust the value
12784           in the particular format.
12785
12786 2005-12-24  David Schleef  <ds@schleef.org>
12787
12788         * tools/gstreamer-completion:
12789           Replacement for gst-complete written in sh and sed.  Only
12790           completes names of features, but that's 90% of what I want
12791           it for.  Properties are not available in registry.xml.  (Maybe
12792           they should be...)
12793
12794 === release 0.10.1 ===
12795
12796 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
12797
12798         * configure.ac:
12799           releasing 0.10.1, "Nollaig chridheil"
12800
12801 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
12802
12803         * docs/faq/cvs.xml:
12804           Add missing quote, should be make ERROR_CFLAGS="".
12805
12806 2005-12-20  Wim Taymans  <wim@fluendo.com>
12807
12808         * docs/design/part-trickmodes.txt:
12809         More documentation on trickmodes.
12810
12811 2005-12-20  Edward Hervey  <edward@fluendo.com>
12812
12813         * gst/gstcaps.c: (gst_static_caps_get_type):
12814         * gst/gstcaps.h:
12815           API addition: GST_TYPE_STATIC_CAPS
12816         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12817         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12818         * gst/gstpadtemplate.h:
12819           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12820         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12821         bindings.
12822
12823 2005-12-18  Wim Taymans  <wim@fluendo.com>
12824
12825         * libs/gst/base/gstadapter.c:
12826         * libs/gst/base/gstadapter.h:
12827         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12828         (gst_base_sink_get_position):
12829         * libs/gst/base/gstbasesink.h:
12830         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12831         (gst_base_src_default_query), (gst_base_src_default_do_seek),
12832         (gst_base_src_do_seek), (gst_base_src_perform_seek),
12833         (gst_base_src_send_event), (gst_base_src_update_length),
12834         (gst_base_src_get_range), (gst_base_src_loop),
12835         (gst_base_src_start):
12836         * libs/gst/base/gstbasesrc.h:
12837         * libs/gst/base/gstbasetransform.h:
12838         * libs/gst/base/gstcollectpads.h:
12839         * libs/gst/base/gstpushsrc.c:
12840         * libs/gst/base/gstpushsrc.h:
12841         * libs/gst/dataprotocol/dataprotocol.c:
12842         * libs/gst/dataprotocol/dataprotocol.h:
12843         * libs/gst/net/gstnetclientclock.h:
12844         * libs/gst/net/gstnettimeprovider.h:
12845         Documentation updates.
12846
12847 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
12848
12849         * docs/manual/basics-helloworld.xml:
12850           Remove superfluous closing bracket in helloworld example.
12851
12852 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * tools/gst-launch.1.in:
12855           Update gst-launch man page; add a section with useful
12856           environment variables. Fixes #323882.
12857
12858 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
12859
12860         * gst/gst.c:
12861         * gst/gst_private.h:
12862           change some char* into char[]
12863
12864 2005-12-16  Wim Taymans  <wim@fluendo.com>
12865
12866         * gst/gstregistryxml.c: (load_feature):
12867         Cleanups.
12868         Don't use g_object_unref on GstObjects so that we avoid
12869         leaks on unsafe glibs.
12870
12871 2005-12-16  Wim Taymans  <wim@fluendo.com>
12872
12873         * gst/gstbin.c: (gst_bin_recalc_state):
12874         Small doc updates.
12875
12876 2005-12-16  Wim Taymans  <wim@fluendo.com>
12877
12878         * common/check.mak:
12879         Added make forever target for check.
12880
12881 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12882
12883         * gst/gst.c: (init_post):
12884           make the registry cache file HOST_CPU-dependent
12885
12886 2005-12-16  Andy Wingo  <wingo@pobox.com>
12887
12888         * plugins/elements/gstbufferstore.c
12889         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12890         return value.
12891
12892         * tests/check/gst/gstobject.c
12893         (test_fake_object_name_threaded_unique): Pay attention to
12894         g_list_sort return value.
12895
12896 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12897
12898         * tools/gst-feedback-m.m:
12899           Update for 0.9/0.10 (fixes #323870).
12900
12901 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12902
12903         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12904           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12905           
12906         * tests/check/gst/gstminiobject.c: (my_foo_init),
12907         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12908         (test_value_collection), (gst_mini_object_suite):
12909           Add test to ensure refcounts end up as expected when passing
12910           GstMiniObjects through g_object_get() and g_object_set().
12911
12912 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12913
12914         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12915         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12916         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12917         of collectpads. This version removes a lot of races without
12918         touching API/ABI. Yay !
12919
12920 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12921
12922         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12923           Don't allow activation of a srcpad in pull_range if it has no
12924           getrange function.
12925           Change some debug statements to be a little clearer
12926
12927         * plugins/elements/gsttypefindelement.c:
12928         (gst_type_find_handle_src_query):
12929           Check that we have a peer before executing queries thereupon.
12930
12931         * tests/examples/metadata/read-metadata.c: (message_loop):
12932           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12933           immediately return us any available message with 0 timeout.
12934
12935 2005-12-12  Michael Smith  <msmith@fluendo.com>
12936
12937         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12938           Don't unref factories after calling them.
12939         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12940         * plugins/elements/gsttypefindelement.c:
12941         (gst_type_find_element_chain):
12942           Free lists of factories after using them. Fixing typefinding memory
12943           leaks.
12944
12945 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12946
12947         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12948         (gst_plugin_feature_load):
12949           more meaningful debug output
12950         * configure.ac:
12951         * tests/Makefile.am:
12952         * tests/old/examples/Makefile.am:
12953           make make distcheck happy again
12954
12955 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12956
12957         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12958           Catch the special case where we are operating chain-based,
12959           but the downstream peer pad has no chain function. Emit a
12960           custom error message in this case instead of letting the
12961           core generate one implying that this is some sort of core
12962           bug. It's not, it just means that whatever got plugged
12963           into the pipeline downstream when we announced the type
12964           can only operate pull-based, while our source can only
12965           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12966           Error string has not been marked for translation yet, as
12967           it probably needs some more work first.
12968
12969         (gst_type_find_element_get_best_possibility):
12970           Add helper function to find the best of all available
12971           found possibilities that qualify given the min. threshold.
12972
12973         (gst_type_find_element_handle_event):
12974           Fix the case where we get an EOS while still in TYPEFIND
12975           mode (we want to chose the best of all possible types,
12976           not just the first type that happens to be in our unsorted
12977           list of possible types).
12978
12979         (gst_type_find_element_chain):
12980           Make sure we return GST_FLOW_ERROR when we errored out
12981           in stop_typefinding(); also, don't just find the best of
12982           all found type entries and then use the last examined
12983           type entry, but actually use the best entry.
12984
12985 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12986
12987         * tests/examples/typefind/typefind.c: (type_found):
12988         * tests/examples/xml/runxml.c: (xml_loaded):
12989           More gcc4 fixes and a mem leak fix.
12990
12991 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12992
12993         * tests/examples/xml/createxml.c: (object_saved):
12994           gcc 4 fixes
12995
12996 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12997
12998         * tests/Makefile.am:
12999           enable the examples even more
13000
13001 2005-12-12  Andy Wingo  <wingo@pobox.com>
13002
13003         * libs/gst/net/gstnettimeprovider.c
13004         (gst_net_time_provider_class_init, gst_net_time_provider_init)
13005         (gst_net_time_provider_set_property)
13006         (gst_net_time_provider_get_property):
13007         API addition: Export "active" as a GObject property.
13008         (gst_net_time_provider_thread): Only respond to time queries if
13009         the time provider is active.
13010
13011         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
13012         NetTimeProvider, preserving binary compat.
13013
13014 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13015
13016         * tests/examples/controller/audio-example.c: (main):
13017         * tests/examples/launch/Makefile.am:
13018           convert comments again
13019
13020 2005-12-12  Wim Taymans  <wim@fluendo.com>
13021
13022         * libs/gst/base/gstpushsrc.c:
13023         Fix typo.
13024
13025 2005-12-12  Wim Taymans  <wim@fluendo.com>
13026
13027         * docs/libs/gstreamer-libs-sections.txt:
13028         Added new symbol to docs.
13029
13030         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13031         (gst_base_src_init), (gst_base_src_set_format),
13032         (gst_base_src_default_query), (gst_base_src_query),
13033         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
13034         (gst_base_src_perform_seek), (gst_base_src_send_event),
13035         (gst_base_src_default_event), (gst_base_src_event_handler),
13036         (gst_base_src_set_property), (gst_base_src_get_property),
13037         (gst_base_src_wait), (gst_base_src_do_sync),
13038         (gst_base_src_update_length), (gst_base_src_get_range),
13039         (gst_base_src_check_get_range), (gst_base_src_loop),
13040         (gst_base_src_default_negotiate), (gst_base_src_start),
13041         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13042         (gst_base_src_change_state):
13043         * libs/gst/base/gstbasesrc.h:
13044         Implement seeking to other formats than _BYTES.
13045         Implement more seeking methods correctly.
13046         Doc updates.
13047         Added query vmethod.
13048         Added do_seek vmethod to make life easier for subclasses
13049         when seeking.
13050         API addition: gst_base_src_set_format()
13051
13052 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13053
13054         * tests/examples/Makefile.am:
13055           added that too
13056
13057 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13058
13059         * configure.ac:
13060         * docs/random/ensonic/media-device-daemon.txt:
13061         * tests/examples/controller/.cvsignore:
13062         * tests/examples/controller/Makefile.am:
13063         * tests/examples/controller/audio-example.c: (main):
13064         * tests/examples/helloworld/.cvsignore:
13065         * tests/examples/helloworld/Makefile.am:
13066         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
13067         * tests/examples/launch/.cvsignore:
13068         * tests/examples/launch/Makefile.am:
13069         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
13070         * tests/examples/metadata/.cvsignore:
13071         * tests/examples/metadata/Makefile.am:
13072         * tests/examples/metadata/read-metadata.c: (message_loop),
13073         (make_pipeline), (print_tag), (main):
13074         * tests/examples/queue/.cvsignore:
13075         * tests/examples/queue/Makefile.am:
13076         * tests/examples/queue/queue.c: (event_loop), (main):
13077         * tests/examples/typefind/.cvsignore:
13078         * tests/examples/typefind/Makefile.am:
13079         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
13080         (main):
13081         * tests/examples/xml/.cvsignore:
13082         * tests/examples/xml/Makefile.am:
13083         * tests/examples/xml/createxml.c: (object_saved), (main):
13084         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
13085         * tests/old/examples/Makefile.am:
13086         * tests/old/examples/TODO:
13087         * tests/old/examples/controller/.cvsignore:
13088         * tests/old/examples/controller/Makefile.am:
13089         * tests/old/examples/controller/audio-example.c:
13090         * tests/old/examples/helloworld/.cvsignore:
13091         * tests/old/examples/helloworld/Makefile.am:
13092         * tests/old/examples/helloworld/helloworld.c:
13093         * tests/old/examples/launch/.cvsignore:
13094         * tests/old/examples/launch/Makefile.am:
13095         * tests/old/examples/launch/mp3parselaunch.c:
13096         * tests/old/examples/launch/mp3play:
13097         * tests/old/examples/manual/Makefile.am:
13098         * tests/old/examples/metadata/Makefile.am:
13099         * tests/old/examples/metadata/read-metadata.c:
13100         * tests/old/examples/queue/.cvsignore:
13101         * tests/old/examples/queue/Makefile.am:
13102         * tests/old/examples/queue/queue.c:
13103         * tests/old/examples/typefind/.cvsignore:
13104         * tests/old/examples/typefind/Makefile.am:
13105         * tests/old/examples/typefind/typefind.c:
13106         * tests/old/examples/xml/.cvsignore:
13107         * tests/old/examples/xml/Makefile.am:
13108         * tests/old/examples/xml/createxml.c:
13109         * tests/old/examples/xml/runxml.c:
13110           applied some simple fixing to some examples
13111           re-enabled the working examples
13112
13113 2005-12-12  Wim Taymans  <wim@fluendo.com>
13114
13115         * gst/gstsegment.c: (gst_segment_init),
13116         (gst_segment_set_last_stop), (gst_segment_set_seek),
13117         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
13118         (gst_segment_to_running_time):
13119         Added more documentation.
13120         Make sure the last_pos value is updated properly.
13121         Make sure to_stream_time and to_running_time don't
13122         operate on wrong values.
13123
13124         * tests/check/gst/gstsegment.c: (GST_START_TEST):
13125         Update check.
13126
13127 2005-12-12  Michael Smith  <msmith@fluendo.com>
13128
13129         * plugins/elements/gsttypefindelement.c: (free_entry),
13130         (gst_type_find_element_chain):
13131           Now that we're not leaking factories, make sure we keep references
13132           to them while we need them.
13133
13134 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13135
13136         * tests/check/gst/struct_i386.h:
13137           ifdef out the XML structs
13138
13139 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13140
13141         * gst/gstvalue.c: (gst_value_transform_double_fraction):
13142           floor is not needed, F is always positive; this obviates the
13143           need for adding -lm when building without libxml
13144
13145 2005-12-12  Wim Taymans  <wim@fluendo.com>
13146
13147         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13148         Take current playback rate into account when reporting
13149         the position.
13150
13151 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13152
13153         * docs/manual/mime-world.fig:
13154           Let's try this again, this time with a file that is
13155           actually in XFig format.
13156
13157 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13158
13159         * docs/manual/mime-world.fig:
13160           Add audioconvert element to diagram so that it
13161           matches the text and the code (fixes #319526).
13162
13163 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13164
13165         * docs/pwg/building-chainfn.xml:
13166         * docs/pwg/building-pads.xml:
13167         * docs/pwg/building-state.xml:
13168         * docs/pwg/other-source.xml:
13169           Update state change stuff for 0.10 (fixes #322969).
13170
13171 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13172
13173         * docs/manual/advanced-dataaccess.xml:
13174         * docs/manual/appendix-checklist.xml:
13175         * docs/manual/appendix-programs.xml:
13176         * docs/manual/basics-pads.xml:
13177         * docs/manual/highlevel-components.xml:
13178         * docs/manual/manual.xml:
13179           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
13180           add converters in front of pipelines; remove curly
13181           brackets for threads stuff, they no longer exist; use
13182           GST_TYPE_FRACTION for framerates; update some pieces of
13183           code to 0.10, but there's plenty more to do.
13184
13185         * docs/manual/appendix-porting.xml:
13186           Expand on asynchroneous state changes; s/0.9/0.10/;
13187           mention disappearance of gst_init_get_popt_table()
13188           (fixes #322916).
13189
13190 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13191
13192         * docs/faq/using.xml:
13193           Spider no longer exists, and neither does gst-launch-ext.
13194           Update examples to use decodebin and playbin and put
13195           converters in front of sinks (fixes #323726).
13196
13197 2005-12-09  Michael Smith  <msmith@fluendo.com>
13198
13199         * plugins/elements/gsttypefindelement.c: (find_peek),
13200         (gst_type_find_element_chain):
13201           Fix leaking element factories in typefinding.
13202           Fix problem where we forgot about a probable type on non-seekable
13203           files, and thus later mis-typefound it.
13204
13205 2005-12-09  Michael Smith  <msmith@fluendo.com>
13206
13207         * common/m4/gst-makecontext.m4:
13208         * common/m4/gst-mcsc.m4:
13209         * configure.ac:
13210         * win32/common/config.h:
13211         * win32/common/config.h.in:
13212           Remove makecontext stuff; not used in 0.10 and causes problems on
13213           HPUX according to bug #322441
13214
13215 2005-12-07  Wim Taymans  <wim@fluendo.com>
13216
13217         * tests/check/Makefile.am:
13218         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
13219         (main):
13220         * tests/check/libs/struct_i386.h:
13221         Added ABI check for libs
13222
13223 2005-12-07  Wim Taymans  <wim@fluendo.com>
13224
13225         * tests/check/Makefile.am:
13226         And add the struct_i386.h to dist.
13227
13228 2005-12-07  Wim Taymans  <wim@fluendo.com>
13229
13230         * tests/check/Makefile.am:
13231         * tests/check/gst/.cvsignore:
13232         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
13233         (main):
13234         * tests/check/gst/struct_i386.h:
13235         Added check for ABI compatibility.
13236
13237 2005-12-07  Wim Taymans  <wim@fluendo.com>
13238
13239         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13240         (gst_fake_src_get_times), (gst_fake_src_create):
13241         Fix broken sync option, fixes #323259
13242
13243 2005-12-07  Wim Taymans  <wim@fluendo.com>
13244
13245         * gst/gstbuffer.c:
13246         Small docs update.
13247
13248         * gst/gstcaps.c: (gst_caps_is_equal):
13249         Don't assert on NULL <--> X. Fixes #323260
13250
13251         * gst/gstminiobject.c: (gst_mini_object_replace):
13252         If we're doing atomic operations, we might just as well use
13253         the proper way to get an atomic pointer.
13254
13255         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13256         Clean up debugging.
13257
13258 2005-12-07  Michael Smith  <msmith@fluendo.com>
13259
13260         * gst/parse/grammar.y:
13261           Remove handling of { } for threads.
13262
13263 2005-12-06  David Schleef  <ds@schleef.org>
13264
13265         * libs/gst/base/gstbasetransform.c: speling fix.
13266
13267 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13268
13269         * docs/libs/tmpl/gstdataprotocol.sgml:
13270         * docs/random/omega/testing/gstobject.c:
13271         * gst/gst.c:
13272         * gst/gstclock.c:
13273         * gst/gstelement.c:
13274         * gst/gstelementfactory.c:
13275         * gst/gsterror.c:
13276         * gst/gstevent.c:
13277         * gst/gstghostpad.c:
13278         * gst/gstinfo.c:
13279         * gst/gstpadtemplate.c:
13280         * gst/gstregistryxml.c:
13281         * gst/gsttaglist.c:
13282         * gst/gsttagsetter.c:
13283         * gst/gsttypefind.c:
13284         * gst/gstvalue.c:
13285         * libs/gst/base/gstbasesrc.c:
13286         * libs/gst/net/gstnetclientclock.c:
13287         * libs/gst/net/gstnettimeprovider.c:
13288         * plugins/elements/gstfakesrc.c:
13289         * plugins/elements/gstfdsrc.c:
13290         * plugins/elements/gstfilesrc.c:
13291         * plugins/elements/gstidentity.c:
13292         * plugins/elements/gstqueue.c:
13293         * plugins/elements/gsttypefindelement.c:
13294         * plugins/indexers/gstfileindex.c:
13295         * plugins/indexers/gstmemindex.c:
13296         * tests/check/gst/gsttag.c:
13297         * tests/old/examples/cutter/cutter.c:
13298         * tests/old/examples/mixer/mixer.c:
13299         * tests/old/examples/xml/runxml.c: (main):
13300         * tests/old/testsuite/caps/normalisation.c:
13301         * tests/old/testsuite/debug/global.c:
13302         * tests/old/testsuite/parse/parse1.c:
13303         * tools/gst-xmlinspect.c:
13304         * win32/common/dirent.c:
13305           expand tabs
13306
13307 === release 0.10.0 ===
13308
13309 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13310
13311         * configure.ac:
13312           releasing 0.10.0, "Maroilles"
13313
13314 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13315
13316         submitted by: Funda Wang <fundawang@linux.net.cn>
13317
13318         * po/LINGUAS:
13319         * po/zh_CN.po:
13320           added Chinese (Traditional) translation
13321
13322 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * docs/gst/gstreamer-sections.txt:
13325         * docs/libs/tmpl/gstdataprotocol.sgml:
13326         * docs/random/thomasvs/TODO:
13327         * gst/gstutils.c:
13328         * gst/gstutils.h:
13329           fix docs
13330
13331 2005-12-05  Andy Wingo  <wingo@pobox.com>
13332
13333         patch by: Wim Taymans <wim@fluendo.com>
13334
13335         * libs/gst/base/gstbasetransform.c
13336         (gst_base_transform_prepare_output_buf)
13337         (gst_base_transform_buffer_alloc):
13338         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
13339         alloc_buffer_and_set_caps.
13340
13341         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
13342         set_caps on the source pad.
13343         (gst_pad_alloc_buffer_and_set_caps): New function, does what
13344         alloc_buffer used to do. Fixes #322874.
13345
13346         * docs/gst/gstreamer-sections.txt: 
13347         * docs/design/part-negotiation.txt: 
13348         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
13349         changes.
13350
13351 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13352
13353         patch by: Sebastien Moutte
13354
13355         * win32/MANIFEST:
13356         * win32/common/config.h.in:
13357         * win32/vs6/libgstcontroller.dsp:
13358           win32 build fixes
13359
13360 2005-12-05  Wim Taymans  <wim@fluendo.com>
13361
13362         * gst/gstcaps.c: (gst_caps_is_equal):
13363         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13364         (gst_fake_src_create):
13365         Back out previous code changes, leave doc updates, file bugs 
13366         instead. 
13367
13368 2005-12-05  Wim Taymans  <wim@fluendo.com>
13369
13370         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13371         (gst_fake_src_get_times), (gst_fake_src_create):
13372         * plugins/elements/gstfakesrc.h:
13373         Fix broken sync code.
13374
13375 2005-12-05  Wim Taymans  <wim@fluendo.com>
13376
13377         * gst/gstcaps.c: (gst_caps_is_equal):
13378         Comparing NULL against !NULL yields different caps, not a
13379         failure.
13380
13381 2005-12-05  Wim Taymans  <wim@fluendo.com>
13382
13383         * gst/gstpipeline.c:
13384         Fix small typo in docs.
13385
13386 2005-12-05  Andy Wingo  <wingo@pobox.com>
13387
13388         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * gst/gst.c (init_post): remove hard-coded 0.9 location for
13391         registries/plugins with a MAJORMINOR one.
13392         (plugin_desc): Rename library from gstcoreleements to
13393         staticelements. Fixes #323222.
13394
13395 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
13396
13397         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
13398           Change debug category to 'collectpads' from 'collect_pads'
13399           (fixes #323250).
13400
13401 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13402
13403         patch by: Sebastien Moutte
13404
13405         * libs/gst/controller/gstinterpolation.c:
13406           use convert function for uint64/double
13407         * win32/vs6/libgstcontroller.dsp:
13408           link to GLib
13409
13410 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13411
13412         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
13413         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
13414         * gst/gstutils.h:
13415         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13416           add tests that seem to show that the guint64/gdouble conversions
13417           are correct.
13418
13419 2005-12-02  Wim Taymans  <wim@fluendo.com>
13420
13421         * gst/gstregistry.c: (gst_registry_add_path):
13422         * gst/gstregistry.h:
13423         * gst/gstregistryxml.c:
13424         Fix docs again.
13425
13426 2005-12-02  Wim Taymans  <wim@fluendo.com>
13427
13428         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13429         (gst_util_uint64_scale_int):
13430         Small cleanup.
13431
13432         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13433         Add debug log line.
13434
13435         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
13436         Add FIXME.
13437
13438 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13439
13440         * win32/MANIFEST:
13441         * win32/common/config.h:
13442         * win32/vs6/gstreamer.dsw:
13443         * win32/vs6/libgstcoreelements.dsp:
13444         * win32/vs6/libgstelements.dsp:
13445           renamed core elements plugin
13446
13447 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13448
13449         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
13450         (get_candidates):
13451           do piece-wise major/minor comparison so 0.9 < 0.10
13452           also allow .exe extensions for tools
13453
13454 2005-12-02  Michael Smith  <msmith@fluendo.com>
13455
13456         * gst/gst.c:
13457           Escape a % to make gtkdoc happier; bug 322958.
13458
13459 === release 0.9.7 ===
13460
13461 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13462
13463         * configure.ac:
13464           releasing 0.9.7, "My Dog Has No Nose"
13465
13466 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13467
13468         * common/gst-xmlinspect.py:
13469         * configure.ac:
13470         * docs/libs/tmpl/gstdataprotocol.sgml:
13471         * docs/random/release:
13472         * po/af.po:
13473         * po/az.po:
13474         * po/bg.po:
13475         * po/ca.po:
13476         * po/cs.po:
13477         * po/de.po:
13478         * po/en_GB.po:
13479         * po/fr.po:
13480         * po/it.po:
13481         * po/nb.po:
13482         * po/nl.po:
13483         * po/ru.po:
13484         * po/sq.po:
13485         * po/sr.po:
13486         * po/sv.po:
13487         * po/tr.po:
13488         * po/uk.po:
13489         * po/vi.po:
13490         * win32/common/config.h:
13491         * win32/common/config.h.in:
13492         * win32/vs6/gst_inspect.dsp:
13493         * win32/vs6/gst_launch.dsp:
13494         * win32/vs6/libgstbase.dsp:
13495         * win32/vs6/libgstelements.dsp:
13496         * win32/vs6/libgstreamer.dsp:
13497         * win32/vs7/GStreamer.vcproj:
13498         * win32/vs7/gst-inspect.vcproj:
13499         * win32/vs7/gst-launch.vcproj:
13500         * win32/vs7/libgstbase.vcproj:
13501           bump GST_MAJORMINOR to 0.10
13502           reset libtool version
13503
13504 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13505
13506         * po/LINGUAS:
13507         * po/bg.po:
13508           Added Bulgarian translation by (Alexander Shopov)
13509
13510 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13511
13512         * tests/check/gst/gstplugin.c:
13513           fix test
13514
13515 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13516
13517         * common/gst-xmlinspect.py:
13518         * common/gtk-doc-plugins.mak:
13519         * configure.ac:
13520         * docs/Makefile.am:
13521         * docs/gst/Makefile.am:
13522         * docs/gst/gstreamer-docs.sgml:
13523         * docs/gst/gstreamer-sections.txt:
13524         * docs/gst/gstreamer.types:
13525         * docs/gst/gstreamer.types.in:
13526         * docs/plugins/Makefile.am:
13527         * docs/plugins/gstreamer-plugins-docs.sgml:
13528         * docs/plugins/gstreamer-plugins-sections.txt:
13529         * docs/plugins/gstreamer-plugins.types:
13530         * docs/plugins/inspect.stamp:
13531         * docs/plugins/inspect/plugin-coreelements.xml:
13532         * docs/plugins/inspect/plugin-coreindexers.xml:
13533         * docs/plugins/scanobj-build.stamp:
13534         * gstreamer.spec.in:
13535         * plugins/elements/Makefile.am:
13536         * plugins/elements/gstelements.c:
13537         * plugins/elements/gstfakesink.c:
13538         * plugins/elements/gstfakesrc.c:
13539         * plugins/elements/gstfilesink.c:
13540         * plugins/elements/gstfilesrc.c:
13541         * plugins/elements/gstqueue.c:
13542         * plugins/indexers/Makefile.am:
13543         * plugins/indexers/gstindexers.c:
13544           document core plugins in a separate document just like all the
13545           others
13546           rename these plugins to something starting with core
13547
13548 2005-12-01  Andy Wingo  <wingo@pobox.com>
13549
13550         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
13551         padding here before, but it missed the commit.
13552
13553 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13554
13555         * libs/gst/controller/gstinterpolation.c:
13556           whitespace prices have crashed, we should feel free to use some now
13557           use gst_guint64_to_gdouble
13558
13559 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13560
13561         * libs/gst/controller/gstcontroller.c:
13562         * libs/gst/controller/gsthelper.c:
13563         * libs/gst/controller/gstinterpolation.c:
13564         * libs/gst/controller/lib.c:
13565           wrap config.h include
13566
13567 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13568
13569         * docs/gst/gstreamer-sections.txt:
13570           update docs
13571
13572 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13573
13574         * plugins/elements/gstelements.c:
13575         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
13576         (gst_fd_sink__class_init), (gst_fd_sink__init),
13577         (gst_fd_sink__chain), (gst_fd_sink__set_property),
13578         (gst_fd_sink__get_property):
13579         * plugins/elements/gstfdsink.h:
13580         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
13581         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
13582         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
13583         (gst_fd_src_unlock), (gst_fd_src_set_property),
13584         (gst_fd_src_get_property), (gst_fd_src_create),
13585         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
13586         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
13587         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
13588         (gst_fd_src_uri_handler_init):
13589         * plugins/elements/gstfdsrc.h:
13590         * plugins/elements/gstqueue.c: (gst_queue_get_type):
13591           more anal cleanup
13592
13593 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13594
13595         * docs/gst/Makefile.am:
13596         * docs/gst/gstreamer.types.in:
13597         * gst/Makefile.am:
13598           fix the docs build
13599
13600 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13601
13602         * configure.ac:
13603         * gst/Makefile.am:
13604         * gst/gst.c:
13605         * gst/gstplugin.h:
13606         * gst/gstregistry.h:
13607         * tests/benchmarks/complexity.c:
13608         * tests/benchmarks/mass-elements.c:
13609         * tests/check/Makefile.am:
13610         * tools/Makefile.am:
13611         * tools/gst-inspect.c:
13612         * tools/gst-xmlinspect.c:
13613           various fixes to make
13614           --disable-nls --disable-registry --disable-loadsave
13615           --disable-parse --disable-gst-debug
13616           work and get the core .so down to 360444 bytes after stripping
13617
13618 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13619
13620         * Makefile.am:
13621         * configure.ac:
13622           descend into tests
13623         * docs/random/thomasvs/TODO:
13624         * tests/Makefile.am:
13625         * tests/README:
13626           add a README
13627
13628 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13629
13630         * win32/GStreamer.vcproj:
13631         * win32/MANIFEST:
13632         * win32/Makefile:
13633         * win32/Makefile.inspect:
13634         * win32/Makefile.launch:
13635         * win32/Makefile.register:
13636         * win32/README.txt:
13637         * win32/gst-inspect.vcproj:
13638         * win32/gst-launch.vcproj:
13639         * win32/gst-register.vcproj:
13640         * win32/gstelements.vcproj:
13641         * win32/gstgetbits.def:
13642         * win32/gstgetbits.vcproj:
13643         * win32/gstreamer-dbg.def:
13644         * win32/gstreamer.def:
13645         * win32/libgstbase.def:
13646         * win32/libgstbase.vcproj:
13647         * win32/link_oldruntime.c:
13648         * win32/mman.c:
13649         * win32/mman.h:
13650         * win32/mman.inl:
13651         * win32/msvc71.sln:
13652           move even more stuff, win32/ is nice and clean now
13653
13654 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13655
13656         * libs/gst/control/.cvsignore:
13657         * win32/MANIFEST:
13658         * win32/config.h:
13659         * win32/dirent.c:
13660         * win32/dirent.h:
13661         * win32/gstbytestream.def:
13662         * win32/gstbytestream.vcproj:
13663         * win32/gstconfig.h:
13664         * win32/gstenumtypes.c:
13665         * win32/gstenumtypes.h:
13666         * win32/gstoptimalscheduler.vcproj:
13667         * win32/gstversion.h:
13668         * win32/gtchar.h:
13669         * win32/testsuite/bins.vcproj:
13670         * win32/testsuite/bytestream.vcproj:
13671         * win32/testsuite/caps.vcproj:
13672         * win32/testsuite/cleanup.vcproj:
13673         * win32/testsuite/clock.vcproj:
13674         * win32/testsuite/debug.vcproj:
13675         * win32/testsuite/dlopen.vcproj:
13676         * win32/testsuite/dynparams.vcproj:
13677         * win32/testsuite/elements.vcproj:
13678         * win32/testsuite/ghostpads.vcproj:
13679         * win32/testsuite/indexers.vcproj:
13680         * win32/testsuite/negotiation.vcproj:
13681         * win32/testsuite/parse.vcproj:
13682         * win32/testsuite/plugin.vcproj:
13683         * win32/testsuite/refcounting.vcproj:
13684         * win32/testsuite/schedulers.vcproj:
13685         * win32/testsuite/states.vcproj:
13686         * win32/testsuite/tags.vcproj:
13687         * win32/testsuite/threads.vcproj:
13688           remove old win32 stuff that isn't maintained and should be
13689           reorganized
13690
13691 2005-11-30  Andy Wingo  <wingo@pobox.com>
13692
13693         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13694         loading the gst.interfaces python module bork.
13695
13696         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13697         available since GLib 2.2. Fixes #318031.
13698
13699 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13700
13701         * Makefile.am:
13702         * check/.cvsignore:
13703         * check/Makefile.am:
13704         * check/elements/.cvsignore:
13705         * check/elements/fakesrc.c:
13706         * check/elements/fdsrc.c:
13707         * check/elements/identity.c:
13708         * check/generic/.cvsignore:
13709         * check/generic/states.c:
13710         * check/gst-libs/.cvsignore:
13711         * check/gst-libs/controller.c:
13712         * check/gst-libs/gdp.c:
13713         * check/gst/.cvsignore:
13714         * check/gst/capslist.h:
13715         * check/gst/gst.c:
13716         * check/gst/gstbin.c:
13717         * check/gst/gstbuffer.c:
13718         * check/gst/gstbus.c:
13719         * check/gst/gstcaps.c:
13720         * check/gst/gstelement.c:
13721         * check/gst/gstevent.c:
13722         * check/gst/gstghostpad.c:
13723         * check/gst/gstiterator.c:
13724         * check/gst/gstmessage.c:
13725         * check/gst/gstminiobject.c:
13726         * check/gst/gstobject.c:
13727         * check/gst/gstpad.c:
13728         * check/gst/gstpipeline.c:
13729         * check/gst/gstplugin.c:
13730         * check/gst/gstsegment.c:
13731         * check/gst/gststructure.c:
13732         * check/gst/gstsystemclock.c:
13733         * check/gst/gsttag.c:
13734         * check/gst/gstutils.c:
13735         * check/gst/gstvalue.c:
13736         * check/net/.cvsignore:
13737         * check/net/gstnetclientclock.c:
13738         * check/net/gstnettimeprovider.c:
13739         * check/pipelines/.cvsignore:
13740         * check/pipelines/cleanup.c:
13741         * check/pipelines/simple_launch_lines.c:
13742         * check/pipelines/stress.c:
13743         * check/states/.cvsignore:
13744         * check/states/sinks.c:
13745         * configure.ac:
13746         * examples/Makefile.am:
13747         * examples/appreader/.cvsignore:
13748         * examples/appreader/Makefile.am:
13749         * examples/appreader/appreader.c:
13750         * examples/controller/.cvsignore:
13751         * examples/controller/Makefile.am:
13752         * examples/controller/audio-example.c:
13753         * examples/cutter/.cvsignore:
13754         * examples/cutter/Makefile.am:
13755         * examples/cutter/cutter.c:
13756         * examples/cutter/cutter.h:
13757         * examples/events/Makefile.am:
13758         * examples/events/seek.c:
13759         * examples/helloworld/.cvsignore:
13760         * examples/helloworld/Makefile.am:
13761         * examples/helloworld/helloworld.c:
13762         * examples/helloworld2/.cvsignore:
13763         * examples/helloworld2/Makefile.am:
13764         * examples/helloworld2/helloworld2.c:
13765         * examples/launch/.cvsignore:
13766         * examples/launch/Makefile.am:
13767         * examples/launch/mp3parselaunch.c:
13768         * examples/launch/mp3play:
13769         * examples/manual/.cvsignore:
13770         * examples/manual/Makefile.am:
13771         * examples/manual/extract.pl:
13772         * examples/metadata/Makefile.am:
13773         * examples/metadata/read-metadata.c:
13774         * examples/mixer/.cvsignore:
13775         * examples/mixer/Makefile.am:
13776         * examples/mixer/mixer.c:
13777         * examples/mixer/mixer.h:
13778         * examples/pingpong/.cvsignore:
13779         * examples/pingpong/Makefile.am:
13780         * examples/pingpong/pingpong.c:
13781         * examples/plugins/.cvsignore:
13782         * examples/plugins/Makefile.am:
13783         * examples/plugins/example.c:
13784         * examples/plugins/example.h:
13785         * examples/pwg/.cvsignore:
13786         * examples/pwg/Makefile.am:
13787         * examples/pwg/extract.pl:
13788         * examples/queue/.cvsignore:
13789         * examples/queue/Makefile.am:
13790         * examples/queue/queue.c:
13791         * examples/queue2/.cvsignore:
13792         * examples/queue2/Makefile.am:
13793         * examples/queue2/queue2.c:
13794         * examples/queue3/.cvsignore:
13795         * examples/queue3/Makefile.am:
13796         * examples/queue3/queue3.c:
13797         * examples/queue4/.cvsignore:
13798         * examples/queue4/Makefile.am:
13799         * examples/queue4/queue4.c:
13800         * examples/retag/.cvsignore:
13801         * examples/retag/Makefile.am:
13802         * examples/retag/retag.c:
13803         * examples/retag/transcode.c:
13804         * examples/thread/.cvsignore:
13805         * examples/thread/Makefile.am:
13806         * examples/thread/thread.c:
13807         * examples/typefind/.cvsignore:
13808         * examples/typefind/Makefile.am:
13809         * examples/typefind/typefind.c:
13810         * examples/xml/.cvsignore:
13811         * examples/xml/Makefile.am:
13812         * examples/xml/createxml.c:
13813         * examples/xml/runxml.c:
13814         * tests/Makefile.am:
13815         * tests/check/Makefile.am:
13816         * testsuite/.cvsignore:
13817         * testsuite/Makefile.am:
13818         * testsuite/Rules:
13819         * testsuite/caps/.cvsignore:
13820         * testsuite/caps/Makefile.am:
13821         * testsuite/caps/app_fixate.c:
13822         * testsuite/caps/audioscale.c:
13823         * testsuite/caps/caps.c:
13824         * testsuite/caps/caps.h:
13825         * testsuite/caps/caps_strings:
13826         * testsuite/caps/compatibility.c:
13827         * testsuite/caps/deserialize.c:
13828         * testsuite/caps/enumcaps.c:
13829         * testsuite/caps/eratosthenes.c:
13830         * testsuite/caps/filtercaps.c:
13831         * testsuite/caps/fixed.c:
13832         * testsuite/caps/fraction-convert.c:
13833         * testsuite/caps/fraction-multiply-and-zero.c:
13834         * testsuite/caps/intersect2.c:
13835         * testsuite/caps/intersection.c:
13836         * testsuite/caps/normalisation.c:
13837         * testsuite/caps/random.c:
13838         * testsuite/caps/renegotiate.c:
13839         * testsuite/caps/sets.c:
13840         * testsuite/caps/simplify.c:
13841         * testsuite/caps/string-conversions.c:
13842         * testsuite/caps/structure.c:
13843         * testsuite/caps/subtract.c:
13844         * testsuite/caps/union.c:
13845         * testsuite/debug/.cvsignore:
13846         * testsuite/debug/Makefile.am:
13847         * testsuite/debug/category.c:
13848         * testsuite/debug/commandline.c:
13849         * testsuite/debug/global.c:
13850         * testsuite/debug/output.c:
13851         * testsuite/debug/printf_extension.c:
13852         * testsuite/dlopen/.cvsignore:
13853         * testsuite/dlopen/Makefile.am:
13854         * testsuite/dlopen/dlopen_gst.c:
13855         * testsuite/dlopen/loadgst.c:
13856         * testsuite/elements/.cvsignore:
13857         * testsuite/elements/Makefile.am:
13858         * testsuite/elements/gst-inspect-check.in:
13859         * testsuite/elements/struct_i386.h:
13860         * testsuite/elements/struct_size.c:
13861         * testsuite/indexers/.cvsignore:
13862         * testsuite/indexers/Makefile.am:
13863         * testsuite/indexers/cache1.c:
13864         * testsuite/indexers/indexdump.c:
13865         * testsuite/parse/.cvsignore:
13866         * testsuite/parse/Makefile.am:
13867         * testsuite/parse/parse1.c:
13868         * testsuite/parse/parse2.c:
13869         * testsuite/plugin/.cvsignore:
13870         * testsuite/plugin/Makefile.am:
13871         * testsuite/plugin/README:
13872         * testsuite/plugin/dynamic.c:
13873         * testsuite/plugin/linked.c:
13874         * testsuite/plugin/loading.c:
13875         * testsuite/plugin/registry.c:
13876         * testsuite/plugin/static.c:
13877         * testsuite/plugin/static2.c:
13878         * testsuite/plugin/testplugin.c:
13879         * testsuite/plugin/testplugin2.c:
13880         * testsuite/plugin/testplugin2_s.c:
13881         * testsuite/plugin/testplugin_s.c:
13882         * testsuite/refcounting/.cvsignore:
13883         * testsuite/refcounting/Makefile.am:
13884         * testsuite/refcounting/bin.c:
13885         * testsuite/refcounting/element.c:
13886         * testsuite/refcounting/element_pad.c:
13887         * testsuite/refcounting/mainloop.c:
13888         * testsuite/refcounting/mem.c:
13889         * testsuite/refcounting/mem.h:
13890         * testsuite/refcounting/object.c:
13891         * testsuite/refcounting/pad.c:
13892         * testsuite/refcounting/sched.c:
13893         * testsuite/refcounting/thread.c:
13894         * testsuite/states/.cvsignore:
13895         * testsuite/states/Makefile.am:
13896         * testsuite/states/bin.c:
13897         * testsuite/states/locked.c:
13898         * testsuite/states/parent.c:
13899         * testsuite/threads/.cvsignore:
13900         * testsuite/threads/159566.c:
13901         * testsuite/threads/159852.c:
13902         * testsuite/threads/Makefile.am:
13903         * testsuite/threads/queue.c:
13904         * testsuite/threads/signals.c:
13905         * testsuite/threads/staticrec.c:
13906         * testsuite/threads/thread.c:
13907         * testsuite/threads/threadb.c:
13908         * testsuite/threads/threadc.c:
13909         * testsuite/threads/threadd.c:
13910         * testsuite/threads/threade.c:
13911         * testsuite/threads/threadf.c:
13912         * testsuite/threads/threadg.c:
13913         * testsuite/threads/threadh.c:
13914         * testsuite/threads/threadi.c:
13915           move all of these under tests
13916
13917 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13918
13919         * configure.ac:
13920         * tests/Makefile.am:
13921           fix distcheck
13922
13923 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13924
13925         * docs/gst/gstreamer-sections.txt:
13926         * tests/sched/.cvsignore:
13927         * tests/sched/Makefile.am:
13928         * tests/sched/cases/(fs-fs).xml:
13929         * tests/sched/cases/(fs-i-fs).xml:
13930         * tests/sched/cases/(fs-i-i-fs).xml:
13931         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13932         * tests/sched/dynamic-pipeline.c:
13933         * tests/sched/interrupt1.c:
13934         * tests/sched/interrupt2.c:
13935         * tests/sched/interrupt3.c:
13936         * tests/sched/runtestcases:
13937         * tests/sched/runxml.c:
13938         * tests/sched/sched-stress.c:
13939         * tests/sched/sort.c:
13940         * tests/sched/testcases:
13941         * tests/sched/testcases1.tc:
13942         * tests/seeking/.cvsignore:
13943         * tests/seeking/Makefile.am:
13944         * tests/seeking/seeking1.c:
13945         * tests/threadstate/.cvsignore:
13946         * tests/threadstate/Makefile.am:
13947         * tests/threadstate/test1.c:
13948         * tests/threadstate/test2.c:
13949         * tests/threadstate/threadstate1.c:
13950         * tests/threadstate/threadstate2.c:
13951         * tests/threadstate/threadstate3.c:
13952         * tests/threadstate/threadstate4.c:
13953         * tests/threadstate/threadstate5.c:
13954           remove obsolete tests
13955         * configure.ac:
13956         * tests/bench-complexity.scm:
13957         * tests/bench-mass_elements.scm:
13958         * tests/complexity.c:
13959         * tests/complexity.gnuplot:
13960         * tests/instantiate/.cvsignore:
13961         * tests/instantiate/Makefile.am:
13962         * tests/instantiate/caps.c:
13963         * tests/mass_elements.c:
13964         * tests/network-clock-utils.scm:
13965         * tests/network-clock.scm:
13966         * tests/plot-data:
13967         First pass at cleaning up tests/ dir before moving the rest
13968         Combined with CVS surgery
13969
13970 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13971
13972         * po/POTFILES.in:
13973           queue has moved, update
13974
13975 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13976
13977         * docs/gst/gstreamer-sections.txt:
13978           remove double entries from the docs
13979         * gst/gst_private.h:
13980         * gst/gstinfo.c: (_gst_debug_init):
13981           remove the THREAD debug category
13982         * gst/Makefile.am:
13983         * gst/gstqueue.c:
13984         * gst/gstqueue.h:
13985         * docs/gst/gstreamer.types:
13986         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13987         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13988           completely move queue and fix up debugging categories
13989
13990 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13991
13992         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13993           make initialization portable, using LL is not
13994
13995 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13996
13997         * win32/common/gstconfig.h:
13998           add large padding
13999
14000 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14001
14002         * win32/common/libgstreamer.def:
14003           rename symbols; sort base section
14004
14005 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14006
14007         * gst/gstclock.c: (do_linear_regression):
14008           remove crack non-portable handrolled DEBUG macro
14009
14010 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14011
14012         * docs/random/release:
14013           update notes
14014         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14015         (gst_object_flags_get_type), (register_gst_bin_flags),
14016         (gst_bin_flags_get_type), (register_gst_buffer_flag),
14017         (gst_buffer_flag_get_type), (register_gst_bus_flags),
14018         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
14019         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
14020         (gst_caps_flags_get_type), (register_gst_clock_return),
14021         (gst_clock_return_get_type), (register_gst_clock_entry_type),
14022         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
14023         (gst_clock_flags_get_type), (register_gst_state),
14024         (gst_state_get_type), (register_gst_state_change_return),
14025         (gst_state_change_return_get_type), (register_gst_state_change),
14026         (gst_state_change_get_type), (register_gst_element_flags),
14027         (gst_element_flags_get_type), (register_gst_core_error),
14028         (gst_core_error_get_type), (register_gst_library_error),
14029         (gst_library_error_get_type), (register_gst_resource_error),
14030         (gst_resource_error_get_type), (register_gst_stream_error),
14031         (gst_stream_error_get_type), (register_gst_event_type_flags),
14032         (gst_event_type_flags_get_type), (register_gst_event_type),
14033         (gst_event_type_get_type), (register_gst_seek_type),
14034         (gst_seek_type_get_type), (register_gst_seek_flags),
14035         (gst_seek_flags_get_type), (register_gst_format),
14036         (gst_format_get_type), (register_gst_index_certainty),
14037         (gst_index_certainty_get_type), (register_gst_index_entry_type),
14038         (gst_index_entry_type_get_type),
14039         (register_gst_index_lookup_method),
14040         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
14041         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
14042         (gst_index_resolver_method_get_type), (register_gst_index_flags),
14043         (gst_index_flags_get_type), (register_gst_debug_level),
14044         (gst_debug_level_get_type), (register_gst_debug_color_flags),
14045         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
14046         (gst_iterator_result_get_type), (register_gst_iterator_item),
14047         (gst_iterator_item_get_type), (register_gst_message_type),
14048         (gst_message_type_get_type), (register_gst_mini_object_flags),
14049         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
14050         (gst_pad_link_return_get_type), (register_gst_flow_return),
14051         (gst_flow_return_get_type), (register_gst_activate_mode),
14052         (gst_activate_mode_get_type), (register_gst_pad_direction),
14053         (gst_pad_direction_get_type), (register_gst_pad_flags),
14054         (gst_pad_flags_get_type), (register_gst_pad_presence),
14055         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
14056         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
14057         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
14058         (gst_plugin_error_get_type), (register_gst_plugin_flags),
14059         (gst_plugin_flags_get_type), (register_gst_rank),
14060         (gst_rank_get_type), (register_gst_query_type),
14061         (gst_query_type_get_type), (register_gst_tag_merge_mode),
14062         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
14063         (gst_tag_flag_get_type), (register_gst_task_state),
14064         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
14065         (gst_alloc_trace_flags_get_type),
14066         (register_gst_type_find_probability),
14067         (gst_type_find_probability_get_type), (register_gst_uri_type),
14068         (gst_uri_type_get_type), (register_gst_parse_error),
14069         (gst_parse_error_get_type):
14070         * win32/common/gstenumtypes.h:
14071         * win32/common/gstversion.h:
14072           update visual studio generated files
14073
14074 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14075
14076         * win32/vs6/libgstbase.dsp:
14077         * win32/vs6/libgstelements.dsp:
14078           update project files for new locations
14079
14080 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14081
14082         * Makefile.am:
14083           remove some files
14084         * README:
14085           reinstate and update
14086         * DEVEL:
14087         * REQUIREMENTS:
14088           removed
14089         * LICENSE:
14090         * docs/random/LICENSE:
14091           moved to random
14092
14093 2005-11-30  Edward Hervey  <edward@fluendo.com>
14094
14095         * gst/gsttypefind.c: (gst_type_find_register):
14096         * gst/gsttypefind.h:
14097         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
14098         (gst_type_find_factory_dispose):
14099         * gst/gsttypefindfactory.h:
14100         Fix memory leak in GstTypeFindFactory.
14101
14102 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14103
14104         * gst/gst.c:
14105         * plugins/elements/Makefile.am:
14106         * plugins/elements/gstelements.c:
14107         * plugins/elements/gstqueue.c:
14108           move queue from core to the elements plugin
14109
14110 2005-11-29  Andy Wingo  <wingo@pobox.com>
14111
14112         * libs/gst/base/gstbasetransform.h: 
14113         * libs/gst/base/gstbasesrc.h: 
14114         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
14115
14116         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
14117         of pointers by which to pad very extensible base classes (like the
14118         ones in libs/gst/base).
14119
14120 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14121
14122         * docs/gst/gstreamer-docs.sgml:
14123         * docs/gst/gstreamer-sections.txt:
14124         * docs/libs/gstreamer-libs-docs.sgml:
14125         * docs/libs/gstreamer-libs-sections.txt:
14126           moving documentation from core to lib
14127
14128 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14129
14130         * check/Makefile.am:
14131         * configure.ac:
14132         * docs/gst/Makefile.am:
14133         * gst/Makefile.am:
14134         * gst/base/.cvsignore:
14135         * gst/base/Makefile.am:
14136         * gst/base/README:
14137         * gst/base/gstadapter.c:
14138         * gst/base/gstadapter.h:
14139         * gst/base/gstbasesink.c:
14140         * gst/base/gstbasesink.h:
14141         * gst/base/gstbasesrc.c:
14142         * gst/base/gstbasesrc.h:
14143         * gst/base/gstbasetransform.c:
14144         * gst/base/gstbasetransform.h:
14145         * gst/base/gstcollectpads.c:
14146         * gst/base/gstcollectpads.h:
14147         * gst/base/gstpushsrc.c:
14148         * gst/base/gstpushsrc.h:
14149         * gst/base/gsttypefindhelper.c:
14150         * gst/base/gsttypefindhelper.h:
14151         * gst/check/Makefile.am:
14152         * gst/check/gstcheck.c:
14153         * gst/check/gstcheck.h:
14154         * gst/net/Makefile.am:
14155         * gst/net/gstnet.h:
14156         * gst/net/gstnetclientclock.c:
14157         * gst/net/gstnetclientclock.h:
14158         * gst/net/gstnettimepacket.c:
14159         * gst/net/gstnettimepacket.h:
14160         * gst/net/gstnettimeprovider.c:
14161         * gst/net/gstnettimeprovider.h:
14162         * libs/gst/Makefile.am:
14163         * libs/gst/base/Makefile.am:
14164         * libs/gst/base/gstbasetransform.c:
14165         * libs/gst/check/Makefile.am:
14166         * plugins/elements/Makefile.am:
14167         * po/POTFILES.in:
14168           CVS surgery + support to move base, check, and net out of gst
14169           and into libs/gst
14170
14171 2005-11-29  Andy Wingo  <wingo@pobox.com>
14172
14173         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
14174
14175         * gst/gststructure.h (struct _GstStructure): Only one pointer of
14176         padding.
14177
14178         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
14179
14180         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
14181
14182         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
14183
14184         * gst/gstobject.h: (struct _GstObject): Only one pointer of
14185         padding; reduces object size by about 30%. We don't expect
14186         anything else to go into gstobject.
14187
14188         * gst/gstminiobject.h (struct _GstMiniObject)
14189         (struct _GstMiniObjectClass): Only one pointer of padding; the
14190         payload is only a pointer and two ints anyway. For the class there
14191         are only two methods as well.
14192         
14193         * gst/gstelement.h (struct _GstElementClass): Removed
14194         the state_changed signal callback, it is not used.
14195
14196 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14197
14198         * docs/gst/gstreamer.types:
14199           fix includes, though they are a little dinky
14200
14201 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14202
14203         * check/Makefile.am:
14204           look in the right place for elements, a lot more chance of
14205           success
14206         * gst/Makefile.am:
14207           remove indexers and elements subdirs
14208         * plugins/Makefile.am:
14209           make indexers conditional
14210
14211 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14212
14213         * Makefile.am:
14214         * configure.ac:
14215         * plugins/elements/Makefile.am:
14216         * plugins/elements/gstcapsfilter.c:
14217         * plugins/elements/gstfilesink.c:
14218         * plugins/elements/gstfilesrc.c:
14219         * plugins/elements/gstidentity.c:
14220         * plugins/indexers/Makefile.am:
14221           do CVS surgery and related build fixery to move elements
14222           and indexers in a new gstreamer/plugins directory, out of the
14223           gst/ directory
14224
14225 2005-11-29  Andy Wingo  <wingo@pobox.com>
14226
14227         * check/Makefile.am:
14228         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14229         * pkgconfig/gstreamer-net.pc.in:
14230         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
14231         #322257.
14232
14233 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14234
14235         * tools/Makefile.am:
14236         * tools/gst-complete.1.in:
14237         * tools/gst-complete.c:
14238         * tools/gst-compprep.1.in:
14239         * tools/gst-compprep.c:
14240           removing -compprep and -complete
14241
14242 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14243
14244         * gst/gstevent.c: (gst_event_new_new_segment),
14245         (gst_event_parse_new_segment):
14246         * gst/gstevent.h:
14247           fix #320529 - clean up new_segment API and structure.
14248           Let's hope everyone was using the methods, and not the structure.
14249
14250 2005-11-29  Edward Hervey  <edward@fluendo.com>
14251
14252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14253         (gst_base_sink_event), (gst_base_sink_do_sync),
14254         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14255         Properly handle non GST_FORMAT_TIME segment
14256         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14257         Properly handle non GST_FORMAT_TIME segment
14258         * gst/gstsegment.c:
14259         This function is valid if the accumulator is 0 and the format
14260         is different from the requested format.
14261         
14262 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14263
14264         * docs/gst/gstreamer-sections.txt:
14265         Add gst_query_new_seeking and gst_query_parse_seeking to the
14266         docs.
14267
14268 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14269
14270         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14271           Treat a pad alloc with new caps the same as if we were not
14272           negotiated, in order to allow a changing upstream output
14273           to produce a new format of data.
14274
14275 2005-11-29  Edward Hervey  <edward@fluendo.com>
14276
14277         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14278         (gst_base_transform_event), (gst_base_transform_eventfunc):
14279         The event virtual method is now properly implemented, with a default
14280         handler
14281         Sub classes should call the parent_class event method. They should
14282         return FALSE if they had a problem handling the given event, or don't
14283         want GstBaseTransform to send that even downstream
14284         * gst/elements/gstidentity.c: (gst_identity_class_init),
14285         (gst_identity_init), (gst_identity_event),
14286         (gst_identity_transform_ip), (gst_identity_set_property),
14287         (gst_identity_get_property):
14288         * gst/elements/gstidentity.h:
14289         Added the single-segment boolean property.
14290         If set to TRUE, it will output a single segment of data, starting from
14291         0, will eat up all incoming newsegment, and modify the timestamp of the
14292         buffers accordingly
14293
14294 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
14295
14296         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
14297           Don't ref NULL target pad (#322751). Improve docs.
14298
14299 2005-11-29  Michael Smith  <msmith@fluendo.com>
14300
14301         * gst/gstregistryxml.c: (load_plugin):
14302           Don't crash if we failed to load a feature from a plugin. 
14303
14304 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14305
14306         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14307         (GST_START_TEST):
14308           use more check API and less GLib API
14309
14310 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14311
14312         * Makefile.am:
14313           don't run checks if we don't have check
14314         * common/check.mak:
14315           remove the registry when running make torture
14316         * docs/gst/gstreamer-sections.txt:
14317           remove second multiply
14318         * gst/gstqueue.c: (gst_queue_loop):
14319           fix a compile warning when disabling debug
14320
14321 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14322
14323         * gst/gstinfo.h:
14324         Hey! Let's print the pad name if the pointer != NULL instead
14325         of when it == NULL :-)
14326
14327 2005-11-28  Wim Taymans  <wim@fluendo.com>
14328
14329         * check/gst/gstutils.c: (GST_START_TEST):
14330         Updated check, add some scaling accuracy checking code.
14331
14332         * gst/gstutils.c: (gst_util_div128_64),
14333         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
14334         (gst_util_uint64_scale_int):
14335         Fix 6 times faster division code. Optimize for common 
14336         1/1 and less common X/1 cases.
14337
14338 2005-11-28  Wim Taymans  <wim@fluendo.com>
14339
14340         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14341         More checks.
14342
14343         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
14344         (do_linear_regression), (gst_clock_add_observation):
14345         Cleanups.
14346         Release lock when the clock cannot be slaved.
14347         Catch the case where the regression returned an invalid denominator.
14348
14349         * gst/gstutils.c: (gst_util_div128_64_iterate),
14350         (gst_util_div128_64), (gst_util_uint64_scale_int64),
14351         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14352         Add protentially more performant non-iterative 128/64 divide function
14353         that unfortunatly does not work yet.
14354         Shortcut the trivial 0/X = 0 case.
14355         Remove the warnings on overflow.
14356
14357 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14358
14359         * gst/gstplugin.c: (gst_plugin_register_func):
14360           everything causing a plugin not to load should be at least a WARNING
14361
14362 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
14363
14364         * docs/random/ensonic/dparams.txt:
14365           some TODOs for the next dev cycle
14366         * libs/gst/controller/gstcontroller.c:
14367         (gst_controlled_property_set_interpolation_mode),
14368         (gst_controlled_property_new):
14369         * libs/gst/controller/gstcontroller.h:
14370           use base type to assign acccessor functions
14371
14372 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14373
14374         * check/Makefile.am:
14375         Oops, that should have been top_srcdir
14376
14377 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14378
14379         * check/Makefile.am:
14380         * check/elements/fdsrc.c: (GST_START_TEST):
14381         Use a cmdline define to specify the location of a file to use for
14382         testing, to avoid breaking distcheck.
14383
14384 2005-11-28  Andy Wingo  <wingo@pobox.com>
14385
14386         * gst/gstpad.c (fixate_value): Use array functions for arrays.
14387
14388 2005-11-28  Edward Hervey  <edward@fluendo.com>
14389
14390         * tools/gst-launch.c: (main):
14391         Clarify the output strings, makes it easier to translate.
14392         Fixes #322626
14393
14394 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14395
14396         * gst/Makefile.am:
14397           don't try and build net if we don't even have <sys/socket.h>
14398
14399 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
14400
14401         * check/Makefile.am:
14402         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
14403         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
14404           Add tests for fdsrc seekability
14405
14406         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
14407         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
14408         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
14409         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
14410         * gst/elements/gstfdsrc.h:
14411           fdsrc should not be a 'live' source.
14412           Implement seeking on seekable fd's.
14413
14414         * gst/gstquery.c: (gst_query_new_seeking),
14415         (gst_query_parse_seeking):
14416         * gst/gstquery.h:
14417           Implement SEEKING query functions: 
14418             *_new_seeking and *_parse_seeking
14419
14420 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
14421
14422         * gst/gstelement.c: (gst_element_dispose):
14423           don't loop forever
14424
14425         * gst/gstiterator.c:
14426         * gst/gststructure.c:
14427           doc fixes
14428
14429         * libs/gst/controller/gstcontroller.c:
14430         (gst_controlled_property_set_interpolation_mode):
14431         * libs/gst/controller/gstcontroller.h:
14432         * libs/gst/controller/gstinterpolation.c:
14433         (interpolate_none_get_enum_value_array):
14434           support controlling enums
14435
14436 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14437
14438         * gst/gstvalue.c:
14439           Improve documentation for gst_value_union().
14440
14441         * gst/gstvalue.h:
14442           Change return value for union, intersect and subtract functions
14443           from gint to gboolean.
14444
14445 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14446
14447         * gst/gstvalue.c: (gst_value_serialize_any_list),
14448         (gst_value_transform_any_list_string),
14449         (gst_value_deserialize_list), (gst_value_deserialize_array),
14450         (gst_value_set_int_range), (gst_value_deserialize_int_range),
14451         (gst_value_set_double_range), (gst_value_deserialize_double_range),
14452         (gst_value_set_fraction_range_full),
14453         (gst_value_deserialize_fraction_range),
14454         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
14455         (gst_value_deserialize_boolean),
14456         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
14457         (gst_value_serialize_float), (gst_value_deserialize_float),
14458         (gst_string_wrap), (gst_value_deserialize_string),
14459         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
14460         (gst_value_union_int_range_int_range),
14461         (gst_value_intersect_int_range_int_range),
14462         (gst_value_intersect_double_range_double_range),
14463         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
14464         (gst_value_subtract_int_range_int_range),
14465         (gst_value_subtract_double_double_range),
14466         (gst_value_subtract_double_range_double_range),
14467         (gst_value_deserialize_fraction):
14468         * gst/gstvalue.h:
14469           Use gint, gdouble and gchar in our API instead of int, double and
14470           char (and make usage in gstvalue.c more consistent).
14471
14472 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14473
14474         * check/Makefile.am:
14475         * libs/gst/controller/Makefile.am:
14476         * libs/gst/dataprotocol/Makefile.am:
14477           fix up Makefile.am and remove GST_ENABLE_NEW
14478
14479 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14480
14481         * configure.ac:
14482         * gst/Makefile.am:
14483         * gst/base/Makefile.am:
14484         * gst/check/Makefile.am:
14485         * gst/elements/Makefile.am:
14486         * gst/net/Makefile.am:
14487           update LDFLAGS use some more
14488
14489 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14490
14491         * common/m4/gst-doc.m4:
14492           Fixes #312589
14493
14494 2005-11-26  Edward Hervey  <edward@fluendo.com>
14495
14496         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14497         This shouldn't issue a g_warning since it returns NULL if it
14498         couldn't find the plugin, and all functions using this behave
14499         properly on a NULL return. Switching to a GST_WARNING.
14500
14501 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
14502
14503         * gst/gstbin.c: (gst_bin_handle_message_func):
14504         Don't leak clock messages.
14505
14506 2005-11-25  Wim Taymans  <wim@fluendo.com>
14507
14508         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14509         (gst_util_uint64_scale_int):
14510         Optimisations, remove unneeded vars.
14511
14512 2005-11-25  Wim Taymans  <wim@fluendo.com>
14513
14514         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14515         Added more checks for the high precision uint64 cases.
14516
14517         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14518         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14519         Implement high precision (guint64 * guint64) / guint64.
14520
14521 2005-11-24  Wim Taymans  <wim@fluendo.com>
14522
14523         * gst/base/gstbasesrc.c: (gst_base_src_query):
14524         Fix wrong percentage query.
14525
14526         * gst/gstutils.c: (gst_util_uint64_scale),
14527         (gst_util_uint64_scale_int):
14528         Add some more common cases that can be handled 
14529         efficiently to _scale.
14530
14531 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14532
14533         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14534         (gst_mini_object_suite):
14535           don't use check calls from threads; check probably isn't
14536           threadsafe and using a lock to make it threadsafe would
14537           defeat the purpose of this check
14538         * gst/check/gstcheck.c:
14539         * gst/check/gstcheck.h:
14540           use GST_DEBUG some more
14541
14542 2005-11-24  Wim Taymans  <wim@fluendo.com>
14543
14544         * gst/gstutils.c: (gst_util_uint64_scale),
14545         (gst_util_uint64_scale_int):
14546         Chain trivial case to _scale_int.
14547
14548 2005-11-24  Wim Taymans  <wim@fluendo.com>
14549
14550         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14551         Added test for scaling.
14552
14553         * gst/gstclock.h:
14554         Small doc fix.
14555
14556         * gst/gstutils.c: (gst_util_uint64_scale_int):
14557         Implemented high precision scaling code.
14558
14559 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
14560
14561         * gst/gstinfo.h:
14562           do not crash on pad==NULL
14563
14564 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14565
14566         Patch by: Stefan Kost
14567
14568         * common/gtk-doc.mak:
14569         * docs/gst/Makefile.am:
14570         * docs/libs/Makefile.am:
14571           Fix distcheck issues for the libraries docs build
14572           Closes #319599.
14573
14574 2005-11-24  Michael Smith <msmith@fluendo.com>
14575
14576         * docs/manual/basics-helloworld.xml:
14577           Fix bug #315027: memory leak in example code in docs.
14578
14579 2005-11-24  Michael Smith <msmith@fluendo.com>
14580
14581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14582           Unlock the PREROLL_LOCK in a failure case.
14583
14584 2005-11-24  Wim Taymans  <wim@fluendo.com>
14585
14586         * docs/gst/gstreamer-sections.txt:
14587         * gst/base/gstadapter.h:
14588         * gst/base/gstbasesink.h:
14589         * gst/base/gstbasesrc.h:
14590         * gst/base/gstbasetransform.h:
14591         * gst/base/gstpushsrc.h:
14592         * gst/elements/gstfakesink.h:
14593         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
14594         * gst/elements/gstfakesrc.h:
14595         * gst/elements/gstfilesink.h:
14596         * gst/elements/gstfilesrc.h:
14597         * gst/gst.c:
14598         * gst/gstbin.c:
14599         * gst/gstbuffer.c: (_gst_buffer_copy):
14600         * gst/gstbus.h:
14601         * gst/gstcaps.c:
14602         * gst/gstchildproxy.c:
14603         * gst/gstclock.c:
14604         * gst/gstelement.c:
14605         * gst/gstelementfactory.c:
14606         * gst/gstelementfactory.h:
14607         * gst/gstevent.c:
14608         * gst/gstghostpad.h:
14609         * gst/gstindex.h:
14610         * gst/gstinterface.h:
14611         * gst/gstminiobject.c:
14612         * gst/gstminiobject.h:
14613         * gst/gstpad.c:
14614         * gst/gstpad.h:
14615         * gst/gstpadtemplate.h:
14616         * gst/gstpipeline.h:
14617         * gst/gstpluginfeature.h:
14618         * gst/gstquery.h:
14619         * gst/gstqueue.h:
14620         * gst/gsttaglist.c:
14621         * gst/gsttaglist.h:
14622         * gst/gsttagsetter.c:
14623         * gst/gsttagsetter.h:
14624         * gst/gsttrace.c:
14625         * gst/gsttrace.h:
14626         * gst/gsttypefind.h:
14627         * gst/gsturi.h:
14628         * gst/gstvalue.c:
14629         * gst/net/gstnetclientclock.c:
14630         * gst/net/gstnetclientclock.h:
14631         * gst/net/gstnettimepacket.c:
14632         * gst/net/gstnettimeprovider.c:
14633         * gst/net/gstnettimeprovider.h:
14634         Doc fixes.
14635
14636 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14637
14638         * configure.ac: back to HEAD
14639
14640 === release 0.9.6 ===
14641
14642 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
14643
14644         * configure.ac:
14645           releasing 0.9.6, "Always On Time"
14646
14647 2005-11-23  Wim Taymans  <wim@fluendo.com>
14648
14649         * docs/gst/gstreamer-sections.txt:
14650         * gst/glib-compat.c:
14651         * gst/gsttagsetter.c:
14652         * gst/gstvalue.c:
14653         * gst/net/gstnetclientclock.c:
14654         * gst/net/gstnettimepacket.h:
14655         Doc updates.
14656
14657 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14658
14659         * docs/faq/using.xml:
14660         * docs/libs/tmpl/gstcontrol.sgml:
14661         * docs/manual/advanced-dparams.xml:
14662         * docs/manual/appendix-checklist.xml:
14663         * docs/manual/basics-elements.xml:
14664         * docs/pwg/other-source.xml:
14665         * docs/random/moving-plugins:
14666         * gst/gstpad.c:
14667         * tools/gst-launch.1.in:
14668           remove mentions of sinesrc
14669
14670 2005-11-23  Michael Smith <msmith@fluendo.com>
14671
14672         * docs/gst/gstreamer-sections.txt:
14673           Update for new API and API changes.
14674         * gst/gstobject.h:
14675           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14676         * gst/gstvalue.c:
14677           Documentation typo fix.
14678         * gst/net/gstnettimepacket.c:
14679           Documentation fixes for arguments.
14680
14681 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14682
14683         * gst/gststructure.c: (gst_structure_get_fraction),
14684         (gst_structure_parse_value),
14685         (gst_structure_fixate_field_nearest_fraction):
14686         * gst/gststructure.h:
14687         * gst/gstutils.c: (gst_util_uint64_scale_int):
14688         * gst/gstutils.h:
14689         * scripts/update-funcnames:
14690         API Changes. 
14691         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14692         Make gst_structure_fixate_field_nearest_fraction take a numerator
14693         and denominator argument instead of a GValue
14694         add gst_structure_get_fraction helper function.
14695
14696 2005-11-23  Wim Taymans  <wim@fluendo.com>
14697
14698         * docs/design/part-TODO.txt:
14699         Update TODO.
14700
14701         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14702         * gst/net/gstnetclientclock.h:
14703         Use parent fields for timeout and window_size.
14704
14705 2005-11-23  Andy Wingo  <wingo@pobox.com>
14706
14707         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14708         rate_num/rate_denom change.
14709
14710         * gst/net/gstnetclientclock.c
14711         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14712         OBJECT_LOCK. Don't call add_observation with the lock.
14713
14714         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14715         fraction.
14716         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14717         rate fraction.
14718         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14719         deal with rate as a fraction whose numerator and denominator are
14720         GstClockTime values.
14721         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14722         master; the other fields are protected by the SLAVE_LOCK.
14723         (do_linear_regression): Note that this must be called with the
14724         SLAVE_LOCK.
14725         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14726         OBJECT_LOCK. Call set_calibration instead of touching the
14727         variables directly.
14728         (gst_clock_set_property, gst_clock_get_property): Protect
14729         master/slave parameters with the SLAVE_LOCK.
14730
14731         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14732         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14733         note that all of the instance variables that add_observation and
14734         the set_master functions use are protected by that lock and not
14735         the OBJECT_LOCK.
14736         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14737
14738         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14739         the caller to take the object lock.
14740
14741 2005-11-23  Wim Taymans  <wim@fluendo.com>
14742
14743         * gst/gsterror.c: (_gst_core_errors_init):
14744         * gst/gsterror.h:
14745         Add error for clock stuff.
14746
14747         * gst/gstpipeline.c: (gst_pipeline_change_state),
14748         (gst_pipeline_set_clock):
14749         Post clock error when clock cannot be used in a pipeline.
14750
14751 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
14752
14753         * docs/gst/gstreamer-sections.txt:
14754           make two symbols from gstinfo private for the docs
14755         * gst/base/gstcollectpads.h:
14756         * gst/gstutils.c:
14757           fix doc typos, update docs
14758
14759 2005-11-22  Wim Taymans  <wim@fluendo.com>
14760
14761         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14762         (gst_base_sink_wait), (gst_base_sink_do_sync),
14763         (gst_base_sink_handle_event):
14764         * gst/base/gstbasesink.h:
14765         No need to store the clock, the parent element class already
14766         has it.
14767
14768         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14769         Updates for clock_set returning a gboolean
14770
14771         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14772         (gst_clock_id_wait_async), (gst_clock_class_init),
14773         (gst_clock_init), (gst_clock_finalize),
14774         (gst_clock_get_internal_time), (gst_clock_get_time),
14775         (gst_clock_slave_callback), (gst_clock_set_master),
14776         (gst_clock_get_master), (do_linear_regression),
14777         (gst_clock_add_observation), (gst_clock_set_property),
14778         (gst_clock_get_property):
14779         * gst/gstclock.h:
14780         Implement master/slave. When setting a clock as a slave, a
14781         periodic timeout is scheduled to sample master and slave times.
14782         Then the slave clock is recalibrated to match offset and rate
14783         of the master clock.
14784         Update logging a bit.
14785         Add flag so that a clock can state that is cannot be slaved to
14786         another clock.
14787
14788         * gst/gstelement.c: (gst_element_set_clock):
14789         * gst/gstelement.h:
14790         The set clock returns a gboolean for when an element cannot
14791         deal with the selected clock in the pipeline. 
14792
14793         * gst/gstpipeline.c: (gst_pipeline_change_state),
14794         (gst_pipeline_set_clock):
14795         * gst/gstpipeline.h:
14796         Handle the case where the selected clock cannot be set on
14797         the pipeline.
14798
14799         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14800         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14801         (gst_net_client_clock_set_property),
14802         (gst_net_client_clock_get_property),
14803         (gst_net_client_clock_observe_times):
14804         * gst/net/gstnetclientclock.h:
14805         Use regression code in GstClock parent, remove duplicated
14806         functionality.
14807
14808 2005-11-22  Michael Smith <msmith@fluendo.com>
14809
14810         * gst/gstutils.c: (gst_util_clock_time_scale):
14811         * gst/gstutils.h:
14812         * docs/gst/gstreamer-sections.txt:
14813           Rename method to have extra underscore.
14814
14815 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14816
14817         * gst/elements/Makefile.am:
14818         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14819         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14820         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14821         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14822         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14823         * gst/elements/gstfakesrc.h:
14824         * gst/gstqueue.c: (queue_leaky_get_type):
14825           correctly fix GEnumValues so that nick is the short lowercase
14826           dashed tag
14827         * tools/gst-inspect.c: (print_element_properties_info):
14828           also show the nick, since it's useful to use from parse_launch
14829           syntax
14830           Fixes #322139
14831
14832 2005-11-22  Michael Smith <msmith@fluendo.com>
14833
14834         * gst/gstutils.c: (gst_util_clocktime_scale):
14835         * gst/gstutils.h:
14836         * docs/gst/gstreamer-sections.txt:
14837           Add util method for scaling a clocktime by a fraction. Useful 
14838           implementation is left as an exercise for the reader.
14839
14840 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14841
14842         * gst/gstvalue.c: (gst_value_collect_fraction_range):
14843         If needed, allocate storage in the destination value during
14844         collection.
14845
14846 2005-11-22  Edward Hervey  <edward@fluendo.com>
14847
14848         * docs/gst/gstreamer-sections.txt:
14849         * gst/Makefile.am:
14850         * gst/gst.h:
14851         * gst/gsturitype.c:
14852         * gst/gsturitype.h:
14853         * gst/gstutils.c: (gst_util_set_object_arg):
14854         * tools/gst-compprep.c: (main):
14855         * tools/gst-inspect.c: (print_element_properties_info):
14856         Removed GstURI, closes bug #321061
14857
14858 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14859
14860         * check/gst/gststructure.c: (GST_START_TEST):
14861         * gst/gststructure.c: (gst_structure_parse_value):
14862           Oops, broke automatic string type parsing.
14863           Add a test to catch it in future.
14864
14865 2005-11-22  Andy Wingo  <wingo@pobox.com>
14866
14867         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
14868         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14869         Actually rename the function implementations. Grr.
14870
14871 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14872
14873         * check/gst/capslist.h:
14874           Comment test cases
14875         * check/gst/gststructure.c: (GST_START_TEST),
14876         (gst_structure_suite):
14877           Test automatic value type detection in gst_structure_from_string.
14878         * gst/gststructure.c: (gst_structure_parse_value):
14879           Add fraction as a type we try and guess automatically in
14880           caps/structure strings.
14881
14882 2005-11-22  Andy Wingo  <wingo@pobox.com>
14883
14884         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14885
14886         * gst/gsttagsetter.h:
14887         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14888         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14889         (gst_tag_setter_add_tag_valist)
14890         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14891         _add_values, _add_valist, and _add_valist_values. Since this is an
14892         interface the function suffixes should be more explicit so
14893         language binding don't end up with element.add_valist ->
14894         gst_tag_setter_add_valist, for example. Fixes #322069.
14895
14896 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14897
14898         * check/gst/gstcaps.c: (GST_START_TEST):
14899           Extend caps string tests to check that a caps to string
14900           conversion is reversible and produces the same caps.
14901
14902         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14903           Output "fraction" as the generic type fraction range, so caps
14904           serialisation and deserialisation works.
14905         * check/gst/capslist.h:
14906         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14907           Support 'MIN' and 'MAX' for deserialising fractions.
14908
14909 2005-11-22  Andy Wingo  <wingo@pobox.com>
14910
14911         * gst/gstevent.h (gst_event_new_new_segment)
14912         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14913         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14914         Renamed from *_newsegment, *_buffersize, *_notarget.
14915
14916         * scripts/update-funcnames: New script, performs the changes
14917         listed above.
14918
14919 2005-11-22  Wim Taymans  <wim@fluendo.com>
14920
14921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14922         Make sure the GstFlowReturn is returned.
14923
14924         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14925         (gst_bus_add_signal_watch):
14926         * gst/gstbus.h:
14927         add gst_bus_add_signal_watch_full.
14928
14929         * gst/gstplugin.c: (gst_plugin_load_file):
14930         Small style cleanup.
14931
14932 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14933
14934         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14935           Block the fakesrc srcpad when we send an event, to avoid
14936           contention on the stream_lock causing random test failures.
14937
14938 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14939
14940         * check/gst/gstvalue.c: (GST_START_TEST):
14941         * gst/gstvalue.c: (gst_value_fraction_subtract):
14942           Fix subtraction.
14943
14944 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14945
14946         * gst/gst.h:
14947           include "gstchildproxy.h"
14948         * gst/gstchildproxy.h:
14949         * libs/gst/controller/gstcontroller.h:
14950           use G_GNUC_NULL_TERMINATED
14951
14952 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14953
14954         * check/gst/capslist.h:
14955         * check/gst/gstcaps.c: (GST_START_TEST):
14956         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14957         * gst/gststructure.c: (gst_structure_parse_range),
14958         (gst_structure_fixate_field_nearest_fraction):
14959         * gst/gststructure.h:
14960         * gst/gstvalue.c: (gst_value_init_fraction_range),
14961         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14962         (gst_value_collect_fraction_range),
14963         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14964         (gst_value_set_fraction_range_full),
14965         (gst_value_get_fraction_range_min),
14966         (gst_value_get_fraction_range_max),
14967         (gst_value_serialize_fraction_range),
14968         (gst_value_transform_fraction_range_string),
14969         (gst_value_compare_fraction_range),
14970         (gst_value_deserialize_fraction_range),
14971         (gst_value_intersect_fraction_fraction_range),
14972         (gst_value_intersect_fraction_range_fraction_range),
14973         (gst_value_subtract_fraction_fraction_range),
14974         (gst_value_subtract_fraction_range_fraction),
14975         (gst_value_subtract_fraction_range_fraction_range),
14976         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14977         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14978         (gst_value_transform_string_fraction), (_gst_value_initialize):
14979         * gst/gstvalue.h:
14980           Implement fraction ranges and extend GstFraction to support
14981           arithmetic subtraction, as well as deserialization from integer
14982           strings such as "100"
14983           Add a testsuite as for int and double range set operations
14984
14985 2005-11-21  Andy Wingo  <wingo@pobox.com>
14986
14987         * gst/gsttaglist.h: 
14988         * gst/gstcaps.h: 
14989         * gst/gststructure.h: Add glib-compat.h.
14990
14991 2005-11-21  Wim Taymans  <wim@fluendo.com>
14992
14993         * gst/gstbin.c: (gst_bin_change_state_func):
14994         Fix for #321595
14995
14996 2005-11-21  Wim Taymans  <wim@fluendo.com>
14997
14998         * gst/gstsegment.h:
14999         And add a nice define too.
15000
15001 2005-11-21  Wim Taymans  <wim@fluendo.com>
15002
15003         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
15004         (gst_segment_new), (gst_segment_free), (gst_segment_init),
15005         (gst_segment_set_duration), (gst_segment_set_last_stop),
15006         (gst_segment_set_seek), (gst_segment_set_newsegment),
15007         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15008         (gst_segment_clip):
15009         * gst/gstsegment.h:
15010         Make binding friendly.
15011
15012 2005-11-21  Andy Wingo  <wingo@pobox.com>
15013
15014         * gst/gsttagsetter.h: 
15015         * gst/gsttaglist.h: 
15016         * gst/gststructure.h: 
15017         * gst/gstcaps.h: 
15018         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
15019         #319940.
15020
15021         * gst/gsterror.c (_gst_core_errors_init):
15022         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
15023         category.
15024
15025         * gst/Makefile.am (gst_headers): Add glib-compat.h.
15026         (noinst_HEADERS): noinst the -private.
15027
15028 2005-11-21  Michael Smith <msmith@fluendo.com>
15029
15030         * gst/gstplugin.h:
15031         * gst/gstregistry.h:
15032           Remove unimplemented declarations for which we can see no sensible
15033           use.
15034
15035 2005-11-21  Andy Wingo  <wingo@pobox.com>
15036
15037         * gst/gst.h: Include glib-compat.h.
15038
15039         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
15040
15041         * gst/glib-compat.c: Include the public and the private header.
15042
15043         * gst/glib-compat-private.h: Copied here from glib-compat.h.
15044
15045         * gst/gstvalue.c: 
15046         * gst/gstpad.c: 
15047         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
15048
15049         * check/gst/gstevent.c (create_custom_events): Check that
15050         FLUSH_STOP is serialized.
15051
15052         * check/elements/identity.c (event_func): 
15053         * check/elements/fakesrc.c (event_func): No stream lock, the core
15054         takes it.
15055
15056         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
15057         stream lock taking, yay.
15058
15059         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
15060         ensure that core takes the stream lock.
15061
15062         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
15063         lock name change.
15064
15065         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
15066         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
15067         it already. For the flush start we do take it though so we get the
15068         right preroll state change messages.
15069
15070         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
15071         the stream lock here, the core does it for us.
15072
15073         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
15074         GST_STREAM_GET_LOCK.
15075         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
15076         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
15077         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
15078         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
15079         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
15080         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
15081
15082         * gst/gstpad.c: Update for stream lock name change.
15083
15084         * gst/base/gstbasesink.c: Update for preroll lock name change.
15085
15086 2005-11-21  Wim Taymans  <wim@fluendo.com>
15087
15088         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
15089         (gst_clock_get_master):
15090         * gst/gstclock.h:
15091         * gst/gstsystemclock.c: (gst_system_clock_init):
15092         Convert Clock flags to object flags.
15093         Added methods to manage master/slave clocks.
15094
15095 2005-11-21  Wim Taymans  <wim@fluendo.com>
15096
15097         * check/gst/gstsegment.c: (GST_START_TEST):
15098         * docs/design/part-TODO.txt:
15099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15100         (gst_base_sink_event), (gst_base_sink_do_sync),
15101         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15102         (gst_base_sink_query), (gst_base_sink_change_state):
15103         * gst/base/gstbasesink.h:
15104         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15105         (gst_base_src_default_newsegment),
15106         (gst_base_src_configure_segment), (gst_base_src_do_seek),
15107         (gst_base_src_get_range), (gst_base_src_loop),
15108         (gst_base_src_change_state):
15109         * gst/base/gstbasesrc.h:
15110         * gst/base/gstbasetransform.c:
15111         (gst_base_transform_prepare_output_buf),
15112         (gst_base_transform_event), (gst_base_transform_change_state):
15113         * gst/base/gstbasetransform.h:
15114         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15115         (gst_collect_pads_event):
15116         * gst/base/gstcollectpads.h:
15117         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
15118         (gst_fake_src_create):
15119         * gst/elements/gstfakesrc.h:
15120         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15121         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15122         (gst_segment_set_last_stop), (gst_segment_set_seek),
15123         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15124         (gst_segment_to_running_time), (gst_segment_clip):
15125         * gst/gstsegment.h:
15126         More segment updates, replace code in plugins with segment
15127         helper functions.
15128
15129 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15130
15131         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
15132         Don't ignore sscanf results
15133
15134 2005-11-21  Andy Wingo  <wingo@pobox.com>
15135
15136         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
15137
15138         * *.h:
15139         * *.c: Ran scripts/update-macros. Oh yes.
15140
15141         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
15142         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
15143         GST_GET_LOCK, etc.
15144
15145         * scripts/update-macros: New script. Run it on your files to
15146         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
15147         well.
15148
15149 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15150
15151         * docs/gst/Makefile.am:
15152         * docs/gst/gstreamer-docs.sgml:
15153         * docs/gst/gstreamer-sections.txt:
15154         * docs/gst/gstreamer.types:
15155         * gst/gstinfo.h:
15156           more docs fixes, add new api to the docs
15157
15158 2005-11-21  Andy Wingo  <wingo@pobox.com>
15159
15160         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
15161         state_broadcast call.
15162
15163         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
15164
15165 2005-11-21  Julien MOUTTE  <julien@moutte.net>
15166
15167         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
15168         function calls for arrays.
15169
15170 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15171
15172         * docs/random/ensonic/media-device-daemon.txt:
15173           wild idea, can this be done?
15174         * docs/gst/gstreamer-sections.txt:
15175         * gst/gsterror.h:
15176         * gst/gstfilter.c:
15177         * gst/gstfilter.h:
15178         * gst/gstplugin.h:
15179         * gst/gstpluginfeature.c:
15180         * gst/gsttrace.c:
15181         * gst/gstvalue.c:
15182         * gst/gstvalue.h:
15183           doc fixes and additions
15184
15185 2005-11-21  Andy Wingo  <wingo@pobox.com>
15186
15187         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
15188         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
15189         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
15190         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
15191         private to the basesrc implementation.
15192
15193         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
15194         behalf of event function if necessary. It should no longer be
15195         necessary to take the stream lock in pad's event functions. Fixes
15196         #320299.
15197
15198 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15199         * docs/gst/gstreamer-sections.txt:
15200         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
15201         (gst_structure_fixate_field_nearest_double),
15202         (gst_structure_fixate_field_boolean):
15203         * gst/gststructure.h:
15204         * win32/common/libgstreamer.def:
15205         * win32/gstreamer.def:
15206
15207         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
15208         (#322027)
15209
15210 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15211
15212         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
15213         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
15214         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
15215         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
15216         (gst_fdsrc_uri_handler_init):
15217         * gst/elements/gstfdsrc.h:
15218           Port fd:// URI handler from 0.8 to fdsrc
15219
15220 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15221
15222         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
15223         (gst_value_serialize_fourcc):
15224         * gst/gstvalue.h:
15225           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
15226           consistent with our other format defines (#320324).
15227
15228 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15229
15230         * gst/gstvalue.c: (gst_value_is_fixed):
15231           Revert previous commit. Value lists are by definition
15232           not fixed, as they are a list of possible values.
15233
15234 2005-11-21  Andy Wingo  <wingo@pobox.com>
15235
15236         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
15237         during the stable series if we need it. Fixes #319178.
15238
15239         * gst/gstevent.c (gst_event_new_filler): Removed.
15240
15241         * check/gst/gstevent.c: Update comment about filler events.
15242
15243 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15244
15245         * gst/gstvalue.c: (gst_value_is_fixed):
15246           Should handle both value arrays and value lists.
15247
15248 2005-11-21  Andy Wingo  <wingo@pobox.com>
15249
15250         patch by: Alessandro Dessina <alessandro nnva org>
15251
15252         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
15253         functions to access arrays. Fixes #321962.
15254
15255 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15256
15257         * docs/gst/gstreamer.types:
15258           gst_collectpads_get_type => gst_collect_pads_get_type.
15259           
15260         * gst/base/gstbasetransform.c:
15261           Remove unused SIGNAL_HANDOFF enum.
15262
15263 2005-11-21  Andy Wingo  <wingo@pobox.com>
15264
15265         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
15266         the event type (upstream, downstream, serialized). Renamed
15267         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
15268         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
15269         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
15270
15271         * gst/gstevent.c: Update for new CUSTOM event names.
15272
15273         * check/gst/gstevent.c: Update check for new CUSTOM event names.
15274
15275         * gst/gstevent.h:
15276         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
15277         bug #319392.
15278
15279 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15280
15281         * docs/gst/gstreamer-sections.txt:
15282         * win32/common/libgstbase.def:
15283         * win32/libgstbase.def:
15284         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15285         (gst_collect_pads_class_init), (gst_collect_pads_init),
15286         (gst_collect_pads_finalize), (gst_collect_pads_new),
15287         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
15288         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
15289         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
15290         (gst_collect_pads_start), (gst_collect_pads_stop),
15291         (gst_collect_pads_peek), (gst_collect_pads_pop),
15292         (gst_collect_pads_available), (gst_collect_pads_read),
15293         (gst_collect_pads_flush), (gst_collect_pads_event),
15294         (gst_collect_pads_chain):
15295         * gst/base/gstcollectpads.h:
15296           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
15297           unimplemented functions as unimplemented. Add padding to
15298           GstCollectData. (#320766, #320423)
15299
15300 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15301
15302         * gst/gstmessage.c:
15303           Improve docs for DURATION message (usage of duration parameter)
15304           (#320113)
15305
15306 2005-11-20  Wim Taymans  <wim@fluendo.com>
15307
15308         * check/Makefile.am:
15309         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
15310         (main):
15311         * gst/Makefile.am:
15312         * gst/gst.h:
15313         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15314         (gst_segment_set_seek), (gst_segment_set_newsegment),
15315         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15316         (gst_segment_clip):
15317         * gst/gstsegment.h:
15318         Added segment helper structure and methods. Not fully implemented
15319         yet.
15320         Added segment check.
15321
15322 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
15323
15324         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15325           Add a deserialisation test for fractions
15326         * examples/metadata/read-metadata.c: (message_loop),
15327         (make_pipeline), (main):
15328           Fix up metadata reading sample.
15329         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15330           Debug format fix
15331         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15332           Don't try and fixate empty caps
15333         * gst/gst_private.h:
15334           Wrap in G_BEGIN_DECLS/G_END_DECLS
15335         * gst/gstvalue.c: (gst_value_collect_fraction),
15336         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
15337         (gst_value_transform_string_fraction),
15338         (gst_value_compare_fraction):
15339           Add some extra guards to ensure that we don't end up 
15340           with an invalid denominator of 0 in a gstfraction and
15341           that fractions always get reduced.
15342
15343 2005-11-20  Wim Taymans  <wim@fluendo.com>
15344
15345         * docs/gst/gstreamer-sections.txt:
15346         * gst/gstbuffer.h:
15347         * gst/gstelement.c:
15348         * gst/gstformat.c:
15349         * gst/gstformat.h:
15350         * gst/gstindex.h:
15351         * gst/gstquery.c:
15352         * gst/gstquery.h:
15353         * gst/gstvalue.c:
15354         Doc fixes.
15355
15356 2005-11-20  Wim Taymans  <wim@fluendo.com>
15357
15358         * docs/design/part-TODO.txt:
15359         * gst/gstcaps.h:
15360         Make a proper enum of the flag.
15361
15362 2005-11-19  Wim Taymans  <wim@fluendo.com>
15363
15364         * docs/design/part-TODO.txt:
15365         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
15366         (gst_format_to_quark), (gst_format_register):
15367         * gst/gstformat.h:
15368         * gst/gstquery.c: (_gst_query_initialize),
15369         (gst_query_type_get_name), (gst_query_type_to_quark),
15370         (gst_query_type_register):
15371         * gst/gstquery.h:
15372         Add type to quark and type to string conversions.
15373
15374 2005-11-19  Andy Wingo  <wingo@pobox.com>
15375
15376         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
15377         #320097.
15378
15379 2005-11-19  Wim Taymans  <wim@fluendo.com>
15380
15381         * docs/design/part-TODO.txt:
15382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15383         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
15384         (gst_bin_handle_message_func):
15385         * gst/gstbin.h:
15386         Make message handling overridable.
15387
15388 2005-11-19  Andy Wingo  <wingo@pobox.com>
15389
15390         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
15391
15392         * gst/gstclock.h:
15393         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
15394         be a GstClockTime.
15395         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
15396         is a GstClockTime. Fixes #321710.
15397
15398         * gst/gstclock.h (GstClock): Remove offset property. Add
15399         internal_calibration and external_calibration. Fix padding. Pad
15400         also by GstClockTime so we don't run into problems.
15401
15402         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
15403         (gst_clock_get_rate_offset): Remove.
15404         (gst_clock_set_time_adjust): Remove. Fixes #321712.
15405
15406         * gst/gstutils.h:
15407         * gst/gstutils.c (g_static_rec_cond_wait)
15408         (g_static_rec_cond_timed_wait): Removed, no longer needed.
15409
15410         * gst/gstbin.c: Remove terrible continue_state prototype.
15411
15412         * gst/gstelement.h (gst_element_continue_state): Make public.
15413
15414         * gst/gstelement.h:
15415         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
15416         by continue_state. Fixes #319389.
15417
15418         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
15419         Really fixes #168438. However I don't see anywhere where the
15420         filter function is called... stupid GStreamer...
15421         
15422         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
15423         don't have a dispose function, so it won't get called when the
15424         object is unreffed, but oh well!
15425
15426         * gst/gstindex.c (gst_index_set_filter_full): New API function,
15427         allows a destroy function to be set so user_data can be freed.
15428         Fixes #168438.
15429         (gst_index_set_filter): Call gst_index_set_filter_full.
15430
15431         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
15432
15433         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
15434         string should produce an error, given the lack of a way to
15435         represent NULL strings. Fixes #165650.
15436         
15437         * gst/gstvalue.h: 
15438         * gst/gstvalue.c (gst_value_array_append_value) 
15439         (gst_value_array_prepend_value, gst_value_array_get_size) 
15440         (gst_value_array_get_value): New API, copied from
15441         gst_value_list_*, only operates on arrays.
15442         (gst_value_list_append_value, gst_value_list_prepend_value) 
15443         (gst_value_list_concat, gst_value_list_get_size) 
15444         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
15445
15446         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
15447         init_list, because it works on both.
15448         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
15449         (gst_value_copy_list_or_array): Renamed from copy_list.
15450         (gst_value_free_list_or_array): Renamed from free_list.
15451         (gst_value_collect_list_or_array): Renamed from collect_list.
15452         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
15453         (gst_value_list_or_array_peek_pointer): Renamed from
15454         list_peek_pointer.
15455         (_gst_value_array_value_table, _gst_value_list_value_table):
15456         Update value table functions.
15457         (gst_value_compare_list_or_array): Renamed from compare_list.
15458
15459         * gsttaglist.h: Whoops, foreach function returns void. Also fix
15460         some constness.
15461
15462         * gst/gsttaglist.c:
15463         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
15464         GstTagList*. Fixes #143472.
15465
15466         * gst/gststructure.h: Clarify what the foreach/map functions can
15467         or can't do to their arguments.
15468
15469 2005-11-18  Wim Taymans  <wim@fluendo.com>
15470
15471         * gst/gstclock.c: (gst_clock_set_calibration),
15472         (gst_clock_get_calibration):
15473         Doc and API fixes.
15474         Calibration can be set with internal time equal to current
15475         internal time too.
15476
15477 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15478
15479         * gst/gsterror.c:
15480         * gst/gsterror.h:
15481           document
15482
15483 2005-11-18  Andy Wingo  <wingo@pobox.com>
15484
15485         * configure.ac: 
15486         * pkgconfig/gstreamer-net.pc.in:
15487         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15488         * pkgconfig/Makefile.am: Add net pkgconfig files.
15489
15490 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
15491
15492         * gst/gstcaps.c:
15493         * gst/gstghostpad.c:
15494         * gst/gsttrace.c:
15495         * gst/gstvalue.c:
15496         * gst/gstvalue.h:
15497           docs fixes
15498
15499 2005-11-18  Andy Wingo  <wingo@pobox.com>
15500
15501         * gst/net/gstnetclientclock.c: Turn off debugging.
15502
15503         * check/net/gstnetclientclock.c (test_functioning): Assert that the
15504         times connverge somewhat. Can't make a real test.
15505
15506         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
15507         integer arithmetic. Return the minimum of the domain, which can be
15508         set as "internal" for gst_clock_set_calibration.
15509         (gst_net_client_clock_observe_times): Call _set_calibration.
15510         (gst_net_client_clock_new): Call _set_calibration instead of
15511         rate_offset.
15512
15513         * check/net/gstnetclientclock.c (test_functioning): Use the right
15514         adjustment api.
15515
15516         * gst/gstclock.h:
15517         * gst/gstclock.c (gst_clock_get_calibration) 
15518         (gst_clock_set_calibration): New functions, obsolete the ones I
15519         added yesterday. Doh. Precision issues mean we have to extrapolate
15520         from a point in the more recent past than 1970.
15521         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
15522         obsolete.
15523         (gst_clock_adjust_unlocked): Use the right calibration data.
15524
15525 2005-11-18  Edward Hervey  <edward@fluendo.com>
15526
15527         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
15528         Also reset the ->current_* values in READY->PAUSED
15529
15530 2005-11-18  Andy Wingo  <wingo@pobox.com>
15531
15532         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
15533         Whoops, check the right fd. Also add some debugging.
15534         (gst_net_client_clock_observe_times): Adjust for int64 offset.
15535         (do_linear_regression): Add a crapload of debugging. Subtract off
15536         the minimum values from the input series to discard unneeded bits.
15537         Use only int arithmetic. There is still double arithmetic when
15538         calculating the intercept that needs fixing. Return boolean to
15539         indicate success; FALSE would mean the domain or range is too
15540         great. Still needs fixes.
15541
15542 2005-11-18  Wim Taymans  <wim@fluendo.com>
15543
15544         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15545         For the current position in stream time, we need to subtract
15546         accumulated time.
15547         
15548         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15549         Release lock before calling the callback function of async
15550         entries.
15551
15552 2005-11-18  Andy Wingo  <wingo@pobox.com>
15553
15554         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
15555         Port goes all the way to MAXUINT16.
15556
15557         * gst/net/gstnettimeprovider.c: Make the port range the same as
15558         for the kernel: 0 assigns, otherwise ports are less than
15559         MAXUINT16.
15560
15561         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
15562         port change.
15563
15564         * check/net/gstnetclientclock.c (test_functioning): Add the start
15565         of another test. 
15566
15567 2005-11-18  Wim Taymans  <wim@fluendo.com>
15568
15569         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15570         (gst_bin_remove_func), (bin_bus_handler):
15571         * gst/gstbin.h:
15572         Removing a clock provider from a bin, triggers a clock lost message
15573         so that a new clock will be selected.
15574         Adding a clock to a bin triggers a clock provider message.
15575         Make sure we reselect a clock when we received a clock lost message.
15576         Keep a reference to the element that provided the clock.
15577
15578 2005-11-18  Andy Wingo  <wingo@pobox.com>
15579
15580         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
15581         the clock initially so it produces values around the base time.
15582         (gst_net_client_clock_class_init): Typo fix.
15583         (gst_net_client_clock_thread): Add note on when the socket gets
15584         closed.
15585
15586 2005-11-17  Wim Taymans  <wim@fluendo.com>
15587
15588         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
15589         Free remote and local time arrays.
15590
15591 2005-11-17  Wim Taymans  <wim@fluendo.com>
15592
15593         * gst/net/gstnetclientclock.c: (do_linear_regression),
15594         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
15595         Fix compilation, uninitialized vars and a forgotten continue.
15596
15597 2005-11-17  Andy Wingo  <wingo@pobox.com>
15598
15599         * check/Makefile.am (check_PROGRAMS): 
15600         * check/net/gstnetclientclock.c: Add a most minimal test for the
15601         net client clock. More to come later.
15602
15603         * gst/net/gstnet.h: 
15604         * gst/net/Makefile.am: Add netclientclock.
15605
15606         * gst/net/gstnetclientclock.h:
15607         * gst/net/gstnetclientclock.c: New files, implement an untested
15608         GstClock that takes its time from a network time provider.
15609         Implements the algorithm in network-clock.scm.
15610
15611         * tests/network-clock.scm (*window-size*): Rename from
15612         *queue-length*.
15613         * tests/network-clock.scm (network-time): 
15614         * tests/network-clock-utils.scm (q-push): Update callers.
15615
15616 2005-11-17  Wim Taymans  <wim@fluendo.com>
15617
15618         * gst/gstbin.c: (gst_bin_provide_clock_func),
15619         (gst_bin_sort_iterator_new):
15620         And unref the child too..
15621
15622 2005-11-17  Wim Taymans  <wim@fluendo.com>
15623
15624         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15625         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15626         Refactor the sort iterator so it can be used while holding the
15627         LOCK too.
15628         Make clock selection select a clock closest to the source.
15629
15630 2005-11-17  Michael Smith <msmith@fluendo.com>
15631
15632         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15633         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15634         * gst/gstclock.h:
15635           Anonymous structs are a gcc (and some other compilers) extension, so
15636           don't use them. Since this is only for ABI-compatibility, and our
15637           API/ABI freeze is over in a few days, this whole thing will only
15638           last a few days, so don't bother trying to think up a meaningful
15639           name for the struct.
15640
15641 2005-11-17  Andy Wingo  <wingo@pobox.com>
15642
15643         * gst/gstclock.h (GstClock): Add rate and offset properties,
15644         preserving ABI stability. Add rate/offset accessors. Will file bug
15645         for the freeze break.
15646
15647         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15648         and offset, trying to keep precision and avoiding
15649         underflow/overflow.
15650         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15651         functions. Make gst_clock_set_time_adjust obsolete.
15652         (gst_clock_set_time_adjust): Note that this function is obsolete.
15653         Will file bug soon.
15654
15655         * gst/base/gstbasetransform.h: Make the ABI-stability hack
15656         greppable by using GST_PADDING-1+1.
15657
15658 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
15659
15660         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15661
15662         * gst/gstmessage.c: (gst_message_parse_clock_lost):
15663           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15664
15665         * gst/gstpadtemplate.h:
15666         * gst/gstpluginfeature.h:
15667           Don't use c++ style comments in headers (#321638).
15668
15669 2005-11-16  Andy Wingo  <wingo@pobox.com>
15670
15671         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15672         buffer.
15673
15674         * check/net/gstnettimeprovider.c: Check to see that the time
15675         provider actually provides times. Works, yo!
15676
15677 2005-11-16  Wim Taymans  <wim@fluendo.com>
15678
15679         * check/Makefile.am:
15680         Enable more tests.
15681
15682         * check/elements/fakesrc.c: (GST_START_TEST):
15683         Set element to NULL before disposing it.
15684
15685 2005-11-16  Andy Wingo  <wingo@pobox.com>
15686
15687         * gst/net/Makefile.am:
15688         * gst/net/gstnet.h:
15689         * gst/net/gstnettimeprovider.c: 
15690         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15691         provider, include it from gstnet.h, and add it to the build.
15692
15693         * gst/net/gstnettimepacket.h: 
15694         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15695         sending and receiving.
15696
15697 2005-11-16  Wim Taymans  <wim@fluendo.com>
15698
15699         * check/Makefile.am:
15700         Enable valgrind check.
15701
15702         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15703         (gst_fake_src_alloc_buffer):
15704         Fix memleak.
15705
15706 2005-11-16  Wim Taymans  <wim@fluendo.com>
15707
15708         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15709         Call parent finalize too.
15710
15711 2005-11-16  Wim Taymans  <wim@fluendo.com>
15712
15713         * check/Makefile.am:
15714         Enable valgrind check that should work fine now.
15715
15716         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15717         * gst/gstqueue.c: (gst_queue_init):
15718         Fix memleaks in pad allocation.
15719
15720 2005-11-16  Andy Wingo  <wingo@pobox.com>
15721
15722         * gst/net/Makefile.am:
15723         * gst/net/gstnet.h: New part of core to hold network elements and
15724         objects. Put in core because it exposes API that applications want
15725         to use. The library is named libgstnet-tempname right now because
15726         of the existing libgstnet in gst-plugins-base. Solution is
15727         probably to rename the one in plugins-base; will file a bug for
15728         the freeze break.
15729
15730         * gst/net/gstnettimeprovider.c: 
15731         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15732         get_time call over the network.
15733
15734         * configure.ac: 
15735         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15736
15737         * check/Makefile.am:
15738         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15739         get additions shortly.
15740
15741 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15742
15743         * gst/gstpad.c: (gst_pad_new_from_static_template):
15744         * gst/gstpad.h:
15745           add gst_pad_new_from_static_template functions
15746         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15747         (gst_check_setup_sink_pad):
15748         * gst/elements/gsttee.c: (gst_tee_init):
15749           and use them
15750
15751 2005-11-16  Wim Taymans  <wim@fluendo.com>
15752
15753         * gst/gstpad.c: (gst_pad_pause_task):
15754         Removed warning, it's not really an error either.
15755
15756 2005-11-16  Wim Taymans  <wim@fluendo.com>
15757
15758         * gst/base/gstbasetransform.c:
15759         (gst_base_transform_prepare_output_buf),
15760         (gst_base_transform_event):
15761         Check if the caps are NULL, this can happen if the element
15762         is shutting down and the pad caps are set to NULL.
15763
15764 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15765
15766         * gst/elements/gsttee.c: (gst_tee_init):
15767           fix pad template leak in tee
15768
15769 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15770
15771         * gst/glib-compat.c: (g_value_dup_gst_object):
15772         * gst/glib-compat.h:
15773         * gst/gstpad.c: (gst_pad_set_property):
15774           use gst_object_ref when setting the pad template; this will
15775           trigger the pad template leaks on GLib 2.6 and the slaves
15776
15777 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15778
15779         * gst/glib-compat.c: (gst_flags_get_first_value):
15780         * gst/glib-compat.h:
15781         * gst/gstregistryxml.c:
15782           remove functions copied from GLib 2.6
15783
15784 2005-11-16  Michael Smith <msmith@fluendo.com>
15785
15786         * gst/Makefile.am:
15787           Don't link against VALGRIND_LIBS. That was always the wrong thing to
15788           do, but only breaks with newer valgrind versions. We're not a
15789           valgrind tool, we have no link-time dependencies on libcoregrind.
15790
15791 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15792
15793         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15794           some debug changes
15795         * gst/gstmessage.h:
15796           typo fixes
15797
15798 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15799
15800         * gst/base/gstbasesrc.c: (gst_base_src_init):
15801         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15802         * gst/gstqueue.c: (gst_queue_init):
15803         * gst/gstregistryxml.c: (load_feature):
15804           Revert all these unrefs, they don't even pass make check !
15805
15806 2005-11-15  Johan Dahlin  <johan@gnome.org>
15807
15808         * gst/base/gstbasesrc.c: (gst_base_src_init):
15809         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15810         * gst/gstqueue.c: (gst_queue_init): 
15811         Free pad templates, fixes a couple of leaks.
15812
15813 2005-11-15  Daniel Fischer  <dan at f3c dot com>
15814
15815         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15816
15817         * gst/gstpad.c: (gst_pad_get_property):
15818           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15819           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15820           (#321452)
15821
15822 2005-11-15  Wim Taymans  <wim@fluendo.com>
15823
15824         * gst/gstevent.c:
15825         Small doc update.
15826
15827 2005-11-15  Andy Wingo  <wingo@pobox.com>
15828
15829         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15830
15831         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15832         using GST_CLOCK_TIME_NONE to disable base time management.
15833         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15834         time if it was NONE before.
15835         (gst_pipeline_change_state): Only munge the base time if
15836         stream_time != GST_CLOCK_TIME_NONE.
15837
15838         * check/gst/gstpipeline.c (test_base_time): Punt around the
15839         problem of the probe not being called, because that's not the
15840         issue I'm looking at. Add a check that setting stream_time to NONE
15841         disables base time management.
15842         
15843 2005-11-15  Wim Taymans  <wim@fluendo.com>
15844
15845         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15846         segment_stop == -1 at startup.
15847
15848         * gst/base/gstbasetransform.c: (gst_base_transform_event),
15849         (gst_base_transform_change_state):
15850         Init segment values at start.
15851
15852 2005-11-15  Wim Taymans  <wim@fluendo.com>
15853
15854         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15855         0 segment values are 0 in any format.
15856
15857         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15858         * gst/base/gstbasetransform.h:
15859         Parse newsegment correctly in basetransform
15860
15861         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15862         Sync to clock using updated segment values.
15863
15864 2005-11-15  Andy Wingo  <wingo@pobox.com>
15865
15866         * check/gst/gstpipeline.c (test_base_time): Add check that the
15867         base time and stream time are reset correctly.
15868
15869 2005-11-15  Wim Taymans  <wim@fluendo.com>
15870
15871         * docs/design/part-TODO.txt:
15872         Some more TODO items.
15873
15874 2005-11-15  Andy Wingo  <wingo@pobox.com>
15875
15876         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15877         error if the user selected "no clock" as the clocking method.
15878
15879         * check/gst/gstpipeline.c (test_base_time): New test for buffer
15880         timestamps with live capture.
15881
15882         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15883         is 0 but we are a live source, timestamp the buffers using the
15884         element's clock.
15885
15886 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15887
15888         * docs/gst/gstreamer-sections.txt:
15889         * gst/gsterror.c:
15890         * gst/gstghostpad.c:
15891         * gst/gstobject.h:
15892         * gst/gstxml.c:
15893           more section docs
15894
15895 2005-11-14  Wim Taymans  <wim@fluendo.com>
15896
15897         * common/gst.supp:
15898           add suppressions from Wim's Debian machine
15899
15900 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15901
15902         * common/gst.supp:
15903           add suppressions from Andy's AMD64 Ubuntu machine
15904
15905 2005-11-14  Andy Wingo  <wingo@pobox.com>
15906
15907         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15908         STATE_LOCK not necessary. Fixes #311489.
15909
15910         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15911         #305291.
15912
15913         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15914         this function is not implemented.
15915
15916 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15917
15918         * gst/base/gstbasetransform.c:
15919         (gst_base_transform_prepare_output_buf):
15920         Ref the source pad caps while we need them.
15921         Fixes (#321386)
15922
15923 2005-11-11  Wim Taymans  <wim@fluendo.com>
15924
15925         * docs/gst/gstreamer-sections.txt:
15926         Added some docs for GstCollectData.
15927
15928         * gst/base/gstadapter.c:
15929         Some small code example fix.
15930
15931         * gst/base/gstcollectpads.c:
15932         * gst/base/gstcollectpads.h:
15933         Document some more.
15934
15935 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15936
15937         * configure.ac: back to HEAD
15938
15939 === release 0.9.5 ===
15940
15941 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15942
15943         * configure.ac:
15944           releasing 0.9.5, "Bike Lunch Day"
15945
15946 2005-11-11  Wim Taymans  <wim@fluendo.com>
15947
15948         * gst/gstbuffer.c: (_gst_buffer_copy):
15949         Copy more flags.
15950
15951         * gst/gstcaps.c: (gst_caps_is_equal):
15952         Fix some docs.
15953         Make _is_equal fast in the trivial cases.
15954
15955         * gst/gstminiobject.c:
15956         * gst/gstminiobject.h:
15957         More docs. Spifify .h file.
15958
15959         * gst/gstutils.c:
15960         Small doc update.
15961
15962 2005-11-11  Wim Taymans  <wim@fluendo.com>
15963
15964         * gst/base/gstbasetransform.c:
15965         (gst_base_transform_prepare_output_buf),
15966         (gst_base_transform_handle_buffer):
15967         Small cleanups.
15968         If we're processing a buffer and need to allocate an output
15969         buffer, we cannot accept a format change. If we did get a 
15970         format change, we have to alloc a buffer ourselves of the 
15971         right size.
15972
15973 2005-11-11  Wim Taymans  <wim@fluendo.com>
15974
15975         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15976         While checking the flag for reentrancy in the gstcaps function
15977         is nice to detect recursive invocations, it also makes it 
15978         impossible to call getcaps from multiple threads, which must be
15979         possible. So, checking for recursive calls has to go.
15980
15981 2005-11-11  Michael Smith <msmith@fluendo.com>
15982
15983         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15984           Don't sync on buffers that fall partially outside our current
15985           segment. Prevents an assertion failure/abort playing some files.
15986
15987 2005-11-10  Andy Wingo  <wingo@pobox.com>
15988
15989         * check/gst/gstbin.c (test_message_state_changed_children): Style
15990         fix..
15991
15992         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15993         gst_bus_poll with the signal watch. Ensures that poll and a signal
15994         watch see the same messages.
15995
15996         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15997         a poll and a watch at the same time get the same messages.
15998
15999 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16000
16001         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
16002         * gst/gstcaps.c: (gst_caps_intersect):
16003           Don't call gst_caps_do_simplify - it doesn't respect order of caps
16004           and it's not needed.
16005
16006 2005-11-10  Wim Taymans  <wim@fluendo.com>
16007
16008         * docs/design/part-TODO.txt:
16009         Updated todo.
16010
16011 2005-11-10  Wim Taymans  <wim@fluendo.com>
16012
16013         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16014         * gst/base/gstbasesrc.c: (gst_base_src_wait),
16015         (gst_base_src_do_sync), (gst_base_src_get_range):
16016         Implement clock sync in base class.
16017
16018 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16019
16020         patch by: Tim-Philipp Müller <tim at centricular dot net>
16021
16022         * gst/gststructure.c: (gst_structure_parse_field),
16023         (gst_structure_from_string):
16024           Forward-port a 0.8 patch to handle escaped spaces in structure string,
16025           so that gst_parse_launch() can deal with spaces in filtered link
16026           caps (fixes #164479)
16027         * check/gst/capslist.h:
16028         * check/gst/gststructure.c: (GST_START_TEST):
16029           add unit tests for this change
16030
16031 2005-11-10  Wim Taymans  <wim@fluendo.com>
16032
16033         * docs/gst/gstreamer-sections.txt:
16034         * gst/gstelement.c:
16035         * gst/gstelement.h:
16036         Fix docs, move some STATE macros to private.
16037
16038 2005-11-10  Wim Taymans  <wim@fluendo.com>
16039
16040         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
16041         Added check for bug #317341
16042
16043         * gst/gstbuffer.c:
16044         * gst/gstbuffer.h:
16045         Some more spiffifying.
16046
16047         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
16048         Call peer linkfunction if we are a source pad. Totally fixes
16049         #317341
16050
16051         * gst/gstpad.c:
16052         Update docs, source pads should call the peer linkfunction
16053         so they can atomically perform the pad link.
16054
16055 2005-11-09  Wim Taymans  <wim@fluendo.com>
16056
16057         * gst/gstbuffer.c:
16058         * gst/gstbuffer.h:
16059         Uber-spiffy-spiffify some more.
16060
16061 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
16062
16063         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
16064         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16065         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16066         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
16067         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
16068         * gst/gstpad.c: (gst_pad_init):
16069           Use GST_DEBUG_FUNCPTR() more extensively.
16070
16071 2005-11-09  Wim Taymans  <wim@fluendo.com>
16072
16073         * gst/gstobject.c: (gst_object_class_init):
16074         * gst/gstobject.h:
16075         Documentation fixes.
16076
16077 2005-11-09  Edward Hervey  <edward@fluendo.com>
16078
16079         * gst/gsttypefindfactory.c:
16080         Fix docs.
16081         
16082 2005-11-09  Edward Hervey  <edward@fluendo.com>
16083
16084         * gst/base/gsttypefindhelper.c:
16085         * gst/gsttypefind.c:
16086         * gst/gsttypefind.h:
16087         Fix docs.
16088
16089 2005-11-09  Wim Taymans  <wim@fluendo.com>
16090
16091         * gst/gstiterator.c:
16092         Fix revision data.
16093
16094         * gst/gsttask.c:
16095         * gst/gsttask.h:
16096         Fix docs.
16097
16098 2005-11-09  Wim Taymans  <wim@fluendo.com>
16099
16100         * gst/gstevent.h:
16101         * gst/gsturi.h:
16102         Fix docs.
16103
16104 2005-11-09  Wim Taymans  <wim@fluendo.com>
16105
16106         * docs/gst/gstreamer-sections.txt:
16107         Moved the message async delivery private lock and cond
16108         to the private section.
16109
16110         * gst/gstmessage.c:
16111         * gst/gstmessage.h:
16112         Fixed docs.
16113
16114 2005-11-09  Edward Hervey  <edward@fluendo.com>
16115
16116         * docs/gst/gstreamer-sections.txt:
16117         * gst/gsturi.c:
16118         * gst/gsturi.h:
16119         Document GstURIHandler
16120
16121 2005-11-09  Wim Taymans  <wim@fluendo.com>
16122
16123         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
16124         (gst_iterator_find_custom):
16125         * gst/gstiterator.h:
16126         Fix iterator docs.
16127
16128 2005-11-09  Wim Taymans  <wim@fluendo.com>
16129
16130         * gst/gstbin.h:
16131         Document another field.
16132
16133         * gst/gststructure.c:
16134         * gst/gststructure.h:
16135         Document.
16136
16137 2005-11-09  Wim Taymans  <wim@fluendo.com>
16138
16139         * gst/gstbin.h:
16140         Documented structs.
16141
16142 2005-11-09  Wim Taymans  <wim@fluendo.com>
16143
16144         * docs/gst/gstreamer-sections.txt:
16145         Added some new macros.
16146
16147         * gst/gstclock.c:
16148         * gst/gstclock.h:
16149         * gst/gstobject.h:
16150         Docs updates.
16151
16152 2005-11-09  Wim Taymans  <wim@fluendo.com>
16153
16154         * docs/design/part-TODO.txt:
16155         Some more items for the TODO
16156
16157         * gst/gstcaps.c:
16158         * gst/gstcaps.h:
16159         Document GstCaps.
16160
16161 2005-11-09  Andy Wingo  <wingo@pobox.com>
16162
16163         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
16164         to work on something else now tho...
16165
16166         * gst/base/gstadapter.c: More adapter docs.
16167
16168         * gst/elements/gstfilesink.c (gst_file_sink_start) 
16169         (gst_file_sink_stop): New functions, replace the state change
16170         handler.
16171         (gst_file_sink_class_init): Hook up the start and stop functions.
16172         (gst_file_sink_base_init): Don't set the state change handler any
16173         more. It was a bit ugly too, being set from here...
16174         (gst_file_sink_get_property, gst_file_sink_set_property):
16175         Cleanups...
16176         (gst_file_sink_set_location): More robust check that doesn't call
16177         GST_STATE. Ugggggg.
16178
16179 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
16180
16181         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16182           Hold STREAM_LOCK while pushing newsegment or tag events as well.
16183
16184 2005-11-08  Wim Taymans  <wim@fluendo.com>
16185
16186         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16187         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16188         (gst_base_sink_chain), (gst_base_sink_change_state):
16189         * gst/base/gstbasesink.h:
16190         * gst/base/gstbasesrc.h:
16191         * gst/gstelement.h:
16192         * gst/gstevent.h:
16193         Avoid excessive typechecking in macros.
16194
16195         * gst/gstminiobject.c: (gst_mini_object_get_type),
16196         (gst_mini_object_init), (gst_mini_object_new),
16197         (gst_mini_object_free):
16198         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16199         (gst_object_finalize):
16200         Remove cruft code, optimize alloc_trace.
16201
16202 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16203
16204         * docs/faq/gst-uninstalled:
16205           fix up PS1 for systems that try to reset it
16206
16207 2005-11-07  Wim Taymans  <wim@fluendo.com>
16208
16209         * gst/base/gstbasesrc.c: (gst_base_src_init),
16210         (gst_base_src_get_range):
16211         Set the segment_end to -1 initially. Fixed typefind.
16212
16213 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
16214
16215         * gst/base/gstadapter.c:
16216           Debug category should be 'adapter', not 'GstAdapter'.
16217           
16218         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
16219         (gst_collectpads_class_init), (gst_collectpads_init),
16220         (gst_collectpads_peek), (gst_collectpads_pop),
16221         (gst_collectpads_event), (gst_collectpads_chain):
16222           Add debug category and some debugging output. Use boilerplate
16223           macros. Remove some extraneous words from docs.
16224
16225 2005-11-05  Andy Wingo  <wingo@pobox.com>
16226
16227         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
16228         macro.
16229
16230 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16231
16232         * docs/gst/gstreamer-sections.txt:
16233         * gst/gstcaps.h:
16234         * gst/gstinfo.c:
16235         * gst/gstminiobject.h:
16236         * gst/gstobject.h:
16237         * gst/gstutils.h:
16238           more docs added
16239
16240 2005-11-04  Wim Taymans  <wim@fluendo.com>
16241
16242         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16243         Small update to stop at the configured segment_end
16244         position.
16245
16246 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16247
16248         * gst/gstregistry.c:
16249         * gst/gstregistry.h:
16250           added missing docs
16251
16252 2005-11-04  Edward Hervey  <edward@fluendo.com>
16253
16254         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16255         Check if we are doing a segment seek and have arrived at the
16256         end of that segment.
16257
16258 2005-11-04  Wim Taymans  <wim@fluendo.com>
16259
16260         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
16261         Don't leak a mutex unlock in case of an error.
16262
16263         * gst/gstbus.h:
16264         Doc fixes.
16265
16266 2005-11-04  Wim Taymans  <wim@fluendo.com>
16267
16268         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
16269         (gst_bus_post):
16270         Get the context to wake up only once.
16271
16272 2005-11-03  Wim Taymans  <wim@fluendo.com>
16273
16274         * check/states/sinks.c: (GST_START_TEST):
16275         Uncomment fixed check.
16276
16277         * docs/design/part-TODO.txt:
16278         Updated TODO.
16279
16280         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16281         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16282         (gst_base_sink_get_position):
16283         If we are going to PLAYING, post the right pending state
16284         when we post the intermediate paused message.
16285
16286         * gst/gstelement.c: (gst_element_continue_state),
16287         (gst_element_set_state_func), (gst_element_change_state):
16288         Don't post state changes that were between the same state
16289         and were not ASYNC.
16290
16291 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16292
16293         * docs/gst/gstreamer-sections.txt:
16294         * gst/gstcaps.h:
16295         * gst/gstinfo.c:
16296         * gst/gstminiobject.h:
16297         * gst/gstobject.h:
16298         * gst/gstutils.h:
16299           more docs and doc style fixes
16300
16301 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16302
16303         * docs/gst/gstreamer-sections.txt:
16304         * gst/gstelement.c:
16305         * gst/gstminiobject.c:
16306         doc fixes
16307
16308 2005-11-03  Andy Wingo  <wingo@pobox.com>
16309
16310         * check/states/sinks.c (test_livesrc_sink): Add checks that the
16311         state-changed messages actually have the right order and the right
16312         values.
16313
16314 2005-11-03  Wim Taymans  <wim@fluendo.com>
16315
16316         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16317         Added some more checks. Specifically the case where NO_PREROLL
16318         elements are in the pipeline.
16319
16320         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16321         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16322         (gst_base_sink_get_position):
16323         Post READY->PAUSED state change messages too.
16324         Fix bug where VOID was posted as pending state...
16325
16326         * gst/gstbin.c: (gst_bin_recalc_state):
16327         use _element_continue_state() to continue the state change.
16328
16329         * gst/gstelement.c: (gst_element_continue_state),
16330         (gst_element_commit_state), (gst_element_set_state_func),
16331         (gst_element_change_state), (gst_element_change_state_func):
16332         Lots of state change cleanups, assign the STATE_RETURN in
16333         a new continue_state() function that also propagates the
16334         last return value from a state change to the app.
16335         Update some debug statements with proper category.
16336
16337 2005-11-03  Wim Taymans  <wim@fluendo.com>
16338
16339         * docs/design/part-events.txt:
16340         * docs/design/part-gstpipeline.txt:
16341         * docs/design/part-messages.txt:
16342         * docs/design/part-overview.txt:
16343         * docs/design/part-seeking.txt:
16344         * docs/design/part-states.txt:
16345         * docs/design/part-trickmodes.txt:
16346         * docs/manual/advanced-position.xml:
16347         Small docs updates.
16348
16349         * gst/gstobject.h:
16350         People think !! is ugly, this looks better.
16351
16352         * gst/gstpad.c: (gst_pad_set_blocked_async):
16353         Remove !! since it's fixed elsewhere now.
16354
16355 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16356
16357         * gst/gstminiobject.h:
16358         * gst/gstobject.h:
16359           Add !! to _FLAG_IS_SET macros to make the result boolean.
16360
16361 2005-11-03  Edward Hervey  <edward@fluendo.com>
16362
16363         * gst/gstpad.c: (gst_pad_set_blocked_async):
16364         comparing a flag and a gboolean rarely returns coherent results...
16365         Added two characters (!!) to make that work correctly.
16366         
16367 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16368
16369         * gst/gstbus.c: (gst_bus_class_init):
16370           Fix some typos.
16371           
16372         * gst/gstqueue.c: (gst_queue_loop):
16373           Don't assume a miniobject that isn't a buffer is an
16374           event (it could be that there is a refcounting
16375           problem somewhere and the pointer is stale and
16376           refers to an already destroyed miniobject).
16377
16378 2005-11-03  Julien MOUTTE  <julien@moutte.net>
16379
16380         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
16381
16382 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16383
16384         * docs/manual/advanced-position.xml:
16385           Update seek example and explanations to current 0.9 API.
16386
16387         * gst/elements/gsttypefindelement.c:
16388         (gst_type_find_element_activate):
16389           Remove FIXME comment now that the found caps
16390           are unreffed.
16391
16392 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16393
16394         * gst/gstregistryxml.c: (load_feature):
16395           Add another GST_STR_NULL instance
16396
16397 2005-11-02  Edward Hervey  <edward@fluendo.com>
16398
16399         * gst/gstpad.c: (handle_pad_block):
16400         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
16401         
16402 2005-11-02  Wim Taymans  <wim@fluendo.com>
16403
16404         * gst/gstbin.c:
16405         Fix typo in docs.
16406
16407         * gst/gstelement.c: (gst_element_commit_state):
16408         Remove unused value.
16409
16410         * gst/gstiterator.c:
16411         Mention that the returned element is reffed in the docs.
16412
16413 2005-11-02  Wim Taymans  <wim@fluendo.com>
16414
16415         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
16416         (gst_pad_push), (gst_pad_push_event):
16417         Unlock blocked pads when they are flushed.
16418
16419 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16420
16421         * docs/README:
16422         * docs/gst/gstreamer-sections.txt:
16423         * gst/gstbin.c:
16424           doc updates
16425         * gst/gstregistry.c: (gst_registry_scan_path_level):
16426           fix for a nasty little missed situation where an installed plug-in
16427           which was in the cache did not get overridden by an uninstalled one
16428           which was earlier in the plugin path because the newly created plugin
16429           for the uninstalled one (not in the registry) didn't get its
16430           ->registered set to TRUE
16431
16432 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16433
16434         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
16435         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
16436         (gst_collectpads_is_active), (gst_collectpads_collect),
16437         (gst_collectpads_collect_range), (gst_collectpads_start),
16438         (gst_collectpads_stop), (gst_collectpads_peek),
16439         (gst_collectpads_pop), (gst_collectpads_available),
16440         (gst_collectpads_read), (gst_collectpads_flush):
16441           Guard public API with assertions.
16442         
16443         * gst/gstpad.c:
16444           Fix docs for gst_pad_set_link_function().
16445
16446 2005-11-02  Johan Dahlin  <johan@gnome.org>
16447
16448         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
16449         Unref found_caps after we used it.
16450
16451 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16452
16453         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
16454           Don't try to ref NULL.
16455
16456 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16457
16458         * win32/common/config.h.in:
16459           provide a GST_FUNCTION that just gives a string for now
16460
16461 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16462
16463         * win32/common/gstenumtypes.c: (register_gst_object_flags),
16464         (gst_object_flags_get_type), (register_gst_bin_flags),
16465         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16466         (gst_buffer_flag_get_type), (register_gst_bus_flags),
16467         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16468         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
16469         (gst_clock_return_get_type), (register_gst_clock_entry_type),
16470         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16471         (gst_clock_flags_get_type), (register_gst_state),
16472         (gst_state_get_type), (register_gst_state_change_return),
16473         (gst_state_change_return_get_type), (register_gst_state_change),
16474         (gst_state_change_get_type), (register_gst_element_flags),
16475         (gst_element_flags_get_type), (register_gst_core_error),
16476         (gst_core_error_get_type), (register_gst_library_error),
16477         (gst_library_error_get_type), (register_gst_resource_error),
16478         (gst_resource_error_get_type), (register_gst_stream_error),
16479         (gst_stream_error_get_type), (register_gst_event_type),
16480         (gst_event_type_get_type), (register_gst_seek_type),
16481         (gst_seek_type_get_type), (register_gst_seek_flags),
16482         (gst_seek_flags_get_type), (register_gst_format),
16483         (gst_format_get_type), (register_gst_index_certainty),
16484         (gst_index_certainty_get_type), (register_gst_index_entry_type),
16485         (gst_index_entry_type_get_type),
16486         (register_gst_index_lookup_method),
16487         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16488         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16489         (gst_index_resolver_method_get_type), (register_gst_index_flags),
16490         (gst_index_flags_get_type), (register_gst_debug_level),
16491         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16492         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16493         (gst_iterator_result_get_type), (register_gst_iterator_item),
16494         (gst_iterator_item_get_type), (register_gst_message_type),
16495         (gst_message_type_get_type), (register_gst_mini_object_flags),
16496         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16497         (gst_pad_link_return_get_type), (register_gst_flow_return),
16498         (gst_flow_return_get_type), (register_gst_activate_mode),
16499         (gst_activate_mode_get_type), (register_gst_pad_direction),
16500         (gst_pad_direction_get_type), (register_gst_pad_flags),
16501         (gst_pad_flags_get_type), (register_gst_pad_presence),
16502         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16503         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16504         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16505         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16506         (gst_plugin_flags_get_type), (register_gst_rank),
16507         (gst_rank_get_type), (register_gst_query_type),
16508         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16509         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16510         (gst_tag_flag_get_type), (register_gst_task_state),
16511         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16512         (gst_alloc_trace_flags_get_type),
16513         (register_gst_type_find_probability),
16514         (gst_type_find_probability_get_type), (register_gst_uri_type),
16515         (gst_uri_type_get_type), (register_gst_parse_error),
16516         (gst_parse_error_get_type):
16517         * win32/common/gstversion.h:
16518           update win32 copies
16519
16520 2005-11-01  Luca Ognibene  <luogni@tin.it>
16521
16522         * gst/gst.c:
16523           fix docs. popt is dead, long live GOption.
16524
16525 2005-10-31  Wim Taymans  <wim@fluendo.com>
16526
16527         * gst/gstbuffer.h:
16528         Small doc fix.
16529
16530 2005-10-31  Andy Wingo  <wingo@pobox.com>
16531
16532         * Boo!
16533
16534         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
16535
16536         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
16537         need to serialize property notifications on GLib 2.8. GLib 2.6 has
16538         the possibility of deadlocks here if code calling notify() or
16539         set() has a lock that can be taken in another notify handler (ABBA
16540         with class lock and e.g. python GIL state lock).
16541
16542 2005-10-28  Julien MOUTTE  <julien@moutte.net>
16543
16544         * gst/gstbus.c: Doc updates.
16545
16546 2005-10-28  Wim Taymans  <wim@fluendo.com>
16547
16548         * docs/design/part-TODO.txt:
16549         * gst/gstiterator.c:
16550         * gst/gstsystemclock.c:
16551         * gst/gstsystemclock.h:
16552         Doc updates.
16553
16554 2005-10-28  Edward Hervey  <edward@fluendo.com>
16555
16556         * docs/gst/gstreamer-docs.sgml:
16557         * docs/gst/gstreamer-sections.txt:
16558         the GstURIType documentation page is private, it only defines GstURIType
16559         which should be defined in the GstURIHandler page
16560         
16561 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16562
16563         * gst/gstbin.c: (gst_bin_class_init):
16564         * gst/gstbin.h:
16565         * gst/gstutils.c:
16566         Documentation updates.
16567
16568 2005-10-28  Wim Taymans  <wim@fluendo.com>
16569
16570         * docs/gst/gstreamer-sections.txt:
16571         * gst/gstclock.c:
16572         * gst/gstclock.h:
16573         Documented the clocks.
16574
16575 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
16576
16577         * docs/gst/gstreamer-sections.txt:
16578           move some macros to private sections
16579         * gst/gstminiobject.c:
16580         * gst/gstminiobject.h:
16581           add descriptions provided by ds and some more
16582         * gst/gstpad.h:
16583           mark macro as to be removed
16584
16585 2005-10-28  Wim Taymans  <wim@fluendo.com>
16586
16587         * docs/design/part-TODO.txt:
16588         Add an item to TODO.
16589
16590         * gst/gstiterator.c: (gst_iterator_fold),
16591         (gst_iterator_find_custom):
16592         * gst/gstiterator.h:
16593         Add iterator docs.
16594
16595 2005-10-28  Wim Taymans  <wim@fluendo.com>
16596
16597         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16598         (gst_base_transform_init):
16599         Don't leak class.
16600
16601         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
16602         An EOS event marks the queue as completely filled.
16603
16604 2005-10-27  Wim Taymans  <wim@fluendo.com>
16605
16606         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16607         (gst_base_sink_do_sync), (gst_base_sink_get_position):
16608         Some more debugging.
16609
16610         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
16611         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
16612         (gst_base_transform_event), (gst_base_transform_getrange),
16613         (gst_base_transform_chain):
16614         * gst/base/gstbasetransform.h:
16615         Fix debugging,
16616         Protect transform and concurrent buffer alloc with a new lock.
16617         Try not to break ABI/API.
16618
16619 2005-10-27  Wim Taymans  <wim@fluendo.com>
16620
16621         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16622         (gst_base_src_init), (gst_base_src_query),
16623         (gst_base_src_default_newsegment),
16624         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16625         (gst_base_src_send_event), (gst_base_src_event_handler),
16626         (gst_base_src_pad_get_range), (gst_base_src_loop),
16627         (gst_base_src_unlock), (gst_base_src_default_negotiate),
16628         (gst_base_src_start), (gst_base_src_deactivate),
16629         (gst_base_src_activate_push), (gst_base_src_change_state):
16630         Move some stuff around and cleanup things.
16631
16632 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
16633
16634         * gst/base/gstbasesrc.c: (gst_base_src_query):
16635           Add missing break statements.
16636
16637 2005-10-27  Wim Taymans  <wim@fluendo.com>
16638
16639         * check/gst/gstbin.c: (GST_START_TEST):
16640         An extra refcount is taken in basesrc.
16641
16642         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16643         (gst_base_src_get_range), (gst_base_src_pad_get_range),
16644         (gst_base_src_loop):
16645         Small cleanups, check for flushing after being unlocked from the 
16646         LIVE_LOCK. take refcounts correctly (not yet everywhere).
16647         Don't send out EOS when going to READY.
16648
16649 2005-10-27  Wim Taymans  <wim@fluendo.com>
16650
16651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16652         (gst_base_sink_get_position):
16653         Some more debug.
16654
16655         * gst/gstbin.c: (message_check), (bin_replace_message),
16656         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16657         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16658         (bin_query_duration_init), (bin_query_duration_fold),
16659         (bin_query_duration_done), (bin_query_generic_fold),
16660         (gst_bin_query):
16661         * tools/gst-launch.c: (main):
16662         Remove old option.
16663
16664 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
16665
16666         * examples/controller/audio-example.c: (main):
16667         * examples/queue/queue.c: (event_loop):
16668         * gst/base/gstbasetransform.h:
16669         * gst/gstelement.c: (gst_element_send_event):
16670         * gst/gstevent.h:
16671         * gst/gstpad.c: (gst_pad_send_event):
16672           fixing examples
16673           fixing docs typos
16674           changing log priority in error situations
16675
16676 2005-10-25  Wim Taymans  <wim@fluendo.com>
16677
16678         * gst/gstbin.c: (message_check), (bin_replace_message),
16679         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16680         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16681         (bin_query_duration_init), (bin_query_duration_fold),
16682         (bin_query_duration_done), (bin_query_generic_fold),
16683         (gst_bin_query):
16684         Some doc and debug updates.
16685         Cache previously requested query DURATION for speed. invalidate
16686         cached duration if element posts a DURATION message.
16687
16688 2005-10-25  Wim Taymans  <wim@fluendo.com>
16689
16690         * docs/design/part-TODO.txt:
16691         Update TODO.
16692
16693         * gst/gstbin.c: (message_check), (bin_replace_message),
16694         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16695         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16696         (bin_query_duration_init), (bin_query_duration_fold),
16697         (bin_query_duration_done), (bin_query_generic_fold),
16698         (gst_bin_query):
16699         Handle SEGMENT_START/DONE messages correctly.
16700         More evolved query algorithm that handles duration queries
16701         correctly.
16702
16703         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16704         (gst_element_get_state_func), (gst_element_abort_state),
16705         (gst_element_commit_state), (gst_element_lost_state):
16706         Some more debugging.
16707
16708         * gst/gstmessage.h:
16709         Added doc.
16710
16711 2005-10-25  Wim Taymans  <wim@fluendo.com>
16712
16713         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16714         Don't use invalid stream_time.
16715
16716         * gst/gstevent.c: (gst_event_new_newsegment):
16717         stream_time in newsegment cannot be undefined.
16718
16719 2005-10-24  Wim Taymans  <wim@fluendo.com>
16720
16721         * gst/gstbus.c:
16722         Doc fix.
16723
16724         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16725         (gst_queue_loop):
16726         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16727
16728 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16729
16730         * docs/libs/tmpl/gstdparam.sgml:
16731         * docs/libs/tmpl/gstdplinint.sgml:
16732         * docs/libs/tmpl/gstdpman.sgml:
16733         * docs/libs/tmpl/gstdpsmooth.sgml:
16734         * docs/libs/tmpl/gstunitconvert.sgml:
16735           these are obsolete
16736
16737 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16738
16739         * configure.ac:
16740           back to HEAD
16741
16742 === release 0.9.4 ===
16743
16744 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16745
16746         * configure.ac:
16747           releasing 0.9.4, "Tyrannosaurus Rex"
16748
16749 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
16750
16751         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16752         (gst_file_sink_get_current_offset):
16753           Use fseeko() and ftello() if available. When falling back on
16754           lseek() to get the current offset, fflush() first to make sure
16755           everything is up-to-date and we get the right offset.
16756
16757 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16758
16759         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16760         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16761         * gst/gsterror.c: (_gst_stream_errors_init):
16762         * gst/gsterror.h:
16763         * gst/gstqueue.c: (gst_queue_loop):
16764         * po/POTFILES.in:
16765           remove prematurely added error category and clean up the instances
16766
16767 2005-10-21  Wim Taymans  <wim@fluendo.com>
16768
16769         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16770         (gst_base_sink_get_position), (gst_base_sink_query),
16771         (gst_base_sink_change_state):
16772         Simply set the right flag when going to playing, that's all
16773         we need to do instead of calling a function inside the object
16774         lock (that could take the lock as well and deadlock)
16775
16776 2005-10-21  Wim Taymans  <wim@fluendo.com>
16777
16778         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16779         (gst_base_src_loop):
16780         Don't warn, the peer element knows what to do best when
16781         the seek failed, it might try something else.
16782
16783 2005-10-21  Wim Taymans  <wim@fluendo.com>
16784
16785         * gst/base/gstbasesrc.c: (gst_base_src_init),
16786         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16787         Fix seeking.
16788
16789 2005-10-21  Wim Taymans  <wim@fluendo.com>
16790
16791         * docs/design/part-segments.txt:
16792         More docs.
16793
16794         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16795         Correctly set caps, even on the subbufer.
16796
16797 2005-10-21  Wim Taymans  <wim@fluendo.com>
16798
16799         * docs/gst/gstreamer-docs.sgml:
16800         * docs/gst/gstreamer-sections.txt:
16801         * gst/gstelement.h:
16802         * gst/gstevent.c:
16803         * gst/gstevent.h:
16804         * gst/gstmessage.h:
16805         * gst/gstpad.h:
16806         * gst/gstparse.h:
16807         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16808         * gst/gsttask.h:
16809         * gst/gstutils.c:
16810         * gst/gstutils.h:
16811         And 2% more doc coverage.
16812
16813 2005-10-21  Andy Wingo  <wingo@pobox.com>
16814
16815         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16816         position reporting.
16817
16818 2005-10-20  Wim Taymans  <wim@fluendo.com>
16819
16820         * gst/gsterror.c: (gst_error_get_message):
16821         * gst/gstparse.h:
16822         * gst/gstquery.h:
16823         * gst/gststructure.c:
16824         * gst/gsttrace.c:
16825         * gst/gstutils.c:
16826         More docs.
16827
16828 2005-10-20  Wim Taymans  <wim@fluendo.com>
16829
16830         * gst/gstbuffer.h:
16831         * gst/gstpad.c:
16832         * gst/gstparse.c:
16833         Another 1% more coverage.
16834
16835 2005-10-20  Wim Taymans  <wim@fluendo.com>
16836
16837         * docs/gst/gstreamer-sections.txt:
16838         * gst/gstelement.c: (gst_element_get_state_func),
16839         (gst_element_abort_state), (gst_element_commit_state),
16840         (gst_element_lost_state):
16841         * gst/gstevent.h:
16842         * gst/gstquery.c: (gst_query_set_position),
16843         (gst_query_parse_position), (gst_query_set_duration),
16844         (gst_query_parse_duration), (gst_query_new_convert):
16845         * gst/gstutils.c:
16846         Yay! 1% more docs coverage.
16847
16848 2005-10-20  Wim Taymans  <wim@fluendo.com>
16849
16850         * gst/gstpad.h:
16851         * gst/gstquery.c: (gst_query_set_position),
16852         (gst_query_parse_position), (gst_query_set_duration),
16853         (gst_query_parse_duration), (gst_query_new_convert):
16854         * gst/gstquery.h:
16855         * gst/gstutils.c: (gst_element_query_convert):
16856         * gst/gstutils.h:
16857         Docs and consistency fixes.
16858
16859 2005-10-20  Wim Taymans  <wim@fluendo.com>
16860
16861         * gst/gsttask.c:
16862         * gst/gsttask.h:
16863         More docs.
16864
16865 2005-10-20  Wim Taymans  <wim@fluendo.com>
16866
16867         * gst/gstbin.c: (message_check), (bin_replace_message),
16868         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16869         (update_degree), (gst_bin_sort_iterator_next),
16870         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16871         Reworked the message handling a bit, cache the messages instead of
16872         only the senders. alows us to do more in the future.
16873
16874 2005-10-20  Wim Taymans  <wim@fluendo.com>
16875
16876         * docs/design/part-TODO.txt:
16877         Update TODO
16878
16879         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16880         (gst_base_sink_query):
16881         Don't use clock time to report position when in EOS.
16882
16883 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16884
16885         * tools/gst-inspect.c: (print_interfaces),
16886         (print_element_properties_info), (print_element_info):
16887           Fix interface output with gst-inspect -a; don't print
16888           newlines after double/float properties.
16889
16890 2005-10-20  Wim Taymans  <wim@fluendo.com>
16891
16892         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16893         (gst_base_sink_query):
16894         Speed up current position calculation.
16895
16896         * gst/base/gstbasesrc.c: (gst_base_src_query),
16897         (gst_base_src_default_newsegment):
16898         Correctly set stream position in newsegment.
16899
16900         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16901         (update_degree), (gst_bin_sort_iterator_next),
16902         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16903         * gst/gstmessage.c: (gst_message_new_custom):
16904         Clean up debugging info
16905
16906         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16907         (gst_queue_loop), (gst_queue_handle_src_query):
16908         Pause task faster.
16909
16910 2005-10-19  Wim Taymans  <wim@fluendo.com>
16911
16912         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16913         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16914         Fix query handling again.
16915
16916 2005-10-19  Wim Taymans  <wim@fluendo.com>
16917
16918         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16919         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16920         * gst/base/gstbasesrc.c: (gst_base_src_query):
16921         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16922         * gst/elements/gsttypefindelement.c:
16923         (gst_type_find_handle_src_query), (find_element_get_length),
16924         (gst_type_find_element_activate):
16925         API change fix.
16926
16927         * gst/gstquery.c: (gst_query_new_position),
16928         (gst_query_set_position), (gst_query_parse_position),
16929         (gst_query_new_duration), (gst_query_set_duration),
16930         (gst_query_parse_duration), (gst_query_set_segment),
16931         (gst_query_parse_segment):
16932         * gst/gstquery.h:
16933         Bundling query position/duration is not a good idea since duration
16934         does not change much and we don't want to recalculate it for every
16935         position query, so they are separated again..
16936         Base value in segment query is not needed.
16937
16938         * gst/gstqueue.c: (gst_queue_handle_src_query):
16939         * gst/gstutils.c: (gst_element_query_position),
16940         (gst_element_query_duration), (gst_pad_query_position),
16941         (gst_pad_query_duration):
16942         * gst/gstutils.h:
16943         Updates for query API change.
16944         Added some docs here and there.
16945
16946 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16947
16948         * check/gst/gstbin.c: (GST_START_TEST):
16949         * check/gst/gstghostpad.c: (GST_START_TEST):
16950         * check/pipelines/cleanup.c: (GST_START_TEST):
16951           wait on thread to die so we can check refcount correctly
16952
16953 2005-10-18  Wim Taymans  <wim@fluendo.com>
16954
16955         * check/pipelines/stress.c: (GST_START_TEST):
16956         Make check a little more time consuming.
16957
16958 2005-10-18  Wim Taymans  <wim@fluendo.com>
16959
16960         * check/Makefile.am:
16961         * check/pipelines/stress.c: (GST_START_TEST),
16962         (simple_launch_lines_suite), (main):
16963         Small state change torture test.
16964
16965         * docs/design/part-states.txt:
16966         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16967         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16968         (gst_base_sink_change_state):
16969         Never take state lock from streaming thread, clean up ugly
16970         hacks. Unfortunatly core does not yet support nice ways to
16971         async commit state.
16972         
16973         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16974         (bin_bus_handler):
16975         Start state recalc if a STATE_DIRTY message is posted, but only
16976         on the toplevel bin.
16977
16978         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16979         (gst_element_get_state_func), (gst_element_abort_state),
16980         (gst_element_commit_state), (gst_element_lost_state),
16981         (gst_element_set_state_func), (gst_element_change_state):
16982         * gst/gstelement.h:
16983         State variables are now protected with the LOCK, the state
16984         lock is only used to serialize _set_state().
16985
16986 2005-10-18  Wim Taymans  <wim@fluendo.com>
16987
16988         * check/gst/gstbin.c: (GST_START_TEST):
16989         * check/gst/gstmessage.c: (GST_START_TEST):
16990         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16991         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16992         (bin_bus_handler):
16993         * gst/gstelement.c: (gst_element_abort_state),
16994         (gst_element_commit_state), (gst_element_lost_state):
16995         * gst/gstmessage.c: (gst_message_new_state_changed),
16996         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16997         (gst_message_new_segment_done), (gst_message_new_duration),
16998         (gst_message_parse_state_changed),
16999         (gst_message_parse_segment_start),
17000         (gst_message_parse_segment_done), (gst_message_parse_duration):
17001         * gst/gstmessage.h:
17002         * tools/gst-launch.c: (event_loop):
17003         Seriously, this is better than a previous commit as we only need
17004         to notify the fact that an element changed state in a streaming
17005         thread, marking the state of the parents dirty, hence the 
17006         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
17007         message.
17008
17009 2005-10-18  Wim Taymans  <wim@fluendo.com>
17010
17011         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
17012         (gst_bin_recalc_func):
17013         * gst/gstelement.c: (gst_element_set_clock),
17014         (gst_element_abort_state), (gst_element_lost_state):
17015         Cleanups, prepare for state change fixes.
17016
17017 2005-10-18  Wim Taymans  <wim@fluendo.com>
17018
17019         * gst/gstbin.h:
17020         * gst/gstelement.c: (gst_element_class_init),
17021         (gst_element_set_state), (gst_element_set_state_func):
17022         * gst/gstelement.h:
17023         Pending ABI changes.
17024         GThreadPool in GstBinClass to monitor async state changes.
17025         state_cookie in GstElement to detect concurrent gst/set state.
17026         set_state is now virtual too in case a very complicated element
17027         has to be constructed.
17028
17029 2005-10-18  Wim Taymans  <wim@fluendo.com>
17030
17031         * check/gst/gstbin.c: (GST_START_TEST):
17032         * check/gst/gstmessage.c: (GST_START_TEST):
17033         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17034         * gst/gstbin.c: (bin_bus_handler):
17035         * gst/gstelement.c: (gst_element_commit_state),
17036         (gst_element_lost_state):
17037         * gst/gstmessage.c: (gst_message_new_state_changed),
17038         (gst_message_new_segment_start), (gst_message_new_segment_done),
17039         (gst_message_new_duration), (gst_message_parse_state_changed),
17040         (gst_message_parse_segment_start),
17041         (gst_message_parse_segment_done), (gst_message_parse_duration):
17042         * gst/gstmessage.h:
17043         * tools/gst-launch.c: (event_loop):
17044         Make messages future proof.
17045         state-change gets a flag if it was a message comming from the
17046         streaming thread.
17047         segment-start/stop can also be specified in other formats.
17048         A message to notify an app that a pipeline changed playback 
17049         duration.
17050         Also fix a GstMessage leak in -launch
17051
17052 2005-10-18  Andy Wingo  <wingo@pobox.com>
17053
17054         * gst/gstelement.c (gst_element_dispose): More helpful message.
17055
17056 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17057
17058         reviewed by: <delete if not using a buddy>
17059
17060         * common/gtk-doc.mak:
17061
17062 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17063
17064         * gst/gstregistry.c: (gst_registry_scan_path_level):
17065           unref a plug-in we get that was already initialized
17066
17067 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
17068
17069         * docs/gst/gstreamer-sections.txt:
17070         * docs/libs/gstreamer-libs-sections.txt:
17071         * gst/gstelement.h:
17072           add new api entries
17073           hide internal macro
17074
17075 2005-10-17  Andy Wingo  <wingo@pobox.com>
17076
17077         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
17078         cleanup.
17079
17080         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
17081
17082         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
17083
17084         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
17085         (gst_element_get_state_func): Better debug message.
17086         (gst_element_commit_state): s/INFO/DEBUG/.
17087         (gst_element_lost_state, gst_element_change_state): 
17088
17089         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
17090         (gst_message_new_custom): s/INFO/LOG/.
17091
17092 2005-10-17  Michael Smith <msmith@fluendo.com>
17093
17094         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17095           Check if end time is valid using end time, not start time.
17096
17097 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
17098
17099         * check/gst-libs/controller.c: (GST_START_TEST),
17100         (gst_controller_suite):
17101         * libs/gst/controller/gstcontroller.c:
17102         (gst_controlled_property_set_interpolation_mode):
17103         * libs/gst/controller/gstcontroller.h:
17104         * libs/gst/controller/gstinterpolation.c:
17105         * testsuite/controller/.cvsignore:
17106         * testsuite/controller/Makefile.am:
17107         * testsuite/controller/interpolator.c:
17108           merge controller testsuites
17109           fix broken tests
17110           remove mem-chunk from docs
17111
17112 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17113
17114         * gst/gstmemchunk.c:
17115         * gst/gstmemchunk.h:
17116         * gst/gsttrashstack.c:
17117         * gst/gsttrashstack.h:
17118           out.  get out.  you're fired.  to the Attic !
17119
17120 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17121
17122         * gst/gstcaps.c: (gst_caps_intersect):
17123           fix signedness issues in a (hopefully) correct way
17124         * gst/gstelement.c: (gst_element_pads_activate):
17125           some debugging
17126         * gst/gstobject.c: (gst_object_set_parent):
17127           some debugging
17128
17129 2005-10-17  Julien MOUTTE  <julien@moutte.net>
17130
17131         * gst/gstvalue.h: Fix prototypes.
17132
17133 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17134
17135         * docs/gst/gstreamer-sections.txt:
17136         * gst/gst.c: (gst_version_string):
17137         * gst/gst.h:
17138         * gst/gstversion.h.in:
17139         * win32/common/libgstreamer.def:
17140           add gst_version_string ()
17141
17142 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17143
17144         * configure.ac:
17145           clean up further
17146         * gst/gst.c: (init_post):
17147         * win32/common/config.h.in:
17148           it's PLUGINDIR now
17149         * gst/gstcaps.c: (gst_caps_intersect):
17150           use gint64, the range could be bigger than a guint
17151
17152 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17153
17154         * gst/gstclock.h:
17155           document potential problem in 2038
17156
17157 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17158
17159         * gst/gstcaps.c: (gst_caps_intersect):
17160           Fix guint j diving under 0
17161
17162 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17163
17164         * configure.ac:
17165         * win32/common/config.h:
17166         * win32/common/config.h.in:
17167           check for process.h, declares getpid() on Windows
17168         * gst/gstinfo.c:
17169           include process.h if we have it
17170         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
17171         * gst/gstmemchunk.h:
17172           fix signedness issues
17173         * win32/common/libgstreamer.def:
17174           fix get_type's
17175
17176 2005-10-16  Julien MOUTTE  <julien@moutte.net>
17177
17178         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
17179         fix. Because of unsigned ints, caps intersection was going nuts and
17180         trying to access structures with G_MAXUINT index. That fixes
17181         videotestsrc ! ffmpegcolorspace ! fakesink
17182         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
17183         consistency.
17184
17185 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17186
17187         * configure.ac:
17188           use the gettext macro
17189         * gst/elements/gstelements.c:
17190         * gst/gst.c:
17191         * gst/indexers/gstindexers.c:
17192           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
17193         * win32/common/config.h:
17194           updated config.h
17195         * win32/common/config.h.in:
17196           add the template to generate config.h
17197         * win32/common/gstenumtypes.c:
17198         * win32/common/gstversion.h:
17199           updated copies
17200
17201 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17202
17203         * gst/gst.c: (gst_version):
17204         * gst/gstversion.h.in:
17205           add the nano
17206
17207 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17208
17209         * gst/gstevent.h:
17210           Oops, add missing closing bracket.
17211
17212 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17213
17214         * configure.ac:
17215           use common m4's for argument checking
17216
17217 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17218
17219         * docs/gst/gstreamer-sections.txt:
17220         * gst/gstevent.h:
17221           Add GST_EVENT_TYPE_NAME() macro.
17222
17223 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17224
17225         * gst/gstinfo.c:
17226         * gst/gstpluginfeature.c:
17227         * gst/gsttask.c:
17228           privatize more symbols
17229
17230 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17231
17232         * configure.ac:
17233           add srcdir, builddir includes to GST_ALL_CFLAGS, since
17234           everything that uses GStreamer API should have the includes
17235
17236 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17237
17238         * docs/gst/gstreamer-sections.txt:
17239         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
17240         * gst/gstvalue.h:
17241           give each value a _get_type, removes the DATA exports
17242
17243 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17244
17245         * gst/gst.c:
17246         * gst/gst.h:
17247           remove _gst_registry_auto_load, not used anymore
17248         * gst/gstbin.c: (gst_bin_get_type):
17249         * gst/gstbin.h:
17250         * gst/gstelement.c: (gst_element_get_type):
17251         * gst/gstelement.h:
17252         * gst/gstobject.c: (gst_object_get_type):
17253         * gst/gstobject.h:
17254         * gst/gstpad.c: (gst_pad_get_type):
17255         * gst/gstpad.h:
17256           make _get_type functions similar, fixes data export from library
17257
17258 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17259
17260         * configure.ac:
17261           correctly make conditionals
17262         * gst/elements/Makefile.am:
17263         * gst/elements/gstelements.c:
17264           fix typo causing fdsrc not to build
17265
17266 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17267
17268         * testsuite/Makefile.am:
17269         * testsuite/bytestream/.cvsignore:
17270         * testsuite/bytestream/Makefile.am:
17271         * testsuite/bytestream/filepadsink.c:
17272         * testsuite/bytestream/gstbstest.c:
17273         * testsuite/bytestream/test1.c:
17274         * testsuite/bytestream/testfile1:
17275         * testsuite/caps/normalisation.c:
17276         * testsuite/caps/random.c: (main):
17277         * testsuite/cleanup/.cvsignore:
17278         * testsuite/cleanup/Makefile.am:
17279         * testsuite/cleanup/cleanup1.c:
17280         * testsuite/cleanup/cleanup2.c:
17281         * testsuite/cleanup/cleanup3.c:
17282         * testsuite/cleanup/cleanup4.c:
17283         * testsuite/cleanup/cleanup5.c:
17284         * testsuite/controller/interpolator.c:
17285         * testsuite/debug/printf_extension.c: (main):
17286         * testsuite/elements/tee.c:
17287         * testsuite/negotiation/.cvsignore:
17288         * testsuite/negotiation/Makefile.am:
17289         * testsuite/negotiation/pad_link.c:
17290         * testsuite/pad/Makefile.am:
17291         * testsuite/pad/chainnopull.c:
17292         * testsuite/pad/getnopush.c:
17293         * testsuite/pad/link.c:
17294         * testsuite/refcounting/sched.c: (create_pipeline):
17295         * testsuite/registry/Makefile.am:
17296         * testsuite/registry/gst-print-formats.c:
17297         * testsuite/schedulers/.cvsignore:
17298         * testsuite/schedulers/142183-2.c:
17299         * testsuite/schedulers/142183.c:
17300         * testsuite/schedulers/143777-2.c:
17301         * testsuite/schedulers/143777.c:
17302         * testsuite/schedulers/147713.c:
17303         * testsuite/schedulers/147819.c:
17304         * testsuite/schedulers/147894-2.c:
17305         * testsuite/schedulers/147894.c:
17306         * testsuite/schedulers/Makefile.am:
17307         * testsuite/schedulers/group_link.c:
17308         * testsuite/schedulers/queue_link.c:
17309         * testsuite/schedulers/relink.c:
17310         * testsuite/schedulers/unlink.c:
17311         * testsuite/schedulers/unref.c:
17312         * testsuite/schedulers/useless_iteration.c:
17313         * testsuite/states/bin.c:
17314           clean out/remove some stuff from the testsuite directories
17315
17316 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17317
17318         * configure.ac:
17319           check for some headers
17320         * gst/elements/Makefile.am:
17321         * gst/elements/gstelements.c:
17322           don't compile fdsrc without sys/socket.h
17323         * gst/indexers/Makefile.am:
17324         * gst/indexers/gstindexers.c: (plugin_init):
17325           don't compile fileindex without mmap
17326
17327 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17328
17329         * configure.ac:
17330           reorganize
17331           clean up
17332           document more
17333           remove cruft
17334         * check/Makefile.am:
17335         * docs/gst/Makefile.am:
17336         * examples/helloworld/Makefile.am:
17337         * gst/Makefile.am:
17338         * gst/base/Makefile.am:
17339         * gst/check/Makefile.am:
17340         * gst/elements/Makefile.am:
17341         * gst/indexers/Makefile.am:
17342         * gst/parse/Makefile.am:
17343         * libs/gst/controller/Makefile.am:
17344         * libs/gst/dataprotocol/Makefile.am:
17345         * examples/helloworld/helloworld.c: (event_loop):
17346           compile fixes, though it's not being compiled currently
17347
17348 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17349
17350         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
17351           Add some simple tests for the new taglist date API.
17352
17353 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17354
17355         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
17356         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
17357           Beautify 'last-message' output: print 'none' for buffer timestamps
17358           and durations if none is set; improve alignment with next messages.
17359
17360 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17361
17362         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
17363         * gst/gstpluginfeature.h:
17364         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
17365         * gst/gstregistry.h:
17366         * docs/gst/gstreamer-sections.txt:
17367           Add new API to check plugin feature version requirements.
17368
17369         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
17370           Some basic tests for the above.         
17371
17372 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17373
17374         * gst/gststructure.c: (gst_structure_to_string):
17375           guard against NULL printf - happens when for example
17376           a message structure with GstClock gets serialized
17377
17378 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17379
17380         * gst/base/gstcollectpads.c: (gst_collectpads_event):
17381           Fix presumable copy'n'pasto.
17382
17383 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17384
17385         * gst/elements/gstfakesrc.h:
17386         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
17387         * gst/elements/gsttypefindelement.c:
17388           fix some signedness
17389         * gst/elements/gstfilesink.c: (gst_file_sink_render):
17390           I wonder if this could actually write +2GB files before
17391
17392 2005-10-13  Andy Wingo  <wingo@pobox.com>
17393
17394         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
17395         Fix Timmeke Waymans bug.
17396         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
17397         string of the proper length to gst_caps_from_string. There's a
17398         potential for, before this fix, that this could cause someone
17399         connecting over the network to cause a segfault if the payload is
17400         not NUL-terminated.
17401
17402 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17403
17404         * docs/design/draft-push-pull.txt:
17405         * docs/design/part-overview.txt:
17406         * docs/random/TODO-pre-0.9:
17407         * docs/random/old/ChangeLog.gstreamer:
17408         * gst/base/gstpushsrc.c:
17409         * gst/gstclock.c:
17410           fixed typos
17411
17412 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17413
17414         * gst/glib-compat.c: (gst_flags_get_first_value):
17415         * gst/glib-compat.h:
17416         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
17417         (gst_value_compare_double), (gst_value_serialize_flags):
17418           GLib 2.6 g_flags_get_first_value has a bug that triggers an
17419           infinite loop
17420
17421 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17422
17423         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17424         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17425           fix up debugging
17426         * tools/gst-launch.c: (event_loop):
17427           print out clock nicely
17428
17429 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17430
17431         * docs/gst/gstreamer-sections.txt:
17432         * gst/gsttaglist.h:
17433         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
17434         (gst_tag_list_get_date_index):
17435           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
17436           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
17437
17438 2005-10-13  Julien MOUTTE  <julien@moutte.net>
17439
17440         * gst/base/gstcollectpads.c: (gst_collectpads_event),
17441         (gst_collectpads_chain):
17442         * gst/base/gstcollectpads.h: Handle newsegment and store informations
17443         in CollectData.
17444
17445 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17446
17447         * docs/gst/gstreamer-sections.txt:
17448         * gst/gst.c:
17449         * gst/gsterror.h:
17450         * tools/gst-inspect.c: (main):
17451         * tools/gst-launch.c: (main):
17452         * tools/gst-run.c: (main):
17453         * tools/gst-xmlinspect.c: (main):
17454           fix GOption context leaks
17455           doc fixes
17456
17457 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17458
17459         * gst/gstbus.c:
17460           use HAVE_UNISTD_H
17461         * win32/common/config.h:
17462           update config
17463         * win32/vs6/grammar.dsp:
17464         * win32/vs6/libgstelements.dsp:
17465         * win32/vs6/libgstreamer.dsp:
17466           update vs6 files
17467
17468 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17469
17470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17471         * gst/base/gstbasesrc.c: (gst_base_src_query):
17472           fix more guint64<->gdouble conversions
17473
17474 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17475
17476         * Makefile.am:
17477           add win32-update target
17478         * win32/common/gstconfig.h:
17479         * win32/common/gstenumtypes.c:
17480         * win32/common/gstenumtypes.h:
17481         * win32/common/gstversion.h:
17482           add files that visual studio can't generate
17483
17484 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17485
17486         * Makefile.am:
17487           add a win32-update target
17488         * configure.ac:
17489
17490 2005-10-12  Wim Taymans  <wim@fluendo.com>
17491
17492         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17493         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
17494         * gst/gstelement.c: (gst_element_commit_state),
17495         (gst_element_set_state):
17496         Protect flags with proper lock.
17497         unref provided cached clock in dispose.
17498
17499 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17500
17501         * gst/gst.c:
17502         * gst/gstminiobject.h:
17503         * gst/gstpad.h:
17504         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
17505           removed unused flags from miniobject
17506           doc fixes
17507
17508 2005-10-12  Wim Taymans  <wim@fluendo.com>
17509
17510         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17511         (gst_file_sink_event), (gst_file_sink_render):
17512         Flush before seeking.
17513
17514 2005-10-12  Andy Wingo  <wingo@pobox.com>
17515
17516         * gst/gst.c (gst_init_check): Ignore unknown options, as has
17517         always been the case.
17518
17519 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17520
17521         * check/gst/gstbin.c: (GST_START_TEST):
17522         * docs/gst/gstreamer-sections.txt:
17523         * gst/base/gstbasesink.c: (gst_base_sink_init):
17524         * gst/base/gstbasesrc.c: (gst_base_src_init),
17525         (gst_base_src_get_range), (gst_base_src_check_get_range),
17526         (gst_base_src_start), (gst_base_src_stop):
17527         * gst/base/gstbasesrc.h:
17528         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
17529         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17530         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
17531         (bin_bus_handler):
17532         * gst/gstbin.h:
17533         * gst/gstbuffer.h:
17534         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
17535         * gst/gstbus.h:
17536         * gst/gstelement.c: (gst_element_is_locked_state),
17537         (gst_element_set_locked_state), (gst_element_commit_state),
17538         (gst_element_set_state):
17539         * gst/gstelement.h:
17540         * gst/gstindex.c: (gst_index_init):
17541         * gst/gstindex.h:
17542         * gst/gstminiobject.h:
17543         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
17544         (gst_object_set_parent):
17545         * gst/gstobject.h:
17546         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
17547         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
17548         * gst/gstpad.h:
17549         * gst/gstpadtemplate.h:
17550         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
17551         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
17552         * gst/gstpipeline.h:
17553         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17554         (gst_file_index_commit):
17555         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
17556         * testsuite/pad/link.c: (gst_test_src_init),
17557         (gst_test_filter_init), (gst_test_sink_init):
17558         * testsuite/states/locked.c: (main):
17559           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
17560           moved bitshift from macro to enum definition
17561
17562 2005-10-12  Wim Taymans  <wim@fluendo.com>
17563
17564         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
17565         * gst/elements/gstfilesink.c: (gst_file_sink_event),
17566         (gst_file_sink_render):
17567         Some more debugging info.
17568
17569 2005-10-12  Wim Taymans  <wim@fluendo.com>
17570
17571         * docs/design/part-states.txt:
17572         * tools/gst-launch.c: (main):
17573         Some doc updates.
17574         Revert non-intentional change.
17575
17576 2005-10-12  Wim Taymans  <wim@fluendo.com>
17577
17578         * check/gst/gstbin.c: (GST_START_TEST):
17579         * check/gst/gstelement.c: (GST_START_TEST):
17580         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
17581         * check/gst/gstghostpad.c: (GST_START_TEST):
17582         * check/gst/gstpipeline.c: (GST_START_TEST):
17583         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17584         * check/states/sinks.c: (GST_START_TEST):
17585         * gst/elements/gsttypefindelement.c: (stop_typefinding):
17586         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17587         (gst_bin_remove_func), (gst_bin_get_state_func),
17588         (gst_bin_recalc_state), (gst_bin_change_state_func),
17589         (bin_bus_handler):
17590         * gst/gstelement.c: (gst_element_get_state_func),
17591         (gst_element_get_state), (gst_element_abort_state),
17592         (gst_element_commit_state), (gst_element_set_state),
17593         (gst_element_change_state), (gst_element_change_state_func):
17594         * gst/gstelement.h:
17595         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
17596         (gst_pipeline_provide_clock_func):
17597         * gst/gstutils.c: (gst_element_link_pads_filtered):
17598         * tools/gst-launch.c: (main):
17599         * tools/gst-typefind.c: (main):
17600         Use GstClockTime in _get_state() instead of GTimeVal.
17601         Remove old code in gstutils.c
17602
17603 2005-10-12  Andy Wingo  <wingo@pobox.com>
17604
17605         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
17606         removed.
17607
17608         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
17609         there is no task. Shouldn't affect any code, as nothing in our
17610         plugins checks this return value.
17611         (gst_pad_stop_task): Also take the stream lock if the pad has no
17612         task. Docs updated.
17613
17614 2005-10-12  Wim Taymans  <wim@fluendo.com>
17615
17616         * gst/gstpad.c: (pre_activate), (post_activate),
17617         (gst_pad_activate_pull), (gst_pad_activate_push):
17618         Cleanup activation code. Reset old state if
17619         activation failed.
17620
17621 2005-10-12  Wim Taymans  <wim@fluendo.com>
17622
17623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17624         (gst_base_sink_change_state):
17625         No need to prerol after receiving EOS.
17626
17627         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17628         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17629         * gst/elements/gstidentity.c: (gst_identity_event):
17630         Print events more verbosely.
17631
17632 2005-10-12  Wim Taymans  <wim@fluendo.com>
17633
17634         * check/Makefile.am:
17635         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17636         * check/states/sinks2.c:
17637         Moved sinks2 testcode in sinks check.
17638
17639         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17640         (gst_bin_remove_func), (gst_bin_recalc_state),
17641         (gst_bin_change_state_func), (bin_bus_handler):
17642         Fix potential race condition when _get_state() iterated over an
17643         ASYNC element right before it posted a state completion.
17644
17645         * gst/gstclock.h:
17646         Do proper cast here.
17647
17648         * gst/gstevent.c: (gst_event_new_newsegment),
17649         (gst_event_parse_newsegment):
17650         A playback rate of 0.0 is not allowed.
17651
17652 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17653
17654         * win32/common/config.h:
17655         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17656         (_trewinddir), (_ttelldir), (_tseekdir):
17657         * win32/common/dirent.h:
17658         * win32/common/gtchar.h:
17659         * win32/common/libgstbase.def:
17660         * win32/common/libgstreamer.def:
17661         * win32/vs6/grammar.dsp:
17662         * win32/vs6/gst_inspect.dsp:
17663         * win32/vs6/gst_launch.dsp:
17664         * win32/vs6/gstreamer.dsw:
17665         * win32/vs6/libgstbase.dsp:
17666         * win32/vs6/libgstelements.dsp:
17667         * win32/vs6/libgstreamer.dsp:
17668           Visual Studio 6 project files, and a new common directory.
17669           Phear.
17670
17671 2005-10-11  Wim Taymans  <wim@fluendo.com>
17672
17673         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17674         (gst_base_sink_do_sync), (gst_base_sink_query),
17675         (gst_base_sink_change_state):
17676         * gst/base/gstbasesink.h:
17677         Correctly parse newsegment info.
17678
17679 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17680
17681         * gst/gst.c: (init_post):
17682           split plugin paths correctly
17683
17684 2005-10-11  Wim Taymans  <wim@fluendo.com>
17685
17686         * check/gst/gstevent.c: (GST_START_TEST):
17687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17688         (gst_base_sink_change_state):
17689         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17690         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17691         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17692         * gst/gstevent.c: (gst_event_new_newsegment),
17693         (gst_event_parse_newsegment):
17694         * gst/gstevent.h:
17695         Added extra flag to newsegment for future API freeze.
17696         Updated check and base elements.
17697
17698 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17699
17700         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17701         (gst_collectpads_add_pad), (gst_collectpads_pop),
17702         (gst_collectpads_event), (gst_collectpads_chain):
17703         * gst/base/gstcollectpads.h: Handle EOS correctly.
17704
17705 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17706
17707         * tools/gst-launch.c: (main):
17708           more null protecting
17709
17710 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17711
17712         * gst/gst-i18n-lib.h:
17713           check for ENABLE_NLS, not GETTEXT_PACKAGE
17714         * gst/gstregistry.c: (gst_registry_add_plugin),
17715         (gst_registry_scan_path_level),
17716         (_gst_registry_remove_cache_plugins):
17717           protect possibly NULL strings
17718         * gst/parse/types.h:
17719           config.h already included before
17720         * tools/gst-inspect.c: (main):
17721           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17722           check for ENABLE_NLS, not GETTEXT_PACKAGE
17723         * tools/gst-launch.c: (main):
17724           check for ENABLE_NLS, not GETTEXT_PACKAGE
17725
17726 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17727
17728         * configure.ac:
17729           if we don't have glib, fail before testing 2.8
17730         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17731           fix a leak, should fix plugins-base testsuite
17732
17733 2005-10-11  Andy Wingo  <wingo@pobox.com>
17734
17735         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17736         take the mode we're going to as an arg. Go head and set the mode
17737         and flushing flags now, so that if the activate function starts a
17738         thread all the flags will be in the right state.
17739         (post_activate): Renamed also. Just handle making sure streaming
17740         finishes for the deactivation case, and setting the deactivated
17741         mode.
17742         (gst_pad_set_active): Complain loudly if deactivation fails.
17743         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17744         (gst_pad_activate_push): Adapt to pre/post_activate changes,
17745         remove the terrible hack.
17746
17747 2005-10-11  Wim Taymans  <wim@fluendo.com>
17748
17749         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17750         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17751         (gst_bin_recalc_state), (gst_bin_change_state_func),
17752         (gst_bin_dispose), (bin_bus_handler):
17753         * gst/gstbin.h:
17754         Prepare to make current EOS message queue more generic.
17755         Fix some typos.
17756
17757         * gst/gstevent.c: (gst_event_new_newsegment),
17758         (gst_event_parse_newsegment):
17759         * gst/gstevent.h:
17760         Rename base to stream_time.
17761
17762         * gst/gstmessage.h:
17763         Fix typo in docs.
17764
17765 2005-10-11  Wim Taymans  <wim@fluendo.com>
17766
17767         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17768         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17769         (gst_bin_change_state_func), (bin_bus_handler):
17770         * gst/gstbin.h:
17771         Work on proper clock selection.
17772
17773 2005-10-11  Edward Hervey  <edward@fluendo.com>
17774
17775         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
17776         * libs/gst/controller/gstcontroller.h:
17777         Added GList* version of _remove_properties() in order to be able to wrap
17778         it in bindings.
17779
17780 2005-10-11  Wim Taymans  <wim@fluendo.com>
17781
17782         * docs/design/part-states.txt:
17783         Some more docs.
17784
17785         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17786         (gst_bin_change_state_func), (bin_bus_handler):
17787         Doc updates. Don't distribute the same clock over and over again.
17788
17789         * gst/gstclock.c:
17790         * gst/gstclock.h:
17791         Doc updates.
17792
17793         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17794         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17795         (gst_pad_send_event):
17796         * gst/gstpad.h:
17797         Make probe emission threadsafe again.
17798         Register quarks and move _get_name() from utils.
17799         Doc updates.
17800
17801         * gst/gstpipeline.c: (gst_pipeline_class_init),
17802         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17803         Only redistribute the clock of it changed.
17804
17805         * gst/gstsystemclock.h:
17806         Doc updates. 
17807
17808         * gst/gstutils.c:
17809         * gst/gstutils.h:
17810         Moved the _flow_get_name() to GstPad.
17811
17812 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17813
17814         * check/gst-libs/gdp.c: (GST_START_TEST):
17815         * check/gst/gstcaps.c: (GST_START_TEST):
17816         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17817         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17818         (gst_dp_packet_from_caps):
17819           fix more valgrind warnings before turning up the heat
17820
17821 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17822
17823         * gst/parse/grammar.y:
17824           some cleanup before the hacking
17825
17826 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17827
17828         * gst/base/gstbasesrc.c: (gst_base_src_query):
17829           use conversions
17830         * gst/gstutils.c: (gst_guint64_to_gdouble),
17831         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17832         * gst/gstutils.h:
17833           externalize, basesrc uses it
17834           obviously the implementation needs testing
17835
17836 2005-10-10  Wim Taymans  <wim@fluendo.com>
17837
17838         * tests/sched/Makefile.am:
17839         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17840         (make_pipeline3), (make_pipeline4), (print_elem), (main):
17841
17842 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17843
17844         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17845           apparently converting from guint64 to double is not implemented
17846           on MSVC
17847
17848 2005-10-10  Wim Taymans  <wim@fluendo.com>
17849
17850         * check/Makefile.am:
17851         * check/generic/states.c: (GST_START_TEST):
17852         * check/gst/gstbin.c: (GST_START_TEST):
17853         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17854         * check/states/sinks.c: (GST_START_TEST):
17855         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17856         (main):
17857         Check fixes, use API as stated in design docs, remove hacks.
17858
17859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17860         (gst_base_sink_change_state):
17861         Catch stopping our task while we're shutting down.
17862
17863         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17864         (gst_bin_remove_func), (gst_bin_get_state_func),
17865         (gst_bin_recalc_state), (gst_bin_change_state_func),
17866         (bin_bus_handler):
17867         * gst/gstbin.h:
17868         * gst/gstelement.c: (gst_element_init),
17869         (gst_element_get_state_func), (gst_element_abort_state),
17870         (gst_element_commit_state), (gst_element_lost_state),
17871         (gst_element_set_state), (gst_element_change_state),
17872         (gst_element_change_state_func):
17873         * gst/gstelement.h:
17874         New state change algorithm (see #318116)
17875
17876         * gst/gstpipeline.c: (gst_pipeline_class_init),
17877         (gst_pipeline_init), (gst_pipeline_set_property),
17878         (gst_pipeline_get_property), (do_pipeline_seek),
17879         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17880         * gst/gstpipeline.h:
17881         Remove crude state change hacks.
17882
17883         * gst/gstutils.h:
17884         Remove crude hacks.
17885
17886         * tools/gst-launch.c: (main):
17887         Fixes for state change. Needs some more work to fully use the
17888         new stuff.
17889
17890 2005-10-10  Andy Wingo  <wingo@pobox.com>
17891
17892         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17893
17894         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17895         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17896         issue.
17897
17898 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17899
17900         * gst/gstiterator.c: (gst_iterator_new):
17901           Fix my previous commit: GTypes passed to gst_iterator_new()
17902           can be fundamental types.
17903
17904 2005-10-10  Wim Taymans  <wim@fluendo.com>
17905
17906         * gst/gstelement.c: (gst_element_iterate_pad_list),
17907         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17908         (gst_element_iterate_sink_pads):
17909         Use src/sink pads lists for the respective iterators instead
17910         of filtering.
17911
17912 2005-10-10  Andy Wingo  <wingo@pobox.com>
17913
17914         Merged in popt removal + GOption addition patch from Ronald, bug
17915         #169772.
17916
17917         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17918         GstElement macros around, remove popt-related symbols, add goption
17919         stuff.
17920
17921         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17922         
17923         * docs/gst/Makefile.am:
17924         * docs/libs/Makefile.am: No POPT_CFLAGS.
17925         
17926         * examples/manual/Makefile.am:
17927         * docs/manual/basics-init.xml: Doc updates with an example.
17928         
17929         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17930         (gst_init), (parse_one_option), (parse_goption_arg):
17931         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17932         bit of hand merging and debugging to get the GOption stuff working
17933         tho.
17934         
17935         * tests/Makefile.am:
17936         * tools/Makefile.am:
17937         * tools/gst-inspect.c: (main):
17938         * tools/gst-launch.c: (main):
17939         * tools/gst-run.c: (main):
17940         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17941
17942 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17943
17944         * gst/gstiterator.c: (gst_iterator_new):
17945           Add assertions to make sure passed GType is likely to really
17946           be a GType (as the compiler won't catch it if the size and
17947           GType arguments get mixed up, see #318447).
17948
17949 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17950
17951         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17952
17953         * gst/gstbin.c: (gst_bin_iterate_sorted):
17954           Pass GType and size arguments to gst_iterator_new() in the right
17955           order (maybe we should make _new() take the GType as first argument
17956           just like _new_list()?) (#318447).
17957           
17958
17959 2005-10-10  Wim Taymans  <wim@fluendo.com>
17960
17961         * gst/gstelement.c: (gst_element_finalize):
17962         And free the GStaticRecMutex too
17963
17964 2005-10-10  Andy Wingo  <wingo@pobox.com>
17965
17966         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17967         Allocate and free the mutex properly.
17968
17969         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17970         New macros.
17971         (GstElement): The state_lock is now recursive. Rebuild your
17972         plugins, suckers. Old macros adapted.
17973
17974         * docs/gst/gstreamer-sections.txt: Doc updates.
17975
17976         * gst/gstutils.h:
17977         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17978         (g_static_rec_cond_wait): Ported from state changes patch, while
17979         we wait on bug #317802 to be solved in a well-distributed GLib.
17980
17981         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17982         gst_element_change_state, variable name changes.
17983         (gst_element_change_state): Split out of gst_element_set_state in
17984         preparation for the state change merge. Doesn't pay attention to
17985         the 'transition' argument.
17986         (gst_element_set_state): Updates, hopefully purely cosmetic.
17987         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17988         state change patch.
17989         (gst_element_get_state_func): Renamed from get_state, cosmetic
17990         changes.
17991
17992 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17993
17994         * gst/elements/gstelements.c:
17995         * win32/GStreamer.vcproj:
17996         * win32/config.h:
17997         * win32/dirent.c: (_tseekdir):
17998         * win32/gst-inspect.vcproj:
17999         * win32/gst-launch.vcproj:
18000         * win32/gstconfig.h:
18001         * win32/gstelements.vcproj:
18002         * win32/gstenumtypes.c: (gst_object_flags_get_type):
18003         * win32/gstreamer.def:
18004         * win32/msvc71.sln:
18005           updates for the win32 build (patch from Sebastien Moutte)
18006
18007 2005-10-10  Andy Wingo  <wingo@pobox.com>
18008
18009         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
18010         gst_bin_get_state, cleaned up (but no logic changes).
18011         (bin_element_is_sink): Comment updates.
18012         (sink_iterator_filter): Remove needless cast.
18013         (gst_bin_iterate_sinks): Doc update.
18014         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
18015         cleaned up (but no logic changes).
18016
18017         * check/states/sinks.c (test_src_sink): Cleanups from the state
18018         change patch.
18019         (test_livesrc_sink): Sync on the state.
18020
18021         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
18022         the state change patch.
18023
18024         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
18025         change patch.
18026
18027         * check/gst/gstbin.c: Merge in some style fixes and additional
18028         checks from Wim's state change patch.
18029
18030 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18031
18032         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18033         (gst_type_find_helper):
18034           Check whether we have the requested data already in our list of
18035           cached buffers before pulling a new buffer; also make the buffer
18036           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
18037
18038 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18039
18040         * gst/gstcaps.c:
18041         * gst/gstevent.c:
18042           doc updates
18043         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
18044           don't use long long, it's not portable.  Replacing with
18045           gint64 seems to work; let's hope no skeletons fall out of the closet.
18046
18047 2005-10-10  Andy Wingo  <wingo@pobox.com>
18048
18049         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
18050
18051 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
18052
18053         * docs/gst/gstreamer-sections.txt:
18054         * gst/gstevent.c:
18055         * gst/gstevent.h:
18056         * gst/gstinfo.c:
18057         * gst/gstinfo.h:
18058         * gst/gstmessage.c: (gst_message_parse_state_changed):
18059         * gst/gstpad.c:
18060         * gst/gstpad.h:
18061           more docs, fix compilation
18062
18063 2005-10-09  Philippe Khalaf <burger@speedy.org>
18064         * gst/gstmessage.c:
18065           Fixed a few forgotten variables on previous commit
18066
18067 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
18068
18069         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18070           Fix evil typefind crasher: getrange() might return a short
18071           buffer at the end of a file, but gst_type_find_peek() must
18072           either return the full data as requested or NULL, but
18073           never a short buffer.
18074
18075 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18076
18077         * gst/gstmessage.c: (gst_message_new_state_changed),
18078         (gst_message_parse_state_changed):
18079         * gst/gstmessage.h:
18080           don't use "new", it's a C++ keyword
18081
18082 2005-10-08  Wim Taymans  <wim@fluendo.com>
18083
18084         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
18085         * gst/gstelement.c: (gst_element_post_message):
18086         * gst/gstpipeline.c: (gst_pipeline_change_state):
18087         Small docs and debug updates.
18088
18089 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18090
18091         * docs/gst/gstreamer-sections.txt:
18092         * gst/gstelementfactory.c:
18093         * gst/gstevent.c:
18094         * gst/gsttaglist.c:
18095           more docs
18096
18097 2005-10-08  Wim Taymans  <wim@fluendo.com>
18098
18099         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
18100         (gst_bin_dispose), (bin_bus_handler):
18101         Fix typos, add comments.
18102         Clear EOS list when going to PAUSED from any direction and do it
18103         in a threadsafe way.
18104         Get base time in a threadsafe way too.
18105         Fix confusing debug in the change_state function.
18106         Various other small cleanups.
18107         
18108         * gst/gstelement.c: (gst_element_post_message):
18109         Fix very verbose bus posting code.
18110
18111         * gst/gstpipeline.c: (gst_pipeline_class_init),
18112         (gst_pipeline_set_property), (gst_pipeline_get_property),
18113         (gst_pipeline_change_state):
18114         Small ARG_ -> PROP_ cleanup
18115
18116 2005-10-08  Wim Taymans  <wim@fluendo.com>
18117
18118         * gst/gstbin.c: (is_eos), (bin_bus_handler):
18119         Do a less CPU demanding EOS check because we can.
18120
18121 2005-10-08  Wim Taymans  <wim@fluendo.com>
18122
18123         * libs/gst/dataprotocol/dataprotocol.c:
18124         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
18125         (gst_dp_packet_from_event):
18126         * libs/gst/dataprotocol/dataprotocol.h:
18127         * libs/gst/dataprotocol/dp-private.h:
18128         It's about time we bump the version number.
18129         Since event types don't fit in the guint8 anymore describing
18130         the payload type, make payload type 16 bits wide.
18131
18132 2005-10-08  Wim Taymans  <wim@fluendo.com>
18133
18134         * docs/design/part-TODO.txt:
18135         * docs/design/part-clocks.txt:
18136         * docs/design/part-events.txt:
18137         * docs/design/part-gstbin.txt:
18138         * docs/design/part-gstelement.txt:
18139         * docs/design/part-gstpipeline.txt:
18140         * docs/design/part-live-source.txt:
18141         * docs/design/part-messages.txt:
18142         * docs/design/part-overview.txt:
18143         * docs/design/part-states.txt:
18144         Many doc updates.
18145
18146 2005-10-08  Wim Taymans  <wim@fluendo.com>
18147
18148         * gst/gstevent.c:
18149         * gst/gstevent.h:
18150         Fix event quark registration.
18151         Add some space between events so we can insert them in the
18152         right groups.
18153
18154 2005-10-08  Wim Taymans  <wim@fluendo.com>
18155
18156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18157         (gst_base_sink_handle_buffer):
18158         Better log message.
18159
18160         * gst/gstbus.h:
18161         * gst/gstelement.h:
18162         More docs.
18163
18164         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18165         (gst_queue_set_property), (gst_queue_get_property):
18166         * gst/gstqueue.h:
18167         Remove old unused properties.
18168
18169 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18170         * docs/gst/gstreamer-sections.txt:
18171         * gst/gstmessage.c:
18172         * gst/gstmessage.h:
18173         * gst/gstminiobject.c:
18174         * gst/gstminiobject.h:
18175         * gst/gstobject.h:
18176         * gst/gstpad.h:
18177         * gst/gstutils.h:
18178           lots of new docs and doc fixes
18179
18180 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18181
18182         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
18183         * gst/gstplugin.h:
18184         * gst/gstregistry.c: (gst_registry_lookup_locked),
18185         (gst_registry_scan_path_level):
18186         * gst/gstregistryxml.c: (load_plugin):
18187           Only ever load one plugin for a given plugin basename.
18188           This ensures correct overriding of GST_PLUGIN_PATH over
18189           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
18190           system installed plugins.
18191
18192 2005-10-08  Wim Taymans  <wim@fluendo.com>
18193
18194         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18195         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
18196         Prepare for doing QOS.
18197
18198 2005-10-08  Wim Taymans  <wim@fluendo.com>
18199
18200         * check/gst/gstbin.c: (GST_START_TEST):
18201         * check/pipelines/cleanup.c: (GST_START_TEST):
18202         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18203         Allow new clock message too.
18204
18205 2005-10-08  Wim Taymans  <wim@fluendo.com>
18206
18207         * gst/gstmessage.c: (gst_message_new_error),
18208         (gst_message_new_warning), (gst_message_new_tag),
18209         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18210         (gst_message_new_clock_lost), (gst_message_new_new_clock),
18211         (gst_message_new_segment_start), (gst_message_new_segment_done),
18212         (gst_message_parse_state_changed),
18213         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
18214         (gst_message_parse_new_clock):
18215         * gst/gstmessage.h:
18216         Also carry the clock in question.
18217
18218 2005-10-08  Wim Taymans  <wim@fluendo.com>
18219
18220         * gst/gstmessage.c: (gst_message_new_custom),
18221         (gst_message_new_eos), (gst_message_new_error),
18222         (gst_message_new_warning), (gst_message_new_tag),
18223         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18224         (gst_message_new_new_clock), (gst_message_new_segment_start),
18225         (gst_message_new_segment_done), (gst_message_parse_state_changed),
18226         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
18227         * gst/gstmessage.h:
18228         Clean up.
18229         Added clock related messages.
18230
18231         * gst/gstpipeline.c: (gst_pipeline_change_state):
18232         Post message when the clock changed.
18233
18234         * tools/gst-launch.c: (event_loop):
18235         Print new clock.
18236
18237 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
18238
18239         * tools/gst-inspect.c: (print_element_properties_info):
18240           Can't pass NULL strings to g_print() on windows.
18241
18242 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18243
18244         * docs/Makefile.am:
18245         * docs/gst/Makefile.am:
18246         * docs/gst/gstreamer-docs.sgml:
18247         * docs/gst/running.xml:
18248         * docs/version.entities.in:
18249           add a chapter on running GStreamer.
18250           document GST_DEBUG and GST_PLUGIN* env vars
18251
18252 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18253
18254         * Makefile.am:
18255           remove include dir
18256         * configure.ac:
18257           remove PLUGINS_BUILDDIR stuff
18258         * gst/gst.c: (init_post):
18259           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
18260         * idiottest.mak:
18261           remove, it was condescending and not needed
18262
18263 2005-10-08  Wim Taymans  <wim@fluendo.com>
18264
18265         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
18266         (gst_base_sink_handle_object), (gst_base_sink_event),
18267         (gst_base_sink_wait), (gst_base_sink_handle_event),
18268         (gst_base_sink_change_state):
18269         * gst/base/gstbasesink.h:
18270         Repost EOS message while going to PLAYING if still EOS.
18271         Make sure that when receiving a FLUSH_START we don't attempt
18272         to sync on the clock anymore.
18273
18274 2005-10-08  Wim Taymans  <wim@fluendo.com>
18275
18276         * tools/gst-launch.c: (event_loop):
18277         Better message printout.
18278
18279 2005-10-08  Wim Taymans  <wim@fluendo.com>
18280
18281         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
18282         (gst_bin_child_proxy_get_children_count):
18283         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18284         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
18285         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
18286         (gst_child_proxy_set_valist):
18287         * gst/parse/grammar.y:
18288         Make ChildProxy threadsafe and fix mem leaks.
18289
18290 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18291
18292         * gst/gst.c: (init_post):
18293           debug the GST_PLUGIN_ env vars
18294
18295 2005-10-08  Wim Taymans  <wim@fluendo.com>
18296
18297         * check/gst/gstbin.c: (GST_START_TEST):
18298         * check/gst/gstmessage.c: (GST_START_TEST):
18299         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18300         * gst/gstelement.c: (gst_element_commit_state),
18301         (gst_element_lost_state):
18302         * gst/gstmessage.c: (gst_message_new_state_changed),
18303         (gst_message_parse_state_changed):
18304         * gst/gstmessage.h:
18305         * tools/gst-launch.c: (event_loop):
18306         Added extra field to STATE_CHANGE message with the pending
18307         state, which will be different from the new state soon.
18308
18309 2005-10-08  Wim Taymans  <wim@fluendo.com>
18310
18311         * gst/gstbus.c: (gst_bus_pop):
18312         * gst/gstclock.c:
18313         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18314         Small cleanups and doc updates.
18315
18316 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18317
18318         * gst/gst.c: (init_pre):
18319         * gst/gstbin.c: (gst_bin_add_func):
18320           log distributing clocks and base time
18321         * gst/gstregistry.c: (gst_registry_add_plugin),
18322         (gst_registry_scan_path_level), (gst_registry_scan_path):
18323           clean up the debugging output a little
18324         * gst/gstutils.c: (gst_element_state_get_name):
18325           warn about a memleak (I've actually seen this be used, though
18326           it was probably a bug)
18327
18328 2005-10-07  Wim Taymans  <wim@fluendo.com>
18329
18330         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18331         (gst_base_src_init), (gst_base_src_default_newsegment),
18332         (gst_base_src_newsegment), (gst_base_src_do_seek),
18333         (gst_base_src_loop), (gst_base_src_start):
18334         * gst/base/gstbasesrc.h:
18335         Make the newsegment event customizable by subclasses.
18336
18337 2005-10-07  Wim Taymans  <wim@fluendo.com>
18338
18339         * gst/gstevent.c: (gst_event_new_buffersize),
18340         (gst_event_parse_buffersize):
18341         * gst/gstevent.h:
18342         New event for future idea.
18343
18344 2005-10-07  Andy Wingo  <wingo@pobox.com>
18345
18346         * gst/gstelement.c (gst_element_post_message): Doc update.
18347
18348         * docs/gst/gstreamer-sections.txt: Update.
18349
18350         * gst/gstmessage.c (gst_message_new_application): Made into a
18351         function like honest API calls.
18352         (gst_message_new_element): New message type.
18353
18354         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
18355
18356         * check/elements/fakesrc.c (test_no_preroll): New check, checks
18357         that setting a live fakesrc to PAUSED returns NO_PREROLL both
18358         times.
18359
18360         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
18361         NO_PREROLL from gst_element_change_state to fall through.
18362
18363 2005-10-07  Wim Taymans  <wim@fluendo.com>
18364
18365         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
18366         (gst_ghost_pad_do_activate_push):
18367         Activating a ghostpad with no internal pad in push mode
18368         is ok.
18369
18370 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18371
18372         * gst/gstobject.h:
18373           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
18374           Fixes compilation on Windows.
18375
18376 2005-10-07  Michael Smith <msmith@fluendo.com>
18377
18378         * tools/gst-inspect.c:
18379           Print out feature and plugin count at the end when printing out
18380           all features.
18381
18382 2005-10-04  Michael Smith <msmith@fluendo.com>
18383
18384         * gst/gsterror.c: (_gst_stream_errors_init):
18385           Add another error string used in a few existing plugins.
18386
18387         * gst/gstplugin.c:
18388         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18389         * tools/gst-inspect.c: (print_element_info):
18390           When a feature disappears from a plugin (and the feature exists in
18391           the cached registry file), things went horribly wrong. This isn't a
18392           complete fix, we should actually be removing the 'missing' features
18393           from the features list when we load the actual plugin. That's not
18394           yet implemented. 
18395
18396 2005-10-04  Johan Dahlin  <johan@gnome.org>
18397
18398         * check/gst/gstiterator.c: (GST_START_TEST):
18399         * gst/gstbin.c: (gst_bin_iterate_elements),
18400         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
18401         * gst/gstelement.c: (gst_element_iterate_pads):
18402         * gst/gstformat.c: (gst_format_iterate_definitions):
18403         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18404         (gst_iterator_new_list), (gst_iterator_filter):
18405         * gst/gstiterator.h:
18406         * gst/gstquery.c: (gst_query_type_iterate_definitions):
18407         Add a GType to GstIterator, update callsites and tests.
18408
18409 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18410
18411         * gst/gstpad.c: (gst_pad_event_default_dispatch):
18412           give events a chance to be handled by event probes when the pad
18413           is not linked
18414
18415 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18416
18417         * gst/gstevent.c: (gst_event_type_get_name),
18418         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
18419         * gst/gstevent.h:
18420           add string representations for event types
18421
18422 2005-10-06  Wim Taymans  <wim@fluendo.com>
18423
18424         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
18425         Don't use NULL pointers.
18426
18427 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18428
18429         * gst/gst_private.h:
18430         * gst/gstbus.c:
18431         * gst/gstelement.c:
18432         * gst/gstinfo.c:
18433         * gst/gstpluginfeature.c:
18434           widen the debug category in output to fit the biggest one we have
18435           add a bus category and use it
18436           play with the colors
18437           fix up some categories
18438
18439 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18440
18441         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
18442           add push activation of sink ghost pads.
18443           Andye, please verify
18444
18445 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18446
18447         * gst/gstutils.c: (gst_element_link_pads):
18448           fix a bug in the case where neither element has a pad
18449         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18450           add a test for that case
18451
18452 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18453
18454         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
18455           emit have-data before checking for peers.  This allows
18456           for probe handlers to connect elements.  This helps autopluggers.
18457         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
18458         (gst_pad_suite):
18459           add six checks, linked/unlinked with no/true/false probe
18460
18461 2005-10-04  Wim Taymans  <wim@fluendo.com>
18462
18463         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
18464         (gst_fake_sink_event), (gst_fake_sink_preroll),
18465         (gst_fake_sink_render), (gst_fake_sink_change_state):
18466         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
18467         (gst_fake_src_get_property), (gst_fake_src_create),
18468         (gst_fake_src_stop):
18469         * gst/elements/gstidentity.c: (gst_identity_stop):
18470         Protect last_message with lock.
18471
18472 2005-10-04  Edward Hervey  <edward@fluendo.com>
18473
18474         * gst/gstformat.h: 
18475         Added precision in the comments for GST_FORMAT_DEFAULT
18476
18477 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
18478
18479         * tools/gst-launch.c: (main):
18480           Don't try to run erroneous pipelines.
18481
18482 2005-10-04  Julien MOUTTE  <julien@moutte.net>
18483
18484         * gst/gstbus.c: We don't need this header.
18485
18486 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18487
18488         * configure.ac:
18489           back to development
18490
18491 === release 0.9.3 ===
18492
18493 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18494
18495         * README:
18496         * configure.ac:
18497           Releasing 0.9.3, "Unregistered"
18498
18499 2005-10-03  Andy Wingo  <wingo@pobox.com>
18500
18501         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
18502         whereby calling a pad's activatepush() function can start a thread
18503         that starts to push or pull before the pad gets the FLUSHING flag
18504         unset. Hack around it by holding the stream lock until the flag is
18505         set. Need to replace this with a proper solution. Together with
18506         the ghost pad fixes, this fixes mp3 playing/tagreading.
18507
18508         * docs/design/part-gstghostpad.txt: Add a note about activation of
18509         proxy pads outside of ghost pads.
18510
18511         * gst/gstghostpad.c: Implement the ghost pad activation design.
18512
18513 2005-10-02  Andy Wingo  <wingo@pobox.com>
18514
18515         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
18516         It is volatile, after all.
18517
18518         * docs/design/part-gstghostpad.txt: Flesh out activation with
18519         ghost pads.
18520
18521         * gst/base/gstbasesrc.c (gst_base_src_init): Use
18522         GST_DEBUG_FUNCPTR.
18523
18524 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
18525
18526         * configure.ac:
18527           Fix (unused) AM_CONDITIONAL tests.
18528
18529 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
18530
18531         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18532
18533         * gst/gstutils.c: (gst_pad_query_convert):
18534           Add assertion that makes sure src_val is >=0, just like
18535           gst_query_new_convert() has. (#315895)
18536
18537 2005-09-30  Edward Hervey  <edward@fluendo.com>
18538
18539         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
18540         Let's not iterate pads we're not interested in, it avoids getting 
18541         sky-high refcounts on sinkpad.
18542
18543 2005-09-30  Wim Taymans  <wim@fluendo.com>
18544
18545         * gst/gstelement.c: (gst_element_set_state),
18546         (gst_element_change_state):
18547         Small tweak, element in ASYNC remains ASYNC.
18548
18549 2005-09-30  Wim Taymans  <wim@fluendo.com>
18550
18551         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18552         Only error is an error.
18553
18554         * gst/gstbin.c: (gst_bin_change_state):
18555         Better debugging.
18556
18557         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
18558         Also call pad_block in pad alloc.
18559
18560         * gst/gstutils.c: (gst_flow_get_name):
18561         Better debugging.
18562
18563 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18564
18565         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18566         (gst_base_src_get_range):
18567           Fix documentation typos. Add some more debug info.
18568
18569 2005-09-29  David Schleef  <ds@schleef.org>
18570
18571         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
18572           more end-user friendly.
18573         * tools/gst-inspect.c: (main): Check if command-line argument is
18574           a file and attempt to load that file as a plugin.
18575
18576 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18577
18578         * check/gst/gstbin.c:
18579         * check/states/sinks.c:
18580           fix tests for the new warning
18581         * check/gst/gstpipeline.c:
18582           add a test for pipeline and bus interaction
18583         * gst/gstelement.c:
18584           elements should be NULL if they get disposed; add a warning if not
18585
18586 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18587
18588         * gst/gstobject.c:
18589           for 2.6 refcounting, make debug log more correct by printing
18590           the actual refcounts at the time of swap (Wim)
18591
18592 2005-09-29  Andy Wingo  <wingo@pobox.com>
18593
18594         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
18595         removes signal watches previously added via
18596         gst_bus_add_signal_watch.
18597         (gst_bus_add_signal_watch): Don't return the source id, just store
18598         it on the bus if there wasn't an id already.
18599
18600         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
18601         add_signal_watch and remove_signal_watch.
18602
18603 2005-09-29  Edward Hervey  <edward@fluendo.com>
18604
18605         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
18606         Better if we actually iterate the list :)
18607
18608 2005-09-29  Wim Taymans  <wim@fluendo.com>
18609
18610         * check/gst/gstbin.c: (GST_START_TEST):
18611         Change for new bus API.
18612
18613         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18614         (send_messages), (GST_START_TEST), (gstbus_suite):
18615         Change for new bus signal API.
18616
18617         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
18618         (gst_bus_source_prepare), (gst_bus_source_check),
18619         (gst_bus_create_watch), (gst_bus_add_watch_full),
18620         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18621         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18622         * gst/gstbus.h:
18623         Remove support for multiple GSources operating on different
18624         message types as it is too complex and unneeded when using
18625         signals.
18626         Added support for receiving signals from the bus.
18627
18628 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18629
18630         * docs/libs/tmpl/gstdataprotocol.sgml:
18631         * docs/manual/advanced-dataaccess.xml:
18632         * gst/elements/gstcapsfilter.c:
18633         * gst/gstutils.c:
18634           rename filter-caps to caps property
18635
18636 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18637
18638         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18639           More robust fraction string parsing.
18640
18641         * docs/pwg/appendix-porting.xml:
18642           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18643
18644 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18645
18646         * gst/gstcaps.c: (gst_caps_do_simplify):
18647           Thou shalt not free a structure and then continue using it
18648           in the next loop iteration.
18649
18650         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18651         (gst_caps_suite):
18652           Add test case for caps simplification.
18653
18654 2005-09-29  Wim Taymans  <wim@fluendo.com>
18655
18656         * check/gst/gstbin.c: (GST_START_TEST):
18657         Oops.
18658
18659 2005-09-29  Wim Taymans  <wim@fluendo.com>
18660
18661         * check/gst/gstbin.c: (GST_START_TEST):
18662         Add bus to bin.
18663
18664         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18665         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18666         (find_element), (gst_bin_sort_iterator_next),
18667         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18668         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18669         (gst_bin_change_state), (gst_bin_dispose):
18670         A bin does not have a bus, it gets the bus from the parent.
18671
18672         * gst/gstelement.c: (gst_element_requires_clock),
18673         (gst_element_provides_clock), (gst_element_is_indexable),
18674         (gst_element_is_locked_state), (gst_element_change_state),
18675         (gst_element_set_bus_func):
18676         Small cleanups.
18677
18678         * gst/gstpipeline.c: (gst_pipeline_class_init),
18679         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18680         The pipeline provides a bus.
18681
18682 2005-09-28  Johan Dahlin  <johan@gnome.org>
18683
18684         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18685         gst_structure_get_enum instead of gst_structure_get_int
18686
18687         * gst/gststructure.c (gst_structure_get_enum): Impl.
18688
18689         * gst/gststructure.h (gst_structure_get_enum): Add
18690
18691         * docs/gst/gstreamer-sections.txt: Ditto
18692
18693         * gst/gstmessage.c (gst_message_new_state_changed): Use
18694         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18695         which does introspection.
18696         Reviewed by Christian Schaller
18697
18698 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18699
18700         * gst/gstinfo.c: (gst_debug_log_default):
18701           don't do dummy g_strdup()s
18702         * libs/gst/controller/gstcontroller.c:
18703         (on_object_controlled_property_changed),
18704         (gst_controlled_property_new), (gst_controller_new_valist),
18705         (gst_controller_new_list),
18706         (gst_controller_remove_properties_valist), (gst_controller_set),
18707         (gst_controller_get), (gst_controller_sync_values),
18708         (gst_controller_get_value_array), (_gst_controller_class_init),
18709         (gst_controller_get_type):
18710         * libs/gst/controller/gstcontroller.h:
18711         * libs/gst/controller/gstinterpolation.c:
18712         (gst_controlled_property_find_timed_value_node):
18713           convert // to /**/ comments
18714
18715 2005-09-28  Wim Taymans  <wim@fluendo.com>
18716
18717         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18718         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18719         (gst_bus_sync_signal_handler):
18720         * gst/gstbus.h:
18721         Added async-message and sync-message signals to the bus.
18722         Added helper BusFunc to emit signals for all posted messages.
18723
18724         * gst/gstmessage.c: (gst_message_type_get_name),
18725         (gst_message_type_to_quark), (gst_message_get_type):
18726         * gst/gstmessage.h:
18727         Register quarks for message names.
18728
18729 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18730
18731         * docs/libs/gstreamer-libs-sections.txt:
18732         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18733         (gst_controller_new_list):
18734         * libs/gst/controller/gstcontroller.h:
18735           added another constructor for language bindings
18736
18737 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18738
18739         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18740           add another check
18741         * gst/gstbus.c:
18742           add some doc
18743         * gst/gstinfo.c: (_gst_debug_init):
18744           slightly more readable color for refcount debugging
18745
18746 2005-09-28  Wim Taymans  <wim@fluendo.com>
18747
18748         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18749         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18750         (find_element), (gst_bin_sort_iterator_next),
18751         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18752         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18753         (gst_bin_change_state), (gst_bin_dispose):
18754         Small doc fixes. get_clock -> provide_clock.
18755
18756         * gst/gstelement.c: (gst_element_class_init),
18757         (gst_element_provides_clock), (gst_element_provide_clock),
18758         (gst_element_get_clock), (gst_element_commit_state),
18759         (gst_element_lost_state):
18760         * gst/gstelement.h:
18761         Make get/set_clock() symetric. Add provide_clock vmethod since
18762         that is actually what this function does.
18763
18764         * gst/gstpipeline.c: (gst_pipeline_class_init),
18765         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18766         (gst_pipeline_get_clock):
18767         get_clock -> provide_clock.
18768
18769 2005-09-28  Andy Wingo  <wingo@pobox.com>
18770
18771         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18772         lieu of real docs...
18773
18774         * gst/elements/gstfdsrc.c: Cleaned up a bit.
18775
18776 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
18777
18778         * gst/elements/gstcapsfilter.c:
18779         * gst/elements/gstfakesink.c:
18780         * gst/elements/gstfakesrc.c:
18781         * gst/elements/gstfdsink.c:
18782         * gst/elements/gstfdsrc.c:
18783         * gst/elements/gstfilesink.c:
18784         * gst/elements/gstfilesrc.c:
18785         * gst/elements/gstidentity.c:
18786         * gst/elements/gsttee.c:
18787         * gst/elements/gsttypefindelement.c:
18788           Make element details static.
18789
18790 2005-09-28  Wim Taymans  <wim@fluendo.com>
18791
18792         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18793         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18794         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18795         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18796         (gst_bin_change_state), (gst_bin_dispose):
18797         Some documentation updates.
18798         Clean up dispose handlers.
18799
18800         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18801         * gst/gstpad.c: (gst_pad_dispose):
18802         Clean up dispose handler.
18803
18804         * gst/gstpipeline.c: (gst_pipeline_change_state):
18805         Removed spurious UNLOCK.
18806
18807 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
18808
18809         * docs/gst/gstreamer-sections.txt:
18810         * gst/base/gstbasesrc.h:
18811         * gst/gstelement.h:
18812         * gst/gstevent.h:
18813         * gst/gstobject.h:
18814         * gst/gstpad.h:
18815         * gst/gstpipeline.c:
18816         * gst/gstpipeline.h:
18817         * gst/gstutils.h:
18818         * gst/gstxml.h:
18819           added two new functions to the docs
18820                 documents all undocumented GstXXXFlags
18821                 completed some incomplete docs 
18822
18823 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18824
18825         * gst/gstbin.c: (gst_bin_dispose):
18826         * gst/gstelement.c: (gst_element_dispose):
18827           remove now useless and leaky resurrection code in dispose
18828         * gst/base/gstbasesrc.c: (gst_base_src_init):
18829         * gst/gstelementfactory.c: (gst_element_factory_create):
18830         * gst/gstobject.c: (gst_object_set_parent):
18831           add some debugging
18832
18833 2005-09-27  Wim Taymans  <wim@fluendo.com>
18834
18835         * docs/design/part-TODO.txt:
18836         Update TODO.
18837
18838         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18839         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18840         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18841         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18842         (gst_bin_change_state):
18843         * gst/gstelement.h:
18844         Remove element variable, we keep element info in the iterator now.
18845
18846 2005-09-27  Andy Wingo  <wingo@pobox.com>
18847
18848         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18849         values.
18850
18851 2005-09-27  Wim Taymans  <wim@fluendo.com>
18852
18853         * check/gst/gstbin.c: (GST_START_TEST):
18854         Enable check that works now.
18855
18856         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18857         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18858         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18859         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18860         (gst_bin_change_state):
18861         * gst/gstbin.h:
18862         Redid the state change algorithm using a topological sort algo.
18863         Handles all cases correctly.
18864         Exposed iterator for state change order.
18865
18866         * gst/gstelement.h:
18867         Temp storage for state changes. Need to get rid of this soon.
18868
18869 2005-09-27  Wim Taymans  <wim@fluendo.com>
18870
18871         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18872         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18873         (link_fold_func), (gst_pad_proxy_setcaps):
18874         Leak fixes, the fold functions need to unref the passed object and
18875         _get_parent_*() returns ref to parent.
18876
18877 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18878
18879         * check/gst/gstbuffer.c: (test_make_writable):
18880           Plug leak in test case and fix 'make check-valgrind'
18881
18882 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18883
18884         * gst/gstbuffer.c: (gst_subbuffer_init):
18885           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18886           works correctly in all circumstances (we could have just copied
18887           the parent buffer's readonly flag, but conceptually it seems
18888           cleaner to mark all subbuffers as read-only). (based on patch
18889           by Alessandro Decina, #314710).
18890         
18891         * check/gst/gstbuffer.c: (create_read_only_buffer),
18892         (test_make_writable), (test_subbuffer_make_writable),
18893         (gst_test_suite):
18894           Add some tests for gst_buffer_make_writable().
18895
18896 2005-09-27  Wim Taymans  <wim@fluendo.com>
18897
18898         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18899         use gst_object_has_ancestor().
18900
18901         * gst/gstobject.c: (gst_object_has_ancestor):
18902         * gst/gstobject.h:
18903         gst_object_has_ancestor() copied from gstbin.c as it is a
18904         useful function.
18905
18906         * tests/instantiate/create.c: (create_all_elements):
18907         * tests/lat.c: (handoff_src), (handoff_sink):
18908         * tests/sched/runxml.c: (main):
18909         * tests/seeking/seeking1.c: (main):
18910         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18911         (main):
18912         Fix compilation of some tests.
18913
18914 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18915
18916         * gst/gsterror.h:
18917           Remove comment. GST_TYPE_G_ERROR is here to stay,
18918           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18919           (#316961, #300610).
18920
18921 2005-09-26  Wim Taymans  <wim@fluendo.com>
18922
18923         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18924         Added check that shows error in state change order.
18925
18926 2005-09-26  Wim Taymans  <wim@fluendo.com>
18927
18928         * gst/gstbin.c: (gst_bin_change_state):
18929         Make state change function use 3 queues again, we were
18930         adding elements in the wrong order.
18931
18932         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18933         Some debug info,
18934
18935         * gst/gstpad.c: (gst_pad_dispose):
18936         Added some debug info first.
18937
18938 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18939
18940         * docs/design/draft-push-pull.txt:
18941         * docs/design/part-events.txt:
18942         * docs/design/part-overview.txt:
18943         * docs/design/part-scheduling.txt:
18944           Replace all _pull_region() with _pull_range()
18945           
18946 2005-09-26  Andy Wingo  <wingo@pobox.com>
18947
18948         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18949
18950         * check/gst-libs/controller.c: Update for controller api change.
18951
18952         * configure.ac: 
18953         * tests/Makefile.am:
18954         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18955         over by GLib bug 118439.
18956         
18957         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18958         routines to a function.
18959
18960         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18961
18962         * libs/gst/controller/gsthelper.c:
18963         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18964         (gst_object_sync_values): Renamed from sink_values. Ugh.
18965
18966         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18967
18968         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18969         Renamed from controller_key, as it is exported.
18970
18971         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18972
18973 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18974
18975         * gst/Makefile.am:
18976         * gst/gst.h:
18977         * gst/gstpad.h:
18978         * gst/gstpadtemplate.h:
18979         * gst/gstquery.c:
18980         * gst/gstquery.h:
18981         * gst/gstqueryutils.c:
18982         * gst/gstqueryutils.h:
18983           remove queryutils headers after moving the two used functions
18984           to gstquery.  also fixes build problem for gstsiddec
18985
18986 2005-09-26  Michael Smith <msmith@fluendo.com>
18987
18988         * tools/gst-launch.1.in:
18989         Correct documentation in manpage of debug syntax
18990
18991 2005-09-26  Wim Taymans  <wim@fluendo.com>
18992
18993         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18994         (gst_base_src_is_seekable), (gst_base_src_change_state):
18995         Some more debugging info.
18996
18997 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18998
18999         * docs/gst/gstreamer-sections.txt:
19000         * gst/base/gstbasetransform.h:
19001         * gst/gstindex.h:
19002           added more docs
19003
19004 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19005
19006         * docs/gst/.cvsignore:
19007         * docs/gst/tmpl/.cvsignore:
19008         * docs/gst/tmpl/gstpipeline.sgml:
19009         * docs/gst/tmpl/gstplugin.sgml:
19010         * gst/gstpipeline.c:
19011         * gst/gstplugin.c:
19012         * gst/gstplugin.h:
19013           inlined the last two docs files
19014           removed the tmpl directory from cvs (no more conflicts here!)
19015
19016 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19017
19018         * docs/gst/gstreamer-sections.txt:
19019         * docs/gst/tmpl/.cvsignore:
19020         * docs/gst/tmpl/gstpad.sgml:
19021         * docs/gst/tmpl/gstpadtemplate.sgml:
19022         * gst/Makefile.am:
19023         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
19024         (gst_pad_finalize), (gst_pad_set_pad_template):
19025         * gst/gstpad.h:
19026         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
19027         (gst_pad_template_class_init), (gst_pad_template_init),
19028         (gst_pad_template_dispose), (name_is_valid),
19029         (gst_static_pad_template_get), (gst_pad_template_new),
19030         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
19031         (gst_pad_template_pad_created):
19032         * gst/gstpadtemplate.h:
19033           inlined two more docs
19034           factored gstpadtemplate out of gstpad
19035
19036 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
19037
19038         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
19039         (test_children_state_change_order_semi_sink):
19040           Fix test case: we can't rely on a fixed state change order when
19041           going from READY => PAUSED because the sink might commit its 
19042           new state first when the first buffer created by the source 
19043           reaches the sink before the source has finished its change state.
19044           (Test case still fails at times, see #316856, comment 5 onwards)
19045
19046 2005-09-24  Wim Taymans  <wim@fluendo.com>
19047
19048         * docs/design/part-events.txt:
19049         * docs/design/part-gstbus.txt:
19050         * docs/design/part-gstpipeline.txt:
19051         * docs/design/part-messages.txt:
19052         * docs/design/part-overview.txt:
19053         * docs/design/part-segments.txt:
19054         * gst/gstbin.c:
19055         * gst/gstbuffer.c:
19056         * gst/gstclock.c:
19057         * gst/gstelement.c:
19058         * gst/gstevent.c:
19059         * gst/gstfilter.c:
19060         * gst/gstiterator.c:
19061         Various documentation updates.
19062
19063 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19064
19065         * gst/gstclock.h:
19066           Well, that's embarassing.  Luckily we weren't using
19067           GST_CLOCK_DIFF anywhere.
19068
19069 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19070
19071         * common/gtk-doc.mak:
19072           don't fail on building XML, FC4 slave shows a bunch of doc
19073           missing bits that I don't get
19074         * gst/gstpad.c:
19075         * gst/gstpipeline.c:
19076         * gst/gststructure.c:
19077           some doc updates
19078
19079 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
19080
19081         * docs/design/part-gstbin.txt:
19082         * docs/design/part-gstbus.txt:
19083         * gst/gstbus.c:
19084           Add blurb about how the bus goes into flushing mode and
19085           drops all messages when its bin goes from READY into NULL 
19086           state.
19087
19088 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19089
19090         * docs/gst/gstreamer-sections.txt:
19091         * gst/gststructure.c: (gst_structure_get_clock_time):
19092         * gst/gststructure.h:
19093           add a method to get a GstClockTime out of a structure
19094
19095 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
19096
19097         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
19098         (test_children_state_change_order_semi_sink), (gst_bin_suite):
19099           Added test to check state change order in bins (can still be made
19100           to fail here under heavy disk load; bails out with 'Push on pad
19101           fakesink:sink0, but it was not activated in push mode').
19102
19103         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
19104           Fix state change order when there is only a semi sink (#316856)
19105
19106         * gst/gstbus.c: (gst_bus_class_init):
19107           Use _class_peek_parent(), not _class_ref(); fix docs to say
19108           'default main context' instead of 'mainloop' where that is
19109           what's meant.
19110
19111         * gst/gstelement.c: (gst_element_commit_state),
19112         (gst_element_set_state):
19113           Fix typos in debug messages
19114
19115 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19116
19117         * docs/README:
19118         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
19119         * gst/gstpluginfeature.c:
19120         * gst/gstutils.c:
19121           various doc updates
19122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19123           change an assert into an error until it gets fixed properly
19124
19125 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
19126
19127         * docs/gst/gstreamer-sections.txt:
19128         * docs/gst/tmpl/.cvsignore:
19129         * docs/gst/tmpl/gstelement.sgml:
19130         * docs/gst/tmpl/gstinfo.sgml:
19131         * docs/gst/tmpl/gstobject.sgml:
19132         * gst/gstelement.c:
19133         * gst/gstelement.h:
19134         * gst/gstinfo.c:
19135         * gst/gstinfo.h:
19136         * gst/gstobject.c: (gst_object_class_init):
19137         * gst/gstobject.h:
19138           inlined 3 more biiiig doc files and added some missing docs on the fly
19139
19140 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19141
19142         * check/gst/.cvsignore:
19143         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
19144         * gst/gstregistryxml.c: (load_plugin),
19145         (gst_registry_xml_save_plugin):
19146           put back source in registry.  add checks for find_plugin.
19147         * testsuite/states/bin.c: (assert_state), (empty_bin),
19148         (test_adding_one_element), (main):
19149         * testsuite/states/locked.c: (main):
19150           some compile/run fixes
19151
19152 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19153
19154         * check/gst/gstvalue.c: (GST_START_TEST):
19155           fix leaks in the test itself
19156
19157 2005-09-22  Wim Taymans  <wim@fluendo.com>
19158
19159         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19160         (gst_base_sink_send_event), (gst_base_sink_peer_query),
19161         (gst_base_sink_query):
19162         Prepare for more accurate position reporting and query
19163         handling.
19164
19165         * gst/gstelement.c: (gst_element_send_event),
19166         (gst_element_set_state):
19167         Add some comment.
19168
19169 2005-09-22  Wim Taymans  <wim@fluendo.com>
19170
19171         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
19172         (gst_query_parse_segment):
19173         * gst/gstquery.h:
19174         More documentation.
19175         Add segment query for future use.
19176
19177 2005-09-22  Wim Taymans  <wim@fluendo.com>
19178
19179         * gst/gstbin.c: (gst_bin_add_func):
19180         Some more debug info.
19181
19182         * gst/gstelement.c: (gst_element_send_event):
19183         Simplify send_event
19184
19185         * gst/gstelement.h:
19186         Don't know how flags got broken.
19187
19188         * gst/gstquery.h:
19189         Added new query.
19190
19191 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19192
19193         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
19194           Add simplistic test suite for GST_TYPE_DATE serialisation and
19195           deserialisation.
19196
19197 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19198
19199         * docs/gst/gstreamer-sections.txt:
19200         * gst/gststructure.c: (gst_structure_set_valist),
19201         (gst_structure_get_date):
19202         * gst/gststructure.h:
19203         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
19204         (gst_date_copy), (gst_value_compare_date),
19205         (gst_value_serialize_date), (gst_value_deserialize_date),
19206         (gst_value_transform_date_string),
19207         (gst_value_transform_string_date), (_gst_value_initialize):
19208         * gst/gstvalue.h:
19209           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
19210           bunch of utility functions along with a hack that checks that
19211           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
19212           is required. Part of the grand scheme in #170777.
19213
19214 2005-09-22  Andy Wingo  <wingo@pobox.com>
19215
19216         * gst/gstconfig.h.in: Psych out gtk-doc.
19217
19218         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
19219
19220         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
19221
19222         * tools/gst-inspect.c (print_element_list): Plug some
19223         inconsequential leaks.
19224
19225         * gst/gstregistry.c (gst_registry_get_default): Doc.
19226
19227         * check/gst/gstplugin.c: 
19228         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
19229         * gst/gstelementfactory.c (gst_element_factory_create): 
19230         * gst/gstindexfactory.c (gst_index_factory_create): Update for
19231         refcount changes.
19232
19233         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
19234         (gst_plugin_feature_load): Doc, don't eat refs.
19235
19236         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
19237         (gst_plugin_list_free): Doc.
19238         (gst_plugin_load_file): Doc updates.
19239
19240         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
19241         accessors returning refcounted objects, return a ref.
19242
19243         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
19244         accessor for caps. IDEMPOTENCE. Oh yes.
19245
19246 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
19247
19248         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19249
19250         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19251         (_gst_debug_register_funcptr):
19252           Add mutex to serialise access to the hash table with
19253           the function pointer => function name string mapping;
19254           make that hash table static scope (#316809).
19255
19256         * gst/registries/.cvsignore:
19257           Remove left-over file.
19258
19259 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19260
19261         * docs/pwg/appendix-porting.xml:
19262           And something about newsegment events and caps-on-buffers to
19263           the porting guide (feel free to improve).
19264
19265 2005-09-21  Andy Wingo  <wingo@pobox.com>
19266
19267         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
19268         data and event probes on the same pad.
19269         (test_buffer_probe_once): Test that removing probes from within
19270         the probe functions works.
19271
19272 2005-09-21  Andy Wingo  <wingo@pobox.com>
19273
19274         * check/gst/gstutils.c: New file.
19275         (test_buffer_probe_n_times): A simple buffer probe test. More to
19276         come, foolios.
19277
19278         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
19279         have-data::buffer, not have-data.
19280         (gst_pad_add_event_probe): Likewise for have-data::event.
19281         (gst_pad_add_data_probe): More docs. The part about 'resolving the
19282         peer' isn't quite right yet though.
19283         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
19284         (gst_pad_remove_data_probe): Change to take the guint handler_id
19285         as their arg, not the function+data, which is more glib-like.
19286
19287         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
19288         the signal emission to indicate if the data is a buffer or an
19289         event.
19290         (gst_pad_get_type): Initialize buffer and event quarks.
19291         (gst_pad_class_init): have-data is now a detailed signal, yes it
19292         is.
19293
19294 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19295
19296         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19297         * gst/gstutils.c: (gst_util_set_value_from_string),
19298         (gst_util_set_object_arg):
19299           Don't put functional code in g_return_if_fail() or
19300           g_return_val_if_fail() statements, otherwise things will 
19301           break when G_DISABLE_CHECKS is defined during compilation.
19302
19303 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19304
19305         * docs/gst/tmpl/.cvsignore:
19306         * docs/gst/tmpl/gstvalue.sgml:
19307         * gst/gstvalue.c:
19308         * gst/gstvalue.h:
19309           inlied another one and added  some obvious docs
19310
19311 2005-09-21  Wim Taymans  <wim@fluendo.com>
19312
19313         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19314         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
19315         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
19316         (gst_fdsrc_get_property), (gst_fdsrc_create):
19317         * gst/elements/gstfdsrc.h:
19318         Properly implement fdsrc. Removed signal and timeout,
19319         better implemented somewhere else.
19320
19321 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19322
19323         * docs/gst/tmpl/.cvsignore:
19324         * docs/gst/tmpl/gstimplementsinterface.sgml:
19325         * gst/gstinterface.c:
19326           inlined more docs
19327
19328 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19329
19330         * docs/gst/gstreamer-sections.txt:
19331         * docs/gst/tmpl/.cvsignore:
19332         * docs/gst/tmpl/gstenumtypes.sgml:
19333           remove obsolete doc file
19334
19335 2005-09-21  David Schleef  <ds@schleef.org>
19336
19337         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
19338         little beer, fix a little leak.
19339
19340 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19341
19342         * docs/gst/gstreamer-docs.sgml:
19343         * docs/gst/gstreamer-sections.txt:
19344         * docs/gst/tmpl/.cvsignore:
19345         * gst/Makefile.am:
19346         * gst/gst.h:
19347         * gst/gstbin.c:
19348         * gst/gstelement.h:
19349         * gst/gstindex.c: (gst_index_class_init):
19350         * gst/gstindex.h:
19351         * gst/gstindexfactory.c: (gst_index_factory_get_type),
19352         (gst_index_factory_class_init), (gst_index_factory_init),
19353         (gst_index_factory_finalize), (gst_index_factory_new),
19354         (gst_index_factory_destroy), (gst_index_factory_find),
19355         (gst_index_factory_create), (gst_index_factory_make):
19356         * gst/gstindexfactory.h:
19357         * gst/gstpluginfeature.c:
19358         * gst/gstpluginfeature.h:
19359         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19360           more docs inlined, splitted gstindex.{c,h}
19361
19362 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19363
19364         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19365           fix a leak
19366
19367 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19368
19369         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19370           Set sync to FALSE by default.
19371
19372 2005-09-20  Wim Taymans  <wim@fluendo.com>
19373
19374         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19375         (gst_base_sink_init):
19376         Make sync property settable from subclass.
19377
19378         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19379         (gst_fake_sink_change_state):
19380         Set sync to FALSE by default.
19381
19382 2005-09-20  Wim Taymans  <wim@fluendo.com>
19383
19384         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
19385         * tools/gst-launch.c: (main):
19386         The timeout handler should have lower priority than the source
19387         so we don't timeout before popping a message with 0 timeout.
19388         Dump error messages after failed state change.
19389
19390 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19391
19392         * tools/gst-inspect.c: (print_element_properties_info):
19393           Fix two typos.
19394
19395 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19396
19397         * check/gst/gstevent.c:
19398         * gst/elements/gstfakesink.c:
19399         * gst/elements/gstfakesink.h:
19400           remove the sync property from fakesink.
19401           has the side effect of setting sync TRUE
19402           for fakesink, which is a change.  Anyone who knows how
19403           to fix this nicely in a GObject-y way, feel free.
19404
19405 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19406
19407         * docs/gst/gstreamer-docs.sgml:
19408           remove probe refsection
19409
19410 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19411
19412         * check/Makefile.am:
19413           disable valgrinding the controller test again
19414         * docs/gst/gstreamer-sections.txt:
19415           update for api-changes
19416
19417 2005-09-20  Wim Taymans  <wim@fluendo.com>
19418
19419         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19420         (gst_base_sink_set_property), (gst_base_sink_get_property),
19421         (gst_base_sink_do_sync):
19422         * gst/base/gstbasesink.h:
19423         Added sync property to basesink to disable clock sync.
19424
19425 2005-09-20  Andy Wingo  <wingo@pobox.com>
19426
19427         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
19428         eating the caller's refcount.
19429
19430         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
19431         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
19432         refcount.
19433
19434         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
19435         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
19436         of GLib 2.8 public, so we can know which refcount to check in
19437         tests.
19438
19439         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
19440         (gst_object_init): Only set the gst refcount if we're going ahead
19441         with the refcount hack.
19442
19443 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19444
19445         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19446         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19447           more leaks plumbed, added more debug-logging
19448         * gst/gstmacros.h:
19449           whitespace fix
19450
19451 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19452
19453         * gst/gstmessage.c:
19454           remove include of gstmemchunk.h
19455
19456 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19457
19458         * gst/gstclock.c: (_gst_clock_id_free):
19459           Commit from the Political Party For More Atomic CVS Commits,
19460           so that people don't waste too much of their day fishing
19461           out obvious leaks out of massive commits.
19462           Oh, and fix a pretty damn obvious leak in the memchunk
19463           removal code.
19464
19465 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19466
19467         * check/Makefile.am:
19468         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19469           plug mem-leak, re-add to valgrindable tests
19470
19471 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19472
19473         * gst/gstplugin.h:
19474           unbreak the build for those who have chronic arthritis
19475           and typing "make check" is just too taxing on the hands
19476
19477 2005-09-20  Andy Wingo  <wingo@pobox.com>
19478
19479         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
19480         really want it out, you should fix plugins at the same time.
19481
19482 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
19483
19484         * configure.ac:
19485         * docs/gst/gstreamer-sections.txt:
19486         * gst/gstobject.c:
19487           added missing symbols to api docs
19488           disable ref-count hack if we have glib >= 2.8
19489
19490 2005-09-19  David Schleef  <ds@schleef.org>
19491
19492         * docs/gst/Makefile.am: Ignore a few more internal headers
19493         * docs/gst/gstreamer-docs.sgml: Remove old sections
19494         * docs/gst/gstreamer-sections.txt: Remove old sections
19495         * docs/gst/tmpl/gstobject.sgml: update
19496         * docs/gst/tmpl/gstplugin.sgml: update
19497         * docs/gst/tmpl/gstpluginfeature.sgml: update
19498         * docs/random/ds/0.9-suggested-changes: update.
19499         * gst/Makefile.am: remove memchunk and trashstack, since they're
19500           not used.
19501         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
19502         * gst/gst.h: don't include some headers
19503         * gst/gstchildproxy.c: add gstmarshal.h
19504         * gst/gstclock.c: Don't use memchunks
19505         * gst/gstminiobject.c: Add some docs
19506         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
19507         * gst/gstobject.h: same
19508         * gst/gstplugin.c: include gstmacros.h
19509         * gst/gstplugin.h: don't include gstmacros.h, since it's private
19510         * gst/gstquery.c: don't use memchunks
19511         * gst/gstregistry.c: rename gst_registry_deinit()
19512         * gst/gstregistry.h: same
19513
19514 2005-09-19  David Schleef  <ds@schleef.org>
19515
19516         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
19517         * docs/libs/gstreamer-libs-sections.txt:
19518         * docs/libs/tmpl/gstgetbits.sgml:
19519         * docs/libs/tmpl/gstputbits.sgml:
19520
19521 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
19522
19523         * win32/gstenumtypes.c:
19524         * win32/gstenumtypes.h:
19525           Update.
19526
19527 2005-09-19  Wim Taymans  <wim@fluendo.com>
19528
19529         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
19530         Automatically PAUSE and RESUME a pipeline when a flushing seek
19531         is performed.
19532
19533 2005-09-19  Andy Wingo  <wingo@pobox.com>
19534
19535         * gst/gstregistry.h: Spacing fixen.
19536
19537 2005-09-19  Wim Taymans  <wim@fluendo.com>
19538
19539         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
19540         Handle state change failure more correctly.
19541
19542 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19543
19544         * check/Makefile.am:
19545         * check/pipelines/cleanup.c: (run_pipeline):
19546         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19547         (GST_START_TEST):
19548           enable cleanup again after fixing the leak
19549         * docs/README:
19550           some more info on docs
19551
19552 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19553
19554         * check/Makefile.am:
19555           re-enable tests now that leaks are plugged
19556         * check/gst/gst.c:
19557         * check/gst/gstbin.c:
19558         * check/gst/gstpipeline.c:
19559           add some more tests while fixing leaks
19560         * common/check.mak:
19561           make sure binaries are uptodate when valgrinding/gdbing
19562         * gst/gst.c:
19563         * gst/gstelementfactory.c:
19564           remove a ref too many, and add a FIXME for when we get
19565           round to disposing of classes
19566         * gst/gstplugin.c:
19567           fix the refcounting when loading a plugin from a file and
19568           the code pretends that the pointer is the same even though
19569           of course it can change
19570         * gst/gstpluginfeature.c:
19571           unref plugins marked cached (a bit confusing as a name)
19572           as the docs state should be done
19573           various doc additions to explain refcounting
19574         * gst/gstregistry.c:
19575         * gst/gstregistryxml.c:
19576           debugging
19577
19578 2005-09-19  Wim Taymans  <wim@fluendo.com>
19579
19580         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19581         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19582         (send_messages), (GST_START_TEST), (gstbus_suite):
19583         * check/gst/gstpipeline.c: (GST_START_TEST):
19584         * check/pipelines/cleanup.c: (run_pipeline):
19585         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19586         (GST_START_TEST):
19587         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
19588         (gst_bus_source_check), (gst_bus_source_dispatch),
19589         (gst_bus_create_watch), (gst_bus_add_watch_full),
19590         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
19591         * gst/gstbus.h:
19592         * tools/gst-launch.c: (event_loop):
19593         * tools/gst-md5sum.c: (event_loop):
19594         GstBusHandler -> GstBusFunc, return value has the same meaning as
19595         any other GSource (FALSE == remove source).
19596         _add_watch() and _add_watch_full() now take a MessageType mask to
19597         only handle specific types of messages.
19598         _poll() returns the GstMessage instead of the message type to avoid
19599         race conditions.
19600         _have_pending() takes a MessageType mask now too.
19601         Added testsuite for multiple bus watches.
19602         Fix testsuites and applications for new bus API.
19603
19604 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19605
19606         * check/Makefile.am:
19607           mark a bunch of the tests as to fix until we fix them
19608
19609 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19610
19611         * common/check.mak:
19612           use GST_PLUGIN settings for valgrind tests as well, so we're
19613           valgrinding the correct thing
19614         * gst/gst.c: (init_post):
19615           plug another leak
19616
19617 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19618
19619         * gst/gst.c: (init_post), (gst_deinit):
19620         * gst/gstelementfactory.c: (gst_element_factory_class_init),
19621         (gst_element_factory_finalize), (gst_element_factory_cleanup):
19622         * gst/gstindex.c: (gst_index_factory_class_init),
19623         (gst_index_factory_finalize):
19624         * gst/gstobject.c: (gst_object_dispose):
19625         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19626         (gst_plugin_load_file), (gst_plugin_desc_free):
19627         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19628         (gst_plugin_feature_finalize):
19629         * gst/gstregistry.c: (gst_registry_class_init),
19630         (gst_registry_init), (gst_registry_finalize),
19631         (gst_registry_get_default), (gst_registry_deinit):
19632         * gst/gstregistry.h:
19633         * gst/gstregistryxml.c: (load_feature), (load_plugin):
19634           various cleanups and memleak plugging.  make valgrind is happy now.
19635
19636 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19637
19638         * common/check.mak:
19639           add a check-valgrind target
19640
19641 2005-09-18  David Schleef  <ds@schleef.org>
19642
19643         * tools/gst-inspect.c: Revert the GOption code.
19644
19645 2005-09-17  David Schleef  <ds@schleef.org>
19646
19647         * check/Makefile.am: Fix environment variables.
19648         * check/gst/gstplugin.c: Fix for API changes.
19649         * tools/gst-inspect.c: Fix for API changes.
19650         * tools/gst-xmlinspect.c: Fix for API changes.
19651         * gst/gstelementfactory.c:
19652         * gst/gstplugin.c:
19653         * gst/gstplugin.h:
19654         * gst/gstpluginfeature.c:
19655         * gst/gstpluginfeature.h:
19656         * gst/gstregistry.c:
19657         * gst/gstregistry.h:
19658         * gst/gstregistryxml.c:
19659         * gst/gsttypefind.c:
19660         * gst/gsttypefindfactory.c:
19661         * gst/indexers/gstfileindex.c:
19662         * gst/indexers/gstmemindex.c:
19663         * gst/schedulers/Makefile.am:
19664           Change registry to keep track of both plugins and features,
19665           removing the feature tracking from plugins themselves.
19666
19667 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19668
19669         * check/Makefile.am:
19670         * tools/gst-register.1.in:
19671           remove gst-register
19672
19673 2005-09-15  David Schleef  <ds@schleef.org>
19674
19675         * check/gst/gstplugin.c:
19676         * gst/gstelementfactory.c:
19677         * gst/gstplugin.c:
19678         * gst/gstpluginfeature.c:
19679         * gst/gstregistry.c:
19680           Getting tired of debugging.  Disabled all the unreffing of
19681           plugins and features, which fixes the segfaults, but of
19682           course leaks like crazy.  At least playbin works.
19683
19684 2005-09-15  David Schleef  <ds@schleef.org>
19685
19686         * check/gst/gstplugin.c: (register_check_elements),
19687         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19688         More testing
19689         * gst/elements/gsttypefindelement.c: Fix refcounting.
19690         * gst/gsttypefind.c:
19691         * gst/gsttypefindfactory.c:
19692         * gst/gsttypefindfactory.h:
19693
19694 2005-09-15  David Schleef  <ds@schleef.org>
19695
19696         * gst/gstindex.c: get refcounting correct.
19697         * gst/gstregistry.c: Handle the case where a feature/plugin is
19698           not found.
19699
19700 2005-09-15  David Schleef  <ds@schleef.org>
19701
19702         * check/Makefile.am:
19703         * check/gst/gstplugin.c: Add test
19704         * gst/gstplugin.c: Fix problems noticed by testsuite
19705         * gst/gstplugin.h:
19706         * gst/gstregistry.c: 
19707         * gst/gstregistry.h:
19708
19709 2005-09-15  David Schleef  <ds@schleef.org>
19710
19711         * gst/gstplugin.c: Implement semi-decent recounting and locking
19712           in plugins and plugin features.
19713         * gst/gstplugin.h:
19714         * gst/gstpluginfeature.c:
19715         * gst/gstpluginfeature.h:
19716         * gst/gstregistry.c:
19717
19718 2005-09-15  Michael Smith <msmith@fluendo.com>
19719
19720         * gst/gstregistry.c: (gst_registry_get_feature_list):
19721           Implement this. Makes oggdemux work; decodebin still broken.
19722
19723 2005-09-14  David Schleef  <ds@schleef.org>
19724
19725         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19726           #316076)
19727         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19728         * gst/check/Makefile.am:
19729         * libs/gst/controller/Makefile.am:
19730         * libs/gst/dataprotocol/Makefile.am:
19731
19732 2005-09-14  David Schleef  <ds@schleef.org>
19733
19734         * configure.ac: Remove getbits library.  Nothing uses it, and
19735           it should be in something like liboil if someone did want
19736           to use it.
19737         * libs/gst/Makefile.am:
19738         * libs/gst/getbits/Makefile.am:
19739         * libs/gst/getbits/gbtest.c:
19740         * libs/gst/getbits/getbits.c:
19741         * libs/gst/getbits/getbits.h:
19742         * libs/gst/getbits/gstgetbits_generic.c:
19743         * libs/gst/getbits/gstgetbits_i386.s:
19744         * libs/gst/getbits/gstgetbits_inl.h:
19745
19746 2005-09-14  David Schleef  <ds@schleef.org>
19747
19748         * gst/Makefile.am: Dist glib-compat.h
19749
19750 2005-09-14  David Schleef  <ds@schleef.org>
19751
19752         * configure.ac: Remove gst/registries, since it's no longer used.
19753         * gst/registries/Makefile.am:
19754         * gst/registries/gstlibxmlregistry.c:
19755         * gst/registries/gstlibxmlregistry.h:
19756         * gst/registries/gstxmlregistry.c:
19757         * gst/registries/gstxmlregistry.h:
19758         * gst/registries/registrytest.c:
19759
19760 2005-09-14  David Schleef  <ds@schleef.org>
19761
19762         * gst/glib-compat.h:
19763         * gst/gstregistryxml.c:
19764           Convergence is near.  Seriously.
19765
19766 2005-09-14  David Schleef  <ds@schleef.org>
19767
19768         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19769         * gst/glib-compat.h:
19770           Attempt #4 to appease the buildbots.
19771
19772 2005-09-14  David Schleef  <ds@schleef.org>
19773
19774         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19775           Attempt #3.
19776
19777 2005-09-14  David Schleef  <ds@schleef.org>
19778
19779         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19780         Attempt #2.
19781
19782 2005-09-14  David Schleef  <ds@schleef.org>
19783
19784         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19785           the new functions.
19786
19787 2005-09-14  David Schleef  <ds@schleef.org>
19788
19789         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19790         * gst/glib-compat.h: Add some functions that are in newer versions
19791           of glib than we care to require.
19792         * gst/gstregistryxml.c: Use them.
19793
19794 2005-09-14  David Schleef  <ds@schleef.org>
19795
19796         * po/POTFILES.in: remove gst-register.c
19797
19798 2005-09-14  David Schleef  <ds@schleef.org>
19799
19800         * docs/gst/gstreamer-docs.sgml:
19801         * docs/gst/gstreamer-sections.txt:
19802         * docs/gst/gstreamer.types:
19803         * docs/gst/tmpl/gstelement.sgml:
19804         * docs/gst/tmpl/gstplugin.sgml:
19805         * docs/gst/tmpl/gstpluginfeature.sgml:
19806           Documentation updates for registry changes.
19807
19808 2005-09-14  David Schleef  <ds@schleef.org>
19809
19810         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19811           because we don't require glib-2.8.
19812
19813 2005-09-14  David Schleef  <ds@schleef.org>
19814
19815         * gst/gstregistryxml.c: Added.  Essentially moved out of the
19816           registries directory.
19817
19818 2005-09-14  David Schleef  <ds@schleef.org>
19819
19820         * check/Makefile.am:
19821         * check/generic/states.c:
19822         * gst/Makefile.am:
19823         * gst/gst.c:
19824         * gst/gst.h:
19825         * gst/gst_private.h:
19826         * gst/gstelementfactory.c:
19827         * gst/gstindex.c:
19828         * gst/gstinfo.c:
19829         * gst/gstplugin.c:
19830         * gst/gstplugin.h:
19831         * gst/gstpluginfeature.c:
19832         * gst/gstpluginfeature.h:
19833         * gst/gstregistry.c:
19834         * gst/gstregistry.h:
19835         * gst/gstregistrypool.c: remove
19836         * gst/gstregistrypool.h: remove
19837         * gst/gsttypefind.c:
19838         * gst/gsttypefindfactory.c:
19839         * gst/gsturi.c:
19840         * tools/Makefile.am:
19841         * tools/gst-compprep.c:
19842         * tools/gst-inspect.c:
19843         * tools/gst-register.c: remove
19844         * tools/gst-xmlinspect.c:
19845           Registry rewrite.  Changes registry from being a file created
19846           by a tool into a simple cache file created automatically by 
19847           libgstreamer.  Removed gst-register (because it's no longer
19848           needed).  Remove registry pools, because we only have one
19849           registry implementation (XML).  Fix up other subsystems as
19850           necessary.
19851
19852 2005-09-13  Michael Smith <msmith@fluendo.com>
19853
19854         * gst/gstconfig.h.in:
19855           Don't Use windows linking attributes for MinGW. Fixes #316157
19856
19857 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19858
19859         * gst/gstutils.c: (set_state_async_thread_func),
19860         (gst_element_set_state_async):
19861           Apparently people think it's better if this function doesn't
19862           try to set the state to whatever state was asked for on the first
19863           call to this function for any object.  Seriously.
19864
19865 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19866
19867         * check/gst/gstpipeline.c: (GST_START_TEST):
19868         * docs/gst/gstreamer-sections.txt:
19869         * gst/gstutils.c: (set_state_async_thread_func),
19870         (gst_element_set_state_async):
19871         * gst/gstutils.h:
19872           add a "gst_element_set_state_async" method that
19873           sets the state and starts a thread to make sure the state
19874           change completes as best as it can
19875
19876 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19877
19878         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19879           codify design+behaviour in testsuite after discussion
19880
19881 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19882
19883         * docs/gst/tmpl/gstelement.sgml:
19884         * docs/manual/appendix-quotes.xml:
19885           add a quote
19886         * gst/gstelement.c: (gst_element_set_state):
19887           add some debug
19888
19889 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19890
19891         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19892         (gst_base_transform_prepare_output_buf),
19893         (gst_base_transform_handle_buffer):
19894         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19895         (gst_capsfilter_prepare_buf):
19896           Remove the requirement for sub-classes to call the parent
19897           implementation of prepare_output_buffer with a wrapper function.
19898           
19899         * gst/gsttaglist.h:
19900         * gst/gsttagsetter.h:
19901           Fix #define wrapper
19902
19903 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19904
19905         * docs/gst/gstreamer-sections.txt:
19906           more doc cleanups
19907
19908 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19909
19910         * docs/gst/gstreamer-sections.txt:
19911         * docs/gst/tmpl/gstelement.sgml:
19912         * docs/gst/tmpl/gstplugin.sgml:
19913         * gst/gstminiobject.c:
19914         * gst/gstvalue.h:
19915           docs now stop throwing warnings
19916
19917 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19918
19919         * docs/gst/gstreamer-sections.txt:
19920         * docs/gst/gstreamer.types:
19921         * docs/gst/tmpl/gstpad.sgml:
19922         * docs/gst/tmpl/gsttypes.sgml:
19923         * gst/base/gstadapter.h:
19924         * gst/base/gstbasesink.h:
19925         * gst/base/gstbasesrc.h:
19926         * gst/gstbin.h:
19927         * gst/gstbuffer.h:
19928         * gst/gstbus.h:
19929         * gst/gstcaps.h:
19930         * gst/gstclock.h:
19931         * gst/gstelement.h:
19932         * gst/gstevent.h:
19933         * gst/gstmessage.h:
19934         * gst/gstpad.h:
19935         * gst/gststructure.c:
19936         * gst/registries/gstlibxmlregistry.h:
19937           various documentation fixes
19938
19939 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19940
19941         * docs/gst/gstreamer-sections.txt:
19942         * docs/gst/tmpl/gstvalue.sgml:
19943           rearrange gstvalue section
19944         * gst/gstutils.c: (gst_element_state_get_name):
19945           NONE -> VOID
19946         * gst/gstvalue.c: (_gst_value_initialize):
19947         * gst/gstvalue.h:
19948           doc updates
19949
19950 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19951
19952         * check/gst-libs/controller.c:
19953           Header include fix.
19954         * gst/base/gstbasetransform.c:
19955         (gst_base_transform_default_prepare_buf),
19956         (gst_base_transform_handle_buffer):
19957         * gst/base/gstbasetransform.h:
19958           Some more basetransform changes and fixes to enable sub-classes
19959           that modify buffer metadata only.
19960         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19961         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19962         (gst_capsfilter_prepare_buf):
19963           If the output pad has fixed allowed caps and input buffers 
19964           don't have any, set the fixed caps on outgoing buffers.
19965
19966 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19967         * check/elements/identity.c: (GST_START_TEST):
19968           Make the error a little clearer when the test fails because
19969           identity made a copy of the buffer.
19970         * docs/gst/gstreamer-sections.txt:
19971           New symbols in gstbasetransform.h
19972         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19973         (gst_base_transform_init), (gst_base_transform_transform_size),
19974         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19975         (gst_base_transform_default_prepare_buf),
19976         (gst_base_transform_get_unit_size),
19977         (gst_base_transform_buffer_alloc),
19978         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19979         (gst_base_transform_change_state),
19980         (gst_base_transform_set_passthrough),
19981         (gst_base_transform_set_in_place),
19982         (gst_base_transform_is_in_place):
19983         * gst/base/gstbasetransform.h:
19984           Change BaseTransform to separate in_place operate from same_caps
19985           output. in_place implies that the element can perform the transform
19986           on incoming buffers in-place, even if the caps on the output are
19987           different.
19988           Sub-class elements can now implement special buffer allocation
19989           methods for outgoing buffers if they wish to.
19990           Big documentation addition.
19991         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19992         * gst/elements/gstelements.c:
19993           Changes for basetransform modifications.
19994         * gst/elements/Makefile.am:
19995         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19996           Compile fix. Extra debug output.
19997
19998 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19999
20000         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
20001         (gst_pad_suite):
20002           add tests for valid pad naming
20003         * gst/check/gstcheck.c: (gst_check_log_message_func),
20004         (gst_check_log_critical_func):
20005           add ASSERT_WARNING
20006           remove printing of code, it is fragile when the code contains
20007           % and the line number is enough info
20008         * gst/check/gstcheck.h:
20009         * gst/gstpad.c: (gst_pad_template_new):
20010           fix memleaks
20011
20012 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20013
20014         * configure.ac:
20015           say what CHECK flags we use
20016         * docs/libs/gstreamer-libs.types:
20017         * libs/gst/controller/Makefile.am:
20018         * libs/gst/controller/gst-controller.c:
20019         * libs/gst/controller/gst-controller.h:
20020         * libs/gst/controller/gst-helper.c:
20021         * libs/gst/controller/gst-interpolation.c:
20022         * libs/gst/controller/gstcontroller.c:
20023         * libs/gst/controller/gsthelper.c:
20024         * libs/gst/controller/gstinterpolation.c:
20025         * tools/gst-inspect.c: (print_plugin_info):
20026           we don't use dashes in header names
20027
20028 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20029
20030         * check/Makefile.am:
20031         * check/gst/.cvsignore:
20032         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
20033         (gst_pipeline_suite), (main):
20034           adding a test for pipelines and state changes
20035         * gst/gstutils.c: (get_state_func):
20036           add some debugging
20037         * gstreamer.spec.in:
20038           fix up spec file
20039
20040 2005-09-08  Michael Smith <msmith@fluendo.com>
20041
20042         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
20043         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
20044         (gst_file_src_is_seekable), (gst_file_src_get_size),
20045         (gst_file_src_start):
20046         * gst/elements/gstfilesrc.h:
20047           Various fixes for unseekable, unmmapable, and non-normal files, so
20048           that fallback to read() rather than mmap() works.
20049         * gst/gstevent.c: (gst_event_new_newsegment):
20050           Allow newsegment events with segment_start == segment_end, as will
20051           correctly happen if you use filesrc on a zero-size file, for
20052           example.
20053
20054 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
20055
20056         * gst/gstplugin.c: (gst_plugin_load_file):
20057           Call g_module_close when we don't load the module
20058
20059         * gst/registries/gstlibxmlregistry.c:
20060         (gst_xml_registry_get_property):
20061           Port leak fix from 0.8
20062
20063 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20064
20065         * docs/gst/gstreamer-docs.sgml:
20066         * docs/gst/tmpl/.cvsignore:
20067         * docs/gst/tmpl/gsttrace.sgml:
20068         * docs/gst/tmpl/gsttrashstack.sgml:
20069         * gst/Makefile.am:
20070         * gst/gst.h:
20071         * gst/gstelement.h:
20072         * gst/gstevent.h:
20073         * gst/gstmessage.c:
20074         * gst/gstmessage.h:
20075         * gst/gsttag.c:
20076         * gst/gsttag.h:
20077         * gst/gsttaginterface.c:
20078         * gst/gsttaginterface.h:
20079         * gst/gsttaglist.c:
20080         * gst/gsttaglist.h:
20081         * gst/gsttagsetter.c:
20082         * gst/gsttagsetter.h:
20083         * gst/gsttrace.c:
20084         * gst/gsttrace.h:
20085         * gst/gsttrashstack.c:
20086           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
20087           inlined docs for gsttrace, gsttrashstack
20088
20089 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20090
20091         * gst/Makefile.am:
20092         * gst/elements/gstbufferstore.h:
20093         * gst/elements/gsttypefindelement.c:
20094         * gst/elements/gsttypefindelement.h:
20095         * gst/gst.h:
20096         * gst/gsttypefind.c:
20097         * gst/gsttypefind.h:
20098         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
20099         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
20100         (gst_type_find_factory_dispose),
20101         (gst_type_find_factory_unload_thyself),
20102         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
20103         (gst_type_find_factory_get_caps),
20104         (gst_type_find_factory_get_extensions),
20105         (gst_type_find_factory_call_function):
20106         * gst/gsttypefindfactory.h:
20107         * gst/registries/gstlibxmlregistry.c:
20108         * gst/registries/gstxmlregistry.c:
20109           splitted gsttypefind into gsttypefind, gsttypefindfactory
20110
20111 2005-09-07  Andy Wingo  <wingo@pobox.com>
20112
20113         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
20114         condition whereby the pad's task function is entered before the
20115         pad_mode variable was set.
20116
20117 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
20118
20119         * gst/gstpad.c: (gst_pad_alloc_buffer):
20120           Catch misbehaving pad_alloc functions that don't
20121           set up caps and do it for them.
20122
20123 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20124
20125         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20126           test for pipe!=NULL
20127         * docs/gst/tmpl/.cvsignore:
20128         * docs/gst/tmpl/gstmemchunk.sgml:
20129         * docs/gst/tmpl/gstparse.sgml:
20130         * docs/gst/tmpl/gsttaglist.sgml:
20131         * docs/gst/tmpl/gsttagsetter.sgml:
20132         * docs/gst/tmpl/gsttypefind.sgml:
20133         * docs/gst/tmpl/gsttypefindfactory.sgml:
20134         * gst/gstmemchunk.c:
20135         * gst/gstparse.c:
20136         * gst/gsttag.c:
20137         * gst/gsttaginterface.c:
20138         * gst/gsttypefind.c:
20139         * gst/gsttypefind.h:
20140           inlined more docs
20141
20142 === release 0.9.2 ===
20143
20144 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20145
20146         * NEWS:
20147         * RELEASE:
20148         * configure.ac:
20149           releasing 0.9.2, "South"
20150
20151 2005-09-05  Andy Wingo  <wingo@pobox.com>
20152
20153         * gst/registries/gstxmlregistry.h:
20154         * gst/registries/gstxmlregistry.c: Um... resurrect...
20155         
20156         * gst/registries/gstxmlregistry.h:
20157         * gst/registries/gstxmlregistry.c: and update to newer API.
20158         Incidentally they should be a bit faster now that they don't have
20159         to parse the caps.
20160         
20161 2005-09-05  Andy Wingo  <wingo@pobox.com>
20162
20163         * gst/registries/gstxmlregistry.h:
20164         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
20165         replaced by the libxml registry a while back
20166
20167 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20168
20169         * docs/gst/tmpl/gstplugin.sgml:
20170         * gst/elements/gstelements.c:
20171         * gst/gst.c:
20172         * gst/gstplugin.c: (gst_plugin_register_func),
20173         (gst_plugin_desc_copy), (gst_plugin_desc_free),
20174         (gst_plugin_get_source):
20175         * gst/gstplugin.h:
20176         * gst/registries/gstlibxmlregistry.c: (load_plugin),
20177         (gst_xml_registry_save_plugin):
20178         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
20179         (gst_xml_registry_save_plugin):
20180         * tools/gst-inspect.c: (print_plugin_info):
20181           add a "source" plugin description field, to represent the source
20182           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
20183           will set it to PACKAGE, which is automake's idea of the name of
20184           the source project.
20185
20186 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20187
20188         * Makefile.am:
20189         * autogen.sh:
20190         * configure.ac:
20191         * docs/Makefile.am:
20192         * docs/faq/Makefile.am:
20193         * docs/gst/tmpl/gstelement.sgml:
20194         * docs/gst/tmpl/gsttypes.sgml:
20195         * docs/htmlinstall.mak:
20196         * docs/manual/Makefile.am:
20197         * docs/pwg/Makefile.am:
20198           reorganize doc build a little
20199           split out docbook and gtk-doc stuff
20200           have two separate --enable's and enable them through autogen
20201           but disable by default in configure (to be similar to other
20202           projects)
20203         * gstreamer.spec.in:
20204           clean up docs install
20205         * po/af.po:
20206         * po/az.po:
20207         * po/ca.po:
20208         * po/cs.po:
20209         * po/de.po:
20210         * po/en_GB.po:
20211         * po/fr.po:
20212         * po/it.po:
20213         * po/nb.po:
20214         * po/nl.po:
20215         * po/ru.po:
20216         * po/sq.po:
20217         * po/sr.po:
20218         * po/sv.po:
20219         * po/tr.po:
20220         * po/uk.po:
20221         * po/vi.po:
20222           translation updates
20223
20224 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
20225
20226         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
20227           Add comment.
20228           
20229         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20230         (gst_fake_sink_change_state):
20231           Make state change function thread-safe.
20232           
20233         * gst/gstpad.c: (gst_pad_alloc_buffer):
20234           Set offset on generic buffer allocated by fallback.
20235
20236 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
20237
20238         * docs/gst/gstreamer-sections.txt:
20239         * docs/gst/tmpl/gstelement.sgml:
20240         * gst/gstpad.c:
20241         * libs/gst/controller/gst-controller.c:
20242         (gst_controlled_property_set_interpolation_mode),
20243         (gst_controlled_property_new),
20244         (gst_controller_find_controlled_property):
20245          run the wingo-magic script against the docs
20246
20247 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20248
20249         * docs/gst/gstreamer-docs.sgml:
20250         * docs/gst/gstreamer-sections.txt:
20251         * docs/gst/tmpl/.cvsignore:
20252         * docs/gst/tmpl/gstelementdetails.sgml:
20253         * docs/gst/tmpl/gstelementfactory.sgml:
20254         * gst/gst.c:
20255         * gst/gstbus.c:
20256         * gst/gstelementfactory.c:
20257         * gst/gstelementfactory.h:
20258           merged elementdetails docs into elementfactory docs
20259           inlined both
20260
20261 2005-09-02  Andy Wingo  <wingo@pobox.com>
20262
20263         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
20264         consider this enum an enum and not a flags.
20265
20266 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20267
20268         * docs/gst/gstreamer-docs.sgml:
20269         * docs/gst/tmpl/.cvsignore:
20270         * docs/gst/tmpl/gstghostpad.sgml:
20271         * docs/gst/tmpl/gstiterator.sgml:
20272         * docs/gst/tmpl/gstmacros.sgml:
20273         * docs/gst/tmpl/gstrealpad.sgml:
20274         * docs/gst/tmpl/gstregistry.sgml:
20275         * docs/gst/tmpl/gstregistrypool.sgml:
20276         * docs/gst/tmpl/gststructure.sgml:
20277         * docs/gst/tmpl/gstsystemclock.sgml:
20278         * docs/gst/tmpl/gsttrace.sgml:
20279         * gst/gstghostpad.c:
20280         * gst/gstmacros.h:
20281         * gst/gstmemchunk.c:
20282         * gst/gstmemchunk.h:
20283         * gst/gstqueue.c:
20284         * gst/gstregistry.c:
20285         * gst/gstregistrypool.c:
20286         * gst/gststructure.c:
20287         * gst/gstsystemclock.c:
20288           more docs inlined
20289
20290 2005-09-02  Andy Wingo  <wingo@pobox.com>
20291
20292         * gst/gstelement.h (GstState): Renamed from GstElementState,
20293         changed to be a normal enum instead of flags.
20294         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
20295         munged to be GST_STATE_CHANGE_*.
20296         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
20297         work with the new state representation.
20298         (GstStateChange): New enumeration of possible state transitions.
20299         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
20300         (GstElementClass::change_state): Pass the GstStateChange along as
20301         an argument. Helps language bindings, so they don't have to use
20302         tricky lock-needing macros like GST_STATE_CHANGE ().
20303
20304         * scripts/update-states (file): New script. Run it on a file to
20305         update it for state naming and API changes. Updates files in
20306         place.
20307
20308         * All files updated for the new API.
20309
20310 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20311
20312         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
20313         * gst/gstutils.c: (gst_util_set_value_from_string),
20314         (gst_util_set_object_arg):
20315           fix a bunch of unchecked return values
20316         * tools/gst-complete.c: (main):
20317         * gstreamer.spec.in:
20318           clean up a little
20319
20320 2005-09-01  Wim Taymans  <wim@fluendo.com>
20321
20322         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20323         (gst_base_sink_event), (gst_base_sink_do_sync),
20324         (gst_base_sink_handle_event):
20325         * gst/base/gstbasesink.h:
20326         Handle newsegments more correctly.
20327
20328         * gst/gstbus.c:
20329         Fix docs.
20330
20331         * gst/gstevent.c: (gst_event_new_newsegment):
20332         A newsegment cannot have a start_time of -1
20333
20334 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
20335
20336         * win32/gstenumtypes.c:
20337         * win32/gstenumtypes.h:
20338           Update
20339
20340 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20341
20342         * libs/gst/controller/gst-controller.c:
20343         (gst_controlled_property_set_interpolation_mode),
20344         (gst_controlled_property_new):
20345          fixed boolean again
20346
20347 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
20348
20349         * docs/faq/gst-uninstalled:
20350           add -good
20351         * gst/gstevent.c:
20352         * gst/gstevent.h:
20353           remove wrong docs
20354         * gst/gstutils.c: (gst_element_link_filtered):
20355         * gst/gstutils.h:
20356           add gst_element_link_filtered
20357
20358 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20359
20360         * docs/gst/gstreamer-docs.sgml:
20361         * docs/gst/gstreamer-sections.txt:
20362         * docs/gst/tmpl/.cvsignore:
20363         * docs/gst/tmpl/gsterror.sgml:
20364         * docs/gst/tmpl/gstfilter.sgml:
20365         * docs/gst/tmpl/gsturihandler.sgml:
20366         * docs/gst/tmpl/gsturitype.sgml:
20367         * docs/gst/tmpl/gstutils.sgml:
20368         * docs/gst/tmpl/gstxml.sgml:
20369         * gst/gsterror.c:
20370         * gst/gsterror.h:
20371         * gst/gstfilter.c:
20372         * gst/gsturi.c:
20373         * gst/gsturitype.c:
20374         * gst/gstutils.c:
20375         * gst/gstxml.c:
20376           inlined more docs, fixed double id-ref
20377
20378 2005-08-31  Wim Taymans  <wim@fluendo.com>
20379
20380         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20381         (gst_base_transform_handle_buffer):
20382         Passthrough elements don't need the caps as they don't care.
20383
20384 2005-08-31  Wim Taymans  <wim@fluendo.com>
20385
20386         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20387         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
20388         Don't leak refcounts on buffers.
20389
20390 2005-08-31  Wim Taymans  <wim@fluendo.com>
20391
20392         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
20393         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
20394         (gst_base_transform_chain), (gst_base_transform_change_state):
20395         * gst/base/gstbasetransform.h:
20396         Handle the case where we are not negotiated more gracefully.
20397
20398 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
20399
20400         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
20401         (gst_file_src_map_region):
20402           Set READONLY flag on mmap'ed buffers, otherwise
20403           gst_buffer_make_writable() won't work properly (#314708).
20404
20405 2005-08-31  Wim Taymans  <wim@fluendo.com>
20406
20407         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
20408         passthrough elements can even do inplace on non writable
20409         buffers (as they don't touch them).
20410
20411 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20412
20413         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20414         (gst_test_mono_source_set_property),
20415         (gst_test_mono_source_class_init), (GST_START_TEST),
20416         (gst_controller_suite):
20417           more tests (hehe I have the most)
20418         * gst/gstbus.c:
20419           describe popping messages whenusing mulltiple sources
20420         * libs/gst/controller/gst-controller.c:
20421         (gst_controlled_property_set_interpolation_mode),
20422         (gst_controlled_property_new):
20423         * libs/gst/controller/gst-controller.h:
20424         * libs/gst/controller/gst-interpolation.c:
20425           implement boolean properties
20426
20427 2005-08-31  Wim Taymans  <wim@fluendo.com>
20428
20429         * gst/gstminiobject.c: (gst_mini_object_ref):
20430         Cannot assert that the refcount has to be positive
20431         since a disposed object can be resurrected.
20432
20433 2005-08-31  Wim Taymans  <wim@fluendo.com>
20434
20435         * gst/gstpad.c: (gst_pad_init):
20436         Revert change, need to first fix badly behaving 
20437         apps.
20438
20439 2005-08-30  Wim Taymans  <wim@fluendo.com>
20440
20441         * check/elements/fakesrc.c: (setup_fakesrc):
20442         * check/elements/identity.c: (setup_identity):
20443         Activate pads before using them.
20444
20445 2005-08-30  Wim Taymans  <wim@fluendo.com>
20446
20447         * gst/base/gstadapter.c: (gst_adapter_flush):
20448         Flushing out 0 bytes is ok for this function.
20449
20450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20451         no newsegment gives a warning and sets the start/stop to 
20452         invalid.
20453
20454         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
20455         (gst_base_transform_set_passthrough):
20456         Some debug info.
20457
20458         * gst/gstminiobject.c: (gst_mini_object_ref):
20459         Check refcount here too.
20460
20461         * gst/gstpad.c: (gst_pad_init):
20462         Pads are initially flushing and refusing data.
20463
20464         * gst/gstutils.c: (gst_element_link_pads_filtered):
20465         When adding a capsfilter element make sure it has the
20466         same state as the parent bin.
20467
20468 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20469
20470         * docs/gst/tmpl/.cvsignore:
20471         * docs/gst/tmpl/gstformat.sgml:
20472         * docs/gst/tmpl/gstversion.sgml:
20473         * gst/gstbus.h:
20474         * gst/gstformat.c:
20475         * gst/gstformat.h:
20476         * gst/gstversion.h.in:
20477           more docs and two more inlined
20478
20479 2005-08-30  Wim Taymans  <wim@fluendo.com>
20480
20481         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
20482         Don't sync to clock.
20483
20484 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20485
20486         * docs/gst/gstreamer-sections.txt:
20487           ultral33t func10ns deserve to appear in the docs actually
20488         * docs/gst/tmpl/.cvsignore:
20489         * docs/gst/tmpl/gstcompat.sgml:
20490         * docs/gst/tmpl/gstconfig.sgml:
20491         * gst/check/gstcheck.c:
20492         * gst/gstcompat.h:
20493         * gst/gstconfig.h.in:
20494           inlined more docs
20495
20496 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20497
20498         * docs/gst/tmpl/.cvsignore:
20499         * docs/gst/tmpl/gstquery.sgml:
20500         * docs/gst/tmpl/gstutils.sgml:
20501         * gst/gstquery.c:
20502         * gst/gstquery.h:
20503           inlined and extended docs
20504
20505 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20506
20507         * check/gst-libs/controller.c: (GST_START_TEST),
20508         (gst_controller_suite):
20509           more tests
20510         * docs/gst/tmpl/gstutils.sgml:
20511         * docs/libs/gstreamer-libs-sections.txt:
20512         * docs/libs/tmpl/gstdataprotocol.sgml:
20513           include path fixes
20514         * examples/controller/audio-example.c: (main):
20515           controller example works now
20516         * gst/gstclock.h:
20517           doc fixes
20518         * tools/gst-inspect.c: (print_element_properties_info):
20519           show param spec flags
20520
20521 2005-08-29  Andy Wingo  <wingo@pobox.com>
20522
20523         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
20524
20525 2005-08-28  Andy Wingo  <wingo@pobox.com>
20526
20527         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
20528         as having two arguments instead of just one. Allows superclasses
20529         to access information on subclasses -- see the terrible for() loop
20530         in gtype.c:g_type_create_instance for the reason why. All callers
20531         changed.
20532
20533 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20534
20535         * docs/design/part-messages.txt:
20536           update info
20537         * docs/gst/tmpl/.cvsignore:
20538         * docs/gst/tmpl/gstcaps.sgml:
20539         * docs/gst/tmpl/gstclock.sgml:
20540         * gst/gstbus.c:
20541         * gst/gstcaps.c:
20542         * gst/gstcaps.h:
20543         * gst/gstclock.c:
20544         * gst/gstclock.h:
20545         * gst/gstmessage.c:
20546           added descriptions for bus and message
20547           inline caps and clock docs
20548
20549 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20550
20551         * gst/gstmessage.c:
20552         * gst/gstmessage.h:
20553           doc fixes
20554
20555 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20556
20557         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20558           fix div-by-zero
20559
20560 2005-08-26  Andy Wingo  <wingo@pobox.com>
20561
20562         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
20563         element_set_state's return val.
20564         (test_2_elements): Add test that's been disabled for months.
20565
20566         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
20567         can-activate-pull properties.
20568
20569         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
20570         can-activate-pull properties. Implement is_seekable so fakesrc can
20571         operate in pull mode.
20572
20573         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
20574         properties.
20575         (gst_base_sink_activate, gst_base_sink_activate_pull)
20576         (gst_base_sink_activate_push): Make activation mode choosing work.
20577         Cleanups.
20578         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20579         is right. Make pull mode work. Post an eos before pausing in pull
20580         mode.
20581         (gst_base_sink_change_state): Pay attention to the core's
20582         change_state() return val.
20583         
20584         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
20585         has-getrange properties. Cleanups.
20586         
20587         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
20588         has_getrange and replace with can_activate_pull and
20589         can_activate_push.
20590
20591         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
20592         locking comments. Remove has_loop, has_chain and replace with
20593         can_activate_pull and can_activate_push.
20594
20595 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
20596
20597         * configure.ac:
20598         * examples/Makefile.am:
20599         * examples/metadata/Makefile.am:
20600         * examples/metadata/read-metadata.c: (message_loop),
20601         (have_pad_handler), (make_pipeline), (print_tag), (main):
20602           Add metadata reading example that loops over a list of filenames,
20603           dumping any tags found.
20604
20605         * gst/gstbus.c: (gst_bus_dispose):
20606         * gst/gstelement.c: (gst_element_dispose):
20607           Release a few potentially-held references in dispose.
20608
20609 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20610
20611         * docs/gst/tmpl/gstminiobject.sgml:
20612           do *not* add tmpl/*.sgml files to CVS!
20613
20614 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20615
20616         * libs/gst/bytestream/.cvsignore:
20617         * libs/gst/bytestream/Makefile.am:
20618         * libs/gst/bytestream/adapter.c:
20619         * libs/gst/bytestream/adapter.h:
20620         * libs/gst/bytestream/bytestream.c:
20621         * libs/gst/bytestream/bytestream.h:
20622         * libs/gst/bytestream/filepad.c:
20623         * libs/gst/bytestream/filepad.h:
20624           removing obsolete files
20625
20626 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20627
20628         * docs/gst/gstreamer-docs.sgml:
20629         * docs/libs/gstreamer-libs-docs.sgml:
20630           disabed additional index entries again, as this makes docs-gen just
20631           slow and they aren't useful yet
20632         * docs/libs/gstreamer-libs-sections.txt:
20633           little -section.txt cleanup for libs
20634
20635 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20636
20637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20638         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20639           fix up some debugging
20640         (gst_base_transform_get_unit_size),
20641         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20642         (gst_base_transform_handle_buffer):
20643         * gst/base/gstbasetransform.h:
20644           handle and store timed NEWSEGMENT events so that subclasses that
20645           calculate time by counting samples have a segment_start time they
20646           need to add to their timestamps - see audioresample
20647
20648 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20649
20650         * gst/gstbin.h:
20651           removed ';' from the end of macro defs
20652         * docs/gst/gstreamer-docs.sgml:
20653         * docs/gst/gstreamer-sections.txt:
20654         * docs/gst/tmpl/.cvsignore:
20655         * gst/gstbus.h:
20656         * gst/gstelement.c: (gst_element_class_init),
20657         (gst_element_set_state), (activate_pads),
20658         (gst_element_save_thyself):
20659         * gst/gstevent.c: (gst_event_new_newsegment):
20660         * gst/gstevent.h:
20661         * gst/gstiterator.c:
20662         * gst/gstiterator.h:
20663         * gst/gstpad.c:
20664         * gst/gstprobe.h:
20665         * gst/gstutils.c: (gst_pad_query_convert):
20666         * gst/gstutils.h:
20667           fixed parameter name mismatches between source, header and docs
20668           added some more docs, resolved the last batch of unused elements in
20669           docs (now someone needs to doc them)
20670
20671 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20672
20673         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20674         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20675           don't walk through the plugins backwards.  Where is all this
20676           reversed logic coming from ?
20677
20678 2005-08-25  Wim Taymans  <wim@fluendo.com>
20679
20680         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20681         (gst_base_transform_transform_size),
20682         (gst_base_transform_configure_caps),
20683         (gst_base_transform_get_unit_size),
20684         (gst_base_transform_buffer_alloc),
20685         (gst_base_transform_change_state):
20686         * gst/base/gstbasetransform.h:
20687         Cache caps unit_size.
20688         Make sure we cannot negotiate up and downstream at the
20689         same time.
20690
20691 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20692
20693         * gst/gst.c: (init_pre), (init_post):
20694           register the installed plugin path after the env var
20695         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20696         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20697           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20698           directories, so the tests can prefer uninstalled over installed
20699
20700 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20701
20702         * gst/base/gstbasetransform.h:
20703           comment
20704         * gst/gstpad.c:
20705           add to docs
20706
20707 2005-08-25  Wim Taymans  <wim@fluendo.com>
20708
20709         * gst/gstbin.c: (bin_bus_handler):
20710         Be a bit more conservative about the posted message.
20711         
20712         * gst/gstbus.c: (gst_bus_post):
20713         Some cleanups, warn wrong return values.
20714
20715 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20716
20717         * check/gst/gstbin.c: (GST_START_TEST):
20718         * gst/gstbin.c: (bin_bus_handler):
20719         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20720         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20721         (gst_message_new_warning), (gst_message_new_tag),
20722         (gst_message_new_state_changed), (gst_message_new_segment_start),
20723         (gst_message_new_segment_done), (gst_message_new_custom):
20724         * gst/gstmessage.h:
20725         * tools/gst-launch.c: (event_loop):
20726         * tools/gst-md5sum.c: (event_loop):
20727           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20728
20729 2005-08-25  Wim Taymans  <wim@fluendo.com>
20730
20731         * check/generic/states.c: (GST_START_TEST):
20732         Cleanup can be done at the end.
20733
20734         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20735         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20736         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20737         Oh boy.. Thanks for finding this, Thomas. 
20738
20739 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20740
20741         * docs/gst/gstreamer.types:
20742           added missing types
20743
20744 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20745
20746         * docs/gst/gstreamer-docs.sgml:
20747         * docs/gst/gstreamer-sections.txt:
20748         * docs/gst/tmpl/.cvsignore:
20749         * gst/gstbin.c:
20750         * gst/gstiterator.c:
20751         * gst/gstutils.c:
20752         * gst/registries/gstxmlregistry.h:
20753           added missing classes and symbols (123 more to go)
20754           removed removed symbols from section file
20755           fixed many doc-comments
20756
20757 2005-08-24  Wim Taymans  <wim@fluendo.com>
20758
20759         * check/generic/states.c: (GST_START_TEST):
20760         Make sure all tasks are stopped.
20761
20762         * check/gst/gstbin.c: (GST_START_TEST):
20763         Unref after usage for proper valgrinding.
20764
20765         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20766         Really wait for the task to stop before destroying the
20767         mutex.
20768
20769         * gst/gstqueue.c: (gst_queue_sink_activate_push),
20770         (gst_queue_src_activate_push):
20771         Small cleanups. Don't stop the task when we did not start
20772         it.
20773
20774         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20775         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20776         (gst_task_get_state), (gst_task_start), (gst_task_pause),
20777         (gst_task_join):
20778         * gst/gsttask.h:
20779         Protect the stream lock with the object lock.
20780         Disallow setting the stream lock when running.
20781         Add cleanup_all to wait for the threadpool to finish.
20782         Remove code to autoallocate a mutex if none was provided.
20783         Add _join() to wait for a task to stop.
20784         Protect the thread pool with a global lock.
20785
20786 2005-08-24  Wim Taymans  <wim@fluendo.com>
20787
20788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20789         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20790         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20791         * gst/base/gstbasesink.h:
20792         Handle newsegment events correctly.
20793         Drop buffers out of the segment range.
20794
20795 2005-08-22  Andy Wingo  <wingo@pobox.com>
20796
20797         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20798         macro, implements an interface and gstimplementsinterface for a
20799         new type.
20800
20801 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20802
20803         * check/Makefile.am:
20804         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20805           add a test that does a bunch of state changes on elements
20806           needs some fixing for valgrind
20807         * check/states/sinks.c: (gst_object_suite):
20808           whitespace
20809         * gst/gstcaps.h:
20810           add prototype for gst_caps_is_equal_fixed
20811         * gst/gstplugin.c:
20812         * gst/gstregistrypool.c:
20813           doc fixes
20814
20815 2005-08-24  Andy Wingo  <wingo@pobox.com>
20816
20817         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20818         convert a negative value. Doesn't make much sense. Mostly this is
20819         here to force callers to ensure -1 maps to -1.
20820
20821 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20822
20823         * docs/pwg/advanced-types.xml:
20824           Well done to Michael for catching my deliberate introduction
20825           of this spelling mistake. 
20826         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20827         * gst/gstelement.h:
20828           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20829           unlink pads before removing the element from the bin.
20830
20831 2005-08-24  Andy Wingo  <wingo@pobox.com>
20832
20833         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20834         the same thing as GST_DEBUG=*:4.
20835         (parse_debug_level, parse_debug_category): New helper parsers.
20836
20837 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20838
20839         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20840         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20841         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20842         (gst_base_transform_buffer_alloc),
20843         (gst_base_transform_handle_buffer):
20844           use gboolean return values and pointers to size so we can use the
20845           full GST_BUFFER_SIZE range (guint) for buffer sizes
20846           use GstPadDirection for transform_caps
20847         * gst/base/gstbasetransform.h:
20848           rename get_size to get_unit_size since that's what it is
20849         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20850           use GstPadDirection for transform_caps
20851         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20852         * gst/gstutils.h:
20853           cleanup and debugging
20854
20855 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20856
20857         * gst/gstelement.c: (gst_element_class_init),
20858         (gst_element_set_state), (activate_pads),
20859         (gst_element_save_thyself):
20860         * tools/gst-compprep.c: (main):
20861         * tools/gst-inspect.c: (print_element_properties_info):
20862         * tools/gst-xmlinspect.c: (print_element_properties):
20863           Fixed long standing mem-leak
20864
20865 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20866
20867         * check/gst/gstbin.c: (GST_START_TEST):
20868         * gst/gstbin.c: (bin_bus_handler):
20869         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20870         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20871         (gst_message_new_warning), (gst_message_new_tag),
20872         (gst_message_new_state_changed), (gst_message_new_segment_start),
20873         (gst_message_new_segment_done), (gst_message_new_custom):
20874         * gst/gstmessage.h:
20875         * tools/gst-launch.c: (event_loop):
20876         * tools/gst-md5sum.c: (event_loop):
20877           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20878           that applications can sensibly post custom messages with references
20879           to their own objects.
20880
20881 2005-08-24  Andy Wingo  <wingo@pobox.com>
20882
20883         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20884         already.
20885
20886 2005-08-24  Wim Taymans  <wim@fluendo.com>
20887
20888         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20889         (gst_base_transform_transform_caps),
20890         (gst_base_transform_transform_size),
20891         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20892         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20893         (gst_base_transform_handle_buffer):
20894         * gst/base/gstbasetransform.h:
20895         Many fixes and new features added by Thomas. Can now also do
20896         transforms with variable sizes and a custom fixate_caps function.
20897
20898 2005-08-24  Wim Taymans  <wim@fluendo.com>
20899
20900         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20901         Some debugging.
20902
20903         * gst/gstclock.h:
20904         Cast to ClockTime before formatting to time.
20905
20906         * gst/gstutils.h:
20907         Cleanups.
20908
20909 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20910
20911         * check/gst-libs/controller.c: (GST_START_TEST),
20912         (gst_controller_suite):
20913         * docs/gst/tmpl/gstcaps.sgml:
20914         * docs/gst/tmpl/gstghostpad.sgml:
20915         * docs/gst/tmpl/gstquery.sgml:
20916         * docs/gst/tmpl/gstutils.sgml:
20917         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20918         (gst_object_sink_values), (gst_object_get_value_arrays),
20919         (gst_object_get_value_array):
20920           gracefully handle helper method calls to objects that are not beeing
20921           controlled, added test case for that          
20922
20923 2005-08-23  Wim Taymans  <wim@fluendo.com>
20924
20925         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20926         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20927         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20928         (gst_event_parse_qos), (gst_event_new_seek),
20929         (gst_event_parse_seek):
20930         * gst/gstevent.h:
20931         Some more debugging output and doc cleanups.
20932
20933         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20934         Fix possible deadlock.
20935
20936 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20937
20938         * docs/gst/gstreamer-docs.sgml:
20939         * docs/gst/gstreamer-sections.txt:
20940         * docs/gst/gstreamer.types:
20941         * docs/gst/tmpl/.cvsignore:
20942         * gst/gstbin.h:
20943         * gst/gstbus.c:
20944         * gst/gstelement.c:
20945         * gst/gstevent.h:
20946           added 100 symbols from gstreamer-unused.txt to the right sections
20947           fixed more broken comments
20948           added GstBus to docs
20949
20950 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20951
20952         * docs/gst/gstreamer-sections.txt:
20953         * docs/gst/tmpl/.cvsignore:
20954         * docs/gst/tmpl/gstbin.sgml:
20955         * docs/gst/tmpl/gstbuffer.sgml:
20956         * gst/base/gstbasesrc.c:
20957         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20958         * gst/gstbuffer.c:
20959         * gst/gstbuffer.h:
20960         * tools/gst-launch.1.in:
20961           inlined more doc comments, added missing comments and fixed comments
20962           fixed typos
20963
20964 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20965
20966         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20967           some debugging
20968         * gst/gstcaps.h:
20969           whitespace fixes
20970         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20971           more debugging
20972         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20973         * gst/gststructure.h:
20974           add a fixate function for booleans; add a FIXME that these func
20975           names should probably be gst_structure_fixate_*
20976
20977 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20978
20979         * docs/gst/gstreamer-docs.sgml:
20980         * docs/gst/gstreamer-sections.txt:
20981         * gst/Makefile.am:
20982         * gst/gstbin.c: (gst_bin_get_type),
20983         (gst_bin_child_proxy_get_child_by_index),
20984         (gst_bin_child_proxy_get_children_count),
20985         (gst_bin_child_proxy_init):
20986         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20987         (gst_child_proxy_get_child_by_index),
20988         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20989         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20990         (gst_child_proxy_get), (gst_child_proxy_set_property),
20991         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20992         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20993         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20994         * gst/gstchildproxy.h:
20995         * gst/parse/grammar.y:
20996         * tools/gst-inspect.c: (print_interfaces),
20997         (print_element_properties_info), (print_element_info):
20998           ported gstchildproxy over from 0.8
20999           ported gst-inspect fixes and enhancements over from 0.8
21000
21001 2005-08-22  Wim Taymans  <wim@fluendo.com>
21002
21003         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21004         (gst_base_transform_handle_buffer):
21005         Also call the transform function if we have ANY caps.
21006
21007         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
21008         Fix debug info.
21009
21010 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
21011
21012         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
21013           Don't pretend to handle seek events if the source is not seekable
21014
21015 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
21016
21017         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21018           Remove extra parameter to debug output
21019
21020         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21021         (gst_base_src_do_seek), (gst_base_src_activate_push):
21022           Fix seek event handling.
21023
21024         * gst/gstpipeline.c: (gst_pipeline_change_state):
21025         * gst/gstqueue.c: (gst_queue_handle_sink_event),
21026         (gst_queue_src_activate_push):
21027           Don't start the src pad task on FLUSH_STOP if the pad
21028           isn't linked.
21029           Debug changes.
21030
21031 2005-08-22  Wim Taymans  <wim@fluendo.com>
21032
21033         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
21034         Added check for gst_static_caps_get() refcounting.
21035
21036 2005-08-22  Wim Taymans  <wim@fluendo.com>
21037
21038         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
21039         Make _static_caps_get() refcounting sane.
21040         
21041         * gst/gstelement.c: (gst_element_set_state):
21042         Add g_return_val_if_fail() to protect against segfaults.
21043
21044 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
21045
21046         * docs/gst/tmpl/gstevent.sgml:
21047         * gst/gstevent.c:
21048         * gst/gstevent.h:
21049           inlined remaining docs, added missing doc comments
21050
21051 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21052
21053         * check/gst/gstbin.c: (GST_START_TEST):
21054           since we don't know when preroll is done, use refcount range
21055           check for the sink
21056         * gst/check/gstcheck.h:
21057           add macro for checking refcount range
21058
21059 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21060
21061         * check/Makefile.am:
21062           clean up environment for when registry gets built versus
21063           when actual tests are run; valgrind seems to not report
21064           leaks if GST_PLUGIN_PATH is set to some specific values
21065         * check/gst/gstbin.c: (GST_START_TEST):
21066           add more refcounting checks; maybe this exposes a
21067           preroll lock bug ?
21068         * common/check.mak:
21069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21070         * gst/check/gstcheck.h:
21071         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
21072         (gst_bin_change_state):
21073         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
21074           add/fix debugging/whitespace
21075
21076 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
21077
21078         * check/gst/gstevent.c: (event_probe), (test_event),
21079         (GST_START_TEST):
21080          Er, don't call gst_bin_watch_for_state_change you idiot.
21081
21082 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
21083
21084         * check/Makefile.am:
21085           Use CHECK_CFLAGS and CHECK_LIBS
21086         * check/gst/gstevent.c: (event_probe), (test_event),
21087         (GST_START_TEST):
21088           Don't leak events.
21089         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21090         (gst_base_src_start), (gst_base_src_stop),
21091         (gst_base_src_activate_push), (gst_base_src_activate_pull),
21092         (gst_base_src_change_state):
21093           Sprinkle gst_base_src_stop liberally around error paths to fix
21094           problems reusing a source after failed state changes.
21095         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21096         (helper_find_suggest), (gst_type_find_helper):
21097           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
21098         * gst/gstevent.h:
21099         * docs/gst/tmpl/gstevent.sgml:
21100           Migrate part of the docs from the SGML file. Wait for ensonic to
21101           tell me how I did it wrong ;)
21102         * tools/gst-typefind.c: (main):
21103           Extra robustness to state changes between files.
21104
21105 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21106
21107         * check/Makefile.am:
21108           don't valgrind the controller test - it's leaking - Stefan, HELP
21109         * gst/check/gstcheck.c: (gst_check_message_error),
21110         (gst_check_chain_func), (gst_check_setup_element),
21111         (gst_check_teardown_element), (gst_check_setup_src_pad),
21112         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
21113         (gst_check_teardown_sink_pad):
21114         * gst/check/gstcheck.h:
21115           add a bunch of methods to set up elements, and src and sink pads
21116         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
21117         * check/elements/identity.c: (setup_identity), (cleanup_identity),
21118         (GST_START_TEST):
21119           use them
21120         * gst/gstmessage.c:
21121         * gst/gsttag.h:
21122           whitespace/doc fixes
21123
21124 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21125
21126         * gst/gstelement.h:
21127           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
21128           be handled by the application and not always printed as well
21129
21130 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21131
21132         * check/Makefile.am:
21133           set GST_TOOLS_DIR
21134         * gst/check/gstcheck.c: (gst_check_message_error):
21135         * gst/check/gstcheck.h:
21136           add a fail_unless_equals_int
21137           add fail_unless for error messages
21138
21139 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21140
21141         * check/Makefile.am:
21142         * check/gst.supp:
21143         * common/Makefile.am:
21144         * common/check.mak:
21145         * common/gst.supp:
21146           factor out some of the common stuff so we can use it
21147
21148 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21149
21150         * check/Makefile.am:
21151         * check/gst/gstiterator.c: (GST_START_TEST):
21152         * check/gst/gstsystemclock.c: (GST_START_TEST),
21153         (gst_systemclock_suite):
21154         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
21155         * gst/gstclock.c:
21156           valgrind more tests
21157
21158 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21159
21160         * check/elements/.cvsignore:
21161         * check/elements/gstfakesrc.c:
21162           rename to name of element
21163         * check/elements/identity.c: (chain_func), (event_func),
21164         (setup_identity), (cleanup_identity), (GST_START_TEST),
21165         (identity_suite), (main):
21166           add a test for identity
21167         * check/Makefile.am:
21168         * pkgconfig/Makefile.am:
21169         * pkgconfig/gstreamer-check.pc.in:
21170         * pkgconfig/gstreamer-check-uninstalled.pc.in:
21171         * gst/check:
21172         * gst/Makefile.am:
21173         * configure.ac:
21174           move the check stuff to a library that gets installed
21175         * check/gst-libs/controller.c: (GST_START_TEST):
21176         * check/gst-libs/gdp.c:
21177         * check/gst/gst.c: (GST_START_TEST):
21178         * check/gst/gstbin.c:
21179         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21180         * check/gst/gstbus.c:
21181         * check/gst/gstcaps.c: (GST_START_TEST):
21182         * check/gst/gstelement.c:
21183         * check/gst/gstghostpad.c:
21184         * check/gst/gstiterator.c:
21185         * check/gst/gstmessage.c:
21186         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
21187         * check/gst/gstobject.c:
21188         * check/gst/gstpad.c: (GST_START_TEST):
21189         * check/gst/gststructure.c: (GST_START_TEST):
21190         * check/gst/gstsystemclock.c: (GST_START_TEST),
21191         (gst_systemclock_suite):
21192         * check/gst/gsttag.c: (gst_tag_suite):
21193         * check/gst/gstvalue.c:
21194         * check/pipelines/cleanup.c:
21195         * check/pipelines/simple_launch_lines.c:
21196         * check/states/sinks.c:
21197           change include statement
21198
21199         * docs/gst/gstreamer-sections.txt:
21200         * docs/gst/tmpl/gstpad.sgml:
21201           document more pad stuff
21202         * gst/gstminiobject.c: (gst_mini_object_ref),
21203         (gst_mini_object_unref):
21204           debug refcounting
21205
21206 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
21207
21208         * docs/gst/tmpl/gst.sgml:
21209         * gst/gst.c:
21210           eliminate another tmpl file, fix spelling in the long-description
21211
21212 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21213
21214         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21215         (test_event), (timediff), (gstevents_suite):
21216           Should fix build on 64-bit arch's
21217
21218 2005-08-18  Andy Wingo  <wingo@pobox.com>
21219
21220         Make sure that when a pipeline goes to PLAYING, that data has
21221         actually hit the sink.
21222
21223         * check/states/sinks.c (test_sink): A sink that doesn't get any
21224         data shouldn't return SUCCESS for going to either PLAYING or
21225         PAUSED. Test also the return values on the way back down.
21226
21227         * gst/gstelement.c (gst_element_set_state): When changing the
21228         state of an element currently changing state asynchronously, go to
21229         lost-state after commiting the pending state. Makes future calls
21230         to get_state continue to return ASYNC.
21231
21232         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
21233         ASYNC when going to PLAYING if we still don't have preroll, as can
21234         happen with live sources.
21235
21236 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21237
21238         * docs/pwg/advanced-types.xml:
21239           Hack long paragraph into 2 chunks as a workaround for buggy
21240           jadetex version in sid and breezy that loops infinitely and
21241           eats all RAM.
21242
21243 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21244
21245         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21246         (test_event), (timediff), (gstevents_suite):
21247           Provide more error margin in clock measurements to allow for 
21248           g_get_current_time inaccuracies.
21249
21250 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21251
21252         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21253         (test_event), (timediff), (gstevents_suite):
21254            Fix error message output so I might be able to tell why the
21255            test works here but fails on the build farm.
21256
21257 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21258
21259         * check/Makefile.am:
21260         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21261         (test_event), (timediff), (gstevents_suite), (main):
21262           I wrote a test!
21263
21264         * docs/design/part-seeking.txt:
21265           Spelling correction
21266
21267         * docs/gst/tmpl/gstevent.sgml:
21268         * docs/gst/tmpl/gstfakesrc.sgml:
21269           Docs updates.
21270
21271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21272           Treat a buffer-without-newsegment the same as a receiving 
21273           a newsegment not in time format, and disable syncing to the clock
21274           with a warning.
21275
21276         * gst/gstbus.c: (gst_bus_set_sync_handler):
21277           Assert if anyone tries to replace the existing sync_handler for bus, 
21278           as only the owner should be setting it.
21279
21280         * gst/gstevent.h:
21281           Have a fixed set of custom event enums with events identified by
21282           their structure name (as in 0.8), rather than a free-for-all
21283           allowing collisions between enum values from different plugins.
21284
21285         * gst/gstpad.c: (gst_pad_class_init):
21286           Docs change.
21287           
21288         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21289           Handle out-of-band downstream events from the sending thread.
21290
21291 2005-08-17  Andy Wingo  <wingo@pobox.com>
21292
21293         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
21294         play-timeout==0 to mean no timeout at all. In that case, don't
21295         bother with a get_state or a warning, just return directly, even
21296         if it's ASYNC.
21297
21298         * gst/base/gstbasetransform.c: Debug changes.
21299
21300         * gst/gstutils.h:
21301         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
21302         ensure bins post state change messages. A bit of a hack but I can't
21303         think of a way to avoid it.
21304
21305         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
21306
21307 2005-08-16  Andy Wingo  <wingo@pobox.com>
21308
21309         * gst/base/gstadapter.h:
21310         * gst/base/gstadapter.c (gst_adapter_take): New function, like
21311         peek() but you own the data. Not terribly efficient atm.
21312
21313 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21314
21315         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
21316         (gst_element_found_tags):
21317         * gst/gstutils.h:
21318           Add two utility functions for tag handling.
21319
21320 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21321
21322         * docs/manual/advanced-dataaccess.xml:
21323         * docs/manual/basics-helloworld.xml:
21324           Fix docs to use _bin_add() before _link(), which fixes the examples
21325           with recent core versions (reported by Madhan Raj M
21326           <raj_madan@rediffmail.com>, #313199).
21327
21328 2005-08-16  Wim Taymans  <wim@fluendo.com>
21329
21330         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21331         Added subtract checks.
21332
21333         * docs/design/part-events.txt:
21334         Some more docs about newsegment
21335
21336         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
21337         Fix FIXME
21338
21339         * gst/gstcaps.c: (gst_caps_to_string):
21340         Add comments, cleanups.
21341         
21342         * gst/gstelement.c: (gst_element_save_thyself):
21343         cleanups
21344         
21345         * gst/gstvalue.c: (gst_value_collect_int_range),
21346         (gst_string_unwrap), (gst_value_union_int_int_range),
21347         (gst_value_union_int_range_int_range),
21348         (gst_value_intersect_int_int_range),
21349         (gst_value_intersect_int_range_int_range),
21350         (gst_value_intersect_double_double_range),
21351         (gst_value_intersect_double_range_double_range),
21352         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
21353         (gst_value_subtract_int_range_int),
21354         (gst_value_subtract_double_range_double),
21355         (gst_value_subtract_double_range_double_range),
21356         (gst_value_subtract_from_list), (gst_value_subtract_list),
21357         (gst_value_can_compare), (gst_value_compare_fraction):
21358         Cleanups, add comments, remove unneeded asserts.
21359
21360 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21361
21362         * tools/gst-launch.c: (event_loop):
21363           don't convert NULL structures to strings
21364
21365 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
21366
21367         * docs/gst/gstreamer-sections.txt:
21368           made some defines private
21369         * docs/gst/tmpl/gstconfig.sgml:
21370         * docs/gst/tmpl/gstqueue.sgml:
21371         * docs/gst/tmpl/gsttaglist.sgml:
21372         * docs/gst/tmpl/gsttypes.sgml:
21373         * docs/gst/tmpl/gstutils.sgml:
21374         * docs/pwg/appendix-porting.xml:
21375         * gst/base/gstbasesink.h:
21376         * gst/base/gstbasesrc.c:
21377         * gst/base/gstbasesrc.h:
21378         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
21379         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
21380         * gst/gstelement.c: (gst_element_class_init):
21381         * gst/gstpad.c: (gst_pad_class_init):
21382         * gst/gstqueue.c: (gst_queue_class_init):
21383         * gst/gstxml.c: (gst_xml_class_init):
21384           documented all undocumented signal inline
21385         * libs/gst/controller/gst-controller.h:
21386           added padding
21387
21388 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21389
21390         * docs/pwg/appendix-porting.xml:
21391           Document _set_link_function -> _set_setcaps_function.
21392
21393 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21394
21395         * check/Makefile.am:
21396           add a .check target for running the check
21397         * check/gst-libs/controller.c: (GST_START_TEST):
21398           cosmetic fixups
21399         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21400           complete checks for gstbuffer; would be nice if I could get the
21401           gcov stuff to work so I can see if I actually completed gstbuffer.c
21402         * check/gstcheck.h:
21403           add ASSERT_BUFFER_REFCOUNT
21404
21405 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
21406
21407         * docs/gst/gstreamer-sections.txt:
21408         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
21409         * gst/gsttag.h:
21410           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
21411           spew out a warning if a tag that is already registered
21412           is re-registered, unless it is re-registered with a 
21413           different type (#308438).
21414
21415 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
21416
21417         * docs/pwg/appendix-porting.xml:
21418         * docs/pwg/building-state.xml:
21419           Add some paragraphs about state changes in 0.9 to the PWG
21420           and the porting guide, in particular about the new meaning
21421           of GST_STATE_PAUSED and how to write state change functions
21422           with concurrent access by multiple threads in mind.
21423
21424 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
21425
21426         * docs/gst/gstreamer-docs.sgml:
21427         * docs/libs/gstreamer-libs-docs.sgml:
21428           added deprecation and since indexes
21429         * libs/gst/controller/gst-controller.c:
21430         * libs/gst/controller/gst-helper.c:
21431           added since tags
21432
21433
21434 2005-08-11  Wim Taymans  <wim@fluendo.com>
21435
21436         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
21437         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
21438         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
21439         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
21440         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
21441         (gst_ghost_pad_set_target):
21442         Actually implement (re)setting the target on a ghostpad
21443         as described in the docs.
21444
21445 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21446
21447         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
21448           Check whether GST_DEBUG_NO_COLOR environment variable is
21449           set and disable coloured debug output if that is the case.
21450
21451 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21452
21453         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21454         (gst_type_find_helper):
21455           The memory returned by gst_type_find_peek() needs to
21456           stay valid until the end of a typefind function, and
21457           typefind functions may keep results from different 
21458           offsets around, so we can't just unref the buffer from
21459           the previous _peek(), but have to save all buffers 
21460           returned by _peek() until typefinding is done and only
21461           free them then.
21462
21463 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
21464
21465         * docs/gst/gstreamer-sections.txt:
21466         * gst/gstutils.h:
21467           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
21468
21469 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21470
21471         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
21472           Fix a pretty good memleak.
21473
21474 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21475
21476         * gst/gstiterator.h:
21477           Fix wrong include and 'make distcheck'.
21478
21479 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21480
21481         * gst/gstbin.c: (bin_bus_handler):
21482           Use gst_element_post_message() instead.
21483
21484 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21485
21486         * gst/base/gstadapter.h:
21487         * gst/base/gstbasesink.h:
21488         * gst/base/gstbasesrc.h:
21489         * gst/base/gstbasetransform.h:
21490         * gst/base/gstcollectpads.h:
21491         * gst/base/gstpushsrc.h:
21492         * gst/gstiterator.h:
21493           Add padding to our base elements' class and instance structs and
21494           to GstIterator (you will need to rebuild all plugins and apps!)
21495
21496 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21497
21498         * gst/gstbin.c: (bin_bus_handler):
21499           Make default message forwarding from child->bus to bin->bus
21500           threadsafe and make it not emit warnings if the parent has no bus.
21501
21502 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21503
21504         * gst/gstelement.c: (activate_pads):
21505           On paused->ready, set pad->caps to NULL, as is the documented
21506           behaviour in this state change. Fixes playback of series of
21507           media files when visualization is enabled in Totem.
21508
21509 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21510
21511         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21512           Allow NULL as filter-caps (which means "any").
21513
21514 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21515
21516         * docs/libs/gstreamer-libs-sections.txt:
21517         * libs/gst/controller/gst-controller.c:
21518         * libs/gst/controller/gst-controller.h:
21519         * libs/gst/controller/gst-helper.c:
21520           adding more entries to the docs and fix small doc-bugs
21521
21522 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21523
21524         * docs/gst/gstreamer-docs.sgml:
21525         * docs/gst/gstreamer-sections.txt:
21526         * docs/gst/gstreamer.types:
21527         * docs/gst/tmpl/gstbasesink.sgml:
21528         * docs/gst/tmpl/gstbasesrc.sgml:
21529         * docs/gst/tmpl/gstbasetransform.sgml:
21530         * docs/gst/tmpl/gstfakesrc.sgml:
21531         * gst/base/gstcollectpads.c:
21532         * gst/base/gstcollectpads.h:
21533         * libs/gst/controller/gst-controller.c:
21534         * libs/gst/controller/gst-controller.h:
21535         * libs/gst/controller/gst-helper.c:
21536         * libs/gst/controller/gst-interpolation.c:
21537         * libs/gst/controller/lib.c:
21538           added long/short desc for controller docs
21539           added collectpads base class docs
21540           added correct includes to base-class docs
21541
21542 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21543
21544         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21545         (gst_test_mono_source_set_property),
21546         (gst_test_mono_source_class_init), (GST_START_TEST),
21547         (gst_controller_suite):
21548         * docs/gst/gstreamer-docs.sgml:
21549         * docs/gst/gstreamer-sections.txt:
21550         * docs/gst/gstreamer.types:
21551         * docs/libs/gstreamer-libs-docs.sgml:
21552         * docs/libs/gstreamer-libs-sections.txt:
21553         * gst/base/gstadapter.c:
21554         * libs/gst/controller/gst-controller.c:
21555         (gst_controlled_property_new), (gst_controlled_property_free),
21556         (gst_controller_new_valist),
21557         (gst_controller_remove_properties_valist),
21558         (gst_controller_sink_values), (_gst_controller_finalize):
21559         * libs/gst/controller/gst-controller.h:
21560         * libs/gst/controller/gst-helper.c:
21561         (gst_object_control_properties), (gst_object_uncontrol_properties),
21562         (gst_object_get_controller), (gst_object_set_controller),
21563         (gst_object_sink_values), (gst_object_get_value_arrays),
21564         (gst_object_get_value_array):
21565           more tests (and fixes) for the controller
21566           more docs for the controller
21567           integrated companies docs for the adapter 
21568
21569 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21570
21571         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
21572         (GST_START_TEST), (fakesrc_suite):
21573           add tests for sizetype
21574
21575 2005-08-04  Andy Wingo  <wingo@pobox.com>
21576
21577         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
21578         fixes buffer_alloc proxying among other things.
21579
21580         * gst/base/gstbasetransform.c:
21581         * gst/base/gstbasetransform.h:
21582         Revert patch to gstbasetransform from 7-28 removing
21583         delay_configure.
21584
21585         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
21586         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
21587         Semantics changed, should return not the size of the output buffer
21588         but the byte size of a buffer with a given caps.
21589
21590         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
21591         debug object.
21592         (gst_base_transform_configure_caps): Don't set out_size here: (in,
21593         out) are not the pad caps until setcaps finishes.
21594         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
21595         not-in-place case as well. Deal with changing from in-place to
21596         not-in-place within calling pad_alloc_buffer. Still a bit
21597         concerned about the overhead here...
21598
21599 2005-08-03  Andy Wingo  <wingo@pobox.com>
21600
21601         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
21602         fixating is an error.
21603
21604 2005-08-04  Edward Hervey  <edward@fluendo.com>
21605
21606         * gst/base/gstadapter.h: 
21607         Added gst_adapter_get_type() to the header
21608
21609 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21610
21611         * check/Makefile.am:
21612         * check/gst-libs/controller.c:
21613         * libs/gst/controller/gst-controller.c:
21614         (gst_controller_new_valist):
21615           added check test suite for the controller
21616         * gst/base/gstpushsrc.c:
21617           fixed a doc typo
21618
21619 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21620
21621         * docs/gst/Makefile.am:
21622         * docs/gst/gstreamer-docs.sgml:
21623         * docs/gst/gstreamer-sections.txt:
21624         * docs/gst/gstreamer.types:
21625         * docs/gst/tmpl/gstfakesrc.sgml:
21626         * gst/base/README:
21627         * gst/base/gstbasesink.c:
21628         * gst/base/gstbasesink.h:
21629         * gst/base/gstbasesrc.c:
21630         * gst/base/gstbasesrc.h:
21631         * gst/base/gstbasetransform.c:
21632         * gst/base/gstpushsrc.c:
21633         * gst/base/gstpushsrc.h:
21634           add short/long description docs to base classes
21635           add pushsrc to the docs
21636           remove consolidated doc fragments
21637
21638 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21639
21640         * configure.ac:
21641         * docs/libs/Makefile.am:
21642         * docs/libs/gstreamer-libs-docs.sgml:
21643         * docs/libs/gstreamer-libs-sections.txt:
21644         * docs/libs/gstreamer-libs.types:
21645         * examples/Makefile.am:
21646         * examples/controller/.cvsignore:
21647         * examples/controller/Makefile.am:
21648         * examples/controller/audio-example.c: (main):
21649         * libs/gst/Makefile.am:
21650         * libs/gst/controller/.cvsignore:
21651         * libs/gst/controller/Makefile.am:
21652         * libs/gst/controller/gst-controller.c:
21653         (on_object_controlled_property_changed), (gst_timed_value_compare),
21654         (gst_timed_value_find),
21655         (gst_controlled_property_set_interpolation_mode),
21656         (gst_controlled_property_new), (gst_controlled_property_free),
21657         (gst_controller_find_controlled_property),
21658         (gst_controller_new_valist), (gst_controller_new),
21659         (gst_controller_remove_properties_valist),
21660         (gst_controller_remove_properties), (gst_controller_set),
21661         (gst_controller_set_from_list), (gst_controller_unset),
21662         (gst_controller_get), (gst_controller_get_all),
21663         (gst_controller_sink_values), (gst_controller_get_value_arrays),
21664         (gst_controller_get_value_array),
21665         (gst_controller_set_interpolation_mode),
21666         (_gst_controller_finalize), (_gst_controller_init),
21667         (_gst_controller_class_init), (gst_controller_get_type):
21668         * libs/gst/controller/gst-controller.h:
21669         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21670         (g_object_uncontrol_properties), (g_object_get_controller),
21671         (g_object_set_controller), (g_object_sink_values),
21672         (g_object_get_value_arrays), (g_object_get_value_array):
21673         * libs/gst/controller/gst-interpolation.c:
21674         (gst_controlled_property_find_timed_value_node),
21675         (interpolate_none_get), (interpolate_trigger_get),
21676         (interpolate_trigger_get_value_array):
21677         * libs/gst/controller/lib.c: (gst_controller_init):
21678         * pkgconfig/Makefile.am:
21679         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21680         * pkgconfig/gstreamer-control.pc.in:
21681         * testsuite/Makefile.am:
21682         * testsuite/controller/.cvsignore:
21683         * testsuite/controller/Makefile.am:
21684         * testsuite/controller/interpolator.c: (main):
21685           added controller code
21686           removed dparam pc files
21687
21688 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21689         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21690         (gst_collectpads_stop):
21691           Broadcast the condition when shutting down, to make sure we wake all
21692           threads up. Shut down pads on finalize, for safety.
21693
21694 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21695         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21696         (gst_base_transform_handle_buffer),
21697         (gst_base_transform_change_state):
21698           Handle PAUSED->READY->PAUSED transition after negotiation
21699           occurred already.
21700         * gst/gstmessage.c: (gst_message_init):
21701           Extra piece of debug for new messages.
21702
21703 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21704
21705         * configure.ac:
21706         * docs/gst/tmpl/gstbasesrc.sgml:
21707         * docs/gst/tmpl/gstelement.sgml:
21708         * docs/gst/tmpl/gstevent.sgml:
21709         * docs/gst/tmpl/gstfakesrc.sgml:
21710         * docs/gst/tmpl/gstformat.sgml:
21711         * docs/gst/tmpl/gstghostpad.sgml:
21712         * docs/gst/tmpl/gstpad.sgml:
21713         * docs/gst/tmpl/gstquery.sgml:
21714         * docs/gst/tmpl/gststructure.sgml:
21715         * docs/gst/tmpl/gsttaglist.sgml:
21716         * docs/gst/tmpl/gstvalue.sgml:
21717         * docs/libs/gstreamer-libs-docs.sgml:
21718         * docs/libs/gstreamer-libs-sections.txt:
21719         * docs/libs/gstreamer-libs.types:
21720         * libs/gst/Makefile.am:
21721         * libs/gst/control/.cvsignore:
21722         * libs/gst/control/Makefile.am:
21723         * libs/gst/control/control.c:
21724         * libs/gst/control/control.h:
21725         * libs/gst/control/dparam.c:
21726         * libs/gst/control/dparam.h:
21727         * libs/gst/control/dparam_smooth.c:
21728         * libs/gst/control/dparam_smooth.h:
21729         * libs/gst/control/dparamcommon.h:
21730         * libs/gst/control/dparammanager.c:
21731         * libs/gst/control/dparammanager.h:
21732         * libs/gst/control/dplinearinterp.c:
21733         * libs/gst/control/dplinearinterp.h:
21734         * libs/gst/control/unitconvert.c:
21735         * libs/gst/control/unitconvert.h:
21736         * testsuite/Makefile.am:
21737         * testsuite/dynparams/.cvsignore:
21738         * testsuite/dynparams/Makefile.am:
21739         * testsuite/dynparams/dparamstest.c:
21740         * tools/Makefile.am:
21741         * tools/gst-inspect.c: (print_element_info), (main):
21742         * tools/gst-xmlinspect.c: (print_element_info), (main):
21743           deactivate and remove dparams (libgstcontrol)
21744
21745 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21746
21747         * gst/elements/gsttypefindelement.c:
21748         (gst_type_find_element_have_type), (gst_type_find_element_init),
21749         (stop_typefinding), (gst_type_find_element_handle_event),
21750         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21751         * gst/elements/gsttypefindelement.h:
21752           Set caps on all outgoing buffers, not just the first one.
21753
21754 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21755
21756         * gst/elements/gsttypefindelement.c:
21757         (gst_type_find_element_have_type),
21758         (gst_type_find_element_check_set_buffer_caps),
21759         (gst_type_find_element_init), (stop_typefinding),
21760         (gst_type_find_element_handle_event),
21761         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21762         * gst/elements/gsttypefindelement.h:
21763           Set caps on first outgoing buffer when we've found the type.
21764
21765 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21766
21767         * docs/gst/gstreamer-docs.sgml:
21768         * docs/gst/gstreamer-sections.txt:
21769         * docs/gst/tmpl/gstscheduler.sgml:
21770         * docs/gst/tmpl/gstschedulerfactory.sgml:
21771           Remove some old cruft from docs.
21772
21773 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
21774
21775         * gst/gstpad.h:
21776           Fix inline docs for GstPadLinkReturn.
21777           
21778         * gst/gststructure.c: (gst_structure_has_name):
21779         * gst/gststructure.h:
21780         * docs/gst/gstreamer-sections.txt:
21781           New API: gst_structure_has_name().
21782
21783 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
21784
21785         * configure.ac:
21786           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21787           and _LARGEFILE_SOURCE in config.h as required. Do not 
21788           export those flags in our .pc files any longer (#142209).
21789
21790           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21791
21792         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21793         (gst_file_sink_do_seek), (gst_file_sink_event),
21794         (gst_file_sink_get_current_offset), (gst_file_sink_render):
21795           Redo seek/tell calls with large file support in mind; add some
21796           debugging messages; add log message that tells us when large
21797           file support is unavailable or not enabled for some reason.
21798
21799         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21800           Add log message that tells us when large file support 
21801           is unavailable or not enabled for some reason.
21802
21803 2005-07-29  Wim Taymans  <wim@fluendo.com>
21804
21805         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21806         Added test for removing an element with ghostpad from a bin.
21807         Fixed test as current implementation does the right thing.
21808
21809         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21810         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21811         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21812         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21813         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21814         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21815         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21816         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21817         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21818         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21819         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21820         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21821         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21822         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21823         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21824         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21825         * gst/gstghostpad.h:
21826         Clean up ghostpads, remove properties for internal stuff.
21827         Make threadsafe.
21828         Fix refcounting.
21829         Prepare for switching targets, not all use cases work yet.
21830
21831 2005-07-29  Wim Taymans  <wim@fluendo.com>
21832
21833         * docs/design/part-gstghostpad.txt:
21834         Small update.
21835
21836         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21837         (gst_bin_remove_func):
21838         Unlinking pads while holding the bin LOCK is not a good
21839         idea.
21840
21841         * gst/gstpad.c: (gst_pad_class_init),
21842         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21843         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21844         No prob setting template after creating the pad.
21845
21846 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
21847
21848         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21849         (gst_bus_peek), (gst_bus_source_dispatch),
21850         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21851         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21852           gst_bus_poll may be called from other threads. Handle
21853           this nicely by not making poll_data disappear off the
21854           stack once gst_bus_poll returns.
21855           gst_bus_peek now increments the refcount on the returned
21856           message.
21857
21858 2005-07-29  Wim Taymans  <wim@fluendo.com>
21859
21860         * docs/design/part-gstghostpad.txt:
21861         Overview of current GhostPad datastructures and use
21862         cases for changing the target.
21863
21864 2005-07-28  Wim Taymans  <wim@fluendo.com>
21865
21866         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21867         Added checks for hierarchy consistency whan adding linked
21868         elements to bins.
21869
21870         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21871         Added check to test element scheduling without bin/pipeline.
21872
21873         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21874         First add elements to bin, then link.
21875         
21876         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21877         (gst_bin_remove_func):
21878         Unlink pads from elements added/removed from bin to maintain
21879         hierarchy consistency.
21880
21881 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21882
21883         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21884         (gst_base_transform_handle_buffer):
21885         * gst/base/gstbasetransform.h:
21886           Remove broken delay_configure (fixes renegotiation of software
21887           scaling pipelines); remove some leftover printf()s.
21888
21889 2005-07-28  Wim Taymans  <wim@fluendo.com>
21890
21891         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21892         Added some more tests for wrong hierarchy
21893
21894         * docs/design/part-overview.txt:
21895         Some updates.
21896
21897         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21898         Cleanups.
21899
21900         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21901         (gst_element_dispose):
21902         Some more cleanups.
21903
21904         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21905         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21906         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21907         (gst_pad_set_caps), (gst_pad_send_event):
21908         Check for correct hierarchy when linking pads. Moving to
21909         strict requirement for ghostpads when linking elements in
21910         different bins.
21911
21912         * gst/gstpad.h:
21913         Clean ups. Added WRONG_HIERARCHY return value.
21914
21915 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21916
21917         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21918           Better debug if no transform is possible.
21919
21920 2005-07-27  Wim Taymans  <wim@fluendo.com>
21921
21922         * docs/random/wtay/network-transp:
21923         Some old doc I had.
21924
21925 2005-07-27  Wim Taymans  <wim@fluendo.com>
21926
21927         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21928         (gst_dp_event_from_packet):
21929         Fix serialization of seek events.
21930
21931 2005-07-27  Wim Taymans  <wim@fluendo.com>
21932
21933         * check/gst-libs/gdp.c: (GST_START_TEST):
21934         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21935         Fix compilation and fix event serialization.
21936
21937 2005-07-27  Wim Taymans  <wim@fluendo.com>
21938
21939         * CHANGES-0.9:
21940         * docs/design/part-TODO.txt:
21941         * docs/design/part-events.txt:
21942         Some docs updates
21943
21944         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21945         (gst_base_sink_event), (gst_base_sink_do_sync),
21946         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21947         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21948         (gst_base_src_do_seek), (gst_base_src_event_handler),
21949         (gst_base_src_loop):
21950         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21951         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21952         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21953         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21954         (gst_base_transform_set_passthrough),
21955         (gst_base_transform_is_passthrough):
21956         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21957         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21958         Event updates.
21959
21960         * gst/gstbuffer.h:
21961         Use faster casts.
21962
21963         * gst/gstelement.c: (gst_element_seek):
21964         * gst/gstelement.h:
21965         Update gst_element_seek.
21966
21967         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21968         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21969         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21970         (gst_event_new_eos), (gst_event_new_newsegment),
21971         (gst_event_parse_newsegment), (gst_event_new_tag),
21972         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21973         (gst_event_parse_qos), (gst_event_new_seek),
21974         (gst_event_parse_seek), (gst_event_new_navigation):
21975         * gst/gstevent.h:
21976         Make GstEvent use GstStructure. Add parsing code, make sure the
21977         API is sufficiently generic.
21978         Mark possible directions of events and serialization.
21979
21980         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21981         (_gst_message_copy), (gst_message_new_segment_start),
21982         (gst_message_new_segment_done), (gst_message_new_custom),
21983         (gst_message_parse_segment_start),
21984         (gst_message_parse_segment_done):
21985         Small cleanups.
21986
21987         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21988         (gst_pad_set_caps), (gst_pad_send_event):
21989         Update for new events. 
21990         Catch events sent in wrong directions.
21991
21992         * gst/gstqueue.c: (gst_queue_link_src),
21993         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21994         (gst_queue_handle_src_query):
21995         Event updates.
21996
21997         * gst/gsttag.c:
21998         * gst/gsttag.h:
21999         Remove event code from this file.
22000
22001         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22002         (gst_dp_event_from_packet):
22003         Event updates.
22004
22005 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22006
22007         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
22008         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22009         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
22010           Make debugging actually useful.
22011
22012 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22013
22014         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
22015         (gst_pad_fixate_caps):
22016           Implement default fixation once again, so that gst_pad_fixate()
22017           actually does anything at all. This probably needs to be some
22018           sort of a last resort, and use profile-based fixation first, but
22019           since that doesn't exist yet, this is the best we have. Fixes
22020           visualization in Totem.
22021
22022 2005-07-22  Wim Taymans  <wim@fluendo.com>
22023
22024         * docs/design/part-events.txt:
22025         Small update.
22026
22027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22028         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
22029         (gst_base_sink_activate_pull):
22030         Some more comments.
22031
22032         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
22033         (gst_fake_src_create):
22034         Fix handoff marshall.
22035
22036         * gst/elements/gstidentity.c: (gst_identity_class_init),
22037         (gst_identity_transform_ip):
22038         We're a real inplace element.
22039
22040         * gst/gstbus.c: (gst_bus_post):
22041         Added some comments.
22042
22043         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
22044         * tests/muxing/case1.c: (main):
22045         * tests/sched/dynamic-pipeline.c: (main):
22046         * tests/sched/interrupt1.c: (main):
22047         * tests/sched/interrupt2.c: (main):
22048         * tests/sched/interrupt3.c: (main):
22049         * tests/sched/runxml.c: (main):
22050         * tests/sched/sched-stress.c: (main):
22051         * tests/seeking/seeking1.c: (event_received), (main):
22052         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22053         (main):
22054         * tests/threadstate/threadstate3.c: (main):
22055         * tests/threadstate/threadstate4.c: (main):
22056         * tests/threadstate/threadstate5.c: (main):
22057         Fix the tests.
22058
22059 2005-07-21  Wim Taymans  <wim@fluendo.com>
22060
22061         * docs/design/part-seeking.txt:
22062         Some small additions.
22063
22064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22065         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22066         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
22067         * gst/base/gstbasesink.h:
22068         discont values are gint64, handle the math correctly.
22069
22070         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22071         Make the basesrc report error if the source pad is not linked.
22072
22073         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22074         (gst_queue_loop), (gst_queue_handle_src_query),
22075         (gst_queue_src_activate_push):
22076         Make queue collect data even if the srcpad is not linked.
22077         Start pushing out data as soon as it is linked.
22078
22079         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
22080         * gst/gstutils.h:
22081         Added gst_flow_get_name() to ease error reporting.
22082
22083 2005-07-20  Wim Taymans  <wim@fluendo.com>
22084
22085         * gst/gstmessage.c: (gst_message_new_segment_start),
22086         (gst_message_new_segment_done), (gst_message_parse_segment_start),
22087         (gst_message_parse_segment_done):
22088         * gst/gstmessage.h:
22089         Added a bunch of messages for advanced seeking.
22090
22091         * gst/parse/grammar.y:
22092         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
22093         (gst_dpman_state_changed):
22094         Fix some new-pad -> pad-added signals
22095
22096 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22097
22098         * docs/manual/appendix-porting.xml:
22099         * docs/pwg/appendix-porting.xml:
22100           Document new-pad/state-change signal renames and the FixedList
22101           type rename.
22102
22103 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22104
22105         * docs/manual/advanced-autoplugging.xml:
22106         * docs/manual/basics-helloworld.xml:
22107         * docs/manual/basics-pads.xml:
22108         * docs/random/ds/0.9-suggested-changes:
22109         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
22110         * gst/gstelement.h:
22111         * gst/gstevent.h:
22112         * gst/gstformat.h:
22113         * gst/gstquery.h:
22114         * gst/gststructure.c: (gst_structure_value_get_generic_type),
22115         (gst_structure_parse_array), (gst_structure_parse_value):
22116         * gst/gstvalue.c: (gst_type_is_fixed),
22117         (gst_value_list_prepend_value), (gst_value_list_append_value),
22118         (gst_value_list_get_size), (gst_value_list_get_value),
22119         (gst_value_transform_array_string), (gst_value_serialize_array),
22120         (gst_value_deserialize_array), (gst_value_intersect_array),
22121         (gst_value_is_fixed), (_gst_value_initialize):
22122         * gst/gstvalue.h:
22123           GstElement::new-pad -> pad-added, GstElement::state-change ->
22124           state-changed, GstValueFixedList -> GstValueArray, add format and
22125           flags as their own arguments in gst_element_seek() (should improve
22126           "bindeability"), remove function generators since they don't work
22127           under a whole bunch of compilers (they were deprecated already
22128           anyway).
22129
22130 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22131
22132         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22133         (_gst_debug_register_funcptr):
22134         * gst/gstinfo.h:
22135           Fix illegal cast on some platforms (#309253).
22136
22137 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22138
22139         * gst/gstmessage.c: (gst_message_new_custom):
22140         * gst/gstmessage.h:
22141           Add _new_custom, make _new_application a macro to _new_custom.
22142
22143 2005-07-20  Wim Taymans  <wim@fluendo.com>
22144
22145         * gst/base/gstbasesrc.c: (gst_base_src_init),
22146         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22147         * gst/base/gstbasesrc.h:
22148         Add a gboolean to decide when to push out a discont.
22149
22150         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22151         (gst_queue_loop), (gst_queue_handle_src_query),
22152         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
22153         (gst_queue_set_property), (gst_queue_get_property):
22154         Some cleanups.
22155
22156         * tests/threadstate/threadstate1.c: (main):
22157         Make a thread test compile and run... very silly..
22158
22159
22160 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22161
22162         * docs/manual/appendix-porting.xml:
22163           Mention removal of libgstgconf-0.9.la and existence of gconf
22164           elements.
22165
22166 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22167
22168         * docs/pwg/advanced-clock.xml:
22169         * docs/pwg/appendix-porting.xml:
22170         * docs/pwg/intro-preface.xml:
22171         * docs/pwg/other-base.xml:
22172         * docs/pwg/other-manager.xml:
22173         * docs/pwg/other-nton.xml:
22174         * docs/pwg/other-ntoone.xml:
22175         * docs/pwg/other-oneton.xml:
22176         * docs/pwg/pwg.xml:
22177           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
22178           demuxer), remove n-to-n (was never written), fix some code examples
22179           and links and update the porting section to include all this.
22180
22181 2005-07-19  Wim Taymans  <wim@fluendo.com>
22182
22183         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
22184         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
22185         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
22186         (gst_queue_src_activate_push), (gst_queue_change_state),
22187         (gst_queue_get_property):
22188         * gst/gstqueue.h:
22189         Propagate GstFlowReturn more intelligently upstream and output
22190         an ERROR/EOS when streaming stopped due to fatal error.
22191
22192 2005-07-19  Wim Taymans  <wim@fluendo.com>
22193
22194         * tools/gst-launch.c: (check_intr), (event_loop), (main):
22195         Don't block forever for the state change to complete, the
22196         pipeline already did with a sensible timeout.
22197
22198 2005-07-19  Wim Taymans  <wim@fluendo.com>
22199
22200         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22201         Make sure we never call the create function is we
22202         got deactivated.
22203
22204 2005-07-19  Andy Wingo  <wingo@pobox.com>
22205
22206         * gst/parse/parse.l: Attempt to solve bug #172815.
22207
22208 2005-07-19  Wim Taymans  <wim@fluendo.com>
22209
22210         * docs/design/part-clocks.txt:
22211         * docs/design/part-events.txt:
22212         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
22213         Small docs updates.
22214         Only update the seeking values when we are not
22215         busy streaming.
22216
22217 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22218
22219         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22220           Oops, ignore the result of gst_pad_push_event here.
22221
22222 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22223
22224         * gst/base/gstbasesrc.c: (gst_base_src_loop),
22225         (gst_base_src_activate_push):
22226           Send discont event from the loop function, as pads
22227           aren't activated yet in the activate_push handler.
22228
22229         * gst/gstbin.c: (bin_bus_handler):
22230           Don't leak element name.
22231
22232 2005-07-18  Andy Wingo  <wingo@pobox.com>
22233
22234         * configure.ac: Use AS_LIBTOOL_TAGS.
22235
22236 2005-07-18  Wim Taymans  <wim@fluendo.com>
22237
22238         * docs/gst/gstreamer.types:
22239         Remove deleted types.
22240
22241 2005-07-18  Wim Taymans  <wim@fluendo.com>
22242
22243         * check/elements/gstfakesrc.c: (GST_START_TEST):
22244         * configure.ac:
22245         * gst/Makefile.am:
22246         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
22247         (init_popt_callback):
22248         * gst/gst.h:
22249         * gst/gst_private.h:
22250         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
22251         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
22252         * gst/gstbin.h:
22253         * gst/gstbus.h:
22254         * gst/gstconfig.h.in:
22255         * gst/gstelement.c: (gst_element_class_init),
22256         (gst_element_set_base_time), (gst_element_get_base_time),
22257         (iterator_fold_with_resync), (gst_element_change_state),
22258         (gst_element_dispose), (gst_element_get_bus):
22259         * gst/gstelement.h:
22260         * gst/gstelementfactory.h:
22261         * gst/gsterror.c: (_gst_core_errors_init):
22262         * gst/gsterror.h:
22263         * gst/gstevent.h:
22264         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22265         * gst/gstindex.c:
22266         * gst/gstinfo.c: (_gst_debug_init):
22267         * gst/gstmessage.c: (_gst_message_copy):
22268         * gst/gstmessage.h:
22269         * gst/gstminiobject.h:
22270         * gst/gstobject.c:
22271         * gst/gstobject.h:
22272         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22273         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
22274         * gst/gstpad.h:
22275         * gst/gstparse.h:
22276         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22277         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22278         (gst_pipeline_get_last_stream_time):
22279         * gst/gstpipeline.h:
22280         * gst/gstpluginfeature.h:
22281         * gst/gstquery.h:
22282         * gst/gstscheduler.c:
22283         * gst/gstscheduler.h:
22284         * gst/gststructure.h:
22285         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22286         (gst_task_finalize), (gst_task_func), (gst_task_create),
22287         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
22288         (gst_task_stop), (gst_task_pause):
22289         * gst/gsttask.h:
22290         * gst/gsttypefind.h:
22291         * gst/gsttypes.h:
22292         * gst/registries/gstlibxmlregistry.c: (load_feature),
22293         (gst_xml_registry_load), (gst_xml_registry_save_feature):
22294         * gst/registries/gstxmlregistry.c:
22295         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
22296         * gst/schedulers/threadscheduler.c:
22297         * libs/gst/control/dparammanager.h:
22298         * tools/gst-inspect.c: (print_element_list),
22299         (print_plugin_features), (print_element_features):
22300         * tools/gst-xmlinspect.c: (print_element_list),
22301         (print_plugin_info), (main):
22302         Removed plugable schedulers.
22303         Removed Scheduler/Manager from elements.
22304         Removed gsttypes.h, rearranged includes.
22305         Removed dependency pad<->element, element<>pipeline, and
22306         various others,  fix includes.
22307         implement gst_pad_get_parent() with gst_object_get_parent()
22308         Make GstTask sefcontained.
22309         Fix _get_state() on GstBin, it did not return ASYNC with a 0
22310         timeout.
22311         Fix endless loop in iterator_fold_with_resync.
22312
22313
22314 2005-07-18  Wim Taymans  <wim@fluendo.com>
22315
22316         * gst/Makefile.am:
22317         * gst/gstarch.h:
22318         Remove old file.
22319
22320 2005-07-18  Wim Taymans  <wim@fluendo.com>
22321
22322         * gst/Makefile.am:
22323         No more cothreads.h
22324
22325 2005-07-18  Wim Taymans  <wim@fluendo.com>
22326
22327         * gst/cothreads.c:
22328         * gst/cothreads.h:
22329         Let's remove these.
22330
22331 2005-07-18  Wim Taymans  <wim@fluendo.com>
22332
22333         * docs/design/part-dynamic.txt:
22334         * docs/design/part-events.txt:
22335         * docs/design/part-seeking.txt:
22336         Some more docs in the works.
22337
22338         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22339         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
22340         (gst_base_transform_setcaps), (gst_base_transform_get_size),
22341         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22342         (gst_base_transform_handle_buffer),
22343         (gst_base_transform_sink_activate_push),
22344         (gst_base_transform_src_activate_pull),
22345         (gst_base_transform_set_passthrough),
22346         (gst_base_transform_is_passthrough):
22347         Refcounting fixes.
22348
22349         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
22350         Cleanups.
22351
22352         * gst/gstevent.c: (gst_event_finalize):
22353         Set SRC to NULL.
22354
22355         * gst/gstutils.c: (gst_element_unlink),
22356         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
22357         (gst_pad_proxy_setcaps):
22358         * gst/gstutils.h:
22359         Add _get_parent_element() to get a pads parent as an element.
22360
22361 2005-07-18  Wim Taymans  <wim@fluendo.com>
22362
22363         * check/gst/gstbin.c: (GST_START_TEST):
22364         Remove bogus test.
22365
22366 2005-07-18  Wim Taymans  <wim@fluendo.com>
22367
22368         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22369         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22370         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22371         (gst_base_sink_event), (gst_base_sink_do_sync),
22372         (gst_base_sink_chain), (gst_base_sink_loop),
22373         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
22374         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
22375         Refcounting fixes.
22376         Fix logic for returning ASYNC when not prerolled.
22377
22378 2005-07-18  Wim Taymans  <wim@fluendo.com>
22379
22380         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22381         Fix nasty refcount bug.
22382
22383 2005-07-16 Philippe Khalaf <burger@speedy.org>
22384
22385         * gst/elements/gstfdsrc.c:
22386         * gst/elements/gstfdsrc.h:
22387         * gst/elements/gstelements.c:
22388         * gst/elements/Makefile.am:
22389         Ported fdsrc to 0.9.
22390
22391 2005-07-16  Wim Taymans  <wim@fluendo.com>
22392
22393         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22394         (gst_base_sink_do_sync):
22395         Fix compile error.
22396
22397 2005-07-16  Wim Taymans  <wim@fluendo.com>
22398
22399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22400         (gst_base_sink_event), (gst_base_sink_get_times),
22401         (gst_base_sink_do_sync), (gst_base_sink_change_state):
22402         * gst/base/gstbasesink.h:
22403         Store and use discont values when syncing buffers as described
22404         in design docs.
22405         
22406         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22407         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
22408         (gst_base_src_activate_push):
22409         Push discont event when starting.
22410
22411         * gst/elements/gstidentity.c: (gst_identity_transform):
22412         Small cleanups.
22413
22414         * gst/gstbin.c: (gst_bin_change_state):
22415         Small cleanups in base_time  distribution.
22416
22417         * gst/gstelement.c: (gst_element_set_base_time),
22418         (gst_element_get_base_time), (gst_element_change_state):
22419         * gst/gstelement.h:
22420         Added methods for the base_time of the element.
22421         Some MT fixes.
22422
22423         * gst/gstpipeline.c: (gst_pipeline_send_event),
22424         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22425         (gst_pipeline_get_last_stream_time):
22426         * gst/gstpipeline.h:
22427         MT fixes.
22428         Handle seeking as described in design doc, remove stream_time
22429         hack.
22430         Cleanups clock and stream_time selection code. Added accessors
22431         for the stream_time.
22432         
22433
22434 2005-07-16  Andy Wingo  <wingo@pobox.com>
22435
22436         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
22437         (#305291).
22438
22439 2005-07-16  Wim Taymans  <wim@fluendo.com>
22440
22441         * check/gst/gstbin.c: (GST_START_TEST):
22442         Make elements silent as the deep_notify refs the
22443         parent, which might make the test fail.
22444
22445         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22446         Don't hold the lock for too long.
22447
22448 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
22449
22450         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
22451           Don't unref the caps we passed to gst_caps_make_writable() after
22452           passing them. gst_caps_make_writable() will do that for us.
22453
22454 2005-07-15  Andy Wingo  <wingo@pobox.com>
22455
22456         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
22457         (#157311).
22458
22459         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
22460         own marshalling function for the handoff signal. Properly type the
22461         buffer as a buffer. Fixes some warnings. Should do a more general
22462         solution.
22463         (gst_identity_class_init): Plug into the right marshaller.
22464
22465 2005-07-15  Wim Taymans  <wim@fluendo.com>
22466
22467         * docs/design/part-TODO.txt:
22468         * docs/design/part-clocks.txt:
22469         * docs/design/part-element-sink.txt:
22470         * docs/design/part-events.txt:
22471         * docs/design/part-gstpipeline.txt:
22472         Updated docs, mostly DISCONT related.
22473
22474 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
22475
22476         * docs/pwg/building-pads.xml:
22477           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
22478
22479 2005-07-15  Andy Wingo  <wingo@pobox.com>
22480
22481         * tools/gst-typefind.c: Update, add copyright block.
22482
22483         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
22484         Normalize and truncate caps before fixation.
22485
22486         * gst/gstcaps.h:
22487         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
22488         discards all but the first structure from its argument.
22489
22490 2005-07-15  Wim Taymans  <wim@fluendo.com>
22491
22492         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22493         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
22494         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22495         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22496         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
22497         (gst_base_transform_chain), (gst_base_transform_change_state),
22498         (gst_base_transform_set_passthrough),
22499         (gst_base_transform_is_passthrough):
22500         * gst/base/gstbasetransform.h:
22501         Make passthrough work using the bufferpools.
22502         Changed API a bit, subclasses have to write into a buffer
22503         provided by the base class.
22504         More debug info in nego functions.
22505         
22506         * gst/elements/gstidentity.c: (gst_identity_init),
22507         (gst_identity_transform):
22508         Port to new base class.
22509
22510 2005-07-15  Wim Taymans  <wim@fluendo.com>
22511
22512         * gst/gstmessage.c: (gst_message_new_state_changed):
22513         * tools/gst-launch.c: (event_loop), (main):
22514         Totally dump messages in -launch with the -m option.
22515         Fix message name for State messages,
22516
22517 2005-07-14  Wim Taymans  <wim@fluendo.com>
22518
22519         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22520         Post error messages on errors.
22521
22522 2005-07-14  Wim Taymans  <wim@fluendo.com>
22523
22524         * gst/gstcaps.c: (gst_caps_do_simplify):
22525         Remove debug info.
22526
22527         * gst/gsterror.h:
22528         Define error for stream stopped.
22529
22530         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22531         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
22532         Do proper return values.
22533
22534         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22535         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
22536         (gst_pad_get_range):
22537         Better return values.
22538
22539         * gst/gstpad.h:
22540         Reorganise return values, add macro to check for fatal errors.
22541
22542         * gst/gstqueue.c: (gst_queue_chain):
22543         Return proper GstFlowReturn values,
22544
22545 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
22546
22547         * docs/gst/gstreamer-sections.txt:
22548         * docs/gst/gstreamer.types:
22549         * docs/gst/tmpl/gst.sgml:
22550         * docs/gst/tmpl/gstbasesink.sgml:
22551         * docs/gst/tmpl/gstbasesrc.sgml:
22552         * docs/gst/tmpl/gstbasetransform.sgml:
22553         * docs/gst/tmpl/gstbin.sgml:
22554         * docs/gst/tmpl/gstbuffer.sgml:
22555         * docs/gst/tmpl/gstcaps.sgml:
22556         * docs/gst/tmpl/gstclock.sgml:
22557         * docs/gst/tmpl/gstcompat.sgml:
22558         * docs/gst/tmpl/gstconfig.sgml:
22559         * docs/gst/tmpl/gstelement.sgml:
22560         * docs/gst/tmpl/gstelementdetails.sgml:
22561         * docs/gst/tmpl/gstelementfactory.sgml:
22562         * docs/gst/tmpl/gstenumtypes.sgml:
22563         * docs/gst/tmpl/gsterror.sgml:
22564         * docs/gst/tmpl/gstevent.sgml:
22565         * docs/gst/tmpl/gstfakesink.sgml:
22566         * docs/gst/tmpl/gstfakesrc.sgml:
22567         * docs/gst/tmpl/gstfilesink.sgml:
22568         * docs/gst/tmpl/gstfilesrc.sgml:
22569         * docs/gst/tmpl/gstfilter.sgml:
22570         * docs/gst/tmpl/gstformat.sgml:
22571         * docs/gst/tmpl/gstghostpad.sgml:
22572         * docs/gst/tmpl/gstimplementsinterface.sgml:
22573         * docs/gst/tmpl/gstindex.sgml:
22574         * docs/gst/tmpl/gstindexfactory.sgml:
22575         * docs/gst/tmpl/gstinfo.sgml:
22576         * docs/gst/tmpl/gstiterator.sgml:
22577         * docs/gst/tmpl/gstmacros.sgml:
22578         * docs/gst/tmpl/gstmemchunk.sgml:
22579         * docs/gst/tmpl/gstminiobject.sgml:
22580         * docs/gst/tmpl/gstobject.sgml:
22581         * docs/gst/tmpl/gstpad.sgml:
22582         * docs/gst/tmpl/gstpadtemplate.sgml:
22583         * docs/gst/tmpl/gstparse.sgml:
22584         * docs/gst/tmpl/gstpipeline.sgml:
22585         * docs/gst/tmpl/gstplugin.sgml:
22586         * docs/gst/tmpl/gstpluginfeature.sgml:
22587         * docs/gst/tmpl/gstquery.sgml:
22588         * docs/gst/tmpl/gstqueue.sgml:
22589         * docs/gst/tmpl/gstregistry.sgml:
22590         * docs/gst/tmpl/gstregistrypool.sgml:
22591         * docs/gst/tmpl/gstscheduler.sgml:
22592         * docs/gst/tmpl/gstschedulerfactory.sgml:
22593         * docs/gst/tmpl/gststructure.sgml:
22594         * docs/gst/tmpl/gstsystemclock.sgml:
22595         * docs/gst/tmpl/gsttaglist.sgml:
22596         * docs/gst/tmpl/gsttagsetter.sgml:
22597         * docs/gst/tmpl/gsttrace.sgml:
22598         * docs/gst/tmpl/gsttrashstack.sgml:
22599         * docs/gst/tmpl/gsttypefind.sgml:
22600         * docs/gst/tmpl/gsttypefindfactory.sgml:
22601         * docs/gst/tmpl/gsttypes.sgml:
22602         * docs/gst/tmpl/gsturihandler.sgml:
22603         * docs/gst/tmpl/gsturitype.sgml:
22604         * docs/gst/tmpl/gstutils.sgml:
22605         * docs/gst/tmpl/gstvalue.sgml:
22606         * docs/gst/tmpl/gstversion.sgml:
22607         * docs/gst/tmpl/gstxml.sgml:
22608         * docs/libs/tmpl/gstcontrol.sgml:
22609         * docs/libs/tmpl/gstdataprotocol.sgml:
22610         * docs/libs/tmpl/gstdparam.sgml:
22611         * docs/libs/tmpl/gstdplinint.sgml:
22612         * docs/libs/tmpl/gstdpman.sgml:
22613         * docs/libs/tmpl/gstdpsmooth.sgml:
22614         * docs/libs/tmpl/gstgetbits.sgml:
22615         * docs/libs/tmpl/gstunitconvert.sgml:
22616         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
22617         (gst_push_src_base_init), (gst_push_src_class_init),
22618         (gst_push_src_init), (gst_push_src_create):
22619         * gst/base/gstpushsrc.h:
22620         * gst/elements/gstelements.c:
22621         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22622         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22623         (gst_fake_sink_init), (gst_fake_sink_set_property),
22624         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22625         (gst_fake_sink_event), (gst_fake_sink_preroll),
22626         (gst_fake_sink_render), (gst_fake_sink_change_state):
22627         * gst/elements/gstfakesink.h:
22628         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22629         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22630         (gst_fake_src_base_init), (gst_fake_src_class_init),
22631         (gst_fake_src_init), (gst_fake_src_event_handler),
22632         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22633         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22634         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22635         (gst_fake_src_create_buffer), (gst_fake_src_create),
22636         (gst_fake_src_start), (gst_fake_src_stop):
22637         * gst/elements/gstfakesrc.h:
22638         * gst/elements/gstfilesink.c: (_do_init),
22639         (gst_file_sink_base_init), (gst_file_sink_class_init),
22640         (gst_file_sink_init), (gst_file_sink_dispose),
22641         (gst_file_sink_set_location), (gst_file_sink_set_property),
22642         (gst_file_sink_get_property), (gst_file_sink_open_file),
22643         (gst_file_sink_close_file), (gst_file_sink_query),
22644         (gst_file_sink_event), (gst_file_sink_render),
22645         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22646         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22647         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22648         * gst/elements/gstfilesink.h:
22649         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22650         (gst_file_src_class_init), (gst_file_src_init),
22651         (gst_file_src_finalize), (gst_file_src_set_location),
22652         (gst_file_src_set_property), (gst_file_src_get_property),
22653         (gst_file_src_map_region), (gst_file_src_map_small_region),
22654         (gst_file_src_create_mmap), (gst_file_src_create_read),
22655         (gst_file_src_create), (gst_file_src_is_seekable),
22656         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22657         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22658         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22659         (gst_file_src_uri_handler_init):
22660         * gst/elements/gstfilesrc.h:
22661           more autistic cleanliness in functions/names/defines
22662
22663 2005-07-13  Andy Wingo  <wingo@pobox.com>
22664
22665         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22666         source couldn't negotiate.
22667
22668         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22669         connections again.
22670
22671         * gst/gstutils.h:
22672         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22673         function. I am channeling Hades. Put your boots on suckers!!!
22674
22675 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22676
22677         * testsuite/caps/Makefile.am:
22678         * testsuite/caps/value_compare.c:
22679         * testsuite/caps/value_intersect.c:
22680         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22681           move two testsuite apps over to the check dir
22682
22683 2005-07-12  Wim Taymans  <wim@fluendo.com>
22684
22685         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22686         Added more debug info in the negotiate process.
22687
22688         * gst/gstmessage.h:
22689         Prepare for segment playback.
22690
22691         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22692         Better debugging.
22693
22694         * gst/gstutils.c:
22695         Some more docs.
22696
22697         * tools/gst-launch.c: (main):
22698         NULL pipeline on errors.
22699
22700 2005-07-12  Andy Wingo  <wingo@pobox.com>
22701
22702         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22703         not it comes from a malloc region. Make sure our copy gets freed.
22704
22705 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22706
22707         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22708         * check/gst/gstmessage.c: (GST_START_TEST):
22709         * check/gst/gststructure.c: (GST_START_TEST),
22710         (gst_structure_suite), (main):
22711           more testing
22712         * gst/gstelement.c: (gst_element_message_full):
22713           clean up GError and debug string now that they get copied
22714         * gst/gstmessage.c: (gst_message_new_error),
22715         (gst_message_new_warning), (gst_message_parse_error),
22716         (gst_message_parse_warning):
22717           use GST_TYPE_G_ERROR for structure_new, and take copies of
22718           arguments, so that we don't mess up refcounting
22719
22720 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22721
22722         * check/Makefile.am:
22723           add per-test valgrind targets
22724         * check/gst-libs/gdp.c: (GST_START_TEST),
22725         (gst_data_protocol_suite), (main):
22726           clean up
22727
22728 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22729
22730         * check/Makefile.am:
22731           instate more valgrindable tests
22732         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22733         (GST_START_TEST), (fakesrc_suite):
22734         * check/gst/gstpad.c: (GST_START_TEST):
22735         * check/gst/gststructure.c: (GST_START_TEST):
22736           fix test leaks
22737         * docs/gst/tmpl/gstminiobject.sgml:
22738         * gst/gstpad.c: (gst_pad_finalize):
22739           fix the static mutex leak
22740
22741 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22742
22743         * check/Makefile.am:
22744           add two more tests for valgrinding
22745         * check/gst/gstvalue.c: (GST_START_TEST):
22746           test refcount of deserialized buffer, found a leak
22747         * docs/gst/gstreamer-docs.sgml:
22748         * docs/gst/gstreamer-sections.txt:
22749         * docs/gst/gstreamer.types:
22750         * docs/gst/tmpl/gstminiobject.sgml:
22751           add miniobject to docs
22752         * gst/gstminiobject.c:
22753           add some docs
22754         * gst/gstvalue.c: (gst_value_deserialize_buffer),
22755         (gst_string_unwrap):
22756           fix a hard-to-find invalid write for one of the tests
22757           fix a leak for deserialized buffers
22758
22759 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22760
22761         * docs/pwg/advanced-events.xml:
22762         * docs/pwg/advanced-request.xml:
22763         * docs/pwg/advanced-scheduling.xml:
22764         * docs/pwg/appendix-porting.xml:
22765         * docs/pwg/building-boiler.xml:
22766         * docs/pwg/intro-preface.xml:
22767         * docs/pwg/other-ntoone.xml:
22768           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22769           of example code and explanation for pad activation, loop() and
22770           getrange() functions and a bit more. Remove old comments pointing
22771           to loop-functions.
22772         * examples/pwg/Makefile.am:
22773           Add loop/getrange examples.
22774
22775 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22776
22777         * configure.ac:
22778           check for valgrind binary + some fixes
22779         * check/gst.supp:
22780           valgrind suppressions for the tests
22781         * check/Makefile.am:
22782           add a valgrind: target that valgrinds the unit tests
22783         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22784         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22785         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22786         * check/gst/gstghostpad.c:
22787           added some cleanup
22788         * check/gst/gstdata.c:
22789           removed
22790         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22791         (thread_unref), (gst_mini_object_suite), (main):
22792           added
22793         * gst/gst.c: (gst_deinit):
22794         * gst/gst.h:
22795           add a method to clean up.
22796         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22797         (gst_system_clock_obtain):
22798           allow for disposing the system clock.
22799         * tools/gst-launch.c: (main):
22800           deinit
22801
22802 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22803
22804         * docs/gst/tmpl/gstbasesrc.sgml:
22805         * docs/gst/tmpl/gstfakesrc.sgml:
22806         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22807         (gst_base_src_init), (gst_base_src_set_property),
22808         (gst_base_src_get_property), (gst_base_src_get_range),
22809         (gst_base_src_start):
22810         * gst/base/gstbasesrc.h:
22811           add num-buffers property
22812         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22813         (gst_fakesrc_init), (gst_fakesrc_set_property),
22814         (gst_fakesrc_get_property), (gst_fakesrc_create),
22815         (gst_fakesrc_start):
22816           remove num-buffers property
22817
22818 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22819
22820         * docs/gst/gstreamer-sections.txt:
22821         * docs/gst/tmpl/gstbasesink.sgml:
22822         * docs/gst/tmpl/gstbasesrc.sgml:
22823         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22824         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22825         (gst_base_sink_finalize), (gst_base_sink_set_clock),
22826         (gst_base_sink_set_property), (gst_base_sink_get_property),
22827         (gst_base_sink_handle_object), (gst_base_sink_event),
22828         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22829         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22830         (gst_base_sink_loop), (gst_base_sink_deactivate),
22831         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22832         (gst_base_sink_change_state):
22833         * gst/base/gstbasesink.h:
22834         * gst/base/gstbasesrc.h:
22835         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22836         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22837         (gst_filesink_init):
22838           more macro splitting
22839
22840 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22841
22842         * gst/gstelement.c: (gst_element_get_bus):
22843           add debug
22844         * tools/gst-launch.c: (check_intr), (event_loop):
22845           fix bus leaks
22846
22847 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22848
22849         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22850           fix a caps leak
22851
22852 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22853
22854         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22855         (gst_base_src_finalize):
22856           add finalize method and clean up properly
22857         * gst/gstpipeline.c: (gst_pipeline_dispose):
22858           add debug
22859
22860 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22861
22862         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22863         (gst_bin_suite):
22864           add more things to check
22865         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22866         * gst/gstelement.c:
22867           more debug
22868
22869 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22870
22871         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22872         (GST_START_TEST), (fakesrc_suite):
22873         * check/gst-libs/gdp.c: (GST_START_TEST):
22874         * check/gst/gst.c: (GST_START_TEST):
22875         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22876         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22877         * check/gst/gstbus.c: (GST_START_TEST):
22878         * check/gst/gstcaps.c: (GST_START_TEST):
22879         * check/gst/gstdata.c: (GST_START_TEST):
22880         * check/gst/gstelement.c: (GST_START_TEST):
22881         * check/gst/gstghostpad.c: (GST_START_TEST):
22882         * check/gst/gstiterator.c: (GST_START_TEST):
22883         * check/gst/gstmessage.c: (GST_START_TEST):
22884         * check/gst/gstobject.c: (GST_START_TEST):
22885         * check/gst/gstpad.c: (GST_START_TEST):
22886         * check/gst/gststructure.c: (GST_START_TEST):
22887         * check/gst/gstsystemclock.c: (GST_START_TEST),
22888         (gst_systemclock_suite):
22889         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22890         * check/gst/gstvalue.c: (GST_START_TEST):
22891         * check/pipelines/cleanup.c: (GST_START_TEST):
22892         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22893         * check/states/sinks.c: (GST_START_TEST):
22894         * check/gstcheck.c: (gst_check_init):
22895         * check/gstcheck.h:
22896           add debugging category
22897           use GST_START_TEST now, so we add a debug line
22898
22899 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22900
22901         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22902           add test for state change message on a bin
22903         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22904           add another test
22905         * gst/gstbin.c: (gst_bin_init):
22906         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22907         * gst/gstelement.c: (gst_element_post_message),
22908         (gst_element_set_state):
22909         * gst/gstelementfactory.c: (gst_element_factory_create):
22910         * gst/gstmessage.c: (gst_message_new):
22911         * gst/gstscheduler.c:
22912           various debugging additions and cleanups
22913
22914 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22915
22916         * check/Makefile.am:
22917         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22918         (main):
22919           adding tests for elements
22920         * gst/gstelement.c: (gst_element_dispose):
22921
22922 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22923
22924         * gst/registries/gstlibxmlregistry.c: (load_feature):
22925           plug more leaks.  A simple gst_init() now is leakfree, yay.
22926
22927 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22928
22929         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22930         (gst_xml_registry_load):
22931           plug another memleak
22932
22933 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22934
22935         * configure.ac:
22936           use GST_SET_ERROR_CFLAGS
22937         * docs/faq/cvs.xml:
22938           change to ERROR_CFLAGS
22939
22940 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22941
22942         * configure.ac:
22943           make GST_ERROR_CFLAGS overridable and re-enable Werror
22944         * docs/faq/cvs.xml:
22945           add a note about error CFLAGS
22946         * docs/gst/tmpl/gstfakesrc.sgml:
22947         * gst/elements/gstfakesrc.c:
22948           comment out some unused code
22949         * gst/gst.c: (split_and_iterate):
22950         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22951         (load_feature):
22952           plug some memleaks
22953
22954 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22955
22956         * common/Makefile.am:
22957         * common/gtk-doc.mak:
22958         * docs/gst/Makefile.am:
22959           factor out gtk-doc.mak
22960
22961 2005-07-07  Wim Taymans  <wim@fluendo.com>
22962
22963         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22964         (gst_thread_scheduler_dispose):
22965         Unlock the STREAM_LOCK completely.
22966
22967 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22968
22969         * check/Makefile.am:
22970         * check/elements/.cvsignore:
22971         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22972         (START_TEST), (fakesrc_suite), (main):
22973         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22974         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22975         (gst_fakesrc_create), (gst_fakesrc_start):
22976         * gst/elements/gstfakesrc.h:
22977           adding a first element test
22978
22979 2005-07-07  Andy Wingo  <wingo@pobox.com>
22980
22981         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22982         debug message.
22983
22984 2005-07-07  Wim Taymans  <wim@fluendo.com>
22985
22986         * gst/gstquery.c:
22987         * gst/gstquery.h:
22988         Remove old types
22989
22990 2005-07-07  Wim Taymans  <wim@fluendo.com>
22991
22992         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22993         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22994         Allow subclasses to implement their own negotiation.
22995
22996 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22997
22998         * docs/design/part-gstbin.txt:
22999         * docs/design/part-gstpipeline.txt:
23000           Update design notes to reflect the movement of
23001           responsibility for bus handling from GstPipeline to
23002           GstBin
23003
23004 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23005
23006         * configure.ac:
23007           Remove unnecessary queue2/3/4 examples.
23008
23009 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23010
23011         * examples/Makefile.am:
23012         * examples/helloworld/helloworld.c: (event_loop), (main):
23013         * examples/queue/queue.c: (event_loop), (main):
23014         * examples/queue2/queue2.c: (main):
23015           Update a couple of the examples to work again.
23016
23017         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23018         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
23019          Spelling corrections and extra debug.
23020         
23021         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
23022         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
23023         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
23024         * gst/gstbin.h:
23025         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23026         (gst_pipeline_change_state):
23027         * gst/gstpipeline.h:
23028           Move the bus handler for children to the GstBin, and create a
23029           separate bus for receiving messages from children to the one the
23030           bus sends 'upwards' on.
23031
23032 2005-07-06  Wim Taymans  <wim@fluendo.com>
23033
23034         * gst/base/README:
23035         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23036         (gst_base_sink_handle_object), (gst_base_sink_loop),
23037         (gst_base_sink_change_state):
23038         * gst/base/gstbasesink.h:
23039         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23040         (gst_base_src_init), (gst_base_src_setcaps),
23041         (gst_base_src_getcaps), (gst_base_src_loop),
23042         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
23043         (gst_base_src_start), (gst_base_src_change_state):
23044         * gst/base/gstbasesrc.h:
23045         Make basesrc negotiate.
23046         Handle the case where preroll fails in basesink.
23047         Update README.
23048
23049 2005-07-06  Wim Taymans  <wim@fluendo.com>
23050
23051         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
23052         Implement the fixate function.
23053         Clean up acceptcaps.
23054
23055 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23056
23057         * docs/pwg/building-filterfactory.xml:
23058         * docs/pwg/pwg.xml:
23059           Remove never-written filter-factory chapter; I'll add the various
23060           base classes to part 4 ("other element types") later on.
23061
23062 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23063
23064         * docs/pwg/advanced-negotiation.xml:
23065         * docs/pwg/building-boiler.xml:
23066         * docs/pwg/building-pads.xml:
23067         * docs/pwg/pwg.xml:
23068         * examples/pwg/Makefile.am:
23069           Add a chapter on caps negotiation, simplify the original code
23070           samples a bit w.r.t. caps negotiation, add link to the advanced
23071           section. Add a bunch of examples showing different use cases of
23072           different types of caps negotiation. Upstream renegotiation isn't
23073           fully documented yet since nobody knows how that works.
23074
23075 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23076
23077         * check/gst/gstpad.c:
23078         * check/gstcheck.c:
23079         * gst/gstpad.c: (gst_pad_get_internal_links_default):
23080           if pad has no parent, return NULL as list of internal links
23081
23082 2005-07-05  Andy Wingo  <wingo@pobox.com>
23083
23084         * gst/elements/gstfilesrc.c:
23085         * gst/elements/gstfakesrc.c: 
23086         * gst/base/gstpushsrc.c:
23087         * gst/base/gstbasesrc.h: 
23088         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
23089         
23090 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
23091
23092         * Makefile.am:
23093           better report generation target (lcov needs a patch)
23094
23095 2005-07-05  Andy Wingo  <wingo@pobox.com>
23096
23097         * gst/elements, testsuite: Null if we got it...
23098
23099 2005-07-05  Wim Taymans  <wim@fluendo.com>
23100
23101         * configure.ac:
23102         * libs/gst/dataprotocol/Makefile.am:
23103         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
23104         * libs/gst/dataprotocol/dataprotocol.h:
23105         * pkgconfig/Makefile.am:
23106         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
23107         * pkgconfig/gstreamer-dataprotocol.pc.in:
23108         Ported dataprotol to 0.9. 
23109         Added pkgconfig files.
23110
23111 2005-07-05  Andy Wingo  <wingo@pobox.com>
23112
23113         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
23114         Default to returning TRUE for the case when tranform_caps returns
23115         a fixed caps, like for identity or volume.
23116
23117         * check/gst/gstbus.c (pound_bus_with_messages): 
23118         * check/gst/gstmessage.c (START_TEST): 
23119         * check/pipelines/simple_launch_lines.c (got_handoff): Application
23120         message API change.
23121
23122         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
23123         logic weaks here: always run transform_caps, trying passthrough
23124         operation only if the original caps intersects with the transform.
23125
23126         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
23127         source and sink caps.
23128
23129         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
23130         Intersect the peer caps with the pad template before going into
23131         transform_caps.
23132         (gst_base_transform_transform_caps): More debugging.
23133
23134         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
23135         src argument.
23136
23137 2005-07-04  Edward Hervey  <edward@fluendo.com>
23138
23139         * gst/gstutils.c:
23140         * gst/gstutils.h:
23141         (gst_pad_add_*_probe): now returns the signal id for better wrapping
23142         in bindings.
23143
23144 2005-07-04  Andy Wingo  <wingo@pobox.com>
23145
23146         * check/gst/gstpad.c: Only set explicit caps on pads.
23147
23148 2005-07-01  Andy Wingo  <wingo@pobox.com>
23149
23150         * tests/network-clock.scm: Commentary update.
23151
23152         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
23153         Didn't really make sense, not implementable with basetransform,
23154         etc.
23155         (gst_identity_transform): Unref inbuf via make_writable. Feeble
23156         attempt at implementing the sync property, needs an unlock method.
23157
23158         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
23159         New func, by default returns the same caps (the identity
23160         transformation).
23161         (gst_base_transform_getcaps): Uses transform_caps to return
23162         something sensible.
23163         (gst_base_transform_setcaps): Complicated logic to get caps on
23164         both pads, even if they are different, and to call set_caps once
23165         for every time both pads get their caps set.
23166         (gst_base_transform_handle_buffer): Give the ref to the transform
23167         function. Allows in-place modification of the buffer.
23168
23169         * gst/base/gstbasetransform.h (transform_caps): New class method.
23170         Given caps on one side, what can I do on the other.
23171         (set_caps): Take two caps, one for each side of the element.
23172
23173         * gst/gstpad.h:
23174         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
23175         caps in place. This is safe because we can check the mutability of
23176         the caps, and a good idea because fixate functions are just called
23177         as a matter of last resort. (Not actually implemented.)
23178         (gst_pad_set_caps): If the caps we're setting is actually the same
23179         as the existing pad caps, just update the pointer without calling
23180         setcaps. Assert that caps is either NULL or fixed, as per the
23181         docs.
23182
23183         * gst/gstghostpad.c: Update for fixate changes.
23184
23185 2005-07-02  Andy Wingo  <wingo@pobox.com>
23186
23187         * gst/gstcaps.c:
23188         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
23189         two refcounts makes it immutable, which is enough. Doc more.
23190
23191 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
23192
23193         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
23194           Put the mini_object into GValue as a mini_object,
23195           not a gpointer, since that's how we declared
23196           the signal.
23197
23198 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23199
23200         * examples/pwg/Makefile.am:
23201           Fix buildbot again.
23202
23203 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23204
23205         * docs/pwg/building-testapp.xml:
23206           Add extra check.
23207         * examples/pwg/Makefile.am:
23208           Fix buildbot.
23209
23210 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23211
23212         * configure.ac:
23213         * examples/Makefile.am:
23214         * examples/pwg/Makefile.am:
23215         * examples/pwg/extract.pl:
23216           Enable building the PWG examples.
23217         * docs/pwg/advanced-interfaces.xml:
23218           Add URI interface stub.
23219         * docs/pwg/advanced-types.xml:
23220         * docs/pwg/other-autoplugger.xml:
23221         * docs/pwg/appendix-porting.xml:
23222         * docs/pwg/pwg.xml:
23223           Add porting guide (mostly stubs), remove autoplugging (see ADM).
23224         * docs/pwg/building-boiler.xml:
23225         * docs/pwg/building-chainfn.xml:
23226         * docs/pwg/building-pads.xml:
23227         * docs/pwg/building-props.xml:
23228         * docs/pwg/building-state.xml:
23229         * docs/pwg/building-testapp.xml:
23230           Update the building-*.xml parts for 0.9 changes. All examples
23231           code blocks compile in examples/pwg/*.
23232
23233 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23234
23235         * docs/manual/advanced-autoplugging.xml:
23236         * docs/manual/appendix-checklist.xml:
23237         * docs/manual/appendix-integration.xml:
23238         * docs/manual/highlevel-components.xml:
23239           Fix playbin/decodebin examples, update docs a bit, mention bus
23240           instead of signals in various places, mention kmplayer and
23241           kaffeine since they have a working GStreamer backend in the KDE
23242           section.
23243
23244 2005-06-30  Wim Taymans  <wim@fluendo.com>
23245
23246         * CHANGES-0.9:
23247         * docs/design/draft-ghostpads.txt:
23248         * docs/design/draft-push-pull.txt:
23249         * docs/design/draft-query.txt:
23250         * docs/design/part-TODO.txt:
23251         * docs/design/part-query.txt:
23252         Added CHANGES-0.9 doc, updated status of other docs.
23253         
23254         * gst/gstquery.h:
23255         Remove "hmm" macro
23256
23257 2005-06-30  Wim Taymans  <wim@fluendo.com>
23258
23259         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23260         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23261         (gst_base_sink_change_state):
23262         * gst/base/gstbasesink.h:
23263         Some tweaks, only EOS and a buffer complete a preroll.
23264
23265 2005-06-30  Andy Wingo  <wingo@pobox.com>
23266
23267         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
23268         activate_push down to the internal pad as well.
23269
23270 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
23271
23272         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23273
23274         * gst/gsttaginterface.c:
23275           Some documentation fixes (#307394 and #307397).
23276
23277 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
23278
23279         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23280
23281         * gst/gstvalue.c: (gst_value_intersect_list):
23282           Fix memleak (#309125).
23283
23284 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23285
23286         * docs/manual/advanced-dataaccess.xml:
23287           Fix fakesrc example to compile; doesn't work, bug somewhere...?
23288         * docs/manual/basics-pads.xml:
23289           Add reference for filtered caps to above chapter.
23290
23291 2005-06-30  Wim Taymans  <wim@fluendo.com>
23292
23293         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
23294         (gst_bin_change_state):
23295         Probes are gone.
23296         Lame attempt at making the state change function a bit
23297         more readable.
23298
23299 2005-06-30  Wim Taymans  <wim@fluendo.com>
23300
23301         * docs/design/part-clocks.txt:
23302         * docs/design/part-element-sink.txt:
23303         * docs/design/part-events.txt:
23304         * docs/design/part-preroll.txt:
23305         * docs/design/part-states.txt:
23306         Some more tweeks and additions to the docs.
23307
23308 2005-06-30  Wim Taymans  <wim@fluendo.com>
23309
23310         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23311         (default_have_data), (gst_pad_class_init), (gst_pad_init),
23312         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23313         (gst_pad_check_pull_range), (gst_pad_get_range),
23314         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
23315         * gst/gstpad.h:
23316         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
23317         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23318         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23319         (gst_pad_remove_buffer_probe):
23320         Removed atomic operations, use existing LOCK.
23321         Move exception handling out of main code path.
23322
23323 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23324
23325         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23326         (silly_return_true_function), (gst_pad_class_init),
23327         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23328         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
23329         (gst_pad_send_event):
23330           Fix accumulator, add default value by using _emitv() instead
23331           of _emit() for signal emission.
23332
23333 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23334
23335         * docs/manual/advanced-dataaccess.xml:
23336         * examples/manual/Makefile.am:
23337           Add probe example.
23338         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
23339           Make work (??).
23340
23341 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
23342
23343         * gst/elements/gstfilesink.c: (gst_filesink_render):
23344           Simplify code so that we don't have to handle short
23345           writes and return GST_FLOW_ERROR if an error occured.
23346
23347 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23348
23349         * docs/gst/gstreamer-docs.sgml:
23350           Remove probes more.
23351
23352 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23353
23354         * docs/gst/gstreamer-sections.txt:
23355         * docs/gst/tmpl/gstpad.sgml:
23356         * docs/gst/tmpl/gstprobe.sgml:
23357         * gst/Makefile.am:
23358         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23359         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
23360         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23361         (gst_pad_push_event), (gst_pad_send_event):
23362         * gst/gstpad.h:
23363         * gst/gstutils.c: (gst_pad_add_data_probe),
23364         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23365         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23366         (gst_pad_remove_buffer_probe):
23367         * gst/gstutils.h:
23368           Remove old probes, add new g-signal-based probes and some utility
23369           functions.
23370
23371 2005-06-29  Edward Hervey  <edward@fluendo.com>
23372
23373         * gst/gstelementfactory.c:
23374         * gst/gstutils.h:
23375         * gst/gstutils.c:
23376         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
23377         the definition to the header file.
23378
23379 2005-06-29  Andy Wingo  <wingo@pobox.com>
23380
23381         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
23382         plugins from the source directory.
23383
23384 2005-06-29  Wim Taymans  <wim@fluendo.com>
23385
23386         * docs/gst/tmpl/gstbuffer.sgml:
23387         * docs/gst/tmpl/gstclock.sgml:
23388         Some fixings for blantently wrong text.
23389
23390 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23391
23392         * check/Makefile.am:
23393         * gst/gst.c: (add_path_func), (init_pre):
23394         * gst/gstregistry.c: (gst_registry_add_path):
23395           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
23396           only scan the GST_PLUGIN_PATH locations, and not add
23397           system locations
23398
23399 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23400
23401         * docs/gst/gstreamer-sections.txt:
23402         * docs/gst/tmpl/gstbasesrc.sgml:
23403         * gst/gstelement.c:
23404         * gst/gstelement.h:
23405         * gst/gstevent.c:
23406         * gst/gstutils.c:
23407           doc fixes
23408
23409 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23410
23411         * docs/manual/advanced-autoplugging.xml:
23412           Fix autoplugging example.
23413
23414 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23415
23416         * docs/manual/advanced-autoplugging.xml:
23417         * docs/manual/mime-world.fig:
23418           Try to get autoplugging working, fix type detection. Fix text
23419           in hello-world image.
23420
23421 2005-06-29  Wim Taymans  <wim@fluendo.com>
23422
23423         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23424         (gst_base_sink_change_state):
23425         Small debug line.
23426
23427         * gst/gstclock.h:
23428         map SIGNAL and BROADCAST to the right function.
23429
23430         * gst/gstobject.h:
23431         Remove redundant braces.
23432
23433         * gst/gstpad.c: (gst_pad_set_caps):
23434         Don't call setcaps function when reseting caps to NULL.
23435
23436         * gst/gstsystemclock.c: (gst_system_clock_dispose),
23437         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
23438         (gst_system_clock_id_unschedule):
23439         Use BROADCAST as this is what we do.
23440
23441 2005-06-29  Wim Taymans  <wim@fluendo.com>
23442
23443         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23444         We are actually prerolling before commiting the state
23445         change. 
23446
23447 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23448
23449         * docs/manual/advanced-clocks.xml:
23450         * docs/manual/advanced-interfaces.xml:
23451         * docs/manual/advanced-metadata.xml:
23452         * docs/manual/advanced-position.xml:
23453         * docs/manual/advanced-schedulers.xml:
23454         * docs/manual/advanced-threads.xml:
23455         * docs/manual/appendix-porting.xml:
23456         * docs/manual/basics-bins.xml:
23457         * docs/manual/basics-bus.xml:
23458         * docs/manual/basics-elements.xml:
23459         * docs/manual/basics-helloworld.xml:
23460         * docs/manual/basics-pads.xml:
23461         * docs/manual/highlevel-components.xml:
23462         * docs/manual/manual.xml:
23463         * docs/manual/thread.fig:
23464           Update (until threads/scheduling) Application Development Manual;
23465           remove GstThread, add GstBus, add simple porting checklist, add
23466           documentation for tag writing, clocks, make all examples until this
23467           part compile and run.
23468         * examples/manual/Makefile.am:
23469           Update from changes to Application Development Manual; add bus
23470           example, remove thread example.
23471
23472 2005-06-28  Wim Taymans  <wim@fluendo.com>
23473
23474         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
23475         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
23476         (gst_bus_source_dispatch):
23477         Add debugging messages.
23478         Make internal methods static.
23479         Handle the case where the bus is flushed in the handler.
23480         
23481         * gst/gstelement.c: (gst_element_get_bus):
23482         Fix refcount in _get_bus();
23483
23484         * gst/gstpipeline.c: (gst_pipeline_change_state),
23485         (gst_pipeline_get_clock_func):
23486         Clock refcounting fixes.
23487         Handle the case where preroll timed out more gracefully.
23488         
23489         * gst/gstsystemclock.c: (gst_system_clock_dispose):
23490         Clean up the internal thread in dispose. This is needed
23491         for subclasses that actually get disposed.
23492         
23493         * gst/schedulers/threadscheduler.c:
23494         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23495         (gst_thread_scheduler_dispose):
23496         Free thread pool in dispose.
23497
23498 2005-06-28  Andy Wingo  <wingo@pobox.com>
23499
23500         * tests/network-clock-utils.scm (debug, print-event): New utils.
23501
23502         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
23503         (*packet-loss*): Unified loss probability.
23504         (network-time): Report out-of-band events.
23505
23506         * tests/plot-data: Add support for out-of-band events. Hack it
23507         into this script instead of passing it down the pipe; should fix
23508         this later.
23509
23510 2005-06-28  Wim Taymans  <wim@fluendo.com>
23511
23512         * docs/gst/gstreamer.types:
23513         * docs/gst/tmpl/gstbasesrc.sgml:
23514         * docs/gst/tmpl/gstpad.sgml:
23515         Docs fixes.
23516
23517 2005-06-28  Wim Taymans  <wim@fluendo.com>
23518
23519         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23520         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
23521         (gst_proxy_pad_do_fixatecaps):
23522         Correctly proxy the check_pull_range function.
23523
23524 2005-06-28  Andy Wingo  <wingo@pobox.com>
23525
23526         * tests/network-clock.scm: Removed need for slib.
23527         
23528 2005-06-28  Wim Taymans  <wim@fluendo.com>
23529
23530         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
23531         (gst_basesink_preroll_queue_flush):
23532         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
23533         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
23534         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23535         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23536         (gst_proxy_pad_set_property):
23537         * gst/gstpad.c:
23538         * gst/gstpad.h:
23539         * gst/gstqueue.c: (gst_queue_init):
23540         The deprecated pad loop function is removed now.
23541
23542 2005-06-28  Andy Wingo  <wingo@pobox.com>
23543
23544         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
23545         New parameters, simulate network packet loss.
23546
23547         * tests/network-clock-utils.scm: Initialize the RNG.
23548
23549 2005-06-28  Wim Taymans  <wim@fluendo.com>
23550
23551         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
23552         (gst_basesink_event), (gst_basesink_deactivate):
23553         Flushing the preroll queue always needs to unlock the waiters.
23554
23555 2005-06-28  Edward Hervey  <edward@fluendo.com>
23556
23557         * gst/gstpipeline.c: (gst_pipeline_send_event): 
23558         Wheen a seek was successful on a pipeline, set the stream_time to the
23559         seek offset in order to have a synchronized stream_time.
23560
23561 2005-06-28  Wim Taymans  <wim@fluendo.com>
23562
23563         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23564         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
23565         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
23566         (gst_proxy_pad_do_fixatecaps):
23567         Call wrapper function instead of just calling the function
23568         pointers. This takes care of any locking and whatmore.
23569
23570 2005-06-28  Wim Taymans  <wim@fluendo.com>
23571
23572         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
23573         (gst_pad_pull_range):
23574         * gst/gstpad.h:
23575         CONNECTED -> LINKED.
23576
23577 2005-06-28  Andy Wingo  <wingo@pobox.com>
23578
23579         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
23580         source-munging commit!!!
23581
23582         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
23583         (gst_object_sink): Take gpointer arguments, not GstObject --
23584         avoids casts. Like GLib.
23585
23586         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
23587         activate.
23588
23589 2005-06-27  Andy Wingo  <wingo@pobox.com>
23590
23591         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
23592         remaining buffer.
23593
23594         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
23595         returns a sorted copy of the trace list.
23596         (gst_alloc_trace_print_live): New API, only prints traces with
23597         live objects. Sort the list.
23598         (gst_alloc_trace_print_all): Sort the list.
23599         (gst_alloc_trace_print): Align columns.
23600
23601         * gst/elements/gstttypefindelement.c:
23602         * gst/elements/gsttee.c:
23603         * gst/base/gstbasesrc.c:
23604         * gst/base/gstbasesink.c:
23605         * gst/base/gstbasetransform.c:
23606         * gst/gstqueue.c: Adapt for pad activation changes.
23607
23608         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
23609         sched.
23610         (gst_pipeline_dispose): Drop ref on sched.
23611
23612         * gst/gstpad.c (gst_pad_init): Set the default activate func.
23613         (gst_pad_activate_default): Push mode by default.
23614         (pre_activate_switch, post_activate_switch): New stubs, things to
23615         do before and after switching activation modes on pads.
23616         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
23617         the pad's activate function to choose which mode to activate.
23618         Shortcut on deactivation and call the right function directly.
23619         (gst_pad_activate_pull): New API, (de)activates a pad in pull
23620         mode.
23621         (gst_pad_activate_push): New API, same for push mode.
23622         (gst_pad_set_activate_function) 
23623         (gst_pad_set_activatepull_function) 
23624         (gst_pad_set_activatepush_function): Setters for new API.
23625
23626         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23627         Trace all miniobjects.
23628         (gst_mini_object_make_writable): Unref the arg if we copy, like
23629         gst_caps_make_writable.
23630
23631         * gst/gstmessage.c (_gst_message_initialize): No trace init.
23632
23633         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
23634         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23635         Adapt for new pad API.
23636
23637         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23638
23639         * gst/gstelement.h:
23640         * gst/gstelement.c (gst_element_iterate_src_pads) 
23641         (gst_element_iterate_sink_pads): New API functions.
23642         
23643         * gst/gstelement.c (iterator_fold_with_resync): New utility,
23644         should fold into gstiterator.c in some form.
23645         (gst_element_pads_activate): Simplified via use of fold and
23646         delegation of decisions to gstpad->activate.
23647
23648         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23649         help in debugging.
23650
23651         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23652         class once in init, like gstmessage. Didn't run into this issue
23653         but it seems correct. Don't initialize a trace, gstminiobject does
23654         that.
23655
23656         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23657         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23658         to the bus.
23659         (assert_live_count): New util function, uses alloc traces to check
23660         cleanup.
23661
23662         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23663         To be modified when unlink drops the internal pad.
23664
23665 2005-06-27  Wim Taymans  <wim@fluendo.com>
23666
23667         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23668         (gst_bin_change_state):
23669         Cleanup the get_state() function a little, make sure it
23670         iterates the same set of elements.
23671         Added stub iterate_state_order().
23672
23673 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23674
23675         * docs/gst/gstreamer-docs.sgml:
23676         * docs/gst/gstreamer-sections.txt:
23677         * docs/gst/gstreamer.types:
23678         * docs/gst/tmpl/gstbasesink.sgml:
23679         * docs/gst/tmpl/gstbasesrc.sgml:
23680         * docs/gst/tmpl/gstbasetransform.sgml:
23681         * docs/gst/tmpl/gstelement.sgml:
23682         * docs/gst/tmpl/gstiterator.sgml:
23683         * gst/base/gstbasesrc.c:
23684         * gst/base/gstbasesrc.h:
23685         * gst/base/gstbasetransform.h:
23686         * gst/gstelement.c:
23687         * gst/gstiterator.h:
23688           adding basetransform and iterator docs
23689
23690 2005-06-27  Andy Wingo  <wingo@pobox.com>
23691
23692         * docs/design/part-activation.txt: Notes on how activation should
23693         work -- not quite implemented yet.
23694
23695 2005-06-25  Wim Taymans  <wim@fluendo.com>
23696
23697         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23698         At least get the chain function correct, needs more
23699         fixing.
23700
23701 2005-06-25  Wim Taymans  <wim@fluendo.com>
23702
23703         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23704         (gst_basesink_handle_object), (gst_basesink_event),
23705         (gst_basesink_do_sync), (gst_basesink_handle_event),
23706         (gst_basesink_change_state):
23707         * gst/gsttask.h:
23708         Right, two problems here: ghostpads don't take locks and
23709         glib _rec_mutex_lock_full() with depth==0 still locks.
23710         Catch illegal locking and g_warn them.
23711
23712 2005-06-25  Wim Taymans  <wim@fluendo.com>
23713
23714         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23715         Have to check for completion now...
23716
23717 2005-06-25  Wim Taymans  <wim@fluendo.com>
23718
23719         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23720         (gst_basesink_handle_object), (gst_basesink_event),
23721         (gst_basesink_do_sync), (gst_basesink_handle_event),
23722         (gst_basesink_change_state):
23723         * gst/gstpad.h:
23724         Unlock STREAM_LOCK whatever the recursion was.
23725
23726 2005-06-25  Wim Taymans  <wim@fluendo.com>
23727
23728         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23729         (gst_basesink_preroll_queue_empty),
23730         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23731         (gst_basesink_event), (gst_basesink_do_sync),
23732         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23733         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23734         (gst_basesink_change_state):
23735         Reworked the base sink, handle event and buffer serialisation
23736         correctly and removed possible deadlock.
23737         Handle EOS correctly.
23738
23739 2005-06-25  Wim Taymans  <wim@fluendo.com>
23740
23741         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23742         (gst_pipeline_change_state):
23743         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23744         Allow elements to post EOS in the state change function.
23745         Fix up -launch, make it exit the poll loop when the
23746         pipeline actually changed state.
23747         Fix up warning parsing in -launch.
23748
23749 2005-06-25  Wim Taymans  <wim@fluendo.com>
23750
23751         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23752         (gst_tee_sink_activate):
23753         Core takes STREAM_LOCK for us now.
23754
23755 2005-06-25  Wim Taymans  <wim@fluendo.com>
23756
23757         * gst/gstelement.c: (gst_element_get_state_func),
23758         (gst_element_set_state):
23759         * gst/gstelement.h:
23760         * gst/gstmessage.c: (gst_message_parse_error),
23761         (gst_message_parse_warning):
23762         Keep track of current target state while performing a state
23763         change so that subclasses can do something interesting.
23764         Fix parsing of warning/error messages when GError is NULL.
23765
23766 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23767
23768         * docs/gst/Makefile.am:
23769         * docs/gst/gstreamer-docs.sgml:
23770         * docs/gst/gstreamer-sections.txt:
23771         * docs/gst/gstreamer.types:
23772         * docs/gst/tmpl/gstbasesink.sgml:
23773         * docs/gst/tmpl/gstbasesrc.sgml:
23774         * docs/gst/tmpl/gstbin.sgml:
23775         * docs/gst/tmpl/gstcompat.sgml:
23776         * docs/gst/tmpl/gstfakesink.sgml:
23777         * docs/gst/tmpl/gstfakesrc.sgml:
23778         * docs/gst/tmpl/gstfilesink.sgml:
23779         * docs/gst/tmpl/gstfilesrc.sgml:
23780         * docs/gst/tmpl/gstindex.sgml:
23781         * docs/manual/appendix-quotes.xml:
23782         * gst/base/gstbasesrc.h:
23783         * gst/elements/gstfakesrc.h:
23784         * gst/gstmessage.h:
23785           start pulling in base classes and elements in our docs
23786
23787 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
23788
23789         * docs/gst/Makefile.am:
23790         * docs/libs/Makefile.am:
23791           fixed make distcheck with gtk-doc 1.3
23792
23793 2005-06-23  Wim Taymans  <wim@fluendo.com>
23794
23795         * gst/gstelement.c: (gst_element_get_state_func),
23796         (gst_element_set_state), (gst_element_change_state):
23797         When the state did not change, also report NO_PREROLL
23798         when it matters.
23799
23800 2005-06-23  Wim Taymans  <wim@fluendo.com>
23801
23802         * gst/gstpad.c: (gst_pad_event_default):
23803         * gst/gstqueue.c: (gst_queue_loop):
23804         No unsafe task pausing please.
23805
23806 2005-06-23  Wim Taymans  <wim@fluendo.com>
23807
23808         * gst/schedulers/threadscheduler.c:
23809         (gst_thread_scheduler_task_start),
23810         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23811         Ref the task before pushing it on the threadpool. This
23812         makes sure that we have a ref when the threadfunction is
23813         actually called.
23814
23815 2005-06-23  Andy Wingo  <wingo@pobox.com>
23816
23817         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23818         offset is greater than the file's size.
23819
23820         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
23821         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23822         * gst/gstobject.c (gst_object_class_init): Make the class lock
23823         recursive. Wim won't let me drop deep_notify. Decodebin works
23824         again, whoopdy doo.
23825
23826         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23827         internal pad, and hacks accordingly. Doesn't do it on the target
23828         pad because we change its caps. Probably catches all cases of
23829         interest tho.
23830         (gst_ghost_pad_set_property): Connect to notify::caps as
23831         appropritate.
23832
23833         * tests/network-clock.scm (plot-simulation): Pipe data to the
23834         elite python skript.
23835
23836         * tests/network-clock-utils.scm (define-parameter): New macro,
23837         defines a parameter that can be set via the command line.
23838         (set-parameter!, parse-parameter-arguments): Command line args
23839         parser.
23840
23841         * tests/plot-data: Simple matplotlib-based plotter, takes input on
23842         stdin.
23843
23844 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
23845
23846         * gst/elements/gsttypefindelement.c:
23847         (gst_type_find_element_handle_event):
23848           Don't restart typefinding on a discont.
23849         * gst/gstelement.c: (gst_element_set_state):
23850           Debug spelling fix.
23851         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23852           Allow changing mode of an active pad.
23853           Debug output fixes.
23854         * gst/registries/gstlibxmlregistry.c: (load_feature):
23855           Don't cast a static pad template to a normal pad template.
23856
23857 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23858
23859         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23860         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23861           remove gst_strtoll completely, since it didn't actually do
23862           anything more than what g_ascii_strtoull already does.
23863           check for range errors when deserializing
23864           do a cast for the unsigned cases; but further fixing needs
23865           a decision on what the interpretation of "(int)" and
23866           deserialization should be for values that fall outside the
23867           type's boundaries (ie, refuse, or interpret as casting)
23868
23869 2005-06-23  Wim Taymans  <wim@fluendo.com>
23870
23871         * check/Makefile.am:
23872         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23873         * docs/design/part-live-source.txt:
23874         * docs/design/part-states.txt:
23875         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23876         (gst_basesrc_set_live), (gst_basesrc_is_live),
23877         (gst_basesrc_get_range), (gst_basesrc_activate),
23878         (gst_basesrc_change_state):
23879         * gst/base/gstbasesrc.h:
23880         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23881         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23882         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23883         * gst/gstelement.c: (gst_element_get_state_func),
23884         (gst_element_set_state):
23885         * gst/gstelement.h:
23886         * gst/gsttypes.h:
23887         * tools/gst-launch.c: (event_loop), (main):
23888         Added support for live sources and other elements that
23889         cannot do preroll.
23890         Updated design docs, added live-source design doc.
23891         Implemented live source functionality in basesrc
23892         Fix error condition in _bin_get_state()
23893         Implement live source handling in -launch.
23894         Added check for live sources.
23895         Fixed case in GstBin where elements were changed state
23896         multiple times.
23897
23898
23899 2005-06-23  Andy Wingo  <wingo@pobox.com>
23900
23901         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23902         borken refcounting.
23903
23904         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23905         gst_caps_replace takes care of this for us.
23906
23907         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23908         gst_pad_set_caps on the target, not just its setcaps() function.
23909
23910         * tests/network-clock.scm: 
23911         * tests/network-clock-utils.scm: A network clock simulator.
23912         Something of an algorithmic testbed before doing something in C.
23913
23914 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23915
23916         * check/Makefile.am:
23917         * check/gst/capslist.h:
23918           copy over from 0.8, and add two with bitmasks specified with
23919           (int) 0xFF...
23920         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23921           add test to parse everything from capslist.h
23922         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23923         (main):
23924           add test for structure deserialization
23925         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23926           add tests for deserialization of strings to int types
23927         * gst/gststructure.c: (gst_structure_nth_field_name):
23928         * gst/gststructure.h:
23929           add a way to get the name of a field referenced by index
23930         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23931           instead of checking if the resulting long long lies between
23932           min and max, we check if the long long would fit into
23933           a number of bytes for the final type.
23934           This fixes cases where a string represents 2^32 - 1, which
23935           when cast to int would be the (valid) -1, but is bigger than
23936           G_MAXINT
23937
23938 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23939
23940         * gst/parse/grammar.y:
23941           add a log line for type deserialization
23942
23943 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23944
23945         * check/gst/gstvalue.c: (START_TEST):
23946         * gst/gstvalue.c: (gst_value_deserialize):
23947           return long long, not int, so gint64 deserialization actually
23948           works.  Is there any flag that makes the compiler check this ?
23949           Fixes #308559
23950
23951 2005-06-22  Wim Taymans  <wim@fluendo.com>
23952
23953         * gst/gstbuffer.h:
23954         Added convenience macros for setting buffers in GValue.
23955
23956 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23957
23958         * check/gst/.cvsignore:
23959         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23960           add a test deserializing int64, and comment part out because
23961           it fails, yay !
23962
23963 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23964
23965         * check/Makefile.am:
23966         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23967         * testsuite/Makefile.am:
23968         * testsuite/caps/Makefile.am:
23969         * testsuite/caps/value_serialize.c:
23970         * testsuite/test_gst_init.c:
23971           move a value_serialize test over
23972
23973 2005-06-20  Wim Taymans  <wim@fluendo.com>
23974
23975         * gst/gstpad.c:
23976         Small doc updates.
23977         
23978         * gst/gstvalue.c: (gst_value_compare_buffer),
23979         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23980         (gst_value_compare_flags), (gst_value_serialize_flags),
23981         (gst_value_deserialize_flags), (_gst_value_initialize):
23982         Fix serialisation of buffers, they are not boxed types anymore
23983
23984 2005-06-20  Wim Taymans  <wim@fluendo.com>
23985
23986         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23987         Testcase to show error in buffer-on-caps serialisation.
23988
23989 2005-06-20  Andy Wingo  <wingo@pobox.com>
23990
23991         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23992         will be adding to later.
23993
23994         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23995         if its socks fill with rocks.
23996         (gst_system_clock_obtain): Set the name on object construction.
23997         Avoid double-checked locking.
23998
23999 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
24000
24001         * gst/gsturi.c: (gst_element_make_from_uri):
24002           Fix potential endless loop.
24003
24004 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24005
24006         * check/Makefile.am:
24007           add gsttag
24008         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
24009         (main):
24010           move over from testsuite dir and clean up
24011         * configure.ac:
24012         * gst/gsttag.c:
24013         * testsuite/Makefile.am:
24014         * testsuite/tags/.cvsignore:
24015         * testsuite/tags/Makefile.am:
24016         * testsuite/tags/merge.c:
24017           remove testsuite/tags
24018
24019 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24020
24021         * docs/gst/gstreamer-sections.txt:
24022         * docs/gst/tmpl/gstenumtypes.sgml:
24023         * win32/gstenumtypes.c:
24024           clean up documentation build a little
24025
24026 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24027
24028         * check/gstcheck.h:
24029           add macros for checking refcounts on objects and caps
24030         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
24031           add some more unit tests
24032         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
24033         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
24034           fix leaked refcounts (I hope :)) so unittest works
24035         * gst/gstpad.h:
24036           whitespace removal
24037
24038 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24039
24040         * configure.ac: back to HEAD
24041
24042 === release 0.9.1 ===
24043
24044 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24045
24046         * NEWS:
24047         * RELEASE:
24048           updated
24049
24050 2005-06-17  Andy Wingo  <wingo@pobox.com>
24051
24052         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
24053         assert; it's always possible that the pad gets deactivated in
24054         between the checks in gstpad.c and the implementation. Rely on
24055         finish_preroll() to return a FLUSHING or similar instead of on the
24056         assert.
24057         
24058         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
24059         clock and post an EOS message if we come out of finish_preroll in
24060         the playing state.
24061
24062 2005-06-16  David Schleef  <ds@schleef.org>
24063
24064         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24065         (gst_capsfilter_set_property): Allow NULL as possible value
24066         for filter_caps property, indicating GST_CAPS_ANY.
24067
24068 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24069
24070         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
24071           fix debug output
24072         * gst/schedulers/Makefile.am:
24073           use libgst prefix
24074         * gstreamer.spec.in:
24075           fix spec for it
24076
24077 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24078
24079         * gstreamer.spec.in:
24080           clean up
24081
24082 2005-06-08  Andy Wingo  <wingo@pobox.com>
24083
24084         * gst/gstutils.c: RPAD fixes all around.
24085         (gst_element_link_pads): Refcounting fixes.
24086
24087         * tools/gst-inspect.c:
24088         * tools/gst-xmlinspect.c:
24089         * parse/grammar.y:
24090         * gst/base/gsttypefindhelper.c:
24091         * gst/base/gstbasesink.c:
24092         * gst/gstqueue.c: RPAD fixes.
24093
24094         * gst/gstghostpad.h:
24095         * gst/gstghostpad.c: New ghost pad implementation as full proxy
24096         pads. The tricky thing is they provide both source and sink
24097         interfaces, since they proxy the internal pad for the external
24098         pad, and vice versa. Implement with lower-level ProxyPad objects,
24099         with the interior proxy pad as a child of the exterior ghost pad.
24100         Should write a doc on this.
24101         
24102         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
24103         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
24104         gst_object API.
24105         
24106         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
24107         pads are real pads. No ghost pads in this file. Not documenting
24108         the myriad s/RPAD/PAD/ and REALIZE fixes.
24109         (gst_pad_class_init): Add properties for "direction" and
24110         "template". Both are construct-only, so they can't change during
24111         the life of the pad. Fixes properly deriving from GstPad.
24112         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
24113         derived objects, just set properties when creating the objects via
24114         g_object_new.
24115         (gst_pad_get_parent): Implement as a function, return NULL if the
24116         parent is not an element.
24117         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
24118         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
24119         
24120         * gst/gstobject.c (gst_object_class_init): Make name a construct
24121         property. Don't set it in the object init.
24122
24123         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
24124         with UNKNOWN direction.
24125         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
24126         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
24127         (gst_element_remove_pad): Remove ghost-pad special cases.
24128         (gst_element_pads_activate): Remove rpad cruft.
24129
24130         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
24131         catch the pad's-parent-not-an-element case.
24132
24133         * gst/gst.h: Include gstghostpad.h.
24134
24135         * gst/gst.c (init_post): No more real, ghost pads.
24136
24137         * gst/Makefile.am: Add gstghostpad.[ch].
24138
24139         * check/Makefile.am:
24140         * check/gst/gstbin.c:
24141         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
24142         into a bin creates ghost pads, and that the refcounts are right.
24143         Partly moved from gstbin.c.
24144
24145 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24146
24147         * check/gst-libs/.cvsignore:
24148         * check/gst/.cvsignore:
24149         * check/pipelines/.cvsignore:
24150           ignore more
24151         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
24152         (START_TEST), (cleanup_suite), (main):
24153           add some tests related to cleanup after running pipelines
24154
24155 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24156
24157         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
24158           add a testsuite for GstBuffer
24159
24160 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24161
24162         * gst/gstminiobject.h:
24163           add defines for accessing the refcount
24164
24165 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
24166
24167         * Makefile.am: added support for html unit test coverage reports
24168
24169 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
24170
24171         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24172           Free existing caps if the capsfilter changes. Add a FIXME about
24173           setting those caps on the pads.
24174
24175         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
24176           Before adding a ghost pad to a parent bin, check that there isn't
24177           already one for the element on the bin. Prevents infinite recursion
24178           when using decodebin in parse pipelines. Andy says he'll rewrite the
24179           way this works anyway, so ignore the hack.
24180
24181 2005-06-02  Andy Wingo  <wingo@pobox.com>
24182
24183         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
24184         file size, pass it on to the type find helper.
24185
24186         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
24187         segment_start and segment_end properly according to the seek
24188         method. Segment_end is still a bit flaky because offset can be
24189         negative for CUR and END cases, but it takes -1 as an "unset"
24190         value.
24191
24192 2005-06-02  Wim Taymans  <wim@fluendo.com>
24193
24194         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
24195         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
24196         (gst_basesink_activate):
24197         * gst/base/gstbasesink.h:
24198         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24199         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24200         (gst_pad_query), (gst_pad_start_task):
24201         * gst/gstpad.h:
24202         * gst/gstqueue.c: (gst_queue_bufferalloc),
24203         (gst_queue_handle_sink_event), (gst_queue_chain):
24204         Bufferalloc: return GstFlowReturn to more accuratly report
24205         why allocation failed.
24206
24207 2005-06-02  Wim Taymans  <wim@fluendo.com>
24208
24209         * gst/gstpipeline.c: (gst_pipeline_send_event):
24210         Take snapshot of state without blocking.
24211
24212 2005-06-02  Wim Taymans  <wim@fluendo.com>
24213
24214         * docs/design/part-TODO.txt:
24215         * docs/design/part-caps.txt:
24216         * docs/design/part-clocks.txt:
24217         * docs/design/part-negotiation.txt:
24218         * docs/design/part-preroll.txt:
24219         Small doc updates 
24220
24221 2005-05-30  Wim Taymans  <wim@fluendo.com>
24222
24223         * gst/elements/gstidentity.c: (gst_identity_event),
24224         (gst_identity_transform), (gst_identity_get_property):
24225         Protect last_message property as it is accessed from
24226         multiple threads.
24227
24228 2005-05-30  Wim Taymans  <wim@fluendo.com>
24229
24230         * gst/gstelement.c: (gst_element_init),
24231         (gst_element_pads_activate), (gst_element_change_state):
24232         Slicker pad activation code.
24233
24234 2005-05-30  Wim Taymans  <wim@fluendo.com>
24235
24236         * gst/Makefile.am:
24237         * gst/gstelement.h:
24238         * gst/gstelementfactory.h:
24239         * gst/gsttypes.h:
24240         Move elementfactory methods to separate .h file.
24241
24242 2005-05-30  Wim Taymans  <wim@fluendo.com>
24243
24244         * docs/design/part-overview.txt:
24245         * gst/gstsystemclock.h:
24246         Small typo fixes, doc updates.
24247
24248 2005-05-30  Wim Taymans  <wim@fluendo.com>
24249
24250         * gst/gst.c: (gst_init_get_popt_table), (init_post),
24251         (init_popt_callback):
24252         Remove cpu-opt flag.
24253
24254 2005-05-30  Wim Taymans  <wim@fluendo.com>
24255
24256         * gst/gstbuffer.c: (gst_subbuffer_finalize),
24257         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
24258         * gst/gstbuffer.h:
24259         Avoid typechecking in places where not needed.
24260         Added accessor for malloc_data.
24261
24262 2005-05-30  Wim Taymans  <wim@fluendo.com>
24263
24264         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
24265         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
24266         (gst_pad_configure_sink), (gst_pad_configure_src),
24267         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
24268         (gst_pad_start_task):
24269         Propagate errors from _set_caps() in configure_src/sink
24270         functions instead of returning TRUE.
24271         FLUSH events can travel up and downstream
24272
24273
24274 2005-05-30  Wim Taymans  <wim@fluendo.com>
24275
24276         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24277         (gst_basesink_activate):
24278         Handle EOS in preroll.
24279
24280 2005-05-30  Wim Taymans  <wim@fluendo.com>
24281
24282         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24283         (gst_queue_loop), (gst_queue_handle_src_event):
24284         Remove old pieces of code
24285         Flushing the queue in an upstream event is a very bad idea.
24286
24287 2005-05-26  Andy Wingo  <wingo@pobox.com>
24288
24289         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
24290         gst_value_set_mini_object so as to add a ref on the object (which
24291         will be removed when the value is unset).
24292
24293         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
24294         arg type in ::handoff.
24295
24296         * gst/gstelement.c (gst_element_change_state): Also deactivate
24297         pads in READY->NULL, just in case the element didn't make it to
24298         PAUSED. Wingo tested, Wim approved.
24299
24300 2005-05-26  Wim Taymans  <wim@fluendo.com>
24301
24302         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24303         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24304         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
24305         A flushing pad cannot be used to alloc_buffer from.
24306
24307 2005-05-26  Wim Taymans  <wim@fluendo.com>
24308
24309         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
24310         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
24311         (gst_bus_source_dispatch), (gst_bus_source_finalize),
24312         (gst_bus_create_watch), (gst_bus_add_watch_full):
24313         * gst/gstbus.h:
24314         Implement a real GSource and use g_main_context_wakeup() to
24315         signal new messages instead of the socketpair.
24316
24317 2005-05-25  Wim Taymans  <wim@fluendo.com>
24318
24319         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
24320         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
24321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24322         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24323         (gst_pad_send_event), (gst_pad_start_task):
24324         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
24325         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24326         (gst_queue_sink_activate), (gst_queue_src_activate),
24327         (gst_queue_change_state):
24328         * gst/gstqueue.h:
24329         Fix state changes for non sinks. We now change sinks, then elements
24330         with unconnected srcpads, then the rest.
24331         More efficient queue unlocking in flush and state changes.
24332         Set the pad activate mode even if it does not have an activate
24333         function.
24334
24335 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24336
24337         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
24338           Don't go in pull mode for non-seekable sources.
24339         * gst/elements/gsttypefindelement.h:
24340         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24341         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
24342         (free_entry), (stop_typefinding),
24343         (gst_type_find_element_handle_event), (find_peek),
24344         (gst_type_find_element_chain), (do_pull_typefind),
24345         (gst_type_find_element_change_state):
24346           Allow typefinding (w/o seeking) in push-mode, simplified version
24347           of what was in 0.8.
24348         * gst/gstutils.c: (gst_buffer_join):
24349         * gst/gstutils.h:
24350           gst_buffer_join() from 0.8.
24351
24352 2005-05-25  Wim Taymans  <wim@fluendo.com>
24353
24354         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24355         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24356         (gst_pad_send_event), (gst_pad_start_task):
24357         Disable attempt at mode switching until it is figured out.
24358
24359 2005-05-25  Wim Taymans  <wim@fluendo.com>
24360
24361         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
24362         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24363         (gst_basesink_finish_preroll), (gst_basesink_chain),
24364         (gst_basesink_loop), (gst_basesink_activate),
24365         (gst_basesink_change_state):
24366         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
24367         (gst_basesrc_get_range), (gst_basesrc_loop),
24368         (gst_basesrc_activate):
24369         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24370         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24371         (gst_real_pad_init), (gst_real_pad_set_property),
24372         (gst_real_pad_get_property), (gst_pad_set_active),
24373         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
24374         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
24375         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
24376         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
24377         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24378         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
24379         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
24380         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24381         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
24382         (gst_pad_stop_task):
24383         * gst/gstpad.h:
24384         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24385         (gst_queue_loop), (gst_queue_src_activate):
24386         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
24387         (gst_task_get_state):
24388         * gst/gsttask.h:
24389         * gst/schedulers/threadscheduler.c:
24390         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
24391         Implement gst_pad_pause/start/stop_task(), take STREAM lock
24392         in task function.
24393         Remove ACTIVE pad flag, use FLUSHING everywhere
24394         Added _pad_chain(), _pad_get_range() to call chain/getrange 
24395         functions.
24396         Add locks around IS_FLUSHING when reading.
24397         Take STREAM lock in chain(), get_range() functions so plugins
24398         don't need to take it anymore.
24399         
24400
24401
24402 2005-05-25  Wim Taymans  <wim@fluendo.com>
24403
24404         * tools/gst-launch.c: (event_loop):
24405         Unref message after using its contents instead of
24406         before.
24407
24408 2005-05-24  Wim Taymans  <wim@fluendo.com>
24409
24410         * docs/design/draft-ghostpads.txt:
24411         * docs/design/draft-push-pull.txt:
24412         * docs/design/draft-query.txt:
24413         * docs/design/part-overview.txt:
24414         Docs updates, added general overview doc.
24415
24416 2005-05-21  David Schleef  <ds@schleef.org>
24417
24418         * docs/gst/tmpl/old/GstBin.sgml:
24419         * docs/gst/tmpl/old/GstBuffer.sgml:
24420         * docs/gst/tmpl/old/GstCaps.sgml:
24421         * docs/gst/tmpl/old/GstClock.sgml:
24422         * docs/gst/tmpl/old/GstCompat.sgml:
24423         * docs/gst/tmpl/old/GstData.sgml:
24424         * docs/gst/tmpl/old/GstElement.sgml:
24425         * docs/gst/tmpl/old/GstEvent.sgml:
24426         * docs/gst/tmpl/old/GstIndex.sgml:
24427         * docs/gst/tmpl/old/GstStructure.sgml:
24428         * docs/gst/tmpl/old/GstTag.sgml:
24429         * docs/gst/tmpl/old/cothreads.sgml:
24430         * docs/gst/tmpl/old/cothreads_compat.sgml:
24431         * docs/gst/tmpl/old/gettext.sgml:
24432         * docs/gst/tmpl/old/gobject2gtk.sgml:
24433         * docs/gst/tmpl/old/grammar.tab.sgml:
24434         * docs/gst/tmpl/old/gst-i18n-app.sgml:
24435         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
24436         * docs/gst/tmpl/old/gst_private.sgml:
24437         * docs/gst/tmpl/old/gstaggregator.sgml:
24438         * docs/gst/tmpl/old/gstarch.sgml:
24439         * docs/gst/tmpl/old/gstatomic_impl.sgml:
24440         * docs/gst/tmpl/old/gstbufferstore.sgml:
24441         * docs/gst/tmpl/old/gstdata_private.sgml:
24442         * docs/gst/tmpl/old/gstdisksink.sgml:
24443         * docs/gst/tmpl/old/gstdisksrc.sgml:
24444         * docs/gst/tmpl/old/gstelementfactory.sgml:
24445         * docs/gst/tmpl/old/gstextratypes.sgml:
24446         * docs/gst/tmpl/old/gstfakesink.sgml:
24447         * docs/gst/tmpl/old/gstfakesrc.sgml:
24448         * docs/gst/tmpl/old/gstfdsink.sgml:
24449         * docs/gst/tmpl/old/gstfdsrc.sgml:
24450         * docs/gst/tmpl/old/gstfilesink.sgml:
24451         * docs/gst/tmpl/old/gstfilesrc.sgml:
24452         * docs/gst/tmpl/old/gsthttpsrc.sgml:
24453         * docs/gst/tmpl/old/gstidentity.sgml:
24454         * docs/gst/tmpl/old/gstindexfactory.sgml:
24455         * docs/gst/tmpl/old/gstmarshal.sgml:
24456         * docs/gst/tmpl/old/gstmd5sink.sgml:
24457         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
24458         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
24459         * docs/gst/tmpl/old/gstpadtemplate.sgml:
24460         * docs/gst/tmpl/old/gstpipefilter.sgml:
24461         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
24462         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
24463         * docs/gst/tmpl/old/gstshaper.sgml:
24464         * docs/gst/tmpl/old/gstspider.sgml:
24465         * docs/gst/tmpl/old/gstspideridentity.sgml:
24466         * docs/gst/tmpl/old/gststatistics.sgml:
24467         * docs/gst/tmpl/old/gsttee.sgml:
24468         * docs/gst/tmpl/old/gsttimecache.sgml:
24469         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
24470         * docs/gst/tmpl/old/gstxmlregistry.sgml:
24471         * docs/gst/tmpl/old/gthread-cothreads.sgml:
24472         * docs/gst/tmpl/old/types.sgml:
24473           I didn't intend to add these or check them in.
24474
24475 2005-05-19  David Schleef  <ds@schleef.org>
24476
24477         * configure.ac: Use -no-common everywhere.  In a sane world, it
24478           would be the default in libtool, because without it, you can't
24479           build DLLs on Windows.
24480         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
24481         * docs/gst/gstreamer-sections.txt:
24482         * docs/gst/tmpl/gstcpu.sgml:
24483         * docs/gst/tmpl/gstdata.sgml:
24484         * docs/gst/tmpl/gstthread.sgml:
24485
24486 2005-05-19  David Schleef  <ds@schleef.org>
24487
24488         * gst/gstminiobject.c: (gst_value_set_mini_object),
24489         (gst_value_take_mini_object), (gst_value_get_mini_object):
24490         * gst/gstminiobject.h: Add GValue set/get functions.
24491
24492 2005-05-19  Wim Taymans  <wim@fluendo.com>
24493
24494         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
24495         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
24496         (gst_subbuffer_init), (gst_buffer_is_span_fast):
24497         * gst/gstbuffer.h:
24498         * gst/gstbus.c: (gst_bus_post):
24499         * gst/gstelement.c: (gst_element_get_random_pad):
24500         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
24501         Make subbufer unref the parent in finalize.
24502         some more debugging info.
24503
24504
24505 2005-05-19  Wim Taymans  <wim@fluendo.com>
24506
24507         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24508         (gst_basesink_init), (gst_basesink_finalize),
24509         (gst_basesink_activate), (gst_basesink_change_state):
24510         Don't free preroll queue too early.
24511
24512 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24513
24514         * gst/Makefile.am:
24515         * gst/ROADMAP:
24516           Hi, I'm outdated. Please shoot me.
24517
24518 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24519
24520         * gst/gstpipeline.c: (gst_pipeline_send_event):
24521           Do not access variables after they have been deleted.
24522
24523 2005-05-19  Wim Taymans  <wim@fluendo.com>
24524
24525         * tools/gst-inspect.c: (print_plugin_features):
24526         A plugin feature does unfortunatly not use the
24527         object name yet...
24528
24529 2005-05-18  Wim Taymans  <wim@fluendo.com>
24530
24531         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
24532         Port _span() functions to new subbuffers.
24533
24534 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24535
24536         * gst/gstbin.c: (gst_bin_add_func):
24537           Fix clock settery in bins when adding kids after the clock has
24538           been selected.
24539
24540 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24541
24542         * gst/elements/gstidentity.c: (gst_identity_class_init):
24543           Workaround until signals support GstMiniObject.
24544
24545 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
24546
24547         * gst/gstbuffer.c:
24548         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24549
24550 2005-05-18  Wim Taymans  <wim@fluendo.com>
24551
24552         * gst/base/Makefile.am:
24553         * gst/base/gstadapter.c: (gst_adapter_base_init),
24554         (gst_adapter_class_init), (gst_adapter_init),
24555         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
24556         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
24557         (gst_adapter_flush), (gst_adapter_available),
24558         (gst_adapter_available_fast):
24559         * gst/base/gstadapter.h:
24560         Ported and added adapter to the base classes.
24561
24562 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24563
24564         * gst/gst.c:
24565         * gst/gstmessage.c:
24566           Make sure the class is reffed/unreffed once before threads can be
24567           used.  Fixes #304551.
24568
24569 2005-05-17  Wim Taymans  <wim@fluendo.com>
24570
24571         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
24572         (gst_basesink_chain_unlocked), (gst_basesink_activate):
24573         * gst/gstminiobject.c: (gst_mini_object_get_type),
24574         (gst_mini_object_free):
24575         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
24576         (gst_pad_push), (gst_pad_push_event):
24577         * gst/gstqueue.c: (gst_queue_change_state):
24578         Don't queue buffers in basesink when we are flushing.
24579         Unref buffer when flushing in basesink.
24580         Flush queue when going to READY
24581         Unref buffer when _push() returns an error.
24582         Don't free MiniObject instance when refcount is incremented
24583         in _finalize() so that we can recover objects.
24584
24585 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24586
24587         * docs/manual/advanced-schedulers.xml:
24588         * docs/manual/appendix-checklist.xml:
24589         * docs/pwg/advanced-clock.xml:
24590         * docs/pwg/advanced-interfaces.xml:
24591         * docs/pwg/advanced-request.xml:
24592         * docs/pwg/advanced-types.xml:
24593         * docs/pwg/intro-preface.xml:
24594         * examples/plugins/example.c: (gst_example_get_type),
24595         (gst_example_class_init), (gst_example_chain),
24596         (gst_example_set_property), (gst_example_get_property),
24597         (gst_example_change_state), (plugin_init):
24598         * examples/plugins/example.h:
24599           small doc fixes
24600
24601 2005-05-17  Wim Taymans  <wim@fluendo.com>
24602
24603         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
24604         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
24605         * gst/gstqueue.c: (gst_queue_change_state):
24606         Clear queue when going to READY.
24607         Remove IN_SETCAPS flag too.
24608
24609 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
24610
24611         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
24612           Remove implicit cast from gboolean to GstElementStateReturn;
24613           make sure we still return failure in paused => ready case if
24614           the parent class fails to change state and our own stop 
24615           vfunc succeeds.
24616
24617 2005-05-17  Wim Taymans  <wim@fluendo.com>
24618
24619         * tools/gst-launch.c: (event_loop):
24620         Message was unreffed too soon.
24621
24622 2005-05-16  Andy Wingo  <wingo@pobox.com>
24623
24624         * gst/gstbin.c (sink_iterator_filter): Err... um...
24625
24626         * check/gst/gstbin.c (test_ghost_pads): New test for the
24627         ghosting-if-elements-not-in-same-bin behavior.
24628
24629 2005-05-16  David Schleef  <ds@schleef.org>
24630
24631         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24632         accessing refcount directly.
24633
24634 2005-05-15  David Schleef  <ds@schleef.org>
24635
24636         * check/Makefile.am: remove GstData checks
24637         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24638         * gst/Makefile.am: add miniobject, remove data
24639         * gst/gst.h: add miniobject, remove data
24640         * gst/gstdata.c: remove
24641         * gst/gstdata.h: remove
24642         * gst/gstdata_private.h: remove
24643         * gst/gsttypes.h: remove GstEvent and GstMessage
24644         * gst/gstelement.c: (gst_element_post_message): fix for API changes
24645         * gst/gstmarshal.list: change BOXED -> OBJECT
24646
24647         Implement GstMiniObject.
24648         * gst/gstminiobject.c:
24649         * gst/gstminiobject.h:
24650
24651         Modify to be subclasses of GstMiniObject.
24652         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24653         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24654         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24655         (gst_subbuffer_get_type), (gst_subbuffer_init),
24656         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24657         (gst_buffer_span):
24658         * gst/gstbuffer.h:
24659         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24660         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24661         (_gst_event_copy), (gst_event_new):
24662         * gst/gstevent.h:
24663         * gst/gstmessage.c: (_gst_message_initialize),
24664         (gst_message_get_type), (gst_message_class_init),
24665         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24666         (gst_message_new), (gst_message_new_error),
24667         (gst_message_new_warning), (gst_message_new_tag),
24668         (gst_message_new_state_changed), (gst_message_new_application):
24669         * gst/gstmessage.h:
24670         * gst/gstprobe.c: (gst_probe_perform),
24671         (gst_probe_dispatcher_dispatch):
24672         * gst/gstprobe.h:
24673         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24674         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24675         (_gst_query_copy), (gst_query_new):
24676
24677         Update elements for GstData -> GstMiniObject changes
24678         * gst/gstquery.h:
24679         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24680         (gst_queue_chain), (gst_queue_loop):
24681         * gst/elements/gstbufferstore.c:
24682         (gst_buffer_store_add_buffer_func),
24683         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24684         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24685         (gst_fakesink_render):
24686         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24687         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24688         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24689         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24690         (gst_filesrc_create_read):
24691         * gst/elements/gstidentity.c: (gst_identity_class_init):
24692         * gst/elements/gsttypefindelement.c:
24693         (gst_type_find_element_src_event), (free_entry_buffers),
24694         (gst_type_find_element_handle_event):
24695         * libs/gst/dataprotocol/dataprotocol.c:
24696         (gst_dp_header_from_buffer):
24697         * libs/gst/dataprotocol/dataprotocol.h:
24698         * libs/gst/dataprotocol/dp-private.h:
24699
24700 2005-05-15  David Schleef  <ds@schleef.org>
24701
24702         * gst/elements/gstelements.c: Don't include headers that were
24703         just removed.
24704
24705 2005-05-15  David Schleef  <ds@schleef.org>
24706
24707         * gst/elements/Makefile.am: Remove some elements that don't
24708         need to be in the core (or even exist at all).
24709         * gst/elements/gstaggregator.c:
24710         * gst/elements/gstaggregator.h:
24711         * gst/elements/gstmd5sink.c:
24712         * gst/elements/gstmd5sink.h:
24713         * gst/elements/gstmultifilesrc.c:
24714         * gst/elements/gstmultifilesrc.h:
24715         * gst/elements/gstpipefilter.c:
24716         * gst/elements/gstpipefilter.h:
24717         * gst/elements/gstshaper.c:
24718         * gst/elements/gstshaper.h:
24719         * gst/elements/gststatistics.c:
24720         * gst/elements/gststatistics.h:
24721         * po/POTFILES.in: Remove above files.
24722
24723 2005-05-14  Andy Wingo  <wingo@pobox.com>
24724
24725         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24726         so as to get the refs right.
24727         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24728         unreffing objects that don't pass the filter.
24729
24730         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24731         gst_element_set_bus.
24732         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24733         normal cases, this will destroy the bus.
24734
24735         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24736         object.
24737
24738         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24739         has no sinks.
24740
24741 2005-05-13  Andy Wingo  <wingo@pobox.com>
24742
24743         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24744         gst_pad_link, call pad_link_maybe_ghosting,
24745         (pad_link_maybe_ghosting): Links pads, making sure that the
24746         elements being linked are in the same bin.
24747         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24748         Helpers for pad_link_maybe_ghosting.
24749
24750 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24751
24752         * configure.ac:
24753           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24754
24755 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24756
24757         * docs/design/part-element-source.txt:
24758           Mention GstPushSrc
24759
24760 2005-05-12  Wim Taymans  <wim@fluendo.com>
24761
24762         * gst/base/gstbasesink.c: (gst_basesink_init),
24763         (gst_basesink_activate):
24764         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24765         (gst_basesrc_is_seekable):
24766         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24767         (bin_element_is_sink), (gst_bin_change_state):
24768         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24769         * gst/gstelement.h:
24770         Identify sinks by their flag to avoid overly complicated
24771         checks (fow now).
24772         Do state changes even for elements not reachable from the
24773         sinks.
24774         BaseSink is a sink now :)
24775         Some more debugging info in the basesrc.
24776
24777
24778 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24779
24780         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24781           Implement _query on a bin, similar to _send_event.
24782
24783 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
24784
24785         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24786           Discont event offset format should be GST_FORMAT_BYTES,
24787           not GST_FORMAT_TIME.
24788
24789 2005-05-12  Wim Taymans  <wim@fluendo.com>
24790
24791         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24792         Same fix as Ronald's but without the signal. 
24793
24794 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24795
24796         * gst/gstutils.c: (gst_element_query_position):
24797           No, an element is not a pad.
24798
24799 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24800
24801         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24802         (gst_bin_get_state):
24803           If a child is removed from a bin while we remove the child from
24804           the bin and while we're retrieving its state, signal this to the
24805           get_state function so we abort the wait (instead of waiting for
24806           a timeout) and can immediately re-iterate over all other elements.
24807
24808 2005-05-12  Wim Taymans  <wim@fluendo.com>
24809
24810         * gst/base/Makefile.am:
24811         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24812         (gst_basesrc_start):
24813         * gst/base/gstbasesrc.h:
24814         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24815         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24816         (gst_pushsrc_init), (gst_pushsrc_create):
24817         * gst/base/gstpushsrc.h:
24818         Added is_seekable to BaseSrc
24819         Added simple PushSrc.
24820
24821 2005-05-11  Wim Taymans  <wim@fluendo.com>
24822
24823         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24824         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24825         (gst_element_link_pads), (gst_element_query_position),
24826         (gst_element_query_convert), (intersect_caps_func),
24827         (gst_pad_query_position), (gst_pad_query_convert):
24828         Fix refcounting in utils function.
24829         No point in trying to activate a pad when it's added, it could
24830         be added from the state change function and then we deadlock, the
24831         element has to decide what to do.
24832
24833 2005-05-10  Andy Wingo  <wingo@pobox.com>
24834
24835         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24836         *all* the arguments.
24837
24838         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24839         stream lock if it's a FLUSH_DONE; normal flushes don't get the
24840         lock (according to the docs -- if this is wrong change the docs).
24841
24842         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24843         flush messages in the NULL state.
24844
24845         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24846         message immediately and return.
24847         (gst_bus_set_flushing): New function. If a bus is flushing, it
24848         flushes out any queued messages and immediately unrefs new
24849         messages. This is so when an element goes to NULL, all of the
24850         unhandled messages coming from it can be freed, and their
24851         references to the element dropped. In other words: message source
24852         ref considered harmful :P
24853
24854         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24855         we're finished with it.
24856
24857         * gst/gstmessage.c (gst_message_new_state_changed): 
24858
24859 2005-05-10  Wim Taymans  <wim@fluendo.com>
24860
24861         * gst/gstvalue.c: (gst_value_compare_flags),
24862         (gst_value_serialize_flags), (gst_value_deserialize_flags),
24863         (_gst_value_initialize):
24864         Added flags serialize/deserialize/compare code.
24865
24866 2005-05-09  Andy Wingo  <wingo@pobox.com>
24867
24868         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24869         Intersect the peer's caps with our caps.
24870
24871 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24872
24873         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24874         * gst/elements/gsttypefindelement.c: (find_peek):
24875           Handle negative offsets better. Fixes decodebin.
24876
24877 2005-05-09  Wim Taymans  <wim@fluendo.com>
24878
24879         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24880         (gst_base_transform_event):
24881         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24882         Implement accept_caps.
24883         Fix silly lock/unlock mismatch in base class.
24884
24885 2005-05-09  Wim Taymans  <wim@fluendo.com>
24886
24887         * docs/design/draft-push-pull.txt:
24888         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24889         * gst/elements/gstfilesink.c: (gst_filesink_init),
24890         (gst_filesink_query):
24891         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24892         (gst_type_find_handle_src_query), (find_element_get_length):
24893         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24894         * gst/gstelement.h:
24895         * gst/gstmessage.c:
24896         * gst/gstmessage.h:
24897         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24898         (gst_real_pad_get_caps_unlocked),
24899         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24900         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24901         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24902         (gst_real_pad_dispose), (gst_real_pad_finalize),
24903         (gst_pad_load_and_link), (gst_pad_save_thyself),
24904         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24905         (gst_pad_check_pull_range), (gst_pad_pull_range),
24906         (gst_pad_template_get_type), (gst_pad_template_class_init),
24907         (gst_pad_template_init), (gst_pad_template_dispose),
24908         (name_is_valid), (gst_static_pad_template_get),
24909         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24910         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24911         (gst_pad_get_element_private), (gst_pad_start_task),
24912         (gst_pad_pause_task), (gst_pad_stop_task),
24913         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24914         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24915         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24916         (gst_ghost_pad_new):
24917         * gst/gstpad.h:
24918         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24919         (gst_query_new_position), (gst_query_set_position),
24920         (gst_query_parse_position), (gst_query_new_convert),
24921         (gst_query_set_convert), (gst_query_parse_convert):
24922         * gst/gstquery.h:
24923         * gst/gstqueryutils.c:
24924         * gst/gstqueryutils.h:
24925         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24926         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24927         (gst_queue_handle_src_query):
24928         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24929         (gst_element_query_position), (gst_element_query_convert),
24930         (intersect_caps_func), (gst_pad_query_position),
24931         (gst_pad_query_convert):
24932         * gst/gstutils.h:
24933         * tools/gst-inspect.c: (print_pad_info):
24934         * tools/gst-xmlinspect.c: (print_element_info):
24935         Remove old query functions. Ported old code.
24936         Added position/convert helper functions to gstutils.
24937         Reordered gstpad.c code, grouping relevant things.
24938         Remove gst_message_new(), always need to speficy a specific
24939         message.
24940
24941
24942 2005-05-09  Andy Wingo  <wingo@pobox.com>
24943
24944         * gst/gstiterator.h: Add some includes.
24945
24946         * gst/gstqueryutils.h: Include more headers.
24947
24948         * gst/gstpad.h:
24949         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24950         some uses of gst_pad_query.
24951
24952         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24953         NULL out parameters.
24954         (gst_query_new_position): New proc, allocates a new position
24955         query.
24956
24957         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24958         gstqueryutils.c to the build.
24959
24960         * gst/gststructure.c (gst_structure_set_valist): Implement with
24961         the generic G_VALUE_COLLECT.
24962         
24963 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24964
24965         * gst/Makefile.am: (gst_headers):
24966         Added gstqueryutils.h to the list of headers to install, that was
24967         a 'nachty' move wingo :)
24968
24969 2005-05-06  Andy Wingo  <wingo@pobox.com>
24970
24971         * gst/gstquery.h
24972         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24973         GstData, init a memchunk.
24974         (standard_definitions): Add a few query types, deprecate a few.
24975         (gst_query_get_type): New proc.
24976         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24977         implementation.
24978         (gst_query_new_application, gst_query_get_structure): New public
24979         procs.
24980
24981         * docs/design/draft-query.txt: Removed LINKS from the query types,
24982         because all the rest can be dispatched to other pads -- seemed
24983         ugly to have a query that couldn't be dispatched. internal_links
24984         is fine as a pad method.
24985
24986         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24987         in gstpad.c, but maintain binary compatibility for the moment.
24988         Will fix before 0.9 is out.
24989
24990         * gst/gstqueryutils.c: 
24991         * gst/gstqueryutils.h: New files, implement 3 methods for each
24992         query type: parse_query, parse_response, and set. Probably need an
24993         allocator as well.
24994
24995         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24996
24997         * gst/elements/gstfilesink.c (gst_filesink_query2):
24998         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24999         query_types, and formats methods.
25000
25001         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
25002         (gst_pad_set_query2_function): New functions.
25003         (gst_real_pad_init): Set query2_default as the default query2
25004         function. Basically just dispatches to internally linked pads.
25005
25006         Needs review!
25007         
25008         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
25009         without using the atomic operations. Only one thread can possibly
25010         be accessing the data at this point. Changed so as to avoid
25011         gst_atomic operations.
25012
25013 2005-05-06  Wim Taymans  <wim@fluendo.com>
25014
25015         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
25016         Also set caps if we use the fallback buffer alloc.
25017
25018 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
25019
25020         * docs/gst/Makefile.am:
25021         * docs/gst/gstreamer-docs.sgml:
25022         * docs/gst/gstreamer-sections.txt:
25023         * docs/gst/tmpl/gstatomic.sgml:
25024         * docs/gst/tmpl/gstmemchunk.sgml:
25025         * testsuite/elements/struct_i386.h:
25026         * win32/GStreamer.vcproj:
25027         * win32/Makefile:
25028           Purge GstAtomic stuff from docs and win32 makefiles as well
25029
25030 2005-05-06  Wim Taymans  <wim@fluendo.com>
25031
25032         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
25033         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
25034         * gst/gstpad.c: (gst_pad_peer_get_caps):
25035         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
25036         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
25037         (gst_queue_src_activate), (gst_queue_change_state):
25038         * gst/gstqueue.h:
25039         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25040         (intersect_caps_func):
25041         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
25042         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
25043         Some fixes for the peer_get_caps() change.
25044
25045 2005-05-06  Wim Taymans  <wim@fluendo.com>
25046
25047         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25048         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
25049         (gst_basesink_activate):
25050         Actually do something with error codes returned from the push
25051         functions.
25052
25053 2005-05-06  Wim Taymans  <wim@fluendo.com>
25054
25055         * docs/design/part-element-sink.txt:
25056         * docs/design/part-element-source.txt:
25057         * gst/base/gstbasesink.c: (gst_basesink_class_init),
25058         (gst_basesink_event), (gst_basesink_activate):
25059         * gst/base/gstbasesink.h:
25060         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
25061         (gst_basesrc_activate):
25062         * gst/base/gstbasesrc.h:
25063         * gst/gstelement.c: (gst_element_pads_activate):
25064         Some more documentation.
25065         Fixed scheduling decision in _pads_activate().
25066
25067 2005-05-05  Andy Wingo  <wingo@pobox.com>
25068
25069         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
25070         the test suite.
25071
25072 2005-05-05  Wim Taymans  <wim@fluendo.com>
25073
25074         * gst/base/Makefile.am:
25075         * gst/base/gstbasesink.h:
25076         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25077         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
25078         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
25079         (gst_collectpads_class_init), (gst_collectpads_init),
25080         (gst_collectpads_finalize), (gst_collectpads_new),
25081         (gst_collectpads_set_function), (gst_collectpads_add_pad),
25082         (find_pad), (gst_collectpads_remove_pad),
25083         (gst_collectpads_is_active), (gst_collectpads_collect),
25084         (gst_collectpads_collect_range), (gst_collectpads_start),
25085         (gst_collectpads_stop), (gst_collectpads_peek),
25086         (gst_collectpads_pop), (gst_collectpads_available),
25087         (gst_collectpads_read), (gst_collectpads_flush),
25088         (gst_collectpads_chain):
25089         * gst/base/gstcollectpads.h:
25090         * gst/elements/Makefile.am:
25091         * gst/elements/gstelements.c:
25092         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25093         (gst_fakesink_get_times), (gst_fakesink_event),
25094         (gst_fakesink_preroll), (gst_fakesink_render):
25095         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25096         (gst_filesink_init), (gst_filesink_set_location),
25097         (gst_filesink_open_file), (gst_filesink_close_file),
25098         (gst_filesink_pad_query), (gst_filesink_event),
25099         (gst_filesink_render), (gst_filesink_change_state):
25100         * gst/elements/gstfilesink.h:
25101         Added object to help in making collect pad based elements.
25102         Ported filesink.
25103         Make event function in sink baseclass return gboolean.
25104
25105 2005-05-05  Wim Taymans  <wim@fluendo.com>
25106
25107         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
25108         (gst_bin_get_by_name):
25109         * gst/gstbuffer.h:
25110         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
25111         (gst_clock_finalize):
25112         * gst/gstdata.c: (gst_data_replace):
25113         * gst/gstdata.h:
25114         * gst/gstelement.c: (gst_element_request_pad),
25115         (gst_element_pads_activate):
25116         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
25117         (gst_object_unref):
25118         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25119         (gst_pad_set_checkgetrange_function),
25120         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
25121         (gst_pad_check_pull_range), (gst_pad_pull_range),
25122         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25123         (gst_pad_pause_task), (gst_pad_stop_task):
25124         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25125         (gst_element_request_pad), (gst_pad_proxy_getcaps):
25126         Fix name lookup in GstBin.
25127         Added _data_replace() function and _buffer_replace()
25128         Use finalize method to clean up clock.
25129         Fix refcounting on request pads.
25130         Fix pad schedule mode error.
25131         Some more object refcounting debug info,
25132
25133
25134 2005-05-04  Andy Wingo <wingo@pobox.com>
25135
25136         * check/Makefile.am:
25137         * docs/gst/tmpl/gstatomic.sgml:
25138         * docs/gst/tmpl/gstplugin.sgml:
25139         * gst/base/gstbasesink.c: (gst_basesink_activate):
25140         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
25141         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
25142         (gst_basesrc_query), (gst_basesrc_set_property),
25143         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
25144         (gst_basesrc_activate):
25145         * gst/base/gstbasesrc.h:
25146         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
25147         (gst_base_transform_src_activate):
25148         * gst/elements/gstelements.c:
25149         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25150         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25151         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25152         * gst/elements/gsttypefindelement.c: (find_element_get_length),
25153         (gst_type_find_element_checkgetrange),
25154         (gst_type_find_element_activate):
25155         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
25156         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
25157         (gst_caps_load_thyself):
25158         * gst/gstelement.c: (gst_element_pads_activate),
25159         (gst_element_save_thyself), (gst_element_restore_thyself):
25160         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
25161         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
25162         * gst/gstpad.h:
25163         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
25164         (gst_xml_parse_file), (gst_xml_parse_memory),
25165         (gst_xml_get_element), (gst_xml_make_element):
25166         * gst/indexers/gstfileindex.c: (gst_file_index_load),
25167         (_file_index_id_save_xml), (gst_file_index_commit):
25168         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
25169         (read_enum), (load_pad_template), (load_feature), (load_plugin),
25170         (load_paths):
25171         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
25172         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
25173         * tools/gst-complete.c: (main):
25174         * tools/gst-compprep.c: (main):
25175         * tools/gst-inspect.c: (print_element_properties_info):
25176         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
25177         * tools/gst-xmlinspect.c: (print_element_properties):
25178         GCC 4 fixen.
25179         
25180 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25181
25182         * gst/gstplugin.c: (gst_plugin_check_module),
25183         (gst_plugin_check_file), (gst_plugin_load_file):
25184             apply patch from #172526 to make register work on MacOSX
25185
25186 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25187
25188         * docs/gst/tmpl/gstconfig.sgml:
25189         * gst/gstconfig.h.in:
25190           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
25191         * testsuite/debug/printf_extension.c: (main):
25192           Do not use GST_PTR_FORMAT on pointers to types with
25193           sizeof < sizeof(gpointer).  Fixes test on 64-bit
25194         * testsuite/elements/property.h:
25195           use correct printf format
25196
25197 2005-05-02  Wim Taymans  <wim@fluendo.com>
25198
25199         * docs/design/draft-push-pull.txt:
25200         * docs/design/draft-query.txt:
25201         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
25202         (gst_basesrc_start):
25203         Added draft for new query API.
25204         Added draft for better selecting scheduling methods.
25205         Make basesrc ignore length if the subclass does not support
25206         it.
25207
25208 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25209
25210         * gst/Makefile.am:
25211           possible fixes for automake-1.5 - _LIBADD is reserved
25212
25213 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25214
25215         * docs/faq/Makefile.am:
25216         * docs/manual/Makefile.am:
25217         * docs/manuals.mak:
25218         * docs/pwg/Makefile.am:
25219         * gst/Makefile.am:
25220           possible fixes for automake-1.5
25221
25222 2005-04-28  Wim Taymans  <wim@fluendo.com>
25223
25224         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25225         (gst_basesink_pad_getcaps), (gst_basesink_init),
25226         (gst_basesink_do_sync):
25227         * gst/gstclock.c: (gst_clock_entry_new):
25228         * gst/gstevent.c: (gst_event_discont_get_value):
25229         * gst/gstpipeline.c: (pipeline_bus_handler),
25230         (gst_pipeline_change_state):
25231         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
25232         Better debugging of clocking info.
25233         Allow NULL values when getting discont values.
25234
25235 2005-04-27  Wim Taymans  <wim@fluendo.com>
25236
25237         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25238         * check/gst/gstpad.c: (gst_pad_suite):
25239         Increase timeout for checks.
25240
25241 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25242
25243         * check/Makefile.am:
25244           fix the broken rule for cleanup.  Apparently this rule is
25245           only needed on FC2, so maybe this warrants further autotool
25246           inspection.
25247
25248 2005-04-26  Wim Taymans  <wim@fluendo.com>
25249
25250         * gst/gsttrashstack.h:
25251         Ooohh. a nasty one! After having a failed pop() from the stack,
25252         it's possible that the stack is empty. In that case, don't
25253         follow the NULL pointer.
25254
25255 2005-04-25  Wim Taymans  <wim@fluendo.com>
25256
25257         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25258         (gst_pad_set_checkgetrange_function),
25259         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
25260         (gst_pad_check_pull_range), (gst_pad_pull_range),
25261         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25262         (gst_pad_pause_task), (gst_pad_stop_task):
25263         * gst/gstplugin.c: (gst_plugin_load):
25264         * gst/gstplugin.h:
25265         Remove gst_library_load as it does more harm than good with
25266         the new g_module flags.
25267         Revert bogus caps template check in pad linking, pad caps
25268         are important when linking not the template, which is more
25269         general than the current caps.
25270
25271 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25272
25273         * gst/autoplug/.cvsignore:
25274         * gst/autoplug/Makefile.am:
25275         * gst/autoplug/gstsearchfuncs.c:
25276         * gst/autoplug/gstsearchfuncs.h:
25277         * gst/autoplug/gstspider.c:
25278         * gst/autoplug/gstspider.h:
25279         * gst/autoplug/gstspideridentity.c:
25280         * gst/autoplug/gstspideridentity.h:
25281         * gst/autoplug/spidertest.c:
25282           Die, spider, die.
25283
25284 2005-04-25  Wim Taymans  <wim@fluendo.com>
25285
25286         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25287         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25288         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
25289         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
25290         * gst/gstpad.h:
25291         Added stubs for unimplemented functions. 
25292
25293 2005-04-24  David Schleef  <ds@schleef.org>
25294
25295         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
25296         please fix.
25297
25298 2005-04-24  David Schleef  <ds@schleef.org>
25299
25300         Convert everything from GstAtomicInt to g_atomic_int_*, and
25301         remove gstatomic.
25302         * gst/Makefile.am:
25303         * gst/gstatomic.c:
25304         * gst/gstatomic.h:
25305         * gst/gstatomic_impl.h:
25306         * gst/gstbuffer.c:
25307         * gst/gstcaps.c:
25308         * gst/gstcaps.h:
25309         * gst/gstclock.c:
25310         * gst/gstclock.h:
25311         * gst/gstdata.c:
25312         * gst/gstdata.h:
25313         * gst/gstdata_private.h:
25314         * gst/gstevent.c:
25315         * gst/gstinfo.c:
25316         * gst/gstinfo.h:
25317         * gst/gstmessage.c:
25318         * gst/gstobject.c:
25319         * gst/gstobject.h:
25320         * gst/gststructure.c:
25321         * gst/gststructure.h:
25322         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
25323         * gst/gstutils.h:
25324
25325 2005-04-24  David Schleef  <ds@schleef.org>
25326
25327         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
25328         make the regressions tests work.  Remove some code that is no
25329         longer true.
25330         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
25331         Disable warning for pads without templates.
25332
25333 2005-04-24  David Schleef  <ds@schleef.org>
25334
25335         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
25336         functions that handle filtered links.
25337         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
25338         removed functions.
25339         * gst/gstutils.c: Fix/remove utility functions that handle
25340         filtered caps.
25341         * gst/gstutils.h:
25342         * gst/gstvalue.c: Add serialization/deserialization of caps
25343         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
25344         requires fixing so that the filter caps notation creates
25345         a capsfilter element and sets the filter_caps property.  I
25346         think everyone probably wants to keep the shorthand notation.
25347         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
25348         * docs/gst/tmpl/gstpad.sgml:
25349
25350         * gst/elements/gstelements.c: Register capsfilter element.
25351         * gst/Makefile.am: fix spacing
25352         * docs/random/ds/0.9-suggested-changes: random
25353
25354 2005-04-23  David Schleef  <ds@schleef.org>
25355
25356         * gst/elements/Makefile.am:
25357         * gst/elements/gstcapsfilter.c: New element that acts like an
25358         identity, but filters caps.  Will eventually replace filtered
25359         caps in pad linking.
25360         * gst/gstutils.c: (gst_element_create_all_pads): New function
25361         to create all the ALWAYS pads that are registered with an
25362         element class.  This functionality should eventually be
25363         merged in with GstElement initialization.
25364         * gst/gstutils.h:
25365         * testsuite/trigger/README: part of trigger test code that should
25366         have been checked in a long time ago.
25367
25368 2005-04-23  David Schleef  <ds@schleef.org>
25369
25370         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
25371         needed with new versions of libtool (nobody will confirm this),
25372         and hard to carry around.
25373         * gst/autoplug/Makefile.am:
25374         * gst/base/Makefile.am:
25375         * gst/elements/Makefile.am:
25376         * gst/indexers/Makefile.am:
25377         * gst/schedulers/Makefile.am:
25378         * libs/gst/bytestream/Makefile.am:
25379         * libs/gst/control/Makefile.am:
25380         * libs/gst/dataprotocol/Makefile.am:
25381         * libs/gst/getbits/Makefile.am:
25382
25383 2005-04-21  Wim Taymans  <wim@fluendo.com>
25384
25385         * docs/design/draft-push-pull.txt:
25386         * docs/design/part-MT-refcounting.txt:
25387         * docs/design/part-TODO.txt:
25388         * docs/design/part-caps.txt:
25389         * docs/design/part-events.txt:
25390         * docs/design/part-gstbus.txt:
25391         * docs/design/part-gstpipeline.txt:
25392         * docs/design/part-messages.txt:
25393         * docs/design/part-push-pull.txt:
25394         * docs/design/part-query.txt:
25395         Some more docs.
25396
25397 2005-04-21  Wim Taymans  <wim@fluendo.com>
25398
25399         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
25400         (gst_message_new), (gst_message_new_error),
25401         (gst_message_new_warning), (gst_message_new_tag),
25402         (gst_message_new_state_changed), (gst_message_new_application),
25403         (gst_message_get_structure):
25404         * gst/gstmessage.h:
25405         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25406         (gst_structure_copy_conditional):
25407         Use parent refcount in GstMessage to ensure GstStructure
25408         consistency.
25409         Cleaned up headers a bit.
25410         
25411
25412 2005-04-20  Wim Taymans  <wim@fluendo.com>
25413
25414         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25415         (gst_basesink_pad_getcaps), (gst_basesink_init),
25416         (gst_basesink_chain_unlocked):
25417         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
25418         (gst_type_find_helper):
25419         * gst/elements/gsttypefindelement.c:
25420         (gst_type_find_element_have_type), (gst_type_find_element_init),
25421         (stop_typefinding), (gst_type_find_element_handle_event),
25422         (find_suggest), (gst_type_find_element_chain),
25423         (gst_type_find_element_checkgetrange),
25424         (gst_type_find_element_getrange), (do_typefind),
25425         (gst_type_find_element_activate):
25426         * gst/gstbuffer.c: (_gst_buffer_sub_free),
25427         (gst_buffer_default_free), (gst_buffer_default_copy),
25428         (gst_buffer_set_caps):
25429         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
25430         (gst_caps_replace):
25431         * gst/gstmessage.c: (gst_message_new),
25432         (gst_message_new_state_changed):
25433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25434         (gst_pad_set_checkgetrange_function),
25435         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
25436         (gst_pad_set_caps), (gst_pad_check_pull_range),
25437         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
25438         * gst/gstpad.h:
25439         * gst/gsttypefind.c: (gst_type_find_register):
25440         Make gst_caps_replace() work like other _replace() functions.
25441         Use _caps_replace() where possible.
25442         Make sure _message_new() initialises its field.
25443         Add gst_static_pad_template_get_caps()
25444
25445
25446 2005-04-18  Andy Wingo  <wingo@pobox.com>
25447
25448         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
25449         on the peer, not the pad. I think that was a typo. Pass an extra
25450         arg to see if random access is possible. Activate the pads as
25451         PULL_RANGE if possible.
25452
25453         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
25454
25455         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
25456         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
25457         to PROP_....
25458
25459 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25460
25461         * docs/faq/using.xml:
25462           Add note on gstreamer-properties (#154996).
25463
25464 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25465
25466         * docs/random/bbb/optional-properties:
25467           Some analysis on optional properties.
25468
25469 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25470
25471         * docs/gst/tmpl/gstelementfactory.sgml:
25472         * gst/gstelement.h:
25473         * gst/gstelementfactory.c: (gst_element_factory_init),
25474         (gst_element_factory_cleanup), (gst_element_register),
25475         (__gst_element_factory_add_static_pad_template),
25476         (gst_element_factory_get_static_pad_templates),
25477         (gst_element_factory_can_src_caps),
25478         (gst_element_factory_can_sink_caps):
25479         * gst/registries/Makefile.am:
25480         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
25481         (gst_xml_registry_class_init), (gst_xml_registry_init),
25482         (gst_xml_registry_new), (gst_xml_registry_set_property),
25483         (gst_xml_registry_get_property), (get_time), (make_dir),
25484         (gst_xml_registry_get_perms_func),
25485         (plugin_times_older_than_recurse), (plugin_times_older_than),
25486         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
25487         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
25488         (add_to_char_array), (read_string), (read_uint), (read_enum),
25489         (load_pad_template), (load_feature), (load_plugin), (load_paths),
25490         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
25491         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
25492         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
25493         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
25494         (gst_xml_registry_rebuild):
25495         * gst/registries/gstlibxmlregistry.h:
25496         * tools/gst-compprep.c: (main):
25497         * tools/gst-inspect.c: (print_pad_templates_info):
25498         * tools/gst-xmlinspect.c: (print_element_info):
25499           Use libxml2 for registry parsing, use staticpadtemplates in
25500           elementfactories. Makes gst_init() +/- 10x faster.
25501
25502 2005-04-12  Wim Taymans  <wim@fluendo.com>
25503
25504         * gst/base/Makefile.am:
25505         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25506         (gst_basesink_pad_getcaps), (gst_basesink_init),
25507         (gst_basesink_event), (gst_basesink_change_state):
25508         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25509         (gst_basesrc_init), (gst_basesrc_query),
25510         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25511         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25512         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25513         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25514         (gst_basesrc_stop), (gst_basesrc_activate),
25515         (gst_basesrc_change_state):
25516         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25517         (helper_find_suggest), (gst_type_find_helper):
25518         * gst/base/gsttypefindhelper.h:
25519         * gst/elements/Makefile.am:
25520         * gst/elements/gstelements.c:
25521         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25522         (gst_fakesink_get_times), (gst_fakesink_event),
25523         (gst_fakesink_preroll), (gst_fakesink_render):
25524         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25525         (gst_fakesrc_init), (gst_fakesrc_event_handler),
25526         (gst_fakesrc_get_property), (gst_fakesrc_create),
25527         (gst_fakesrc_start), (gst_fakesrc_stop):
25528         * gst/elements/gstfakesrc.h:
25529         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
25530         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25531         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25532         (gst_filesrc_create_read), (gst_filesrc_create),
25533         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
25534         (gst_filesrc_start):
25535         * gst/elements/gsttypefindelement.c:
25536         (gst_type_find_element_have_type), (gst_type_find_element_init),
25537         (start_typefinding), (stop_typefinding), (push_buffer_store),
25538         (gst_type_find_element_handle_event),
25539         (gst_type_find_element_chain),
25540         (gst_type_find_element_checkgetrange),
25541         (gst_type_find_element_getrange), (do_typefind),
25542         (gst_type_find_element_activate),
25543         (gst_type_find_element_change_state):
25544         * gst/elements/gsttypefindelement.h:
25545         * gst/gstpipeline.c: (pipeline_bus_handler):
25546         Added typefind helper.
25547         Small preroll fix in the base sink.
25548         Disable typefind code in basesrc.
25549         Crude port of typefindelement.
25550         Fakesrc cleanups.
25551
25552
25553 2005-04-11  Wim Taymans  <wim@fluendo.com>
25554
25555         * check/gst/gstbus.c: (gstbus_suite):
25556         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
25557         * check/gstcheck.h:
25558           Fix up the timeout so that the test does not fail.
25559
25560 2005-04-06  Wim Taymans  <wim@fluendo.com>
25561
25562         * gst/base/README:
25563         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25564         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
25565         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25566         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25567         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25568         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25569         (gst_basesrc_stop), (gst_basesrc_activate),
25570         (gst_basesrc_change_state), (basesrc_find_peek),
25571         (basesrc_find_suggest), (gst_basesrc_type_find):
25572         * gst/base/gstbasesrc.h:
25573         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
25574         (gst_filesrc_class_init), (gst_filesrc_init),
25575         (gst_filesrc_finalize), (gst_filesrc_set_location),
25576         (gst_filesrc_set_property), (gst_filesrc_get_property),
25577         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25578         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25579         (gst_filesrc_create_read), (gst_filesrc_create),
25580         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
25581         * gst/elements/gstfilesrc.h:
25582         * gst/gstelement.c: (gst_element_get_state_func),
25583         (gst_element_lost_state), (gst_element_pads_activate):
25584         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25585         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25586         (gst_pad_pull_range):
25587         * gst/gstpad.h:
25588         More work on the generic source base class, implement seeking,
25589         query.
25590         Make filesrc extend the base source class.
25591         Added gst_pad_set_checkgetrange_function to GstPad.
25592
25593 2005-04-06  Andy Wingo  <wingo@pobox.com>
25594
25595         * pkgconfig/gstreamer-base.pc.in:
25596         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
25597
25598         * pkgconfig/Makefile.am:
25599         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
25600
25601 2005-04-04  Wim Taymans  <wim@fluendo.com>
25602
25603         * gst/base/Makefile.am:
25604         * gst/base/README:
25605         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25606         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25607         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25608         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
25609         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25610         (gst_basesrc_base_init), (gst_basesrc_class_init),
25611         (gst_basesrc_init), (gst_basesrc_get_formats),
25612         (gst_basesrc_get_query_types), (gst_basesrc_query),
25613         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
25614         (gst_basesrc_set_property), (gst_basesrc_get_property),
25615         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
25616         (gst_basesrc_loop), (gst_basesrc_activate),
25617         (gst_basesrc_change_state):
25618         * gst/base/gstbasesrc.h:
25619         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25620         (gst_fakesrc_class_init), (gst_fakesrc_init),
25621         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25622         (gst_fakesrc_get_property), (gst_fakesrc_create):
25623         * gst/elements/gstfakesrc.h:
25624         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25625         (gst_filesrc_open_file), (gst_filesrc_loop),
25626         (gst_filesrc_activate), (filesrc_find_peek),
25627         (gst_filesrc_type_find):
25628         Made base source class, make fakesrc extend it.
25629         Add comments to basesink class.
25630         Some filesrc cleanup.
25631
25632 2005-03-31  David Schleef  <ds@schleef.org>
25633
25634         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25635         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25636         expected to link against libgstreamer.
25637         * gst/base/Makefile.am: link against libgstreamer
25638         * gst/elements/Makefile.am: same
25639
25640 2005-03-31  Andy Wingo  <wingo@pobox.com>
25641
25642         * tests/instantiate/Makefile.am:
25643         * tests/instantiate/caps.c: Add test to test speed of caps copy
25644         and free.
25645
25646         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25647         GMemChunk to be fair.
25648
25649         * gst/gsttrashstack.h: Remove warning about using the fallback
25650         trash stack implementation, it's still faster than malloc.
25651
25652 2005-03-30  Andy Wingo  <wingo@pobox.com>
25653
25654         * tests/complexity.c: Add a copyright.
25655
25656 2005-03-31  Wim Taymans  <wim@fluendo.com>
25657
25658         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25659         (gst_base_transform_class_init), (gst_base_transform_init),
25660         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25661         (gst_base_transform_get_property),
25662         (gst_base_transform_sink_activate),
25663         (gst_base_transform_src_activate),
25664         (gst_base_transform_change_state):
25665         * gst/base/gstbasetransform.h:
25666         * gst/elements/gstidentity.c: (gst_identity_class_init),
25667         (gst_identity_event), (gst_identity_check_perfect),
25668         (gst_identity_transform), (gst_identity_start),
25669         (gst_identity_stop):
25670         Added start/stop methods to transform base class so subclasses 
25671         don't need to deal with state changes even.
25672
25673 2005-03-31  Wim Taymans  <wim@fluendo.com>
25674
25675         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25676         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25677         * gst/gstevent.h:
25678         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25679         (gst_pad_pull_range):
25680         Added rate to the discont event to prepare for variable speed
25681         and reverse playback.
25682
25683 2005-03-29  David Schleef  <ds@schleef.org>
25684
25685         * configure.ac:
25686         * testsuite/trigger/Makefile.am:
25687         * testsuite/trigger/trigger.c: A little example program to show
25688         how trigger-based elements can work.
25689
25690 2005-03-29  Wim Taymans  <wim@fluendo.com>
25691
25692         * gst/base/Makefile.am:
25693         * gst/base/README:
25694         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25695         (gst_basesink_base_init), (gst_basesink_class_init),
25696         (gst_basesink_pad_getcaps), (gst_basesink_init),
25697         (gst_basesink_activate), (gst_basesink_change_state):
25698         * gst/base/gstbasesink.h:
25699         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25700         (gst_base_transform_base_init), (gst_base_transform_finalize),
25701         (gst_base_transform_class_init), (gst_base_transform_init),
25702         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25703         (gst_base_transform_event), (gst_base_transform_getrange),
25704         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25705         (gst_base_transform_set_property),
25706         (gst_base_transform_get_property),
25707         (gst_base_transform_sink_activate),
25708         (gst_base_transform_src_activate),
25709         (gst_base_transform_change_state):
25710         * gst/base/gstbasetransform.h:
25711         * gst/elements/gstidentity.c: (gst_identity_finalize),
25712         (gst_identity_class_init), (gst_identity_init),
25713         (gst_identity_event), (gst_identity_check_perfect),
25714         (gst_identity_transform), (gst_identity_set_property),
25715         (gst_identity_get_property), (gst_identity_change_state):
25716         * gst/elements/gstidentity.h:
25717         * gst/gstelement.c: (gst_element_get_state_func),
25718         (gst_element_lost_state), (gst_element_pads_activate):
25719         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25720         (gst_pad_check_pull_range), (gst_pad_pull_range):
25721         * gst/gstpad.h:
25722         Simplify pad activation.
25723         Added function to check if pull_range can be performed.
25724         Error out when pulling inactive or flushing pads.
25725         Removed const from refcounted types as it does not make sense.
25726         Simplify pad templates in basesink
25727         Added base class for simple 1-to-1 transforms.
25728         Make identity subclass the base transform.
25729
25730 2005-03-29  Andy Wingo  <wingo@pobox.com>
25731
25732         * docs/libs/gstreamer-libs-overrides.txt: 
25733         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25734         really don't understand what's going on, but like whatever. I want
25735         green buildbot!
25736
25737         * docs/gst/Makefile.am:
25738         * docs/libs/Makefile.am: Dist the overrides files.
25739
25740         * check/Makefile.am (clean-local): Remove .libs directories.
25741
25742         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25743         elements to EXTRA_DIST, so po/ files are happy.
25744
25745         * po/POTFILES.in: Er, remove it here.
25746
25747         * po/POTFILES: Remove gstspider.c.
25748
25749         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25750
25751         * docs/libs/gstreamer-libs-docs.sgml: 
25752         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25753         bytestream.
25754
25755         * tests/complexity.c (main): Set the length of the preroll queue
25756         on the sinks to prevent a lockup.
25757
25758         * libs/gst/dataprotocol/Makefile.am: 
25759         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25760         the same as the one in check/gst-libs/gdp.c.
25761
25762         * po/, docs/gst/: Commit automatic changes to docs and po files.
25763
25764         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25765         the versioned libgstbase.
25766
25767         * check/Makefile.am: Depend on an unversioned gst-register, seems
25768         to make autoconf happier.
25769
25770         * gst/base/Makefile.am: Make libgstbase a versioned lib.
25771
25772 2005-03-28  Wim Taymans  <wim@fluendo.com>
25773
25774         * configure.ac:
25775         * docs/design/part-gstelement.txt:
25776         * docs/design/part-negotiation.txt:
25777         * docs/design/part-preroll.txt:
25778         * docs/design/part-scheduling.txt:
25779         * docs/design/part-states.txt:
25780         * gst/Makefile.am:
25781         * gst/base/Makefile.am:
25782         * gst/base/README:
25783         * gst/base/gstbasesink.c: (gst_basesink_get_template),
25784         (gst_basesink_base_init), (gst_basesink_class_init),
25785         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25786         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25787         (gst_basesink_set_pad_functions),
25788         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25789         (gst_basesink_set_property), (gst_basesink_get_property),
25790         (gst_base_sink_get_template), (gst_base_sink_get_caps),
25791         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25792         (gst_basesink_preroll_queue_push),
25793         (gst_basesink_preroll_queue_empty),
25794         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25795         (gst_basesink_event), (gst_basesink_get_times),
25796         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25797         (gst_basesink_chain_unlocked), (gst_basesink_chain),
25798         (gst_basesink_loop), (gst_basesink_activate),
25799         (gst_basesink_change_state):
25800         * gst/base/gstbasesink.h:
25801         * gst/elements/Makefile.am:
25802         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25803         (gst_fakesink_class_init), (gst_fakesink_init),
25804         (gst_fakesink_set_property), (gst_fakesink_get_property),
25805         (gst_fakesink_get_times), (gst_fakesink_event),
25806         (gst_fakesink_preroll), (gst_fakesink_render),
25807         (gst_fakesink_change_state):
25808         * gst/elements/gstfakesink.h:
25809         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25810         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25811         * gst/gstelement.c: (gst_element_add_pad),
25812         (gst_element_get_state_func), (gst_element_abort_state),
25813         (gst_element_commit_state), (gst_element_lost_state),
25814         (gst_element_set_state), (gst_element_pads_activate):
25815         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25816         * gst/gstpipeline.c: (gst_pipeline_send_event),
25817         (gst_pipeline_change_state):
25818         Added state change code.
25819         Added/updated docs.
25820         Added sink base class, make fakesink extend the base class.
25821         Small cleanups in GstPipeline.
25822
25823 2005-03-26  David Schleef  <ds@schleef.org>
25824
25825         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
25826         is broken and should be implemented in a different library.
25827         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25828         * gst/gst.h: remove gstcpu.h
25829         * gst/gstcpu.c: remove
25830         * gst/gstcpu.h: remove
25831         * gst/Makefile.am.future: Remove this file.  It's ancient.
25832
25833 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25834
25835         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25836         (gst_bin_send_event):
25837           Add default event/set_manager handlers. The set_manager handler
25838           takes care that the manager is distributed over kids that were
25839           already in the bin before the manager was set. The event handler
25840           is a utility virtual function that sends the event over all sinks,
25841           so that gst_element_send_event (bin, event); has the expected
25842           behaviour.
25843         * gst/gstpad.c: (gst_pad_event_default):
25844           Re-install default event handling for discontinuities, so that
25845           seeking works without requiring hacks in applications or extra
25846           code in sinks.
25847         * gst/gstpipeline.c: (gst_pipeline_class_init),
25848         (gst_pipeline_send_event):
25849           Half hack, half utility: set a pipeline to PAUSED for seek events,
25850           since that is the only way we can guarantee a/v sync. Means that
25851           you can do gst_element_seek (pipeline, method, pos); on a pipeline
25852           and it "just works".
25853
25854 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25855
25856         * gst/gstpipeline.c: (gst_pipeline_use_clock):
25857           Lock/unlock mismatch.
25858
25859 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25860
25861         * docs/faq/gst-uninstalled:
25862           add gst-plugins-base
25863         * docs/gst/Makefile.am:
25864           don't error out until docs are fixed
25865         * docs/gst/gstreamer.types:
25866           remove thread
25867
25868 2005-03-22  Wim Taymans  <wim@fluendo.com>
25869
25870         * check/Makefile.am:
25871         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25872         * gst/gststructure.c: (gst_structure_set_valist),
25873         (gst_structure_copy_conditional):
25874         Activated more tests.
25875         Added message test.
25876         Added G_TYPE_POINTER to GstStructure.
25877         
25878
25879 2005-03-22  Wim Taymans  <wim@fluendo.com>
25880
25881         * docs/design/part-TODO.txt:
25882         * docs/design/part-events.txt:
25883         * docs/design/part-gstbin.txt:
25884         * docs/design/part-gstbus.txt:
25885         * docs/design/part-gstpipeline.txt:
25886         * docs/design/part-messages.txt:
25887         * gst/gstbus.c:
25888         * gst/gstmessage.c:
25889         Docs updates
25890
25891 2005-03-21  Wim Taymans  <wim@fluendo.com>
25892
25893         * gst/gstbus.c: (gst_bus_post):
25894         Fix copy-and-paste error.
25895
25896 2005-03-21  Wim Taymans  <wim@fluendo.com>
25897
25898         * check/Makefile.am:
25899         * gst/Makefile.am:
25900         * gst/elements/Makefile.am:
25901         * gst/elements/gstelements.c:
25902         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25903         (gst_fakesink_event), (gst_fakesink_chain):
25904         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25905         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25906         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25907         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25908         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25909         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25910         (gst_fakesrc_loop), (gst_fakesrc_activate),
25911         (gst_fakesrc_change_state):
25912         * gst/elements/gstfakesrc.h:
25913         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25914         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25915         (gst_filesrc_open_file), (gst_filesrc_loop),
25916         (gst_filesrc_activate), (gst_filesrc_change_state),
25917         (filesrc_find_peek), (filesrc_find_suggest),
25918         (gst_filesrc_type_find):
25919         * gst/elements/gstidentity.c: (gst_identity_finalize),
25920         (gst_identity_class_init), (gst_identity_init),
25921         (gst_identity_proxy_getcaps), (identity_queue_push),
25922         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25923         (gst_identity_getrange), (gst_identity_chain),
25924         (gst_identity_sink_loop), (gst_identity_src_loop),
25925         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25926         (gst_identity_set_property), (gst_identity_get_property),
25927         (gst_identity_change_state):
25928         * gst/elements/gstidentity.h:
25929         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25930         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25931         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25932         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25933         (gst_tee_sink_activate):
25934         * gst/elements/gsttee.h:
25935         * gst/gst.c: (gst_register_core_elements), (init_post):
25936         * gst/gst.h:
25937         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25938         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25939         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25940         (gst_bin_change_state):
25941         * gst/gstbin.h:
25942         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25943         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25944         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25945         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25946         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25947         (bus_watch_callback), (bus_watch_destroy),
25948         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25949         (poll_timeout), (gst_bus_poll):
25950         * gst/gstbus.h:
25951         * gst/gstcaps.h:
25952         * gst/gstdata.h:
25953         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25954         (gst_element_post_message), (gst_element_message_full),
25955         (gst_element_get_state_func), (gst_element_get_state),
25956         (gst_element_abort_state), (gst_element_commit_state),
25957         (gst_element_lost_state), (gst_element_set_state),
25958         (gst_element_pads_activate), (gst_element_change_state),
25959         (gst_element_dispose), (gst_element_set_manager_func),
25960         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25961         (gst_element_set_manager), (gst_element_get_manager),
25962         (gst_element_set_bus), (gst_element_get_bus),
25963         (gst_element_set_scheduler), (gst_element_get_scheduler):
25964         * gst/gstelement.h:
25965         * gst/gstevent.c: (gst_event_new_segment_seek),
25966         (gst_event_new_flush):
25967         * gst/gstevent.h:
25968         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25969         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25970         (gst_message_new_eos), (gst_message_new_error),
25971         (gst_message_new_warning), (gst_message_new_tag),
25972         (gst_message_new_state_changed), (gst_message_new_application),
25973         (gst_message_get_structure), (gst_message_parse_tag),
25974         (gst_message_parse_state_changed), (gst_message_parse_error),
25975         (gst_message_parse_warning):
25976         * gst/gstmessage.h:
25977         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25978         (gst_real_pad_set_property), (gst_pad_set_active),
25979         (gst_pad_is_active), (gst_pad_set_blocked_async),
25980         (gst_pad_set_blocked), (gst_pad_is_blocked),
25981         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25982         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25983         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25984         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25985         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25986         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25987         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25988         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25989         (gst_pad_set_caps), (gst_pad_configure_sink),
25990         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25991         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25992         (gst_real_pad_dispose), (gst_real_pad_finalize),
25993         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25994         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25995         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25996         * gst/gstpad.h:
25997         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25998         (pipeline_bus_handler), (gst_pipeline_change_state),
25999         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
26000         * gst/gstpipeline.h:
26001         * gst/gstprobe.h:
26002         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
26003         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
26004         (gst_queue_link_src), (gst_queue_bufferalloc),
26005         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
26006         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
26007         (gst_queue_loop), (gst_queue_handle_src_event),
26008         (gst_queue_handle_src_query), (gst_queue_src_activate),
26009         (gst_queue_change_state):
26010         * gst/gstqueue.h:
26011         * gst/gstscheduler.c: (gst_scheduler_init),
26012         (gst_scheduler_dispose), (gst_scheduler_create_task),
26013         (gst_scheduler_factory_create):
26014         * gst/gstscheduler.h:
26015         * gst/gststructure.c: (gst_structure_get_type),
26016         (gst_structure_copy_conditional):
26017         * gst/gststructure.h:
26018         * gst/gsttaginterface.h:
26019         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26020         (gst_task_init), (gst_task_dispose), (gst_task_create),
26021         (gst_task_get_state), (gst_task_start), (gst_task_stop),
26022         (gst_task_pause):
26023         * gst/gsttask.h:
26024         * gst/gstthread.c:
26025         * gst/gstthread.h:
26026         * gst/gsttypes.h:
26027         * gst/schedulers/Makefile.am:
26028         * gst/schedulers/cothreads_compat.h:
26029         * gst/schedulers/entryscheduler.c:
26030         * gst/schedulers/faircothreads.c:
26031         * gst/schedulers/faircothreads.h:
26032         * gst/schedulers/fairscheduler.c:
26033         * gst/schedulers/gstbasicscheduler.c:
26034         * gst/schedulers/gstoptimalscheduler.c:
26035         * gst/schedulers/gthread-cothreads.h:
26036         * gst/schedulers/threadscheduler.c:
26037         (gst_thread_scheduler_task_get_type),
26038         (gst_thread_scheduler_task_class_init),
26039         (gst_thread_scheduler_task_init),
26040         (gst_thread_scheduler_task_start),
26041         (gst_thread_scheduler_task_stop),
26042         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
26043         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26044         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
26045         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
26046         (plugin_init):
26047         * libs/gst/Makefile.am:
26048         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
26049         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
26050         (gst_file_pad_parent_set):
26051         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26052         (gst_dp_event_from_packet):
26053         * tests/complexity.c: (main):
26054         * tests/mass_elements.c: (main):
26055         * testsuite/states/locked.c: (message_received), (main):
26056         * testsuite/states/parent.c: (main):
26057         * tools/gst-inspect.c: (print_element_flag_info),
26058         (print_implementation_info), (print_pad_info):
26059         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
26060         (main):
26061         * tools/gst-md5sum.c: (event_loop), (main):
26062         * tools/gst-typefind.c: (main):
26063         * tools/gst-xmlinspect.c: (print_element_info):
26064         Next big merge.
26065         Added GstBus for mainloop integration.
26066         Added GstMessage for sending notifications on the bus.
26067         Added GstTask as an abstraction for pipeline entry points.
26068         Removed GstThread.
26069         Removed Schedulers.
26070         Simplified GstQueue for multithreaded core.
26071         Made _link threadsafe, removed old capsnego.
26072         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
26073         Added pad blocking functions.
26074         Reworked scheduling functions in GstPad to prepare for
26075         scheduling updates soon.
26076         Moved events out of data stream.
26077         Simplified GstEvent types.
26078         Added return values to push/pull.
26079         Removed clocking from GstElement.
26080         Added prototypes for state change function for next merge.
26081         Removed iterate from bins and state change management.
26082         Fixed some elements, disabled others for now.
26083         Fixed -inspect and -launch.
26084         Added check for GstBus.
26085
26086 2005-03-10  Wim Taymans  <wim@fluendo.com>
26087
26088         * docs/design/part-MT-refcounting.txt:
26089         * docs/design/part-clocks.txt:
26090         * docs/design/part-gstelement.txt:
26091         * docs/design/part-gstobject.txt:
26092         * docs/design/part-standards.txt:
26093         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26094         (gst_bin_remove_func), (gst_bin_remove):
26095         * gst/gstbin.h:
26096         * gst/gstbuffer.c:
26097         * gst/gstcaps.h:
26098         * testsuite/clock/clock1.c: (main):
26099         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
26100         (main):
26101         * testsuite/dlopen/loadgst.c: (do_test):
26102         * testsuite/refcounting/bin.c: (add_remove_test1),
26103         (add_remove_test2), (main):
26104         * testsuite/refcounting/element.c: (main):
26105         * testsuite/refcounting/element_pad.c: (main):
26106         * testsuite/refcounting/pad.c: (main):
26107         * tools/gst-launch.c: (sigint_handler_sighandler):
26108         * tools/gst-typefind.c: (main):
26109         Doc updates.
26110         Added doc about clock.
26111         removed gst_bin_iterate_recurse_up(), marked methods
26112         for removal.
26113         Fix more testsuites.
26114
26115 2005-03-09  Wim Taymans  <wim@fluendo.com>
26116
26117         * gst/gstpad.c: (gst_pad_get_direction),
26118         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
26119         (gst_pad_collect_valist):
26120         * testsuite/bins/interface.c: (main):
26121         * testsuite/caps/audioscale.c: (test_caps):
26122         * testsuite/caps/caps.c: (test1), (test2), (test3):
26123         * testsuite/caps/deserialize.c: (main):
26124         * testsuite/caps/enumcaps.c: (main):
26125         * testsuite/caps/filtercaps.c: (main):
26126         * testsuite/caps/intersect2.c: (main):
26127         * testsuite/caps/random.c: (main):
26128         * testsuite/caps/renegotiate.c: (my_fixate), (main):
26129         * testsuite/caps/sets.c: (check_caps):
26130         * testsuite/caps/simplify.c: (check_caps), (main):
26131         * testsuite/caps/subtract.c: (check_caps):
26132         Fix _pad_get_direction wrt ghostpads.
26133         Fix caps testsuite.
26134
26135 2005-03-09  Wim Taymans  <wim@fluendo.com>
26136
26137         * check/Makefile.am:
26138         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
26139         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
26140         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
26141         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
26142         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
26143         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
26144         (gst_bin_remove), (gst_bin_iterate_recurse_up),
26145         (bin_element_is_sink), (gst_bin_iterate_sinks),
26146         (gst_bin_iterate_all_by_interface):
26147         * gst/gstbin.h:
26148         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
26149         (gst_element_change_state), (gst_element_dispose),
26150         (gst_element_finalize), (gst_element_set_loop_function):
26151         * gst/gstelement.h:
26152         * gst/gstiterator.c: (find_custom_fold_func):
26153         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26154         (gst_pad_collectv), (gst_pad_collect_valist),
26155         (gst_pad_template_new):
26156         * gst/gstpipeline.c: (gst_pipeline_class_init),
26157         (gst_pipeline_dispose), (gst_pipeline_set_property),
26158         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
26159         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
26160         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
26161         * gst/gstutils.h:
26162         * gst/schedulers/entryscheduler.c:
26163         * gst/schedulers/gstbasicscheduler.c:
26164         (gst_basic_scheduler_cothreaded_chain),
26165         (gst_basic_scheduler_chain_add_element):
26166         * testsuite/bins/interface.c: (main):
26167         Added GstBin test.
26168         Added GstSystemClock test.
26169         Implemented clock distribution code in GstBin.
26170         Implemented iterate sinks method for future use.
26171         Rearranged gstelement.h
26172         Fix GstIterator comparison bug.
26173         Moved some code to GstPipeline, mostly clocking related.
26174
26175 2005-03-09  Wim Taymans  <wim@fluendo.com>
26176
26177         * configure.ac:
26178         * gst/gst_private.h:
26179         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26180         (gst_bin_remove_func), (gst_bin_remove),
26181         (gst_bin_get_by_name_recurse_up):
26182         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
26183         (gst_clock_id_compare_func), (gst_clock_id_wait),
26184         (gst_clock_id_wait_async), (gst_clock_init),
26185         (gst_clock_adjust_unlocked), (gst_clock_get_time):
26186         * gst/gstelement.h:
26187         * gst/gstinfo.c: (_gst_debug_init):
26188         * gst/gstobject.h:
26189         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26190         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
26191         * gst/gstpad.h:
26192         Bump version number, we're now 0.9.0
26193         Add future debugging category.
26194         Fix NULL _unref() in _get_by_name_recurse_up
26195         Rearrange gstpad.h.
26196         Update some docs.
26197
26198 2005-03-08  Wim Taymans  <wim@fluendo.com>
26199
26200         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
26201         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
26202         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26203         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
26204         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
26205         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
26206         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
26207         * gst/elements/gstidentity.c: (gst_identity_class_init):
26208         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
26209         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
26210         * gst/elements/gstshaper.c: (gst_shaper_class_init):
26211         * gst/elements/gststatistics.c: (gst_statistics_class_init):
26212         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
26213         (gst_tee_link):
26214         * gst/gstelement.c: (gst_element_class_init),
26215         (gst_element_base_class_init), (gst_element_init),
26216         (gst_element_get_random_pad), (gst_element_wait_state_change),
26217         (gst_element_change_state), (gst_element_dispose),
26218         (gst_element_finalize), (gst_element_set_loop_function):
26219         * gst/gstelement.h:
26220         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
26221         * gst/gstthread.c: (gst_thread_class_init),
26222         (gst_thread_release_children_locks), (gst_thread_change_state):
26223         * gst/schedulers/gstbasicscheduler.c:
26224         (gst_basic_scheduler_loopfunc_wrapper),
26225         (gst_basic_scheduler_chain_wrapper),
26226         (gst_basic_scheduler_src_wrapper),
26227         (gst_basic_scheduler_remove_element):
26228         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
26229         Remove threadsafe properties. Fix elements because GObject
26230         complains when installing a property before declaring a
26231         set/get_property handler.
26232         Rearrange gstelement.h file, use STATE macros for state locks.
26233         Free mutexes in the finalize method instead of dispose.
26234
26235 2005-03-08  Wim Taymans  <wim@fluendo.com>
26236
26237         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26238         * gst/gstthread.c: (gst_thread_release_children_locks):
26239         Added parentage check.
26240         Fix build og GstThread again.
26241
26242 2005-03-08  Wim Taymans  <wim@fluendo.com>
26243
26244         * docs/design/part-MT-refcounting.txt:
26245         * docs/design/part-conventions.txt:
26246         * docs/design/part-gstobject.txt:
26247         * docs/design/part-relations.txt:
26248         * docs/design/part-standards.txt:
26249         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26250         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
26251         (gst_bin_get_by_name), (gst_bin_get_by_interface),
26252         (gst_bin_iterate_all_by_interface):
26253         * gst/gstbuffer.h:
26254         * gst/gstclock.h:
26255         * gst/gstelement.c: (gst_element_class_init),
26256         (gst_element_change_state), (gst_element_set_loop_function):
26257         * gst/gstelement.h:
26258         * gst/gstiterator.c:
26259         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
26260         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
26261         (gst_object_dispatch_properties_changed), (gst_object_set_name),
26262         (gst_object_set_parent), (gst_object_unparent),
26263         (gst_object_check_uniqueness):
26264         * gst/gstobject.h:
26265         Docs updates, clean up some headers.
26266
26267 2005-03-07  Wim Taymans  <wim@fluendo.com>
26268
26269         * check/.cvsignore:
26270         * check/Makefile.am:
26271         * check/gst-libs/.cvsignore:
26272         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
26273         * check/gst/.cvsignore:
26274         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
26275         (START_TEST), (gstbus_suite), (main):
26276         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
26277         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
26278         (gst_data_suite), (main):
26279         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
26280         (add_fold_func), (gstiterator_suite), (main):
26281         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
26282         (thread_name_object), (thread_name_object_default),
26283         (gst_object_name_compare), (gst_object_suite), (main):
26284         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
26285         (gst_pad_suite), (main):
26286         * check/gstcheck.c: (gst_check_log_message_func),
26287         (gst_check_log_critical_func), (gst_check_init):
26288         * check/gstcheck.h:
26289         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
26290         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
26291         Added checks.
26292
26293 2005-03-07  Wim Taymans  <wim@fluendo.com>
26294
26295         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
26296         (gst_list_iterator_next), (gst_list_iterator_resync),
26297         (gst_list_iterator_free), (gst_iterator_new_list),
26298         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
26299         (gst_iterator_free), (gst_iterator_push), (filter_next),
26300         (filter_resync), (filter_uninit), (filter_free),
26301         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
26302         (gst_iterator_foreach), (find_custom_fold_func),
26303         (gst_iterator_find_custom):
26304         * gst/gstiterator.h:
26305         Added missing files.
26306
26307 2005-03-07  Wim Taymans  <wim@fluendo.com>
26308
26309         * Makefile.am:
26310         * configure.ac:
26311         * docs/design/part-MT-refcounting.txt:
26312         * docs/design/part-conventions.txt:
26313         * docs/design/part-gstobject.txt:
26314         * docs/design/part-relations.txt:
26315         * examples/mixer/mixer.c: (main):
26316         * examples/thread/thread.c: (eos), (main):
26317         * gst/Makefile.am:
26318         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
26319         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
26320         (gst_spider_plug_from_srcpad):
26321         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
26322         (gst_spider_identity_change_state),
26323         (gst_spider_identity_sink_loop_type_finding):
26324         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
26325         * gst/elements/gstidentity.c: (gst_identity_init):
26326         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
26327         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
26328         * gst/elements/gsttypefindelement.c: (free_entry):
26329         * gst/gst.c:
26330         * gst/gst.h:
26331         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
26332         (gst_bin_set_clock_func), (gst_bin_auto_clock),
26333         (gst_bin_set_index), (gst_bin_set_element_sched),
26334         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
26335         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
26336         (gst_bin_iterate_elements), (iterate_child_recurse),
26337         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
26338         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
26339         (compare_interface), (gst_bin_get_by_interface),
26340         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
26341         * gst/gstbin.h:
26342         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
26343         (gst_buffer_default_free), (gst_buffer_default_copy),
26344         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
26345         (gst_buffer_create_sub):
26346         * gst/gstbuffer.h:
26347         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
26348         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
26349         (gst_caps_unref), (gst_static_caps_get),
26350         (gst_caps_remove_and_get_structure), (gst_caps_append),
26351         (gst_caps_append_structure), (gst_caps_remove_structure),
26352         (gst_caps_copy_nth), (gst_caps_set_simple),
26353         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
26354         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
26355         (gst_caps_structure_intersect_field), (gst_caps_intersect),
26356         (gst_caps_structure_subtract_field), (gst_caps_subtract),
26357         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
26358         (gst_caps_structure_figure_out_union),
26359         (gst_caps_switch_structures), (gst_caps_do_simplify),
26360         (gst_caps_replace), (gst_caps_from_string),
26361         (gst_caps_copy_conditional):
26362         * gst/gstcaps.h:
26363         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
26364         (_gst_clock_id_free), (gst_clock_id_unref),
26365         (gst_clock_id_compare_func), (gst_clock_id_wait),
26366         (gst_clock_id_wait_async), (gst_clock_class_init),
26367         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
26368         (gst_clock_get_time), (gst_clock_set_time_adjust),
26369         (gst_clock_set_property), (gst_clock_get_property):
26370         * gst/gstclock.h:
26371         * gst/gstcompat.h:
26372         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
26373         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
26374         * gst/gstdata.h:
26375         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
26376         (gst_element_requires_clock), (gst_element_provides_clock),
26377         (gst_element_set_clock), (gst_element_clock_wait),
26378         (gst_element_wait), (gst_element_set_time_delay),
26379         (gst_element_is_indexable), (gst_element_add_pad),
26380         (gst_element_add_ghost_pad), (gst_element_remove_pad),
26381         (pad_compare_name), (gst_element_get_static_pad),
26382         (gst_element_request_pad), (gst_element_get_request_pad),
26383         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
26384         (gst_element_class_get_pad_template_list),
26385         (gst_element_class_get_pad_template), (gst_element_error_func),
26386         (gst_element_get_random_pad), (gst_element_get_event_masks),
26387         (gst_element_send_event), (gst_element_seek),
26388         (gst_element_get_query_types), (gst_element_query),
26389         (gst_element_get_formats), (gst_element_convert),
26390         (gst_element_is_locked_state), (gst_element_set_locked_state),
26391         (gst_element_sync_state_with_parent), (gst_element_change_state),
26392         (gst_element_finalize), (gst_element_yield),
26393         (gst_element_interrupt), (gst_element_set_scheduler),
26394         (gst_element_get_scheduler), (gst_element_set_loop_function):
26395         * gst/gstelement.h:
26396         * gst/gstevent.h:
26397         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
26398         (gst_format_get_by_nick), (gst_format_get_details),
26399         (gst_format_iterate_definitions):
26400         * gst/gstformat.h:
26401         * gst/gstindex.c: (gst_index_gtype_resolver):
26402         * gst/gstinfo.c:
26403         * gst/gstinfo.h:
26404         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
26405         (gst_mem_chunk_free):
26406         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
26407         (gst_object_ref), (gst_object_unref), (gst_object_sink),
26408         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
26409         (gst_object_dispatch_properties_changed),
26410         (gst_object_set_name_default), (gst_object_set_name),
26411         (gst_object_get_name), (gst_object_set_name_prefix),
26412         (gst_object_get_name_prefix), (gst_object_set_parent),
26413         (gst_object_get_parent), (gst_object_unparent),
26414         (gst_object_check_uniqueness), (gst_object_save_thyself),
26415         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
26416         (gst_object_set_property), (gst_object_get_property),
26417         (gst_object_get_path_string):
26418         * gst/gstobject.h:
26419         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26420         (gst_real_pad_init), (gst_real_pad_get_property),
26421         (gst_pad_custom_new), (gst_pad_get_direction),
26422         (gst_pad_set_active), (gst_pad_is_active),
26423         (gst_pad_set_event_function), (gst_pad_is_linked),
26424         (gst_pad_link_free), (gst_pad_link_intersect),
26425         (gst_pad_link_fixate), (gst_pad_set_caps),
26426         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
26427         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
26428         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
26429         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
26430         (gst_pad_get_caps), (gst_pad_peer_get_caps),
26431         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
26432         (gst_pad_realize), (gst_pad_get_allowed_caps),
26433         (gst_real_pad_dispose), (gst_real_pad_finalize),
26434         (gst_pad_collectv), (gst_pad_collect_valist),
26435         (gst_pad_template_dispose), (gst_pad_template_new),
26436         (gst_pad_get_internal_links):
26437         * gst/gstpad.h:
26438         * gst/gstpipeline.c: (gst_pipeline_dispose),
26439         (gst_pipeline_change_state):
26440         * gst/gstpipeline.h:
26441         * gst/gstplugin.c:
26442         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
26443         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
26444         * gst/gstpluginfeature.h:
26445         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
26446         * gst/gstquery.c: (_gst_query_type_initialize),
26447         (gst_query_type_register), (gst_query_type_get_by_nick),
26448         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
26449         * gst/gstquery.h:
26450         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
26451         * gst/gstscheduler.c: (gst_scheduler_add_element),
26452         (gst_scheduler_factory_create):
26453         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26454         (gst_structure_free), (gst_structure_set_name),
26455         (gst_structure_id_set_value), (gst_structure_set_value),
26456         (gst_structure_set_valist), (gst_structure_remove_field),
26457         (gst_structure_remove_fields),
26458         (gst_structure_remove_fields_valist),
26459         (gst_structure_remove_all_fields), (gst_structure_foreach),
26460         (gst_structure_map_in_place),
26461         (gst_caps_structure_fixate_field_nearest_int),
26462         (gst_caps_structure_fixate_field_nearest_double):
26463         * gst/gststructure.h:
26464         * gst/gstsystemclock.c: (gst_system_clock_class_init),
26465         (gst_system_clock_init), (gst_system_clock_dispose),
26466         (gst_system_clock_async_thread),
26467         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
26468         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
26469         * gst/gstsystemclock.h:
26470         * gst/gsttag.c: (gst_tag_list_add_value_internal),
26471         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
26472         * gst/gsttaginterface.c:
26473         * gst/gstthread.c: (gst_thread_dispose),
26474         (gst_thread_release_children_locks), (gst_thread_change_state),
26475         (gst_thread_main_loop):
26476         * gst/gsttrashstack.h:
26477         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
26478         * gst/gsttypes.h:
26479         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26480         (gst_element_request_pad), (gst_element_get_pad_from_template),
26481         (gst_element_request_compatible_pad),
26482         (gst_element_get_compatible_pad_filtered),
26483         (gst_element_get_compatible_pad), (gst_element_state_get_name),
26484         (gst_element_link_pads_filtered), (gst_element_link_filtered),
26485         (gst_element_link_many), (gst_element_link),
26486         (gst_element_link_pads), (gst_element_unlink_pads),
26487         (gst_element_unlink_many), (gst_element_unlink),
26488         (gst_pad_can_link_filtered), (gst_pad_can_link),
26489         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
26490         (gst_object_default_error), (gst_bin_add_many),
26491         (gst_bin_remove_many), (gst_element_populate_std_props),
26492         (gst_element_class_install_std_props), (gst_buffer_merge),
26493         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
26494         (link_fold_func), (gst_pad_proxy_setcaps):
26495         * gst/gstutils.h:
26496         * gst/gstvalue.c: (gst_value_deserialize_string):
26497         * gst/parse/grammar.y:
26498         * gst/schedulers/gstbasicscheduler.c:
26499         (gst_basic_scheduler_cothreaded_chain),
26500         (gst_basic_scheduler_chain_recursive_add),
26501         (gst_basic_scheduler_pad_link):
26502         * gst/schedulers/gstoptimalscheduler.c:
26503         (get_group_schedule_function),
26504         (gst_opt_scheduler_state_transition),
26505         (gst_opt_scheduler_add_element), (element_get_reachables_func):
26506         * libs/gst/bytestream/bytestream.c:
26507         * libs/gst/dataprotocol/dataprotocol.c:
26508         (gst_dp_header_from_buffer):
26509         * po/nb.po:
26510         * po/ru.po:
26511         * tests/threadstate/threadstate2.c: (eos):
26512         * tools/gst-compprep.c: (main):
26513         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
26514         (print_pad_info), (print_children_info):
26515         * tools/gst-launch.c: (idle_func), (main):
26516         * tools/gst-md5sum.c: (idle_func), (main):
26517         * tools/gst-xmlinspect.c: (print_element_info):
26518         First THREADED backport attempt, focusing on adding locks and
26519         making sure the API is threadsafe. Needs more work. More docs
26520         follow this week.
26521
26522 2005-02-24  Andy Wingo  <wingo@pobox.com>
26523
26524         * tests/bench-complexity.scm:
26525         * tests/complexity.gnuplot: New files, good for running complexity
26526         benchmarks.
26527
26528         * tests/Makefile.am:
26529         * tests/complexity.c: New test, sets up N elements, at each level
26530         teeing into M streams per element. Eeeenteresting.
26531
26532         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
26533         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
26534         running bench-mass_elements.scm.
26535
26536         * tests/bench-mass_elements.scm: New script, runs mass_elements
26537         for various numbers of identities, outputting the results to a
26538         file. Requires guile 1.6. Just for testing.
26539
26540 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26541
26542         * gst/schedulers/fairscheduler.c:
26543           compile with debug disabled
26544
26545 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26546
26547         * configure.ac:
26548           hunting season on 0.9 is now OPEN