580a03b51b9a125896973648fee8dab534616c5d
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
4         Only send upstream events upstream. Fixes #498746.
5
6 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
7
8         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
9
10         * plugins/elements/gstidentity.c: (gst_identity_class_init),
11         (gst_identity_init), (gst_identity_transform_ip),
12         (gst_identity_set_property), (gst_identity_get_property):
13         * plugins/elements/gstidentity.h:
14         Add property to disable handoff signal emission. Fixes #498694.
15         API: GstIdentity::signal-handoffs
16
17 2007-11-21  Julien Moutte  <julien@fluendo.com>
18
19         * docs/faq/gst-uninstalled: Yet another missing library for the
20         uninstalled script (fft)
21
22 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
23
24         * docs/faq/developing.xml:
25         Add a question about how to submit new translations.
26
27         * docs/random/release:
28         Update the contact email address for the Translation Project
29
30         * plugins/elements/gstfdsrc.c:
31         The parent_class for fdsrc is pushsrc, not GstElement.
32
33 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
34
35         * gst/gstpreset.c:
36           Plug a leak and fix saving.
37
38 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
39
40         * docs/gst/gstreamer-sections.txt:
41         Add new gst_preset__get_property_names() function to the docs
42         to fix the build.
43
44 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
45
46         * gst/gstpreset.c:
47         * gst/gstpreset.h:
48           Change _get_preset_names API to return a strv with copies. Add
49           _get_property_names to allow implementations to filter and provide
50           good default implementation.
51
52 2007-11-20  Julien MOUTTE  <julien@moutte.net>
53
54         * docs/faq/gst-uninstalled: Add another library to the uninstalled
55         script (sdp).
56
57 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
58
59         * gst/gstpreset.c:
60           More cleanups, docs, and TODOs from comments that now slowly come in.
61
62 2007-11-19  Julien MOUTTE  <julien@moutte.net>
63
64         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
65         search path.
66
67 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
68
69         * gst/gstpreset.c:
70           Fix bogus warning and make the property type specific code more
71           similar.
72
73 2007-11-19  Julien MOUTTE  <julien@moutte.net>
74
75         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
76         it build on OS X.
77
78 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
79
80         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
81         (gst_bin_add_func), (gst_bin_remove_func),
82         (gst_bin_change_state_func), (gst_bin_continue_func):
83         Change email, cleanups add some more debug and comments.
84         Also set bus and clock on new elements when the pipeline was in error.
85
86 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
87
88         * gst/gstbin.c:
89         * gst/gstdebugutils.c:
90           Fix build with --disable-gst-debug. Fixes #497859.
91           Spotted by Sameer Naik.
92
93 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
94
95         * gst/gstevent.c:
96           Little documentation improvment.
97
98         * gst/gstpreset.c:
99           More TODO cleanups. Remove c++ comments.
100
101         * libs/gst/controller/gstcontroller.c:
102           Add TODO and use quark from static string.
103
104         * tests/check/gst/gstmessage.c:
105         * tests/check/gst/gststructure.c:
106           Use quark from static string.
107
108 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
109
110         * gst/gstpreset.c:
111           Add some comments and TODOs.
112
113         * gst/gstpreset.h:
114           Add padding for future changes.
115
116         * plugins/elements/gstqueue.c:
117           Implement the iface.    
118
119 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
120
121         * docs/gst/gstreamer-docs.sgml:
122         * docs/gst/gstreamer-sections.txt:
123         * docs/gst/gstreamer.types.in:
124         * gst/Makefile.am:
125         * gst/gst.h:
126         * gst/gstpreset.c:
127         * gst/gstpreset.h:
128           Add the preset interface (Fixes #396779). Do some doc cleanups along.
129
130 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
131
132         * configure.ac:
133
134         Back to CVS
135
136 === release 0.10.15 ===
137
138 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
139
140         * configure.ac:
141           releasing 0.10.15, "October"
142
143 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
144
145         * win32/vs6/libgstreamer.dsp:
146         Convert line endings back to DOS.
147
148 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
149
150         * docs/design/draft-tagreading.txt:
151         * docs/random/ensonic/profiling.txt:
152         Update fast tagreading draft and performance profiling ideas.
153
154 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
155
156         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
157         Don't hold the object lock when unreffing a buffer because it could
158         cause a deadlock when the finalize function wants to grab the object
159         lock too. Fixes #495133.
160
161 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
162
163         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
164         (gst_segment_to_stream_time), (gst_segment_to_running_time):
165         Also accumulate time correctly when doing reverse playback. Fixes
166         #488201,
167         When converting to running and stream time, use default values for
168         start/stop/time/accum when comparing different formats. Fixes #494245.
169
170         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
171         Do running/stream time in TIME format.
172
173         * tests/check/gst/gstsegment.c: (GST_START_TEST),
174         (gst_segment_suite):
175         2 new unit tests for segment accumulation.
176
177 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
178
179         * gst/gst.c: (init_pre):
180         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
181           (_gst_debug_bin_to_dot_file):
182           Move getenv() back into gst_init, so everyone can live happily
183           ever after. Make sure the symbol isn't exported though.
184
185 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
186
187         Patch by: Sebastien Moutte  <sebastien moutte net>
188
189         * win32/common/gstenumtypes.c:
190         * win32/common/gstenumtypes.h:
191           Update enum types.
192
193         * win32/vs6/libgstreamer.dsp:
194           Update vs6 project files (#494343).
195
196 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
197
198         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
199         (gst_base_src_perform_seek), (gst_base_src_default_event),
200         (gst_base_src_set_flushing), (gst_base_src_activate_push),
201         (gst_base_src_activate_pull):
202         Unify flushing code, remove some old unlock code that is no longer used.
203         Take the streaming lock when seeking to avoid races. Fixes #492729.
204         Added some more comments.
205
206 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
207
208         * gst/gst.c: (_gst_disable_segtrap):
209           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
210           we can use gst_segtrap_is_enabled() there now that we have that API.
211           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
212           to do the getenv here (and export the variable).
213
214         * gst/gstdebugutils.c: (debug_dump_element),
215           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
216           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
217
218         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
219           (gst_debug_log_default):
220           Rename _gst_info_start_time to priv_gst_info_start_time so it
221           doesn't get exported (was never in any header).
222
223         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
224           (gst_plugin_loading_mutex):
225           Make static mutex gst_plugin_loading_mutex really static (was never
226           in any header), and use gst_segtrap_is_enabled() instead of
227           _gst_disable_segtrap.
228
229         * gst/gsttrace.c: (_gst_trace_default):
230           Make local _gst_trace_default static (was never in any header).
231
232 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
233
234         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
235
236         * win32/common/libgstbase.def:
237         * win32/common/libgstcontroller.def:
238         * win32/common/libgstdataprotocol.def:
239         * win32/common/libgstnet.def:
240         * win32/common/libgstreamer.def:
241           Add more missing symbols, remove some duplicates, and sort
242           as the 'sort' command sorts it (partially fixes #493983).
243
244 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
245
246         * gst/gstelement.c: (gst_element_set_state_func):
247         Only change the state cookie if a different state was set on the
248         element. See #492729.
249
250 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
251
252         * gst/gstvalue.c:
253           Remove unused and uninitialised type variables that were still
254           exported for some reason (they were never in any header files
255           though).
256
257 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
258
259         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
260         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
261         (gst_base_sink_event), (gst_base_sink_get_position_last),
262         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
263         (gst_base_sink_change_state):
264         Don't try to report a 0 position when we don't know, return -1 and FALSE
265         instead. This mostly happens when we are prerolling.
266         Make sure we can report the right position before we post the ASYNC_DONE
267         message so that a message handler can query position without races.
268
269         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
270         (async_done_handoff), (async_done_func), (send_buffer),
271         (async_done_eos_func), (gst_sinks_suite):
272         Add two tests for the above.
273
274 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
275
276         * MAINTAINERS:
277         Update with new email address.
278
279         * docs/design/part-TODO.txt:
280         Add some more info about future pad-block and negotiation changes.
281
282         * docs/design/part-buffering.txt:
283         Add some ideas about buffering reporting.
284
285 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
286
287         * tests/check/gst/gstobject.c:
288         Disable silly racy test that always fails on this combination of CPU
289         and kernel.
290
291 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
292
293         Patch by: Murray Cumming  <murrayc@murrayc.com>
294
295         * gst/gstobject.c:
296           Corrected the registration of the parent-set and parent-unset
297           signals: The parameter is a GstObject, not a GObject (#493134).
298
299 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
300
301         * gst/gst_private.h:
302         * gst/gstbuffer.h:
303         * gst/gstevent.h:
304         * gst/gstformat.h:
305         * gst/gstmessage.h:
306         * gst/gstplugin.h:
307         * gst/gstquery.h:
308         * gst/gsttaglist.h:
309         * gst/gstvalue.h:
310           Move declaration of private _gst_foo_initialize() functions into
311           our private header file where they should have been all along.
312
313 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
314
315         * docs/plugins/gstreamer-plugins-sections.txt:
316         * gst/gstdebugutils.h:
317         * gst/gstxml.h:
318         * plugins/elements/gstqueue.c:
319           gtk-doc fixes; trailing-comma-in-enum fix.
320
321 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
322
323         * gst/gst.c: (gst_deinit):
324           Clean up on deinit (not the external ones though, doesn't seem to be
325           needed for some reason).
326
327 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
328
329         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
330           Remove __declspec(dllimport) for MSVC that was copied over into core
331           from a plugin, obviously without ever having been tested (note the
332           single underscore in _declspec in the initial commit), and that doesn't
333           really make sense.  See #492077.
334
335 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
336
337         * gst/gst.c: (init_post):
338         * gst/gstevent.c: (_gst_event_initialize):
339         * gst/gstquery.c: (_gst_query_initialize):
340         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
341           g_type_class_ref() other types as well, see #349410 and #64764.
342
343         * gst/gstbuffer.c: (_gst_buffer_initialize):
344         * gst/gstmessage.c: (_gst_message_initialize):
345           Simplify existing g_type_class_ref().
346
347 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
348
349         * gst/gstformat.c: (_gst_format_initialize):
350           g_type_class_ref() our GstFormat type to make sure we avoid the
351           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
352           bug #64764. Should fix intermittent tee unit test failures (#474823).
353
354 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
355
356         * tests/check/elements/tee.c: (test_num_buffers):
357           Simplify, simplify, simplify - or not.  Rewrite unit test
358           not to use gst_parse_launch(); allow N sub-streams. Increasing
359           the number of sub-streams seems to reproduce #474823 more easily.
360
361 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
362
363         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
364
365         * gst/gsttrace.c:
366         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
367         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
368         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
369           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
370           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
371           so use _pipe() directly (#492077).
372
373         * win32/common/dirent.c: (_treaddir):
374           Add a couple of casts to make it build without warnings with MSVC.
375
376         * win32/common/libgstreamer.def:
377           Add some more symbols that need to be exported.
378
379 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
380
381         * tests/examples/metadata/read-metadata.c: (message_loop):
382           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
383           arriving in a second or third tag message are added to
384           the tag list as well.
385
386 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
387
388         * libs/gst/base/gstbasesrc.c:
389           Its "Since:" and not "@Since:". And remove an superflous cast.
390
391 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
392
393         * docs/libs/gstreamer-libs-sections.txt:
394         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
395         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
396         (gst_base_sink_get_property), (gst_base_sink_render_object),
397         (gst_base_sink_preroll_object),
398         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
399         (gst_base_sink_change_state):
400         * libs/gst/base/gstbasesink.h:
401         Add a new last-buffer property that contains the last buffer used in
402         basesink for preroll or rendering. useful for making snapshots.
403         API: gst_base_sink_get_last_buffer()
404         API: GstBaseSink::last-buffer
405
406 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
407
408         * docs/gst/running.xml:
409         * gst/gst.c:
410         * gst/gstdebugutils.c:
411         * gst/gstdebugutils.h:
412         * tools/gst-launch.c:
413           Improve bin graph dumping, by using the envvar to specify a path.
414           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
415
416 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
417
418         * plugins/elements/gsttypefindelement.c:
419           (gst_type_find_element_handle_event),
420           (gst_type_find_element_activate):
421           Post special error message if we can't determine the type of a stream
422           because it's empty.
423
424 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
425
426         * docs/gst/running.xml:
427         * gst/gstdebugutils.c:
428           Document new env-var. Add one log-line after dumpng a graph.
429
430 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
431
432         * configure.ac:
433           Ugly hack to put the (recently removed and non-portable, apparently)
434           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
435           GNU ld, because without that 'make check' fails miserably on my debian
436           stable box.  Someone with more knowledge of linker intricacies and
437           portability issues than me fix this properly please.
438
439 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
440
441         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
442         Reset last seen position after flushing so that we don't report the old
443         position anymore.
444
445 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
446
447         * gst/gstelementfactory.c: (gst_element_register):
448         * gst/gsturi.h:
449         Patch from Alessandro Decina adding get_type_full and
450         get_protocols_full private vfuncs to the URIHandler interface
451         to allow bindings to support creating URI handlers. 
452         Partially fixes: #339279
453         API: GstURIHandlerInterface::get_type_full
454         API: GstURIHandlerInterface::get_protocols_full
455
456 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
457
458         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
459         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
460         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
461         Make it so that pads are considered linked until a buffer is pushed
462         and discovered otherwise. This avoids problems with decodebin2 hanging
463         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
464         case.
465
466         Make sure we lock the multiqueue when updating the max-size properties.
467         
468         Fix a crash on Solaris in a debug statement in get_request_pad that
469         passes a NULL string to GST_DEBUG. 
470
471         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
472         (run_output_order_test):
473         Fix the test to allow the first buffer on not-linked pads to come out
474         of sequence while multiqueue discovers that they are not-linked.
475
476 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
477
478         * configure.ac:
479         * libs/gst/check/Makefile.am:
480         Use a custom export symbol regex for libgstcheck, as it needs
481         to export symbols that don't match the standard GStreamer gst_*
482         pattern, and  --export-dynamic is not portable (only works on 
483         GNU ld)
484
485         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
486         (gst_check_setup_sink_pad):
487         Make sure to pass a message parameter to the fail_* macros.
488
489         * tests/check/gst/gstinfo.c: (GST_START_TEST):
490         Fix some compiler warnings.
491
492 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
493
494         * tests/check/gst/gststructure.c: (test_to_string):
495           Disable test that checks that white spaces are not allowed
496           in structure names or field names, since we need to
497           support that for now for backwards compatibility reasons.
498
499 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
500
501         * docs/gst/gstreamer-sections.txt:
502         * gst/gsttaglist.c:
503         * gst/gsttaglist.h:
504           API: add GST_TAG_ARTIST_SORTNAME
505           API: add GST_TAG_ALBUM_SORTNAME
506           API: add GST_TAG_TITLE_SORTNAME
507           Add tag variants for sorting (#414539).
508
509 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
510
511         * gst/gststructure.c:
512           Also allow white space for names so we don't break
513           backwards compatibility.
514
515 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
516
517         * docs/design/part-TODO.txt:
518         * docs/design/part-segments.txt:
519         * docs/design/part-streams.txt:
520         Small updates.
521
522 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
523
524         * docs/gst/gstreamer-sections.txt:
525          Fixed documentation from my previous commit (added new API add
526          gst_value_set_structure(), add gst_value_get_structure() and
527          GST_VALUE_HOLDS_STRUCTURE).
528
529 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
530
531         * gst/gstdebugutils.c:
532           Reflow code to fix uninitialized variable warning.
533
534 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
535
536         * gst/gstcaps.c: (gst_caps_to_string),
537         (gst_caps_from_string_inplace):
538         * gst/gststructure.c: (gst_structure_get_abbrs),
539         (gst_structure_to_string), (gst_structure_from_string):
540         * gst/gstvalue.c: (gst_value_set_structure),
541         (gst_value_get_structure), (gst_value_serialize_structure),
542         (gst_value_deserialize_structure), (_gst_value_initialize):
543         * gst/gstvalue.h:
544         * tests/check/gst/gststructure.c: (GST_START_TEST),
545         (gst_structure_suite):
546         * tests/check/gst/gstvalue.c: (GST_START_TEST):
547          Added GstStructure to gst_value_table and its related functions.
548          Changed gst_structure_to_string to print ';' in the end.
549          Changed gst_caps_to_string to not print ';' beteween its
550          fields (structures) anymore and remove the lastes ';' from latest
551          structure. Now it is possible to have nested structures.
552          In addition, backward compatibilty is assured by accepting '\0' as
553          end delimiter. Fixes: #487969.
554          API: add gst_value_set_structure()
555          API: add gst_value_get_structure()
556          API: add GST_VALUE_HOLDS_STRUCTURE
557
558 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
559
560         * gst/gstbus.c:
561           When no GSource callback has been set up, tell developer
562           to use a function that actually exists.
563
564 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
565
566         * docs/gst/gstreamer-sections.txt:
567         * gst/Makefile.am:
568         * gst/gst.c:
569         * gst/gst.h:
570         * gst/gstdebugutils.c:
571         * gst/gstdebugutils.h:
572         * gst/gstinfo.c:
573         * gst/gstinfo.h:
574         * tools/gst-launch.c:
575           Allow dumping pipelines as dot graphs. Fixes #456573.
576
577 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
578
579         * gst/gststructure.c:
580           Allow '+' as well, it can be part of media or mime types
581           such as image/svg+xml.
582
583 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
584
585         * docs/gst/gstreamer-sections.txt:
586         * gst/gstbus.c:
587         * gst/gstbus.h:
588           API: add gst_bus_pop_filtered
589           API: add gst_bus_timed_pop_filtered
590           Two new functions for waiting for specific message types on the
591           bus for a specified amount of time without iterating any main
592           loops or main contexts.
593
594         * tests/check/gst/gstbus.c:
595           Some tests for the new functions.
596
597 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
598
599         * docs/libs/gstreamer-libs-sections.txt:
600           Make gtk-doc ignore stuff it should ignore.
601
602 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
603
604         * libs/gst/check/gstcheck.c:
605         * libs/gst/check/gstcheck.h:
606           Allow runtime selection of unit tests to run via the GST_CHECKS
607           environment variable (test case function names, comma-separated).
608
609 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
610
611         * gst/gststructure.c:
612         * tests/check/gst/gststructure.c:
613           Revert serialisation change and constrain structure-names after
614           consensus on irc. Update api documentation to reflect the change.
615
616 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
617
618         * gst/gststructure.c:
619           Improve serialization and fix tests.
620
621         * tests/check/gst/gststructure.c:
622           Add another test that covers why I actually did the previous structure
623           change.
624
625 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
626
627         * tools/gst-inspect.c: (print_element_info):
628         Don't crash when inspecting an element.
629
630 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
631
632         * tests/check/gst/gststructure.c:
633           Add unit test for escaping of structure name when serialising
634           and deserialising to/from strings.
635
636 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
637
638         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
639         (gst_single_queue_new):
640         * plugins/elements/gstqueue.c: (gst_queue_init),
641         (gst_queue_push_one):
642         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
643         upstream is tricked into thinking it can suggest a format downstream
644         while downstream does not support that format. The real problem is that
645         core calls acceptcaps when pushing a buffer with new caps, for which we
646         do a little workaround by setting the caps on the srcpad ourselves
647         before pushing the buffer (until this is figured out). Fixes #486758.
648
649 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
650
651         * gst/gststructure.c:
652         * gst/gstvalue.c:
653           Add some more comments and debug output. Quote structure name to fix
654           deserialisation of some strings.
655
656 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
657
658         * gst/gstbuffer.h:
659           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
660           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
661
662 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
663
664         * tools/gst-inspect.c:
665           Save approx. 400 1 byte allocs when printing. Use API to acces element
666           details.
667
668         * tools/gst-run.c:
669           Avoid a strdup.
670
671         * tools/gst-xmlinspect.c:
672           Use API to acces element details.
673
674 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
675
676         * gst/gstinfo.c:
677           Fix some spelling errors.
678
679 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
680
681         * gst/gstbin.c: (bin_handle_async_done):
682         Correctly set the next state if all of our async children commited their
683         state. This makes sure we can actually cancel the state change in
684         progress. Fixes a regression in Rhythmbox when seeking.
685
686 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
687
688         * gst/gstbin.c:
689           Don't shadow local variable.
690
691         * gst/gstinfo.c:
692           Don't shadow global function name.
693
694 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
695
696         * gst/gstelementfactory.c:
697         * gst/gstpluginfeature.c:
698         * gst/gstpluginfeature.h:
699         * gst/gstregistrybinary.c:
700         * gst/gstregistryxml.c:
701         * gst/gsttypefind.c:
702           Use already-interned string for the private GstPluginFeature
703           plugin_name field.
704
705 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
706
707         * docs/libs/gstreamer-libs-sections.txt:
708           Add new API to docs; fixes the build.
709
710 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
711         
712         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
713
714         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
715         (gst_base_sink_event):
716         * libs/gst/base/gstbasesink.h:
717         Add function to wait for EOS, subclasses can use this to correctly wait
718         for devices to drain before performing the EOS logic. Fixes #485343.
719         API: gst_base_sink_wait_eos()
720
721 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
722
723         * gst/gstplugin.h:
724           Cast description string constants in GST_PLUGIN_DEFINE macros
725           to a (gchar*) to make C++ code using these macros compile
726           without warning with g++-4.2 (see #462737).  Even if slightly
727           ugly, this seems preferable to putting the description strings
728           into the GLib quark table or making the structure member a
729           const gchar * and doing casts in core code that allocs and
730           frees these strings, or requiring a cast in the C++ code.
731
732 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
733
734         * gst/gstinfo.h:
735           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
736           to print the entire class/function signature into the log
737           file for C++ code.  This only affects C++ code, for C code
738           everything remains the same.
739
740 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
741
742         * gst/gstbin.c: (remove_from_queue):
743         Work around a problem with pipelines containing (semi)loops until a
744         proper, more complicated solution is ready. See #475455.
745
746 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
747
748         * gst/gstplugin.c:
749         * gst/gstplugin.h:
750         * gst/gstregistrybinary.c:
751         * gst/gstregistryxml.c:
752           Put more strings into the GLib quark table. No need to keep
753           a hundred-something copies of identical version strings,
754           license strings, package name strings and package origin
755           strings around. 
756
757 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
758
759         * docs/manual/advanced-dataaccess.xml:
760           Don't imply that it's okay to unconditionally change
761           buffer data or buffer metadata in a pad probe callback,
762           and a bunch of other comments. Fixes #430031.
763
764 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
765
766         * win32/common/gstenumtypes.c:
767         * win32/common/gstenumtypes.h:
768         * win32/common/gstversion.h:
769           Update generated files.
770
771 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
772
773         * docs/manual/advanced-autoplugging.xml:
774           Prefix section with broken code with a warning (see #342432).
775
776 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
777
778         * docs/manual/appendix-integration.xml:
779         * docs/manual/basics-init.xml:
780           Call g_thread_init() before g_option_context_new() to
781           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
782
783 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
784
785         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
786         (gst_base_sink_queue_object_unlocked),
787         (gst_base_sink_queue_object), (gst_base_sink_event),
788         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
789         When we received EOS and are waiting for when to post the EOS message,
790         our state is prerolled and we should not return ASYNC.
791         Reorganize some code paths to implement this behavior.
792
793         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
794         (gst_sinks_suite):
795         Add unit test to verify above EOS fix.
796
797 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
798
799         * plugins/elements/gsttypefindelement.c:
800         (gst_type_find_element_have_type), (gst_type_find_element_init),
801         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
802         Move detecting the input caps of the sinkpad to the setcaps function.
803         This allows us to update the output caps when we receive new input caps
804         instead of always using the first detected caps.
805
806 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
807
808         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
809         (gst_base_sink_get_position):
810         Don't try to preroll non-async elements after a flush.
811         Subtract latency form clock times when reporting position.
812
813 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
814
815         * gst/gstpad.c: (gst_pad_pause_task):
816         * gst/gstutils.c:
817         Small comment and documentation update.
818
819 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
820
821         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
822         (gst_base_src_set_live), (gst_base_src_is_live),
823         (gst_base_src_query_latency), (gst_base_src_perform_seek),
824         (gst_base_src_default_event), (gst_base_src_wait),
825         (gst_base_src_do_sync), (gst_base_src_get_range),
826         (gst_base_src_pad_get_range), (gst_base_src_loop),
827         (gst_base_src_unlock), (gst_base_src_unlock_stop),
828         (gst_base_src_set_flushing), (gst_base_src_set_playing),
829         (gst_base_src_activate_push), (gst_base_src_activate_pull),
830         (gst_base_src_change_state):
831         Rework the locking of basesrc in a similar fashion to basesink. We
832         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
833         us to handle live sources and semi live ones much better.
834         Simplify flushing.
835         Fix unlocking when seeking, shutting down and pausing in live sources.
836
837 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
838
839         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
840         Fix compilation again.
841
842 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
843
844         * gst/gstelement.c:
845           Use meaningful categories for the logs to clean the default one.
846
847 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
848
849         * tests/check/pipelines/cleanup.c:
850           Print message name and not just number.
851
852 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
853
854         * docs/design/draft-tagreading.txt:
855           Add some more thoughts.
856
857 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
858
859         * tests/check/pipelines/simple-launch-lines.c:
860           Print message name and not just number.
861
862 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
863
864         * libs/gst/base/gsttypefindhelper.c:
865           Speedup typefinding. This is work in progress (see #459862).
866
867 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
868
869         * gst/gstplugin.c:
870           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
871           Spotted by Josep Torra Valles <josep@fluendo.com>.
872
873 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
874
875         * gst/gstclock.h:
876           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
877           field has moved to GstObject.
878
879 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
880
881         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
882         (gst_base_src_get_range), (gst_base_src_change_state):
883         Call unlock for live sources so that they can't get stuck in _create and
884         produce a buffer before they are set back to PLAYING.
885
886 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
887
888         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
889         (gst_queue_locked_dequeue):
890         Comment the segment-related code... in the PROPER function.
891         See #482147 and my commit from yesterday.
892
893 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
894
895         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
896         Also initialize the counter that calculates the first timestamp on a
897         buffer correctly for non-live sources.
898
899 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
900
901         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
902         Disable code that's breaking the current-time-level reporting.
903         See #482147
904
905 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
906
907         * docs/gst/gstreamer-sections.txt:
908         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
909         as they shouldn't show up. Fixes the docs build.
910
911 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
912         
913         * gst/gstinfo.h:
914         Add an explicit variable importation needed on VS6 (only for MSC_VER)
915         Define M_PI which is used in files which are including gstinfo.h. 
916         VS6 includes doesn't define it.
917         * win32/common/libgstbase.def:
918         * win32/common/libgstcontroller.def:
919         * win32/common/libgstreamer.def:
920         Add new exported functions and variables.
921         * win32/vs6/libgstcontroller.dsp:
922         * win32/vs6/libgstreamer.dsp:
923         Update the list of files to build.
924         
925 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
926
927         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
928
929         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
930         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
931         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
932         Improve debugging. Fixes #480858.
933
934 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
935
936         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
937
938         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
939         First patch of code cleanups, use the macros and right arguments in the
940         macros to signal and lock the queue. See #480858.
941
942 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
943
944         * gst/gstbus.c: (poll_func):
945         Improve debugging when dealing with _poll().
946
947 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
948
949         * gst/gstregistryxml.c:
950           Fix memory leak I introduced a few days ago.
951
952 2007-09-26  Michael Smith <msmith@fluendo.com>
953
954         * gst/gstbuffer.c: (gst_buffer_finalize):
955           Make it once again possible to free GstBuffers in the default
956           build.
957           The poisoning scribbles on parts of the miniobject we need in
958           order to free it.
959           Fixes #480341
960
961 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
962
963         * docs/gst/gstreamer-sections.txt:
964         * gst/gsttaglist.c:
965         * gst/gsttaglist.h:
966         API: add GST_TAG_COMPOSER, fixes #459809.
967
968 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
969
970         * gst/gstplugin.c:
971         * gst/gstplugin.h:
972         Add the 3-clause BSD license and the MIT/X11 license to the license
973         list. Fixes #479784.
974
975 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
976
977         * docs/faq/getting.xml:
978           Add Q+A about different GStreamer versions (#364056).
979
980 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
981
982         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
983         (gst_base_sink_event), (gst_base_sink_change_state):
984         Return correct gboolean from query function.
985
986 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
987
988         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
989         (gst_base_sink_event), (gst_base_sink_query),
990         (gst_base_sink_change_state):
991         Simplify latency query.
992         When not synchronizing, we can report latency without querying the peer
993         element.
994
995 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
996
997         * gst/gstobject.h:
998         * gst/gstvalue.c:
999         Fix small typos in the docs.
1000
1001 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1002
1003         * docs/design/draft-latency.txt:
1004         * docs/design/draft-push-pull.txt:
1005         * docs/design/draft-tagreading.txt:
1006         * docs/design/part-MT-refcounting.txt:
1007         * docs/design/part-activation.txt:
1008         * docs/design/part-block.txt:
1009         * docs/design/part-element-source.txt:
1010         * docs/design/part-events.txt:
1011         * docs/design/part-gstbin.txt:
1012         * docs/design/part-gstelement.txt:
1013         * docs/design/part-gstobject.txt:
1014         * docs/design/part-gstpipeline.txt:
1015         * docs/design/part-messages.txt:
1016         * docs/design/part-preroll.txt:
1017         * docs/design/part-push-pull.txt:
1018         * docs/design/part-qos.txt:
1019         * docs/design/part-query.txt:
1020         * docs/design/part-scheduling.txt:
1021         * docs/design/part-seeking.txt:
1022         * docs/design/part-segments.txt:
1023         * docs/design/part-states.txt:
1024         Documentation updates and typo fixes.
1025
1026 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1027
1028         * plugins/elements/gstfakesink.c:
1029           Add some debug text to error message to indicate that
1030           we errored out on request.
1031
1032         * tools/gst-launch.c:
1033           When the state change to PLAYING fails, check for an
1034           error message on the bus and print it.
1035
1036 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1037
1038         translated by: Jorge González González <aloriel@gmail.com>
1039
1040         * po/LINGUAS:
1041         * po/es.po:
1042           Added Spanish translation.
1043
1044 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
1045
1046         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1047         Fix printf arguments.
1048
1049 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * tests/check/generic/states.c:
1052           Improved state change unit test.
1053
1054 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1055
1056         * gst/gstbin.h:
1057           Move priv to the right place.
1058
1059         * gst/gstsystemclock.c:
1060           Add FIXME: and improve log.
1061
1062         * tests/check/Makefile.am:
1063         * tests/examples/manual/Makefile.am:
1064           Work with all types of registries.
1065
1066 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
1067
1068         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1069         Don't unref the event after pushing it. Fixes #478401.
1070
1071 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1072
1073         * .cvsignore:
1074         * tests/examples/manual/.cvsignore:
1075           Ignore registries in any format.
1076
1077 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1078
1079         * gst/glib-compat-private.h:
1080           Add compatibility macro for g_intern_string() for
1081           GLib-2.8 (any reason we can't just bump the
1082           requirement to at least 2.10?)
1083
1084         * gst/gstpadtemplate.h:
1085         * gst/gstelementfactory.c:
1086         * gst/gstregistryxml.c:
1087         * gst/gstregistrybinary.c:
1088           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
1089           up the internal code accordingly.  This shouldn't be a problem, since
1090           there is no reason external code could ever assume the string in such
1091           a structure is dynamically allocated unless it did that itself;  the
1092           use of g_strdup() is private to element factories.  The new code also
1093           saves some memory by putting pad template name strings into the GLib
1094           quark table instead of allocating them dynamically.
1095           Declaring this field constant fixes warnings with g++-4.2 when using
1096           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
1097
1098 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1099
1100         * gst/gstelementfactory.c:
1101           Release static caps. Fixes #475723.
1102
1103 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
1104
1105         * gst/gstinfo.c:
1106         * gst/gstinfo.h:
1107           Make some internal API take const gchar * instead of just
1108           gchar * to avoid compiler warnings with g++-4.2.2 when
1109           passing string constants (partially fixes #478092).
1110
1111 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1112
1113         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
1114         A latency query fails when one of the sinks fail.
1115
1116         * gst/gstelement.c: (gst_element_set_base_time):
1117         Improve debugging.
1118
1119 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1120
1121         * gst/gstbin.c: (gst_bin_continue_func):
1122         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1123         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
1124         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
1125
1126         Fix minor compilation warnings shown with Forte.
1127
1128 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1129
1130         * plugins/elements/gstqueue.c: (apply_buffer),
1131         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
1132         Measure queue level based on the diff between head and tail timestamps
1133         even when pushing the first buffer.
1134
1135 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1136
1137         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1138         (gst_base_sink_event), (gst_base_sink_change_state):
1139         Sinks that don't preroll can always be queried for the latency.
1140         Don't post ASYNC start when we are not async.
1141
1142 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1143
1144         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1145         (gst_queue_handle_sink_event), (gst_queue_chain),
1146         (gst_queue_push_one), (gst_queue_handle_src_query),
1147         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
1148         * plugins/elements/gstqueue.h:
1149         When downstream returns UNEXPECTED from pushing a buffer, don't try to
1150         push more buffers but allow pushing of EOS and NEWSEGMENT.
1151         Add some more debug info here and there. Fixes #476514.
1152
1153 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1154
1155         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1156         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
1157         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1158         (gst_base_sink_set_flushing), (gst_base_sink_query),
1159         (gst_base_sink_change_state):
1160         Latency query is allowed after we are prerolled. Introduce a new flag
1161         for this and stop abusing other variables.
1162
1163 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1164
1165         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1166         Push OOB events downstream when we get them in send_event. This allows
1167         the application to insert events in the pipeline.
1168         Add some more comments.
1169
1170 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1171
1172         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
1173         (do_bin_latency), (gst_bin_change_state_func):
1174         * gst/gstpipeline.c: (gst_pipeline_change_state):
1175         Move latency query from GstPipeline to GstBin so that we can also
1176         use it when async-handling is enabled on bins.
1177
1178 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1179
1180         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1181         (gst_base_src_do_sync), (gst_base_src_change_state):
1182         Update docs.
1183         Clean up the timestamping and syncing code for pseudo live sources.
1184
1185 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
1186
1187         Patch by: Steve Fink  <sphink gmail com>
1188
1189         * docs/manual/appendix-checklist.xml:
1190           Mention less -R switch in the section about debug output (#474055).
1191
1192 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1193
1194         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1195         Queue can latency to the pipeline up to the configured max size in time.
1196         Report this fact in the latency query.
1197
1198 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1199
1200         Patch by: Sebastien Moutte <sebastien at moutte dot net>
1201
1202         * libs/gst/controller/gstinterpolation.c:
1203         * libs/gst/controller/gstlfocontrolsource.c:
1204         Use gst_guint64_to_gdouble() when converting from a uint64 or
1205         GstClockTime to double to fix the build on win32. Fixes #474371.
1206
1207 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1208
1209         * gst/gstbuffer.c: (gst_buffer_finalize):
1210         Implement poisoning for GstBuffer if --enable-poisoning is specified.
1211         When finalizing a buffer the complete struct is filled with 0xff,
1212         thus making a use of the buffer after the final unref impossible.
1213
1214 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1215
1216         * tests/check/libs/controller.c: (GST_START_TEST):
1217         Use fail_unless_equals_int(a, b) instead of
1218         fail_unless_equals (a == b) to get better output on failures.
1219
1220 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1221
1222         * tests/check/gst/gsturi.c:
1223           Also check for the other file URI variant on win32.
1224
1225 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1226
1227         * gst/gsturi.c: (gst_uri_get_location):
1228           If there's no hostname, we want to return 'c:/foo/bar.txt'
1229           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
1230
1231         * tests/check/gst/gsturi.c:
1232           Unit test for the above and a few more things.
1233
1234 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1235
1236         * docs/design/part-live-source.txt:
1237         Add docs on how live sources should timestamp.
1238
1239         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1240         Add some more debug info.
1241         For subclasses that are live and like to sync, add aditional startup
1242         latency to sync time and timestamps so that we timstamp according to the
1243         design doc.
1244
1245 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1246
1247         * gst/gstbuffer.c:
1248           Also do a g_type_class_ref() for the subbuffer type in
1249           the init function.
1250
1251 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1252
1253         * docs/gst/gstreamer-sections.txt:
1254         * gst/gstpad.c: (gst_pad_peer_query):
1255         * gst/gstpad.h:
1256         Add function to perform a query on the peer of a pad.
1257         API: gst_pad_peer_query()
1258
1259 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * tests/check/gst/gstsystemclock.c:
1262           Cleanup the test a little (use gst-logging and not g_message). Improve
1263           test to check if a wait reached the target.
1264
1265 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1266
1267         * docs/libs/gstreamer-libs-sections.txt:
1268           Add new API to docs and fix the build.
1269
1270 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
1271
1272         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1273         (gst_base_src_init), (gst_base_src_set_do_timestamp),
1274         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
1275         (gst_base_src_get_property), (gst_base_src_do_sync):
1276         * libs/gst/base/gstbasesrc.h:
1277         Add property to make the basesrc timestamp buffers based on the current
1278         running time.
1279         API: GstBaseSrc::do-timestamp
1280         API: gst_base_src_set_do_timestamp()
1281         API: gst_base_src_get_do_timestamp()
1282
1283 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
1284
1285         * docs/random/release:
1286           Really make sure translations are up-to-date before
1287           a release (#465010).
1288
1289 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1290
1291         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1292         Always destroy the timer, also in error cases.
1293
1294 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1295
1296         * docs/manual/highlevel-xml.xml:
1297         Fix XML example code. Fixes #472714.
1298
1299 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1300
1301         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1302         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1303         (gst_base_sink_query):
1304         Protect eos and have_preroll with the OBJECT lock so we don't need to
1305         take the PREROLL lock when querying the latency. Fixes #473846.
1306
1307 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1308
1309         * gst/gstelement.c:
1310           Give some log-messages a category.
1311
1312 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1313
1314         * gst/gststructure.c:
1315         (gst_structure_fixate_field_nearest_fraction):
1316         Fix fraction list fixation code. Take the fraction with the smallest
1317         difference with the target instead of the first one in the list.
1318
1319         * tests/check/gst/gststructure.c: (GST_START_TEST),
1320         (gst_structure_suite):
1321         Added test to verify correct fraction list fixation behaviour.
1322
1323 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1324
1325         * win32/common/libgstreamer.def:
1326           Export gst_bus_add_signal_watch too.
1327
1328 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1329
1330         * docs/libs/gstreamer-libs-sections.txt:
1331         Add new methods to docs.
1332
1333         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1334         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1335         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1336         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1337         * libs/gst/base/gstbasesink.h:
1338         Add ts-offset property to fine-tune the synchronisation.
1339         API: GstBaseSink::ts-offset property
1340         API: gst_base_sink_set_ts_offset()
1341         API: gst_base_sink_get_ts_offset()
1342
1343 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1344
1345         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1346         (gst_base_sink_init), (gst_base_sink_set_sync),
1347         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1348         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1349         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1350         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1351         (gst_base_sink_get_property), (gst_base_sink_change_state):
1352         * libs/gst/base/gstbasesink.h:
1353         Add async property to instruct the sink never to inform the parent about
1354         ASYNC state changes, update docs.
1355         Check argument with g_return_* for the public functions.
1356         API: GstBaseSink::async property
1357         API: gst_base_sink_set_async_enabled()
1358         API: gst_base_sink_is_async_enabled()
1359
1360 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1361
1362         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1363         Improve debugging.
1364
1365         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1366         (gst_base_src_default_query), (gst_base_src_wait),
1367         (gst_base_src_do_sync), (gst_base_src_change_state):
1368         Rearrange some code so that we can add support for measuring the 
1369         startup latency.
1370
1371 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1372
1373         * docs/random/ensonic/dynlink.txt:
1374           More thoughs on this.
1375
1376         * plugins/elements/gstcapsfilter.c:
1377           Add bugzilla ticket number to FIXME comment.
1378
1379 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1380
1381         * docs/design/part-TODO.txt:
1382         * docs/design/part-block.txt:
1383         Update some docs.
1384
1385 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1386
1387         * gst/Makefile.am:
1388           Revert patch which uses $(gst_headers) instead of $^ because it
1389           breaks make dist.
1390
1391 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1392
1393         * tests/check/gst/gstbin.c: (GST_START_TEST):
1394           Fix leaks in the new unit test.
1395
1396 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1397
1398         * gst/gst.c:
1399           Don't use GST_INFO before the debug system is actually initialised
1400           (shouldn't do any harm, but won't print anything either, so we can
1401           just as well remove it).
1402
1403         * gst/gstinfo.h:
1404           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1405           compilers that don't support variadic macros (such as MSVC), should
1406           check for debug_level <= __gst_debug_min as well, since that's the
1407           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1408           inline helper functions. Should improve performance a bit, but also
1409           makes sure uses of GST_INFO et.al are ignored if the debugging
1410           system isn't initialised yet (instead of printing an assertion
1411           failure).
1412
1413 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1414
1415         patch by: David Nečas <yeti@physics.muni.cz>
1416
1417         * gst/Makefile.am:
1418           Replace some non portable makefile constructs.
1419
1420 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1421
1422         * common/gtk-doc-plugins.mak:
1423           Grrrrr. Don't remove the types file on make clean.
1424
1425 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1426
1427         * tools/gst-launch.1.in:
1428         Add colorspace to example pipeline. Fixes #458274.
1429
1430 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1431
1432         * docs/random/release:
1433           The release manager should run 'make download-po' before making a
1434           release to make sure translations are up-to-date.
1435
1436         * po/LINGUAS:
1437         * po/be.po:
1438         * po/pl.po:
1439         * po/rw.po:
1440           Add some new translations.
1441
1442 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1443
1444         * tools/gst-launch.c: (event_loop), (main):
1445         Don´t try to do any state management when a live pipeline posts
1446         buffering messages.
1447         Also make the buffering string translatable.
1448
1449 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1450
1451         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1452         (bin_handle_async_start), (gst_bin_handle_message_func):
1453         Improve debugging.
1454         When adding elements, insert messages into the bus of the newly added
1455         element and make sure the element is the source of the message. This
1456         allows the parent bin to intercept the message and do the
1457         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1458         messages to the app (which is not allowed).
1459         Update some docs.
1460
1461         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1462         Fix testsuite so that is does not work around messages that should not
1463         have been posted in the first place.
1464
1465 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1466
1467         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1468         (update_degree), (gst_bin_sort_iterator_next):
1469         Fix annoying bug in the sorted iterator where a sink that is not really
1470         a sink (when it has downstream links) screwed up the iterator.
1471
1472         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1473         Unit test to verify the fix.
1474
1475 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1476
1477         * gst/gstmessage.h:
1478         Add some more docs for the messages.
1479
1480         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1481         (gst_base_sink_query):
1482         Add some more debugging.
1483
1484         * tools/gst-launch.c: (event_loop):
1485         When interrupting, don't try to set pipeline to PAUSED twice.
1486
1487 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1488
1489         
1490         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1491         (bin_handle_async_start), (gst_bin_handle_message_func):
1492         Move ASYNC_START message posting to where it belongs, similar to
1493         async_done. 
1494         Don't post ASYNC_START when we are in error. 
1495         Post ASYNC_START when we added an async element to a bin.
1496
1497 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1498
1499         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1500         generation from vargs. Fixes #466595.
1501
1502 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1503
1504         * gst/gstbin.c: (gst_bin_element_set_state):
1505         Always change the state of a NO_PREROLL element even if it has ASYNC
1506         elements inside (in case of a bin).
1507
1508         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1509         Unit test for this case.
1510
1511 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1512
1513         * libs/gst/check/gstbufferstraw.c:
1514         * libs/gst/check/gstcheck.h:
1515         * libs/gst/controller/gstcontroller.c:
1516         * libs/gst/controller/gstcontrolsource.h:
1517         * libs/gst/controller/gstlfocontrolsource.h:
1518         * plugins/elements/gstcapsfilter.h:
1519         * plugins/elements/gstfdsink.h:
1520         * plugins/elements/gstfdsrc.h:
1521           Add more missing docs.
1522
1523 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1524
1525         * gst/gststructure.c:
1526         Add Since tag to docs.
1527
1528 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1529
1530         * docs/gst/gstreamer-sections.txt:
1531         * gst/gststructure.c: (gst_structure_get_uint):
1532         * gst/gststructure.h:
1533         Add function to get uint from a structure.
1534         API: gst_structure_get_uint()
1535
1536 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1537
1538         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1539         (gst_caps_intersect):
1540         Fix proper check for simple caps.
1541
1542 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1543
1544         * docs/gst/Makefile.am:
1545         * docs/libs/Makefile.am:
1546           Remove cruft and do some cleanups.
1547
1548         * docs/gst/gstreamer-docs.sgml:
1549         * docs/libs/gstreamer-libs-docs.sgml:
1550           Prepare for comming gtkdoc features (rebase against online docs).
1551
1552 2007-08-10  Michael Smith <msmith@fluendo.com>
1553
1554         * docs/gst/gstreamer-sections.txt:
1555           Add gst_registry_add_path to docs.
1556
1557 2007-08-10  Michael Smith <msmith@fluendo.com>
1558
1559         * gst/gstregistry.h:
1560           Add gst_registry_add_path, which was missing from this header.
1561
1562 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1563
1564         * libs/gst/controller/gstlfocontrolsource.c:
1565           Printf format fix.
1566
1567 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1568
1569         * libs/gst/base/gstbasesink.c:
1570           Don't send an async_start message during downwards state change if 
1571           target state is less than READY
1572
1573 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1574
1575         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1576
1577         * po/LINGUAS:
1578         * po/hu.po:
1579           Added Hungarian translation.
1580
1581 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1582
1583         * po/fi.po:
1584         * po/it.po:
1585         * po/nl.po:
1586         * po/sv.po:
1587         * po/uk.po:
1588           Updated translations.
1589
1590 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1591
1592         * libs/gst/controller/Makefile.am:
1593         Dist gstlfocontrolsourceprivate.h
1594
1595 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1596
1597         * docs/libs/gstreamer-libs.types:
1598         Don't register the enum type gst_lfo_waveform_get_type() in the
1599         .types file - only GObject derived types belong.
1600
1601 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1602
1603         Patch by: <arenevier at fdn dot fr>
1604
1605         * gst/gstbuffer.h:
1606         Remove comma from last element in enum to avoid compile errors when
1607         using -pendantic. Fixes #464366.
1608
1609 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1610
1611         * docs/design/part-TODO.txt:
1612         Add some more TODO items
1613
1614         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1615         Improve debugging.
1616
1617         * gst/gstcaps.c: (gst_caps_intersect):
1618         Optimize trivial intersection case between identical caps pointers.
1619
1620         * gst/gstelement.c: (gst_element_continue_state),
1621         (gst_element_set_state_func):
1622         * gst/gstpad.c:
1623         Fix spelling and grammar mistakes.
1624
1625 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1626
1627         * po/POTFILES.in:
1628         * po/POTFILES.skip:
1629           Update POTFILES. Fixes #461599.
1630
1631 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1632
1633         * gst/gst.c:
1634         Fix confusing typo in debug output.
1635
1636 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1637
1638         reviewed by: Stefan Kost <ensonic@users.sf.net>
1639
1640         * libs/gst/controller/Makefile.am:
1641         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1642         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1643         (gst_lfo_control_source_new),
1644         (gst_lfo_control_source_set_waveform),
1645         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1646         (gst_lfo_control_source_finalize),
1647         (gst_lfo_control_source_dispose),
1648         (gst_lfo_control_source_set_property),
1649         (gst_lfo_control_source_get_property),
1650         (gst_lfo_control_source_class_init):
1651         * libs/gst/controller/gstlfocontrolsource.h:
1652         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1653         API: Add GstLFOControlSource, a control source that gives values
1654         for specific timestamps based on several periodic waveforms.
1655         Fixes #459717.
1656
1657         * tests/check/libs/controller.c: (GST_START_TEST),
1658         (gst_controller_suite):
1659         * docs/libs/gstreamer-libs-docs.sgml:
1660         * docs/libs/gstreamer-libs-sections.txt:
1661         * docs/libs/gstreamer-libs.types:
1662         Add documentation and unit tests for GstLFOControlSource.
1663
1664 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1665
1666         * configure.ac:
1667         Back to CVS
1668
1669 === release 0.10.14 ===
1670
1671 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1672
1673         * configure.ac:
1674           releasing 0.10.14, "Breathing Vacuum"
1675
1676 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1677
1678         * gst/gstelement.c: (gst_element_class_set_details_simple):
1679         * gst/gstelement.h:
1680           Make strings passed to gst_element_class_set_details_simple()
1681           constant, as they should be (#462752).
1682
1683 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1684
1685         * gst/gstbin.c: (gst_bin_change_state_func),
1686         (bin_handle_async_done), (gst_bin_handle_message_func):
1687         Don't forget about the fact that some element went ASYNC even after a
1688         resync. This makes us post the ASYNC_DONE message correctly.
1689         Fixes #462558.
1690
1691 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1692
1693         * gst/gstregistry.c: (gst_registry_add_feature):
1694         When replacing an existing feature in the registry, make sure to
1695         continue holding a reference until we've replaced the name string
1696         within our feature hash table. Make sure to use g_hash_table_replace
1697         instead of g_hash_table_insert to ensure the new name string is used
1698         as a key instead of the old one that we're about to free.
1699         Fixes: #462085
1700
1701 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1702
1703         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1704         (gst_plugin_feature_set_name):
1705         Revert patch from #459466 until after the release and we can work
1706         out exactly what the problem is (if any).
1707
1708 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * docs/gst/gstreamer-sections.txt:
1711         * gst/gsttaglist.c:
1712         * gst/gsttaglist.h:
1713           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1714
1715 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1716
1717         * docs/libs/Makefile.am:
1718         Include our build-prefix libs and includes before the generic ones to
1719         avoid linking against the installed libs when we want the build-tree
1720         ones.
1721
1722 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         Patch by: Steve Fink  <sphink gmail com>
1725
1726         * docs/pwg/building-testapp.xml:
1727           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1728           if people try to build or install the example from the plugin
1729           template against a GStreamer from package using the configure
1730           defaults.
1731
1732 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1733
1734         Patch by: Steve Fink  <sphink gmail com>
1735
1736         * tools/gst-inspect.1.in:
1737           Document --print-all and --print-plugin-auto-install-info command
1738           line options in man page.
1739
1740 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1741
1742         * docs/gst/gstreamer-sections.txt:
1743         Add docs for new api function.
1744
1745 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1746
1747         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1748         * gst/gstelementfactory.h:
1749         API: gst_element_factory_has_interface()
1750         Added method to check if an element factory implements a named
1751         interface.
1752
1753 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1754
1755         * configure.ac:
1756         * docs/gst/gstreamer.types.in:
1757           Another conditional doc check.
1758
1759         * gst/gstmessage.c:
1760         * gst/gstparamspecs.h:
1761         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1762         * gst/gstvalue.c:
1763         * gst/gstxml.h:
1764           API-doc fixes.
1765
1766 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1767
1768         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1769         (gst_registry_binary_load_feature),
1770         (gst_registry_binary_load_plugin),
1771         (gst_registry_binary_read_cache):
1772           Print error just once and with additional info.
1773
1774 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1775
1776         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1777         (helper_find_suggest), (helper_find_get_length),
1778         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1779         (gst_type_find_helper_for_buffer):
1780           Cleanup the typefindhelper code and add private doc comments.
1781
1782 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1783
1784         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1785         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1786         Fix capsfilter for cases where the caps set on capsfilter will provide
1787         additional information.
1788         Fixes #449197
1789
1790 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1791
1792         * gst/gsttypefindfactory.c:
1793           Fix docs that recommened wrong function to use.
1794
1795 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1796
1797         * tools/gst-inspect.c: (print_plugin_features):
1798           Also give media-type for typefinders in element output.
1799
1800 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1801
1802         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1803         (gst_registry_remove_features_for_plugin_unlocked),
1804         (gst_registry_add_feature), (gst_registry_remove_feature),
1805         (gst_registry_lookup_feature_locked):
1806         * gst/gstregistry.h:
1807           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1808           Fixes #459501.
1809
1810 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1811
1812         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1813         (gst_plugin_feature_set_name):
1814           Avoid double memory usage for pluginfeature names. Fixes #459466.
1815
1816 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1817
1818         * gst/gstpad.h:
1819           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1820           driving the pipeline may need to explicitly check for NOT_LINKED as
1821           well, since IS_FATAL doesn't cover that.
1822
1823 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1824
1825         * docs/pwg/advanced-types.xml:
1826           Fix typo and duplicate entry in video formats list.
1827
1828 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1829
1830         * libs/gst/controller/gstinterpolation.c:
1831         Also round to the nearest int when using cubic interpolation.
1832
1833 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1834
1835         * libs/gst/controller/gstinterpolation.c:
1836         When linearly interpolating integer types, round to the nearest int
1837         by adding 0.5. Don't do it for float/double types.
1838         Fixes the failing controller test on my machine, which is somehow
1839         rounding differently than on the buildbots.
1840
1841 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * tools/gst-plot-timeline.py:
1844           Better log parsing (categories can have -). Adjust text vs. lines, so
1845           that they span the same y-range.        
1846
1847 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1848
1849         * docs/random/ensonic/audiobaseclasses.txt:
1850         * docs/random/ensonic/dynlink.txt:
1851         * docs/random/ensonic/profiling.txt:
1852           Save my thoughts.
1853
1854         * docs/random/moving-plugins:
1855           Add note to use g_assert type macros.
1856
1857 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * configure.ac:
1860         * libs/gst/check/Makefile.am:
1861           Add libm check as we use in for plugins.
1862
1863 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1864
1865         * gst/gstbin.c: (gst_bin_continue_func):
1866         Check that the state_cookie hasn't changed since the continue_func
1867         was scheduled. Avoids problems where the state changes back to
1868         something it shouldn't be because it was changed in the meantime.
1869
1870 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1873         (gst_registry_binary_save_string),
1874         (gst_registry_binary_save_pad_template),
1875         (gst_registry_binary_save_feature),
1876         (gst_registry_binary_save_plugin),
1877         (gst_registry_binary_load_feature),
1878         (gst_registry_binary_load_plugin),
1879         (gst_registry_binary_read_cache):
1880           Fix memory leak. Be less verbose in the log.
1881
1882 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1883
1884         * tests/check/elements/.cvsignore:
1885         Add file to cvsignore as commanded.
1886
1887 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1888
1889         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1890         (mq_dummypad_event), (run_output_order_test):
1891         Use a GStaticMutex to protect all cases where libcheck
1892         fail_if/fail_unless macros might be called from multiple threads
1893         simultaneously to avoid errors like:
1894           "check_pack.c:107: :-1081725400:Bad message type arg"
1895
1896 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1897
1898         * tests/check/pipelines/stress.c: (GST_START_TEST):
1899         Make sure we set the pipeline back to the NULL state before
1900         dropping our final reference.
1901
1902 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1903
1904         * tests/check/elements/tee.c: (GST_START_TEST):
1905         Make the tee stress-test a little less stressful so it doesn't just
1906         time out on slow-machines, and remove a small race when it's starting 
1907         up by adding a get_state() call.
1908
1909 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1910
1911         * gst/gst.c:
1912           Avoid reading registry twice on startup. Fixes #457322.
1913
1914 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1915
1916         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1917         * pkgconfig/gstreamer-check.pc.in:
1918         Substitute the CFLAGS for libcheck into our .pc file too so that
1919         dependent modules will pick it up properly if libcheck is installed
1920         into some other prefix.
1921
1922 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1923
1924         * configure.ac:
1925         Revert the pkg-config check for libcheck, since it pulls in the
1926         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1927         a proper solution, either from the check project, or something else.
1928
1929 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1930
1931         * configure.ac:
1932           Use pkg-config to locate check.
1933
1934 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1935
1936         * gst/gsttaglist.c:
1937           Fix doc syntax.
1938
1939         * gst/gstutils.c:
1940         * gst/gstutils.h:
1941           Add deprecation guards.
1942
1943         * libs/gst/base/gstcollectpads.h:
1944           Don't document object (this is implicitly private).
1945
1946 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1947
1948         * gst/gststructure.c: (gst_structure_parse_value):
1949           When deserialising foo=bar without a type cast, check if it's a
1950           boolean before falling back to a string type, otherwise things like
1951           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1952           because the filtercaps end up having a signed=(string)true field,
1953           which causes problems later when intersection caps.
1954
1955         * tests/check/gst/gststructure.c: (GST_START_TEST):
1956           Add a unit test for this.
1957
1958 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1959
1960         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1961
1962         * libs/gst/controller/Makefile.am:
1963         * libs/gst/controller/gstcontroller.c:
1964         (gst_controlled_property_add_interpolation_control_source),
1965         (gst_controlled_property_new), (gst_controlled_property_free),
1966         (gst_controller_find_controlled_property),
1967         (gst_controller_new_valist), (gst_controller_new_list),
1968         (gst_controller_new), (gst_controller_remove_properties_valist),
1969         (gst_controller_remove_properties_list),
1970         (gst_controller_remove_properties),
1971         (gst_controller_set_property_disabled),
1972         (gst_controller_set_disabled), (gst_controller_set_control_source),
1973         (gst_controller_get_control_source), (gst_controller_get),
1974         (gst_controller_sync_values), (gst_controller_get_value_array),
1975         (_gst_controller_dispose), (gst_controller_get_type),
1976         (gst_controlled_property_set_interpolation_mode),
1977         (gst_controller_set), (gst_controller_set_from_list),
1978         (gst_controller_unset), (gst_controller_unset_all),
1979         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1980         * libs/gst/controller/gstcontroller.h:
1981         * libs/gst/controller/gstcontrollerprivate.h:
1982         * libs/gst/controller/gstcontrolsource.c:
1983         (gst_control_source_class_init), (gst_control_source_init),
1984         (gst_control_source_get_value),
1985         (gst_control_source_get_value_array), (gst_control_source_bind):
1986         * libs/gst/controller/gstcontrolsource.h:
1987         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1988         (gst_object_get_control_source):
1989         * libs/gst/controller/gstinterpolation.c:
1990         (gst_interpolation_control_source_find_control_point_node),
1991         (gst_interpolation_control_source_get_first_value),
1992         (_interpolate_none_get), (interpolate_none_get),
1993         (interpolate_none_get_boolean_value_array),
1994         (interpolate_none_get_enum_value_array),
1995         (interpolate_none_get_string_value_array),
1996         (_interpolate_trigger_get), (interpolate_trigger_get),
1997         (interpolate_trigger_get_boolean_value_array),
1998         (interpolate_trigger_get_enum_value_array),
1999         (interpolate_trigger_get_string_value_array):
2000         * libs/gst/controller/gstinterpolationcontrolsource.c:
2001         (gst_control_point_free), (gst_interpolation_control_source_reset),
2002         (gst_interpolation_control_source_new),
2003         (gst_interpolation_control_source_set_interpolation_mode),
2004         (gst_interpolation_control_source_bind),
2005         (gst_control_point_compare), (gst_control_point_find),
2006         (gst_interpolation_control_source_set_internal),
2007         (gst_interpolation_control_source_set),
2008         (gst_interpolation_control_source_set_from_list),
2009         (gst_interpolation_control_source_unset),
2010         (gst_interpolation_control_source_unset_all),
2011         (gst_interpolation_control_source_get_all),
2012         (gst_interpolation_control_source_get_count),
2013         (gst_interpolation_control_source_init),
2014         (gst_interpolation_control_source_finalize),
2015         (gst_interpolation_control_source_dispose),
2016         (gst_interpolation_control_source_class_init):
2017         * libs/gst/controller/gstinterpolationcontrolsource.h:
2018         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2019         API: Refactor GstController into the core controller which can take
2020         a GstControlSource for providing actual values for timestamps.
2021         Implement a interpolation control source and use this for backward
2022         compatibility, deprecate a bunch of functions that are now handled
2023         by GstControlSource or GstInterpolationControlSource.
2024         Make it possible to disable the controller completely or only for
2025         specific properties. Fixes #450711.
2026         * docs/libs/gstreamer-libs-docs.sgml:
2027         * docs/libs/gstreamer-libs-sections.txt:
2028         * docs/libs/gstreamer-libs.types:
2029         Add new functions and classes to the docs.
2030         * tests/check/libs/controller.c: (GST_START_TEST),
2031         (gst_controller_suite):
2032         * tests/examples/controller/audio-example.c: (main):
2033         Port unit test and example to the new API and add some new
2034         unit tests.
2035
2036 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
2037
2038         Patch by: Mark Nauwelaerts <manauw at skynet be>
2039
2040         * plugins/elements/gstmultiqueue.c:
2041         (gst_multi_queue_get_internal_links), (apply_buffer),
2042         (single_queue_overrun_cb), (gst_single_queue_new):
2043         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
2044         the pipeline layout can be tracked correctly. Fixes #453732.
2045
2046 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
2047
2048         * docs/gst/Makefile.am:
2049         * docs/libs/Makefile.am:
2050         * docs/plugins/Makefile.am:
2051           Simplify --extra-dir as gtkdoc scans recursively.
2052
2053 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2054
2055         * tools/gst-launch.c: (main):
2056         When we got an error, there is no point in waiting for preroll when
2057         shutting down.
2058
2059 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2060
2061         * plugins/elements/gsttee.c: (gst_tee_base_init),
2062         (gst_tee_request_new_pad), (gst_tee_release_pad),
2063         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
2064         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
2065         (gst_tee_chain):
2066         Be a lot smarter when deciding what srcpad to use for proxying
2067         the buffer_alloc. Also handle pad added/removed when doing so.
2068         Fixes #357959.
2069         Keep track of what pads we already pushed on in case we have pads
2070         added/removed while pushing. Fixes #374639 
2071
2072         * tests/check/Makefile.am:
2073         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
2074         (tee_suite):
2075         Added unit test for pad resync.
2076
2077 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2078
2079         * po/nl.po:
2080         * po/sv.po:
2081           Updated translations.
2082
2083 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2084
2085         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
2086
2087         * po/LINGUAS:
2088         * po/fi.po:
2089           Added new Finnish translation.
2090
2091 2007-06-28  Wim Taymans  <wim@fluendo.com>
2092
2093         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2094         (single_queue_overrun_cb):
2095         When figuring out when a queue is filled, use our internal time estimate
2096         based on segments, just like check_full does.
2097
2098 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2099
2100         * gst/gstminiobject.c: (gst_mini_object_get_type):
2101           Remove 3 do-nothing methods.
2102
2103 2007-06-27  Wim Taymans  <wim@fluendo.com>
2104
2105         Patch by: Tim Angus <tim at ngus dot net>
2106
2107         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2108         (gst_capsfilter_set_property):
2109         Take a reference instead of a copy when setting "caps".
2110         Fix documentation to clarify this behaviour. Fixes #449414.
2111
2112 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2113
2114         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2115         * gst/gstplugin.c: (gst_plugin_init):
2116         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
2117         * gst/gstquery.c: (gst_query_get_type):
2118         * gst/gstregistry.c: (gst_registry_init):
2119         * gst/gsturi.c: (gst_uri_handler_base_init):
2120           Remove empty instance_init() functions to save relocs and lessen the
2121           noise. Remove some of the function prototypes that are doubled by
2122           G_DEFINE_TYPE.
2123           
2124 2007-06-27  Wim Taymans  <wim@fluendo.com>
2125
2126         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
2127
2128         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
2129         Add peer and direction in the XML serialisation of ghostpads.
2130         Fixes #449226.
2131
2132 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2133
2134         * configure.ac:
2135           Preserve useful information, thanks Tim.
2136
2137 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
2138
2139         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2140         (gst_single_queue_flush), (apply_segment), (apply_buffer),
2141         (gst_single_queue_push_one), (gst_multi_queue_loop),
2142         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2143         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
2144         (compute_high_id), (gst_single_queue_new):
2145         * plugins/elements/gstmultiqueue.h:
2146         Take the multiqueue lock when updating the fill level so we don't get
2147         confused. 
2148
2149         After applying a buffer or event on the src pad segment, make sure to
2150         call gst_data_queue_limits_changed() to get the data queue to unblock
2151         and check the filled state again.
2152         
2153         Rework the not-linked pad handling so the logic is that not-linked 
2154         pads can push as fast as they like, but only so they never get 
2155         ahead of any linked pads.
2156
2157         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
2158         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
2159         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
2160
2161         Add a test to check that not-linked pads always stay behind
2162         linked pads.
2163
2164         Fixes: #430682
2165
2166 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
2167
2168         * docs/random/release:
2169           Some updates to the release procedure.
2170
2171 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2172
2173         * gst/gstelementfactory.c: (__gst_element_details_clear):
2174           Microoptimization that saves stunning 80 bytes.
2175
2176 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
2177
2178         * docs/plugins/gstreamer-plugins.args:
2179         * docs/plugins/inspect/plugin-coreelements.xml:
2180         * docs/plugins/inspect/plugin-coreindexers.xml:
2181           Update docs with caps info.
2182
2183 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2184
2185         * po/it.po:
2186           Updated Italian translation.
2187
2188 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2189
2190         * ChangeLog:
2191         * po/vi.po:
2192           Update Vietnamese translations.
2193
2194 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2195
2196         * libs/gst/base/gstbasesink.c:
2197           Remove unused signal enum.
2198
2199 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2200
2201         * docs/gst/gstreamer-sections.txt:
2202         * gst/gstelement.c:
2203         * gst/gstutils.c: (gst_type_register_static_full):
2204         Beef up and include the docs for gst_type_register_static_full and
2205         gst_element_class_set_details_simple and add the API keyword
2206         in the ChangeLog.
2207
2208 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2209
2210         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2211         (update_time_level), (gst_single_queue_push_one),
2212         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
2213         (single_queue_overrun_cb), (single_queue_underrun_cb),
2214         (single_queue_check_full):
2215         Fix setting max-* properties after adding queues.
2216         Use IS_FILLED for checking visible items.
2217         Signal overrun if multiple queues overrun.
2218         Add extra debug output.
2219         Patch by: Wim Taymans <wim@fluendo.com>
2220
2221 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
2222
2223         * gst/gstelement.c: (gst_element_class_set_details_simple):
2224         * gst/gstelement.h:
2225         * gst/gstutils.c: (gst_type_register_static_full):
2226         * gst/gstutils.h:
2227         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
2228         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
2229         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
2230         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
2231         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
2232         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
2233         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
2234         * plugins/elements/gstidentity.c: (gst_identity_base_init):
2235         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
2236         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2237         (apply_buffer), (gst_queue_chain):
2238         * plugins/elements/gsttee.c: (gst_tee_base_init):
2239         * plugins/elements/gsttypefindelement.c:
2240         (gst_type_find_element_base_init),
2241         (gst_type_find_element_class_init):
2242           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
2243           API: add gst_type_register_static_full
2244           API: add gst_element_class_set_details_simple
2245
2246 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2247
2248         * docs/pwg/advanced-types.xml:
2249           Fix typo in iana.org URI.
2250
2251 2007-06-19  Andy Wingo  <wingo@pobox.com>
2252
2253         * tests/check/pipelines/simple-launch-lines.c
2254         (test_state_change_returns): Enable pull-mode tests now that
2255         basesink has been fixed.
2256
2257         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
2258         Changed from gst_base_sink_is_prerolled, reversing the sense of
2259         the return value. Returns FALSE also if the sink is in pull mode,
2260         in which case it needs no preroll.
2261         (gst_base_sink_query, gst_base_sink_change_state): Update for
2262         needs_preroll change.
2263         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
2264         chaining up, in which we return SUCCESS directly if we activated
2265         in pull mode instead of ASYNC. Involves countering an async_start
2266         message sent before chaining up; not sure if this is correct, in
2267         an ideal world we only send async-start when activating in push
2268         mode.
2269
2270         * tests/check/pipelines/simple-launch-lines.c
2271         (test_state_change_returns): New test, partially disabled until
2272         basesink is fixed.
2273
2274 2007-06-19  Wim Taymans  <wim@fluendo.com>
2275
2276         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2277         (gst_multi_queue_sink_event):
2278         Fix event leak.
2279
2280 2007-06-19  Wim Taymans  <wim@fluendo.com>
2281
2282         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2283         (gst_bin_change_state_func), (bin_push_state_continue),
2284         (bin_handle_async_start), (bin_handle_async_done),
2285         (gst_bin_handle_message_func):
2286         Move the common code for posting state-change messages into
2287         one function.
2288         Broadcast the state signal after we posted the messages.
2289         Mark the bin as busy when it's doing a state-change.
2290         Make sure async-start/done messages don't interfere with the bin's
2291         state when it's busy.
2292         After the state change, let the bin check which elements completed the
2293         state change while it was busy so that it can update its state.
2294
2295 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2296
2297         * docs/random/release:
2298         Add a note about updating the doap file to the release checklist
2299
2300 2007-06-18  Wim Taymans  <wim@fluendo.com>
2301
2302         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2303         (gst_single_queue_push_one), (gst_multi_queue_chain),
2304         (gst_multi_queue_sink_event):
2305         Make sure we don't reference the buffer/event after we have given away
2306         ownership in the queue.
2307
2308 2007-06-18  Wim Taymans  <wim@fluendo.com>
2309
2310         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2311         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2312         Update queue state _after_ adding the item in the queue because else we
2313         could end up being full without the element added yet.
2314
2315 2007-06-18  Wim Taymans  <wim@fluendo.com>
2316
2317         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2318         (gst_bin_remove_func), (gst_bin_get_state_func),
2319         (gst_bin_element_set_state), (gst_bin_continue_func),
2320         (bin_push_state_continue), (bin_handle_async_start),
2321         (bin_handle_async_done), (gst_bin_handle_message_func):
2322         * gst/gstbin.h:
2323         Immediatly commit the toplevel bin state when receiving an async-done
2324         message. This enables us to avoid spawning a thread to commit the state
2325         in some common cases and it also avoids some races.
2326         Avoid spawning a state thread when adding/removing async elements to a
2327         toplevel bin. Instead we immediatly update the bin state.
2328         Get rid of iterating all the children when getting the state in the bin
2329         because it is now always up-to-date.
2330         Fix bug where locked elements would always return _SUCCESS even it they
2331         returned NO_PREROLL before being locked.
2332         Fix the order of the state_change, async-start/done messages that was
2333         sometimes incorrect.
2334         Mark the state_dirty field as deprecated, we don't need it anymore as we
2335         are always up-to-date.
2336
2337         * gst/gstelement.c: (gst_element_get_state_func),
2338         (gst_element_continue_state):
2339         Small debug inprovements.
2340         Return the previous element state return when nothing is pending instead
2341         of blindly returning SUCCESS.
2342
2343         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2344         (gst_sinks_suite):
2345         Add a whole bunch of new testcases.
2346
2347 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2348
2349         * po/uk.po:
2350         * po/vi.po:
2351           Update translations.
2352
2353 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2354
2355         * gst/gstpad.c:
2356         Fix typo in the docs.
2357
2358 2007-06-15  Wim Taymans  <wim@fluendo.com>
2359
2360         * docs/libs/gstreamer-libs-sections.txt:
2361         Add docs for new methods.
2362
2363 2007-06-15  Wim Taymans  <wim@fluendo.com>
2364
2365         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2366         (gst_multi_queue_item_new):
2367         Don't use GSlice because we don't depend on >= 2.10 yet.
2368
2369 2007-06-15  Wim Taymans  <wim@fluendo.com>
2370
2371         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2372         (update_time_level), (apply_segment), (apply_buffer),
2373         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2374         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2375         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2376         (single_queue_underrun_cb), (single_queue_check_full):
2377         Remove debug printf.
2378
2379 2007-06-15  Wim Taymans  <wim@fluendo.com>
2380
2381         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2382         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2383         (gst_data_queue_set_flushing), (gst_data_queue_push),
2384         (gst_data_queue_pop), (gst_data_queue_drop_head),
2385         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2386         * libs/gst/base/gstdataqueue.h:
2387         Various cleanups.
2388         Added methods to get the current levels and to inform the queue that the
2389         'full' limits changed.
2390
2391         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2392         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2393         (gst_single_queue_flush), (update_time_level), (apply_segment),
2394         (apply_buffer), (gst_single_queue_push_one),
2395         (gst_multi_queue_item_steal_object),
2396         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2397         (gst_multi_queue_loop), (gst_multi_queue_chain),
2398         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2399         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2400         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2401         (single_queue_underrun_cb), (single_queue_check_full),
2402         (gst_single_queue_new):
2403         Keep track of time in the queue by measuring the difference between
2404         running_time on input and output. This gives more accurate results and
2405         can compensate for segments correctly.
2406         Make a queue by default only 5 buffers deep. We will now increase the
2407         buffer size depending on the filledness of the other queues.
2408         Factor out commong flush code.
2409         Make sure we don't add additional refcounts to buffers when we can avoid
2410         it.
2411         Propagate GstFlowReturn differently.
2412         Use GSlice for intermediate GstMultiQueueItems.
2413         Keep track of EOS.
2414         Resize queues on over and underruns based on filled level of other
2415         queues.
2416         When checking if the queue is filled, prefer to measure in time if we
2417         can and fall back to bytes when no time is known.
2418
2419         * plugins/elements/gstqueue.c:
2420         Fix return value.
2421
2422 2007-06-15  Wim Taymans  <wim@fluendo.com>
2423
2424         * libs/gst/base/gstbasetransform.c:
2425         (gst_base_transform_sink_event):
2426         Work around the brokenness of the event vmethod in basetransform. Prefer
2427         to return TRUE when the subclass returned FALSE (meaning don't forward
2428         the event). 
2429
2430         * libs/gst/base/gstbasetransform.h:
2431         Clarify the docs.
2432
2433 2007-06-15  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2436         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2437         (gst_base_src_default_query), (gst_base_src_get_range),
2438         (gst_base_src_start):
2439         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2440         Improve debugging.
2441
2442 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2443
2444         * docs/pwg/advanced-types.xml:
2445           Added more formats to caps table.
2446
2447 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2448
2449         * tools/gst-launch.c: (main):
2450           Remove crufy code. GOption does not need this workaround.
2451
2452 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2453
2454         * libs/gst/controller/gstcontroller.c:
2455         (gst_controlled_property_set_interpolation_mode):
2456           Fix wrong getter for enums in controller.
2457
2458 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * libs/gst/check/gstcheck.c: (gst_check_init):
2461           Intercept criticals and warnings in the Gst-Phonon log domain, so
2462           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2463           well.
2464         
2465 2007-06-14  Edward Hervey  <edward@fluendo.com>
2466
2467         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2468         Since this file doesn't include "gst.h" it will not go through the
2469         macros that disable GST_LOG if debugging was disabled.
2470
2471 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2472
2473         * libs/gst/check/Makefile.am:
2474         * libs/gst/check/gstcheck.h:
2475         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2476         * pkgconfig/gstreamer-check.pc.in:
2477           Ugly 'fix' for the controller unit test on the p5 bot: in
2478           fail_unless_equals_float() check whether the values are 'almost
2479           equal' by allowing a small absolute error, which should be good
2480           enough for our use cases (normal numbers and values close to 0).
2481           Proper fixage left to floating point arithmetic aficionados.
2482
2483 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2484
2485         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2486         (gst_base_sink_render_object), (gst_base_sink_get_position):
2487           Add two breaks thats where missing.
2488
2489 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2490
2491         * docs/libs/gstreamer-libs-sections.txt:
2492         * libs/gst/check/gstcheck.h:
2493           API: add fail_unless_equals_float() and assert_equals_float().
2494           Add documentation for some of the macros.
2495
2496         * tests/check/libs/controller.c: (GST_START_TEST):
2497           Use newly-added asserts.
2498
2499 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2500
2501         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2502           Show the caps change in the log to help spotting the case of not
2503           exactly matching caps.
2504
2505 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2506
2507         * docs/pwg/building-boiler.xml:
2508           Fix typos, spotted by Thijs Vermeir (#447190).
2509
2510 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2511
2512         * docs/plugins/tmpl/.cvsignore:
2513         Ignore file to keep the buildbots happy
2514
2515 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2516
2517         * docs/plugins/Makefile.am:
2518         * docs/plugins/gstreamer-plugins-docs.sgml:
2519         * docs/plugins/gstreamer-plugins-sections.txt:
2520         Pull fdsink into the docs too.
2521
2522 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2523
2524         * libs/gst/controller/gstinterpolation.c:
2525         Actually use the new functions with min/max checks for the trigger and
2526         none interpolation modes for get() and get_value_array() instead of
2527         just the latter.
2528
2529 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2530
2531         * libs/gst/controller/gstcontroller.c:
2532         (gst_controlled_property_free):
2533         Unset the minimum and maximum GValues when freeing the corresponding
2534         GstControllerProperty struct.
2535
2536 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2537
2538         * libs/gst/controller/gstcontroller.c:
2539         (gst_controlled_property_new):
2540         * libs/gst/controller/gstcontrollerprivate.h:
2541         * libs/gst/controller/gstinterpolation.c:
2542         (gst_controlled_property_find_control_point_node),
2543         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2544         (interpolate_none_get_string_value_array),
2545         (interpolate_trigger_get),
2546         (interpolate_trigger_get_enum_value_array),
2547         (interpolate_trigger_get_string_value_array):
2548         Protect against values larger or smaller than the minimum or maximum
2549         allowed value for the property when using values that can be compared.
2550
2551         Optimize trigger interpolator a bit by taking the last requested value
2552         into account instead of always looping through the complete list.
2553
2554         Fix coding style a bit, everywhere else we use "return foo" instead
2555         of "return (foo)".
2556         
2557         * tests/check/libs/controller.c: (GST_START_TEST),
2558         (gst_controller_suite):
2559         Add unit test for the protection against too large or too small
2560         values.
2561
2562 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2563
2564         * docs/random/slomo/controller.txt:
2565         Add some thoughts about the future of the controller.
2566
2567 2007-06-08  Wim Taymans  <wim@fluendo.com>
2568
2569         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2570         Don't overflow in retimestamping code.
2571
2572 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2573
2574         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2575         Use gst_util_guint64_to_gdouble for conversions.
2576         * win32/common/libgstreamer.def:
2577         Add new exported functions.
2578
2579 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2580
2581         * gst/gstutils.c:
2582           Small docs addition.
2583
2584 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2585
2586         * README:
2587           Remove that test line again.
2588
2589 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2590
2591         * README:
2592           Test commit mail sending.
2593
2594 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2595
2596         * configure.ac:
2597           Fix typo and test commit mail sending.
2598
2599 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2600
2601         * tests/examples/controller/audio-example.c:
2602           Improve comment and test commit mail sending.
2603
2604 2007-06-07  Wim Taymans  <wim@fluendo.com>
2605
2606         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2607         (gst_bin_remove_func), (gst_bin_element_set_state),
2608         (bin_handle_async_start), (bin_handle_async_done),
2609         (gst_bin_handle_message_func):
2610         Add helper function to find messages.
2611         Generate the async-done messages together with the state change
2612         messages.
2613         Small cleanups in handling toplevel bins.
2614
2615 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2616
2617         * libs/gst/base/gstdataqueue.c:
2618         * libs/gst/base/gstdataqueue.h:
2619         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2620         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2621         (gst_multi_queue_sink_event):
2622         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2623           Fix multiqueue leaking buffers and events when downstream or the
2624           queue are flushing. Make refcounting assumptions explicit and
2625           document them (shouldn't break existing code that uses it other than
2626           maybe leak miniobjects, but that already happens anyway). Add unit
2627           test for the most common flushing case. Fixes #423700.
2628           
2629 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2630
2631         * libs/gst/controller/gstcontroller.c:
2632         Clarify docs: The get_all, get_value_array(s) functions
2633         don't modify the GObject properties.
2634
2635 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2636
2637         * libs/gst/controller/gstcontroller.c:
2638         (gst_controlled_property_set_interpolation_mode),
2639         (gst_controlled_property_prepend_default),
2640         (gst_controlled_property_new), (gst_controller_set_unlocked),
2641         (gst_controller_set), (gst_controller_set_from_list),
2642         (gst_controller_unset), (gst_controller_unset_all):
2643         * libs/gst/controller/gstcontrollerprivate.h:
2644         * libs/gst/controller/gstinterpolation.c:
2645         Factor out the 'set' logic into gst_controller_set_unlocked for the
2646         gst_controller_set and gst_controller_set_from_list functions.
2647
2648         To make life of the interpolators easier always add a control point
2649         at timestamp zero with the default value.
2650
2651         In the linear interpolator make things more obvious by better variable
2652         naming (slope).
2653
2654         Implement cubic interpolation mode (by using a natural cubic spline)
2655         and map the quadratic interpolation mode to this too (as quadratic
2656         doesn't make much sense, see discussion on the list).
2657
2658         * tests/check/libs/controller.c: (GST_START_TEST),
2659         (gst_controller_suite):
2660         Add unit test for the cubic interpolation mode and check everywhere
2661         if the interpolation mode could be set as expected.
2662
2663 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2664
2665         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2666           Don't use GLib-2.10 functions, we still depend on
2667           GLib-how-old-is-it-again-2.8.
2668
2669 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2670
2671         * docs/gst/gstreamer-sections.txt:
2672         * gst/Makefile.am:
2673         * gst/gst.c:
2674         * gst/gst.h:
2675         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2676         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2677         (_gst_param_fraction_values_cmp),
2678         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2679         * gst/gstparamspecs.h:
2680         * gst/gstvalue.c:
2681         * tests/check/Makefile.am:
2682         * tests/check/gst/.cvsignore:
2683         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2684         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2685         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2686         (GST_START_TEST), (gst_param_spec_suite):
2687           API: add GstParamSpecFraction, so elements can have fraction
2688           properties without lots of painful string parsing (#444648).
2689
2690 2007-06-05  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/gstobject.c: (gst_object_class_init):
2693         Fix signal signature.
2694
2695         * gst/gstsegment.c:
2696         Add small clarification in the api docs.
2697
2698         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2699         States are protected with object lock.
2700
2701 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2702
2703         * AUTHORS:
2704         I should probably be listed as an author by now.
2705
2706         * docs/random/release:
2707         Update the release doc
2708
2709 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2710
2711         * gst/gstvalue.c:
2712           Make docs for gst_value_compare() mention return enums that
2713           actually exist.
2714
2715 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2716
2717         * configure.ac:
2718           Back to CVS
2719
2720 === release 0.10.13 ===
2721
2722 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2723
2724         * configure.ac:
2725           releasing 0.10.13, "With or without you"
2726
2727 2007-05-25  Wim Taymans  <wim@fluendo.com>
2728
2729         * gst/gstbin.c: (bin_handle_async_done):
2730         Make sure that the child bin stops after completing the async state
2731         change so that the parent can continue the state change to PLAYING.
2732         Fixes #441159.
2733
2734 2007-05-25  Wim Taymans  <wim@fluendo.com>
2735
2736         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2737         (unref_data), (gst_collect_pads_remove_pad),
2738         (gst_collect_pads_check_pads):
2739         Use additional refcounting to avoid crashes when dynamically adding and
2740         removing pads. Fixes #420206.
2741
2742 2007-05-24  Wim Taymans  <wim@fluendo.com>
2743
2744         * tools/gst-launch.c: (event_loop):
2745         When buffering goes from a two digit to a single digit number, make sure
2746         to remove the old second digit by writing a blank over it.
2747
2748 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2749
2750         * libs/gst/base/gstdataqueue.c:
2751           Eliminate tabs and trailing comma in enum list; fix some typos.
2752
2753 2007-05-24  Wim Taymans  <wim@fluendo.com>
2754
2755         * tests/check/gst/gstbin.c: (GST_START_TEST):
2756         Allow refcount of 3 and 4 because some state thread might still be busy
2757         with it.
2758
2759 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2760
2761         * plugins/elements/Makefile.am:
2762         * plugins/elements/gstmultiqueue.h:
2763         * plugins/elements/gstqueue.h:
2764           These are not installed headers, no need for padding.
2765
2766 2007-05-24  Wim Taymans  <wim@fluendo.com>
2767
2768         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2769         (gst_bin_continue_func):
2770         Enable latency for next release.
2771         Restore STATE_LOCK around recalc_state that was left out during the
2772         rewrite and could result in racy behaviour when _get_state and
2773         recalc_state are run concurrently. See #440463.
2774
2775 2007-05-23  Wim Taymans  <wim@fluendo.com>
2776
2777         * tests/check/gst/gstsystemclock.c: (store_callback),
2778         (GST_START_TEST):
2779         Improve test_async_order to also work when both timers are already
2780         expired when we get scheduled to check it.
2781
2782 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2785         (gst_bin_set_property), (gst_bin_get_property),
2786         (gst_bin_remove_func), (gst_bin_handle_message_func):
2787         * gst/gstbin.h:
2788           'private' is a c++ keyword, let's not use that in header files,
2789           otherwise c++ compilers will throw a tantrum.
2790
2791 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2792
2793         * plugins/elements/gstelements.c:
2794         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2795         (gst_file_sink_get_current_offset):
2796         * plugins/indexers/gstindexers.c: (plugin_init):
2797           Use #ifdef for HAVE_XYZ for consistency.
2798
2799         * tests/check/Makefile.am:
2800         * tests/check/elements/.cvsignore:
2801         * tests/check/elements/filesink.c: (setup_filesink),
2802         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2803           Add some unit tests for filesink.
2804
2805 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         Patch by: Mark Nauwelaerts <manauw at skynet be>
2808
2809         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2810         (gst_file_sink_query), (gst_file_sink_do_seek),
2811         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2812         * plugins/elements/gstfilesink.h:
2813           Fix position reporting; rename data_written member to current_pos to
2814           reflect its real meaning (fixes #412648).
2815
2816 2007-05-22  Edward Hervey  <edward@fluendo.com>
2817
2818         * docs/gst/gstreamer-sections.txt:
2819         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2820         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2821         (gst_bin_remove_func), (gst_bin_handle_message_func):
2822         * gst/gstbin.h:
2823         Add a property for bins that handle the state change of their childs.
2824         Fixes #435880
2825
2826 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2827
2828         * libs/gst/controller/gstinterpolation.c:
2829         Use an array of the correct type when using _get_value_array with
2830         linear interpolation.
2831
2832 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2833
2834         * gst/gstelement.c (gst_element_requires_clock,
2835           gst_element_provides_clock, gst_element_request_pad,
2836           gst_element_class_set_details, gst_element_class_set_details_simple,
2837           gst_element_default_send_event, gst_element_abort_state,
2838           gst_element_continue_state, gst_element_set_state,
2839           gst_element_set_state_func, iterator_activate_fold_with_resync):
2840         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2841           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2842           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2843           gst_pad_get_range, gst_pad_pull_range):
2844         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2845           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2846           GstPadActivateModeFunction, GstPadChainFunction,
2847           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2848           GstPadFixateCapsFunction, GstPadTemplate):
2849         * gst/gstpipeline.c (gst_pipeline_change_state,
2850           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2851           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2852           gst_pipeline_get_delay):
2853           Whitespace and docs fixes.
2854
2855 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2856
2857         * libs/gst/controller/gstinterpolation.c:
2858         (interpolate_trigger_get_enum_value_array),
2859         (interpolate_trigger_get_string_value_array):
2860         Add support for retrieving value arrays when using the trigger
2861         interpolation mode. 
2862
2863 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2864
2865         * libs/gst/controller/gstcontroller.c:
2866         (gst_controller_get_value_array):
2867         * libs/gst/controller/gstcontroller.h:
2868         Clarify the docs of gst_controller_get_value_array(): The array where
2869         the values should be written to must be allocated as there seems to be
2870         no way to get the size of a random GType. This doesn't change any
2871         behaviour. Also fix some typos all over the place and remove an unused,
2872         commented function that is not necessary as g_object_set() could be
2873         used instead.
2874         * tests/check/libs/controller.c: (GST_START_TEST),
2875         (gst_controller_suite):
2876         Add unit test for gst_controller_get_value_array().
2877
2878 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2879
2880         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2881
2882         Disable part of the gst_buffer_try_new_and_alloc test, because
2883         it can happily succeed on 64-bit systems where there's more address
2884         space available.
2885
2886 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2887
2888         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2889         Add unit test for the improved caps checking from bug #421543.
2890
2891 2007-05-21  Wim Taymans  <wim@fluendo.com>
2892
2893         * docs/design/part-synchronisation.txt:
2894         Small addition.
2895
2896         * gst/gstbin.c: (gst_bin_query):
2897         * plugins/elements/gstqueue.c: (apply_segment):
2898         Improve debugging.
2899
2900         * gst/gstmessage.h:
2901         Improve docs.
2902
2903 2007-05-21  Wim Taymans  <wim@fluendo.com>
2904
2905         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2906         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2907         (gst_pad_configure_src):
2908         Added simple version of improved caps checking. It was previously
2909         assumed that a setcaps function would check the validity of the caps but
2910         people prefer us to check caps against the template automatically. 
2911         Fixes #421543.
2912
2913 2007-05-21  Wim Taymans  <wim@fluendo.com>
2914
2915         * libs/gst/base/gstbasetransform.h:
2916         Fix macro for locking/unlocking the transform lock.
2917
2918 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2919
2920         * docs/plugins/tmpl/.cvsignore:
2921           Ignore more.
2922
2923 2007-05-18  Edward Hervey  <edward@fluendo.com>
2924
2925         * plugins/elements/gstqueue.c: (gst_queue_loop):
2926         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2927         for the subtle art of warning a potentially blocking thread that it
2928         should check the source pad return value, and relay the information
2929         upstream.
2930
2931 2007-05-18  Edward Hervey  <edward@fluendo.com>
2932
2933         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2934         Release the queue lock !
2935
2936 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2937
2938         * docs/libs/gstreamer-libs-sections.txt:
2939         Add the two new controller functions to the appropiate places.
2940
2941 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2942
2943         reviewed by: Stefan Kost <ensonic@users.sf.net>
2944
2945         * libs/gst/controller/gstcontroller.c:
2946         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2947         (_gst_controller_get_property), (_gst_controller_set_property),
2948         (_gst_controller_init), (_gst_controller_class_init):
2949         * libs/gst/controller/gstcontroller.h:
2950         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2951         (gst_object_get_control_rate), (gst_object_set_control_rate):
2952         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2953         Add API that provides sync suggestion timestamps for elements that
2954         call gst_object_sync_values() from which those elements can subdivide
2955         their processing loop to get the best results for the controlled
2956         properties. For now it just suggests last_sync + control_rate as
2957         new timestamp but this will be improved in the future.
2958
2959         While doing that change the control-rate property to a GstClockTime
2960         from guint and change it's meaning from samples to nanoseconds as
2961         the GstController doesn't know anything about sampling rate. Strictly
2962         speaking this breaks ABI but as the control-rate property didn't do
2963         anything in the past and as such couldn't be used this should be no
2964         problem.        
2965
2966 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2967
2968         reviewed by: Stefan Kost <ensonic@users.sf.net>
2969
2970         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2971         (gst_controller_unset_all):
2972         * libs/gst/controller/gstcontrollerprivate.h:
2973         * libs/gst/controller/gstinterpolation.c:
2974         (gst_controlled_property_find_control_point_node):
2975         Save last synced value from the list to continue searching from there
2976         in future syncs. This speeds everything up a bit.
2977         
2978 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2979
2980         reviewed by: Stefan Kost <ensonic@users.sf.net>
2981
2982         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2983         (gst_control_point_find), (gst_controlled_property_new),
2984         (gst_control_point_free), (gst_controlled_property_free),
2985         (gst_controller_set), (gst_controller_set_from_list),
2986         (gst_controller_unset), (gst_controller_unset_all),
2987         (gst_controller_sync_values):
2988         * libs/gst/controller/gstcontroller.h:
2989         * libs/gst/controller/gstcontrollerprivate.h:
2990         * libs/gst/controller/gstinterpolation.c:
2991         (gst_controlled_property_find_control_point_node),
2992         (interpolate_none_get), (interpolate_trigger_get):
2993         Add a new private GstControlPoint struct which "inherits" from
2994         GstTimedValue to allow different interpolators to store internal
2995         values next to each control point. From the outside everything is
2996         still a GstControlPoint so we don't loose binary compatibility.
2997         Also fixup all the GValue handling to not leak GValues or list nodes.
2998         * tests/check/libs/controller.c: (GST_START_TEST):
2999         Free the list nodes and GValues in the controller_misc test.
3000
3001 2007-05-17  Edward Hervey  <edward@fluendo.com>
3002
3003         * gst/gstsegment.c:
3004         Small doc fix.
3005
3006 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3007
3008         * gst/gstplugin.c: (gst_plugin_load_file):
3009           If we fail to load a plugin because of unresolved symbols or missing
3010           libraries and spew a warning to stderr, we may just as well mention
3011           which plugin it was that failed to load.
3012
3013 2007-05-13  David Schleef  <ds@schleef.org>
3014
3015         * docs/Makefile.am: the gtk-doc makefile snippet correctly
3016           handles the case when ENABLE_GTK_DOC is false, and installs
3017           the prebuilt documentation.  So gtk-doc subdirs are 
3018           unconditionally enabled.  Fixes: #349099.
3019
3020 2007-05-13  David Schleef  <ds@schleef.org>
3021
3022         * gst/gstutils.h: Reword some documentation.
3023
3024 2007-05-12  David Schleef  <ds@schleef.org>
3025
3026         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
3027           do anything with the passed "module" parameter, so remove it.
3028           Allows removal of additional vestigal code.
3029
3030 2007-05-12  David Schleef  <ds@schleef.org>
3031
3032         * gst/gstplugin.c:
3033           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
3034           Switch to using g_stat() because it's more portable.
3035
3036 2007-05-12  David Schleef  <ds@schleef.org>
3037
3038         * gst/gst.c:
3039           Add GST_DISABLE_OPTION_PARSING, in order to disable option
3040           parsing for embedded systems.
3041         * gst/gstelementfactory.c:
3042           Allow gst_element_register() to be called with plugin==NULL.
3043           Did nobody notice that static elements were broken?
3044
3045 2007-05-12  Wim Taymans  <wim@fluendo.com>
3046
3047         * tools/gst-launch.c: (event_loop):
3048         Give more interesting info when buffering starts and stops.
3049         Fix case where buffering starts but we fail to update the buffering flag
3050         because the target state is not PLAYING.
3051
3052 2007-05-12  Wim Taymans  <wim@fluendo.com>
3053
3054         * plugins/elements/gstqueue.c: (gst_queue_init),
3055         (gst_queue_finalize), (update_time_level), (apply_segment),
3056         (apply_buffer), (gst_queue_locked_flush),
3057         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
3058         (gst_queue_handle_sink_event), (gst_queue_chain),
3059         (gst_queue_push_one), (gst_queue_loop):
3060         * plugins/elements/gstqueue.h:
3061         Refactor an cleanup queue a bit.
3062         Do better time level calculations that also work when the srcpad is not
3063         yet running.
3064         Remove some unneeded debug lines.
3065
3066         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
3067         Added testcase for time level measurement.
3068         Try to make some stuff more racefree.
3069
3070 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3071
3072         * gst/gsturi.c: (gst_element_make_from_uri):
3073           Don't leak plugin feature.
3074
3075         * tests/check/Makefile.am:
3076         * tests/check/gst/.cvsignore:
3077         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
3078           Add brain-dead unit test.
3079
3080 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3081
3082         Patch by: Jeroen Wouters <woutersj at gmail com>
3083
3084         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
3085           Treat protocol strings in a case-insensitive way (#437563).
3086
3087 2007-05-11  Michael Smith <msmith@fluendo.com>
3088
3089         * gst/gstplugin.c: (gst_plugin_load_file):
3090         * gst/gstregistry.c: (gst_registry_scan_path_level):
3091           Don't print a g_warning for any failure to load a shared object.
3092           Instead, push this down into gstplugin.c, and warn _only_ if we
3093           failed to open the module (i.e. failure to link).
3094           Avoids warnings on normal, working, non-plugin .so files.
3095
3096 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
3097
3098         * gst/gstplugin.c (gst_plugin_load_file):
3099         * gst/gstregistry.c (GST_CAT_DEFAULT,
3100           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
3101           Print a g_warning if there was an error when loading a plugins during
3102           registry scan. The shuld help beginners starting with gst-plugin
3103           template.
3104
3105 2007-05-10  Wim Taymans  <wim@fluendo.com>
3106
3107         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3108         (update_time_level), (gst_queue_locked_flush),
3109         (gst_queue_handle_sink_event), (gst_queue_chain),
3110         (gst_queue_push_one), (gst_queue_loop):
3111         * plugins/elements/gstqueue.h:
3112         Be smarter when calculating the current amount of data in the queue by
3113         measuring the difference between start and end timestamps (in running
3114         time) inside the queue. Fixes #432876.
3115         API: GstQueue::pushing to notify elements that we are pushing data again
3116         since the running signal is rather broken for this purpose.
3117
3118 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
3121           gst_queue_base_init, gst_queue_init):
3122           use GST_BOILERPLATE
3123
3124 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
3125
3126         * win32/common/libgstreamer.def:
3127         Add new exported functions.
3128         * win32/vs6/grammar.dsp:
3129         Use grammar pre-generated files.
3130
3131 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3132
3133         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
3134
3135         * gst/Makefile.am:
3136         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
3137         * gst/gstparse.h:
3138         * gst/gstutils.c: (gst_parse_bin_from_description):
3139         * gst/gstutils.h:
3140           Maintain API and ABI when --disable-parse is used. Now that
3141           we have an appropriate error code, we can just return NULL and the
3142           appropriate error when gst_parse_launch() is used despite it having
3143           been disabled (#342564).
3144
3145         * tests/check/Makefile.am:
3146         * tests/check/pipelines/.cvsignore:
3147         * tests/check/pipelines/parse-disabled.c:
3148           Make sure these functions exist and return NULL plus a GError when
3149           --disable-parse is used.
3150
3151 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3152
3153         * tests/benchmarks/complexity.c: (main):
3154         * tests/benchmarks/mass-elements.c: (main):
3155           Set a good example and don't leak messages.
3156
3157 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
3158
3159         * docs/gst/Makefile.am:
3160         * docs/libs/Makefile.am:
3161           Correct fixxrefs options.
3162
3163         * docs/plugins/Makefile.am:
3164         * docs/plugins/gstreamer-plugins-docs.sgml:
3165         * docs/plugins/gstreamer-plugins-sections.txt:
3166         * plugins/elements/Makefile.am:
3167         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
3168         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
3169           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
3170           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
3171           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
3172           _GstCapsFilterClass, trans_class):
3173         * plugins/elements/gstelements.c (name, rank, type, _elements):
3174         * plugins/elements/gstidentity.c
3175           (gst_identity_check_imperfect_timestamp,
3176           gst_identity_check_imperfect_offset):
3177           Document capsfilter and add doc-blurb to identity.
3178
3179 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3180
3181         * libs/gst/controller/gstcontroller.c:
3182         (gst_controlled_property_set_interpolation_mode):
3183         * libs/gst/controller/gstinterpolation.c:
3184           Don't crash if someone tries to set an interpolation mode that
3185           is invalid or that isn't supported yet. Fixes #422295.
3186
3187         * tests/check/libs/controller.c: (GST_START_TEST),
3188         (gst_controller_suite):
3189           Add a test case for the above.
3190
3191 2007-05-03  Edward Hervey  <edward@fluendo.com>
3192
3193         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3194         Properly set the last_stop position on GstSegment. This will only happen
3195         if there is a buffer to push out.
3196
3197 2007-05-03  Wim Taymans  <wim@fluendo.com>
3198
3199         * libs/gst/base/gstbasetransform.c:
3200         (gst_base_transform_buffer_alloc):
3201         always_in_place does not mean that the sink and source caps are the
3202         same! Make sure we don't blindly proxy the buffer_alloc in this case.
3203
3204 2007-05-03  Wim Taymans  <wim@fluendo.com>
3205
3206         * docs/libs/gstreamer-libs-sections.txt:
3207         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3208         (gst_base_src_default_query), (gst_base_src_get_range):
3209         * libs/gst/base/gstbasesrc.h:
3210         API: gst_base_src_query_latency(). Added method so that subclasses can
3211         easily get the latency values of the base source class.
3212
3213 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
3214
3215         * tools/gst-inspect.c (print_implementation_info):
3216         Remove 0.8 cruft.
3217
3218 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         * tools/Makefile.am:
3221         * tools/gst-launch.1.in:
3222           Don't create a customised man page based on the host architecture,
3223           describe the default registry path generically. That way the man
3224           page is the same for all architectures and packagers have one
3225           multilib issue less to deal with. Fixes #434926.
3226
3227 2007-05-02  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/gstpad.c:
3230         Fix documentation as spotted by rg on IRC. 
3231
3232 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
3233
3234         * gst/gstutils.c:
3235           Improve docs for gst_element_{link,unlink}.
3236
3237 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
3238
3239         * docs/design/part-events.txt:
3240         * docs/design/part-overview.txt:
3241         * gst/gstevent.c:
3242         * gst/gsturi.c:
3243         * gst/gsturi.h:
3244         * libs/gst/base/gstbasesink.c:
3245           Typo fixes; minor docs addition.
3246
3247 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3248
3249         * docs/gst/gstreamer-sections.txt:
3250         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
3251         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
3252         * gst/gsturi.h:
3253         API: Add gst_uri_protocol_is_supported(), which checks if a sink
3254         or src that supports a given URI protocol exists.
3255
3256 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3257
3258         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3259         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3260         Set the location to NULL if "file://" is set as URI. Otherwise
3261         some random previous URI would still be set if "file://" is
3262         set on an already used filesink/filesrc.
3263
3264 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3265
3266         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3267         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3268         Special case the "file://" URI as as this is used by some
3269         applications to test with gst_element_make_from_uri if there's
3270         an element that supports the URI protocol.
3271         Also move the g_path_is_absolute() check for the location part
3272         of the URI to also check this for "file://localhost/bla" URIs.
3273
3274 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
3275
3276         * docs/gst/gstreamer-sections.txt:
3277         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
3278         * gst/gstbuffer.h:
3279         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
3280         (gst_buffer_suite):
3281           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
3282
3283 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
3284
3285         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3286         (gst_registry_binary_load_pad_template),
3287         (gst_registry_binary_load_plugin),
3288         (gst_registry_binary_read_cache):
3289         * gst/gstregistrybinary.h:
3290           Implement no-mmap alternative for registry reading. Do code cleanups.
3291           Add more comments about avoiding strdups for all text data. Comments
3292           welcome.
3293
3294 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3295
3296         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3297           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3298           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3299           Comment structs and reformat to fix the build (that stuff should go
3300           into a priv. header).
3301
3302 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3303
3304         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3305         (gst_registry_binary_load_feature):
3306         * gst/gstregistrybinary.h:
3307           Refactor so that we can implement multiple features. Add support for
3308           TypeFindFactory features.
3309
3310 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3311
3312         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3313
3314         * configure.ac:
3315           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3316
3317 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3318
3319         * gst/gstbin.c: (gst_bin_element_set_state),
3320         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3321         (bin_handle_async_done), (gst_bin_handle_message_func):
3322           Fix build with --gst-disable-gst-debug
3323
3324 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3327           Make sure streaming has finished before calling the ::stop() vfunc,
3328           since that vfunc might clear state which is being used in the
3329           streaming thread. This fixes a race that caused crashes in
3330           audioresample when shutting down a pipeline (#420106).
3331
3332 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3333
3334         * docs/gst/gstreamer-sections.txt:
3335           That was one byte missing.
3336
3337 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3338
3339         * configure.ac:
3340         * docs/gst/gstreamer-sections.txt:
3341         * gst/Makefile.am:
3342         * gst/gstconfig.h.in:
3343         * gst/gstobject.c: (gst_object_class_init),
3344         (gst_signal_object_class_init):
3345         * gst/gstobject.h:
3346           2nd attempt to have a xml-less build as a joined effort of #413123
3347           and #421480.
3348
3349 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3350
3351         * docs/design/draft-tagreading.txt:
3352           Added open issues/thoughts to draft.
3353
3354 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3355
3356         * gst/parse/grammar.tab.pre.c:
3357         * gst/parse/grammar.tab.pre.h:
3358         * gst/parse/lex._gst_parse_yy.pre.c:
3359         Update the prebuild parser sources.
3360
3361 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3362
3363         * gst/parse/Makefile.am:
3364         And now fix the building of the flex sources. Now everything should
3365         work as expected.
3366
3367 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3368
3369         * gst/parse/Makefile.am:
3370         Now hopefully fix the build failures by setting proper rule
3371         dependencies and moving instead of copying.
3372
3373 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3374
3375         * tests/benchmarks/complexity.gnuplot:
3376         * tests/benchmarks/complexity.scm:
3377         * tests/benchmarks/mass-elements.gnuplot:
3378         * tests/benchmarks/mass-elements.scm:
3379           Total licensification.
3380
3381 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3382
3383         * gst/parse/Makefile.am:
3384           Fix the build by correcting the rule that gave wrong files to flex.
3385
3386 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3387
3388         * tests/benchmarks/complexity.c:
3389         * tests/benchmarks/mass-elements.c:
3390           Change licence to LGPL as granted by Benjamin and Andy.
3391
3392 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3393
3394         * gst/parse/Makefile.am:
3395         Add correct grammar.tab.h dependency if compiling without new enough
3396         flex. Fixes #431150.
3397
3398 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3399
3400         * gst/parse/Makefile.am:
3401         Fix typo and use outdated sources if the flex/bison sources are newer
3402         than the pregenerated ones but flex is too old. Print a warning in
3403         that case. This should fix the build on the build bot.
3404
3405 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3406
3407         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3408         * gst/parse/Makefile.am:
3409         * gst/parse/grammar.y:
3410         * gst/parse/parse.l:
3411         Make the parser reentrant and recursively callable. This requires flex
3412         >= 2.5.31, for older versions pregenerated sources are used as we
3413         can't bump the build dependency. Finally fixes #349180.
3414
3415         * gst/gstparse.c: (gst_parse_launch):
3416         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3417         now anyway.
3418
3419         * docs/gst/Makefile.am:
3420         * docs/gst/Makefile.am:
3421         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3422         (__gst_parse_strfree), (__gst_parse_link_new),
3423         (__gst_parse_link_free), (__gst_parse_chain_new),
3424         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3425         (gst_parse_element_set), (gst_parse_free_link),
3426         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3427         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3428         (_gst_parse_launch):
3429         * gst/parse/grammar.tab.pre.h:
3430         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3431         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3432         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3433         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3434         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3435         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3436         (_gst_parse_yypop_buffer_state),
3437         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3438         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3439         (yy_fatal_error), (_gst_parse_yyget_extra),
3440         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3441         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3442         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3443         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3444         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3445         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3446         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3447         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3448         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3449         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3450         (_gst_parse_yyfree):
3451         If the installed flex version is too old use pre-generated parser
3452         sources. These pre-generated parser sources are always updated when
3453         the actual flex/bison sources change but require everybody who wants
3454         to change something in the parser to have flex >= 2.5.31 installed.
3455
3456 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3457
3458         * common/m4/gst-gettext.m4:
3459         * gst/gst-i18n-lib.h:
3460           Make --disable-nls to work
3461
3462 2007-04-17  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/gstconfig.h.in:
3465         Revert previous change that broke the build.
3466
3467 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3468
3469         * configure.ac:
3470         * gst/Makefile.am:
3471         * gst/gstconfig.h.in:
3472           Drop libxml2 dependency when building with 
3473           --enable-binary-registry --disable-loadsave
3474
3475 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3476
3477         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3478         (gst_registry_binary_read_cache):
3479         * gst/gstregistrybinary.h:
3480           Remove unnecessary <sys/mman.h> include which broke the win32 build
3481           with MingW; move includes from header file to .c file, even if the
3482           header file isn't installed; use g_strerror() where UTF-8 strings
3483           are expected, such as in GST_DEBUG messages.
3484
3485 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3486
3487         * docs/libs/gstreamer-libs-sections.txt:
3488         Remove bogus addition for API I didn't end up keeping.
3489
3490         * libs/gst/base/gstbasesrc.h:
3491         Mention Since: 0.10.13 in the documentation.
3492
3493         Add the API keyword to the previous ChangeLog entry.
3494
3495 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3496
3497         * docs/libs/gstreamer-libs-sections.txt:
3498         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3499         (gst_base_src_default_prepare_seek_segment),
3500         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3501         * libs/gst/base/gstbasesrc.h:
3502         Allow basesrc derived classes to execute seeks in other formats
3503         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3504         to prepare the GstSegment in any format that their perform_seek method
3505         will be able to understand. The default implementation provides the
3506         old behaviour of attempting to convert the seek offsets to the 
3507         configured native format.
3508
3509         API: basesrc::prepare_seek_segment vmethod.
3510
3511 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3512
3513         * gst/gstelement.c: (gst_element_get_state_func):
3514         Don't output the same debug statement twice.
3515
3516         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3517         (gst_adapter_peek), (gst_adapter_take_buffer):
3518         Optimise the case where we have buffers at the head of the queue that
3519         can be joined quickly (because they're contiguous sub-buffers) by
3520         merging them together rather than copying data out into new memory.
3521
3522         * gst/parse/grammar.y:
3523         * tests/check/pipelines/parse-launch.c:
3524         Fix a leak in an error path for parse_launch, and add a check 
3525         for it to the testsuite.
3526
3527 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3528
3529         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3530           Don't deadlock when releasing a pad - gst_pad_set_active may try
3531           and take the multiqueue lock too.
3532
3533 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         * gst/gsterror.c: (_gst_core_errors_init):
3536         * gst/gsterror.h:
3537           API: add GST_CORE_ERROR_DISABLED (#392804).
3538
3539 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3540
3541         * docs/faq/gst-uninstalled:
3542           don't get empty paths on the PATH variables
3543         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3544           Don't format for the uncommon terminal width of 84 characters.
3545
3546 2007-04-06  Wim Taymans  <wim@fluendo.com>
3547
3548         * gst/gstpipeline.c: (reset_stream_time),
3549         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3550         Only try to select a different pipeline clock when we went back to
3551         PAUSED and not when we merely got flushed.
3552
3553 2007-04-05  Michael Smith  <msmith@fluendo.com>
3554
3555         * tools/gst-launch.1.in:
3556           fractions are better supported in gstreamer than ractions, so
3557           suggest using those.
3558
3559 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3560
3561         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3562
3563         * po/LINGUAS:
3564         * po/da.po:
3565           Added Danish translation.
3566
3567 2007-04-05  Wim Taymans  <wim@fluendo.com>
3568
3569         * libs/gst/base/gstbasesink.c:
3570         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3571         Fix leak caused when refusing newsegment after EOS.
3572
3573         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3574         (gst_fake_sink_init), (gst_fake_sink_set_property),
3575         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3576         (gst_fake_sink_render), (gst_fake_sink_change_state):
3577         * plugins/elements/gstfakesink.h:
3578         Add num-buffers property to make the element generate EOS after a
3579         configurable amount of buffers.
3580         API: fakesink::num-buffers property.
3581
3582         * tests/check/elements/fakesink.c: (GST_START_TEST),
3583         (fakesink_suite):
3584         Fix GstBus leak in test.
3585         Test for fakesink num-buffers.
3586
3587 2007-04-05  Wim Taymans  <wim@fluendo.com>
3588
3589         * libs/gst/base/gstbasesink.c:
3590         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3591         (gst_base_sink_change_state):
3592         Don't accept anything after an EOS, return UNEXPECTED instead.
3593
3594         * tests/check/elements/fakesink.c: (GST_START_TEST),
3595         (fakesink_suite):
3596         Unit test for new EOS behaviour.
3597
3598 2007-04-05  Wim Taymans  <wim@fluendo.com>
3599
3600         * gst/gstelement.c: (gst_element_get_request_pad):
3601         Make padtemplates also work when they don't contain %s or %d.
3602
3603 2007-04-05  Wim Taymans  <wim@fluendo.com>
3604
3605         * docs/gst/gstreamer-sections.txt:
3606         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3607         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3608         * gst/gstclock.h:
3609         Improve _adjust_unlocked() so that it overflows less.
3610         Add gst_clock_unadjust_unlocked to convert from external time to
3611         internal time based on calibration.
3612         Add some more debug.
3613         API: GstClock::gst_clock_unadjust_unlocked()
3614
3615 2007-04-03  Wim Taymans  <wim@fluendo.com>
3616
3617         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3618
3619         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3620         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3621         when releasing sink pad. Fixes #425400.
3622
3623 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3624
3625         * docs/random/ensonic/dynlink.txt:
3626           More work on proposal for new core api.
3627
3628         * docs/libs/gstreamer-libs-sections.txt:
3629         * libs/gst/base/gstbasetransform.h:
3630           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3631           
3632         * libs/gst/controller/gstcontroller.c:
3633         (on_object_controlled_property_changed),
3634         (gst_controller_sync_values),
3635         (gst_controller_set_interpolation_mode):
3636         * libs/gst/controller/gstcontroller.h:
3637           Less verbose logging add docs for unimplemented parts and correctly
3638           return when using unavailable parts.
3639
3640 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3641
3642         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3643         Move all the debug to the CLOCK category, and associate it with
3644         the clock object.
3645
3646 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3647
3648         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3649         Make take_buffer a bit quicker by removing redundant checks
3650         caused by calling gst_adapter_take.
3651
3652 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3653
3654         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3655           Don't leak GCond.
3656
3657         * tests/check/Makefile.am:
3658         * tests/check/elements/.cvsignore:
3659         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3660         (GST_START_TEST), (multiqueue_suite):
3661           Add some dead simple unit tests for the 'multiqueue' element
3662           (some bits don't work yet and are disabled for now).
3663
3664 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3665
3666         * gst/gstelement.c: (gst_element_get_request_pad),
3667         (gst_element_class_get_request_pad_template):
3668           Make gst_element_get_request_pad() create request pads only for
3669           request pad templates and not for, say, sometimes pad templates.
3670
3671 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3672
3673         * docs/design/draft-klass.txt:
3674           Add example that needs more thinking.
3675         
3676         * docs/design/draft-missing-plugins.txt:
3677           More thoughts about wrapper plugins.
3678         
3679         * docs/random/ensonic/embedded.txt:
3680         * docs/random/ensonic/profiling.txt:
3681           More design work.
3682
3683 2007-03-25  Wim Taymans  <wim@fluendo.com>
3684
3685         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3686         (gst_base_src_loop):
3687         Only push the segment events in the PLAYING state for live sources.
3688
3689 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3690
3691         * gst/gstpipeline.c: (gst_pipeline_change_state):
3692         Modify the clock distribution path in PAUSED->PLAYING so that we 
3693         never attempt to choose a new clock unless we're actually leaving
3694         the PAUSED state for the first time. This prevents choosing a
3695         different clock when the state_change gets called for a 2nd time due
3696         to some element doing an async state change.
3697
3698 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3699
3700         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3701         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3702         (gst_pad_chain_unchecked), (gst_pad_push):
3703         Revert last commit. This needs some more thoughts.
3704
3705 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3706
3707         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3708         (gst_pad_chain_unchecked), (gst_pad_push):
3709         Check in set_caps if the caps are compatible with the pad and remove
3710         two functions that are redundant now. Fixes #421543.
3711
3712 2007-03-22  Wim Taymans  <wim@fluendo.com>
3713
3714         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3715         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3716         Unref some more to make valgrind happy.
3717
3718 2007-03-22  Wim Taymans  <wim@fluendo.com>
3719
3720         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3721         (gst_system_clock_id_wait_jitter),
3722         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3723         Fix anoying regression that survived a few releases. When adding an
3724         async entry while blocking on a sync entry, the sync entry will unblock
3725         but still be busy, so it should continue to wait instead of returning
3726         _BUSY to the app.
3727         Add some comments here and there.
3728
3729         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3730         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3731         Add testcase for this.
3732
3733 2007-03-22  Wim Taymans  <wim@fluendo.com>
3734
3735         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3736         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3737         WRONG_STATE and can silently pause the task. All other cases should
3738         error out.
3739
3740 2007-03-22  Wim Taymans  <wim@fluendo.com>
3741
3742         Patch by: Ville Syrjala <syrjala at sci dot fi>
3743
3744         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3745         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3746         Improve debugging.
3747
3748 2007-03-21  Michael Smith  <msmith@fluendo.com>
3749
3750         * docs/pwg/advanced-types.xml:
3751           Fix some errors in the typefinding docs pointed out on irc.
3752
3753 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3754
3755         * libs/gst/base/gstbasesrc.c:
3756         Clarify FIXME comment in the face of having added unlock_stop()
3757
3758 2007-03-21  Wim Taymans  <wim@fluendo.com>
3759
3760         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3761         Prepare for release where we warn against possible app breakage in the
3762         case of live pipelines along with an env var to enable/disable live
3763         preroll mode (GST_COMPAT=[no-]live-preroll).
3764
3765 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3766
3767         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3768         So we should use correct constants for checking for None offset.
3769
3770 2007-03-20  Wim Taymans  <wim@fluendo.com>
3771
3772         * docs/design/part-block.txt:
3773         Mention the fact that the newly switched element should be set to at
3774         least PAUSED.
3775
3776 2007-03-20  Wim Taymans  <wim@fluendo.com>
3777
3778         * gst/gst.c:
3779         Fix compilation with registry disabled as spotted by Saur.
3780
3781 2007-03-20  Wim Taymans  <wim@fluendo.com>
3782
3783         Patch by: Olivier Crete <tester at tester dot ca>
3784
3785         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3786         Look at the pending state too when syncing the element state to the
3787         parent. Fixes #420133.
3788
3789 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3790
3791         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3792         (gst_base_sink_change_state):
3793         * libs/gst/base/gstbasesink.h:
3794         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3795         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3796         (gst_base_src_deactivate):
3797         * libs/gst/base/gstbasesrc.h:
3798         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3799         for sub-classes to correctly clear any state they set trying to
3800         unlock, such as clearing out unlock commands from a command fd.
3801         API: basesrc::unlock_stop
3802         API: basesink::unlock_stop
3803
3804         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3805         (gst_fd_sink_render), (gst_fd_sink_unlock),
3806         (gst_fd_sink_unlock_stop):
3807         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3808         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3809         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3810
3811         Implement unlock_stop in fdsrc and fdsink.
3812         Implement seeking in fdsrc when a seekable fd is passed, as in
3813         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3814
3815 2007-03-19  Wim Taymans  <wim@fluendo.com>
3816
3817         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3818
3819         * gst/gstelement.c: (gst_element_class_init):
3820         Fix pad-added and pad-removed signal signatures so that the pad type is
3821         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3822
3823 2007-03-19  Wim Taymans  <wim@fluendo.com>
3824
3825         * docs/gst/gstreamer-sections.txt:
3826         Add new element field and method.
3827
3828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3829         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3830         (gst_bin_recalc_state), (gst_bin_get_state_func),
3831         (gst_bin_element_set_state), (gst_bin_change_state_func),
3832         (gst_bin_continue_func), (bin_bus_handler),
3833         (bin_push_state_continue), (bin_handle_async_start),
3834         (bin_handle_async_done), (gst_bin_handle_message_func):
3835         Make async state changes a bit smarter by using new ASYNC_START and
3836         ASYNC_DONE messages. This reduces the number of times we run the state
3837         recalculation thread.
3838         Don't change state of element with a pending ASYNC_START message.
3839         Deprecate STATE_DIRTY messages.
3840         
3841         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3842         (gst_element_get_state_func), (gst_element_continue_state),
3843         (gst_element_lost_state), (gst_element_set_state_func),
3844         (gst_element_change_state):
3845         * gst/gstelement.h:
3846         Keep the state that was last set by the app in a new element field.
3847         Don't allow state changes when handling an element event.
3848         Post ASYNC_START and ASYNC_DONE messages.
3849         Change lost_state so that we go to PAUSED and wait for the parent to set
3850         us to PLAYING again (so latency calculation can be performed)
3851         Export gst_element_change_state() method so that subclasses can use it.
3852         API: gst_element_change_state()
3853         API: GST_STATE_TARGET
3854
3855         * gst/gstpipeline.c: (gst_pipeline_class_init),
3856         (reset_stream_time), (gst_pipeline_change_state),
3857         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3858         Using the new ASYNC_START message we can reset the base_time when
3859         needed. This can then be used to implement base_time redistribution in
3860         flushing seeks so that we can remove the explicit seek handling.
3861         Perform latency query and configuration when going to PLAYING.
3862
3863         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3864         (gst_base_sink_query), (gst_base_sink_change_state):
3865         Post new ASYNC_START/ASYNC_DONE messages.
3866
3867         * tests/check/generic/sinks.c: (GST_START_TEST):
3868         Fix test because the bin will not set the async element to PLAYING right
3869         away.
3870
3871         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3872         Make the message check a little stronger.
3873         Handle ASYNC messages.
3874
3875         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3876         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3877         Expect ASYNC_DONE messages.
3878
3879 2007-03-19  Wim Taymans  <wim@fluendo.com>
3880
3881         * docs/gst/gstreamer-sections.txt:
3882         * gst/gstmessage.c: (gst_message_new_async_start),
3883         (gst_message_new_async_done), (gst_message_parse_info),
3884         (gst_message_parse_async_start):
3885         * gst/gstmessage.h:
3886         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3887         support.
3888
3889 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3890
3891         * tools/gst-inspect.c:
3892         (print_plugin_automatic_install_info_codecs):
3893           Now that we don't check for the 'Codec' keyword any longer in the
3894           klass, we shouldn't spew a warning if the klass isn't a decoder or
3895           encoder (since it might be a Source/Network, for example).
3896
3897 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3898
3899         * tools/gst-inspect.c:
3900         (print_plugin_automatic_install_info_codecs):
3901           Don't require decoder/demuxer/depayloader elements or
3902           encoder/muxer/paylader elements to have 'Codec' as part of their
3903           factory class string when introspecting a plugin's capabilities.
3904           draft-klass.txt mentions that it might be removed in future, and
3905           flump3dec doesn't have it as part of its class string, so chances
3906           are others might also not have it.
3907
3908 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3909
3910         * po/af.po:
3911         * po/az.po:
3912         * po/bg.po:
3913         * po/ca.po:
3914         * po/cs.po:
3915         * po/de.po:
3916         * po/en_GB.po:
3917         * po/fr.po:
3918         * po/it.po:
3919         * po/nb.po:
3920         * po/nl.po:
3921         * po/ru.po:
3922         * po/sq.po:
3923         * po/sr.po:
3924         * po/sv.po:
3925         * po/tr.po:
3926         * po/uk.po:
3927         * po/vi.po:
3928         * po/zh_CN.po:
3929         * po/zh_TW.po:
3930           Update translations from translation project
3931
3932 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3933
3934         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3935         (gst_child_proxy_set_property):
3936           Invert precondition check to be alike the ones in the mimiced gobject
3937           api.
3938
3939 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3940
3941         * docs/design/draft-tagreading.txt:
3942         * docs/random/ensonic/audiobaseclasses.txt:
3943           Do some Architect work.
3944
3945         * gst/gstobject.c: (gst_object_set_name):
3946           Add a WARNING.
3947
3948         * gst/gstpad.c:
3949           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3950
3951 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3952
3953         * gst/gstsystemclock.c: (gst_system_clock_init),
3954         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3955         Defer starting the async system clock thread until the first async
3956         wait is scheduled. Fixes #414986.
3957
3958 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3959
3960         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3961         (gst_single_queue_free):
3962           Fix small leak (free GstSingleQueue structure too, not only contents).
3963
3964 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3965
3966         * gst/gstbin.c:(gst_bin_add):
3967         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3968         * win32/common/libgstbase.def:
3969         * win32/common/libgstreamer.def:
3970         Add new exported functions.
3971
3972 2007-03-09  Wim Taymans  <wim@fluendo.com>
3973
3974         * docs/plugins/gstreamer-plugins-sections.txt:
3975         Fix GstTee docs.
3976
3977 2007-03-09  Wim Taymans  <wim@fluendo.com>
3978
3979         * docs/gst/gstreamer-sections.txt:
3980         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3981         * gst/gstbuffer.h:
3982         Add metadata copy functions. Fixes #393099.
3983         API: gst_buffer_copy_metadata()
3984
3985         * gst/gstutils.c: (gst_buffer_stamp):
3986         * libs/gst/base/gstbasetransform.c:
3987         (gst_base_transform_prepare_output_buffer):
3988         Use new metadata copy functions.
3989
3990 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3991
3992         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3993         (gst_identity_init), (gst_identity_check_perfect),
3994         (gst_identity_check_imperfect_timestamp),
3995         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3996         (gst_identity_set_property), (gst_identity_get_property):
3997         * plugins/elements/gstidentity.h:
3998         Separate out check-imperfect-timestamp and check-imperfect-offset.
3999         Put back check-perfect as it was to keep compatibility.
4000
4001 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
4002
4003         * gst/gstelement.c: (gst_element_dispose):
4004         There's no need to warn if VOID_PENDING is not NONE here, as
4005         long as the state is NULL it's ok, and that's checked immediately
4006         above.
4007
4008 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4009
4010         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4011         Fix check for perfect stream to ignore buffers with -1 
4012         offsets/offset ends when checking data contiguity.
4013
4014 2007-03-08  Wim Taymans  <wim@fluendo.com>
4015
4016         * tools/gst-launch.c: (event_loop):
4017         Print INFO messages.
4018
4019 2007-03-08  Wim Taymans  <wim@fluendo.com>
4020
4021         * libs/gst/base/gstbasetransform.c:
4022         (gst_base_transform_sink_eventfunc),
4023         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4024         (gst_base_transform_activate):
4025         * libs/gst/base/gstbasetransform.h:
4026         Add support for dropping buffers with custom GstFlowReturn.
4027         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
4028         buffers or dropped buffers.
4029
4030         * docs/libs/gstreamer-libs-sections.txt:
4031         docs for new custom return code.
4032
4033         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4034         Use drop support in base class to implement drop-probability.
4035
4036 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4037
4038         * gst/gst.c: (load_plugin_func):
4039         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
4040         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4041         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
4042           Remove newlines at end of debug log strings.
4043
4044 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4045
4046         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4047         Only post bus message at max, once per buffer received.
4048
4049 2007-03-07  Wim Taymans  <wim@fluendo.com>
4050
4051         * docs/design/Makefile.am:
4052         * docs/design/part-synchronisation.txt:
4053         Add doc about synchronisation
4054
4055         * docs/design/draft-latency.txt:
4056         * docs/design/part-TODO.txt:
4057         * docs/design/part-clocks.txt:
4058         * docs/design/part-events.txt:
4059         * docs/design/part-gstbus.txt:
4060         * docs/design/part-gstpipeline.txt:
4061         * docs/design/part-live-source.txt:
4062         * docs/design/part-messages.txt:
4063         * docs/design/part-overview.txt:
4064         * docs/design/part-streams.txt:
4065         * docs/design/part-trickmodes.txt:
4066         Documentation updates.
4067
4068 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4069
4070         * gstreamer.doap:
4071         Update the doap file.
4072
4073 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4074
4075         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4076         Rename non-perfect to imperfect for Mike and for the sanctity of the
4077         language.
4078         Also make sure bus message gets emitted for data-incontiguities.
4079
4080 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4081
4082         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
4083         (gst_identity_start):
4084         * plugins/elements/gstidentity.h:
4085         Emit bus message if check-perfect is true and we encounter a
4086         non-perfect stream between 2 consecutive buffers.
4087         Fixes #415394.
4088
4089 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4090
4091         * configure.ac:
4092         Back to CVS
4093
4094 === release 0.10.12 ===
4095
4096 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
4097
4098         * configure.ac:
4099           releasing 0.10.12, "Inevitable Demise"
4100
4101 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
4102
4103         * configure.ac:
4104          Version 0.10.11.2 (0.10.12 pre-release)
4105          Bump libtool versioning.
4106
4107 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
4108
4109         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4110           Log flow-names and not numbers.
4111
4112 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4113
4114         * configure.ac:
4115           Convert to new AG_GST style.
4116
4117 2007-02-28  Wim Taymans  <wim@fluendo.com>
4118
4119         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
4120         Don't unref query twice.
4121
4122 2007-02-28  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/gstvalue.c: (gst_value_transform_object_string),
4125         (_gst_value_initialize):
4126         Implement GstObject -> string transform so we print object names
4127         when serializing GValues containing GstObjects.
4128
4129 2007-02-28  Wim Taymans  <wim@fluendo.com>
4130
4131         * docs/gst/gstreamer-sections.txt:
4132         Add new stuff to docs.
4133
4134 2007-02-28  Wim Taymans  <wim@fluendo.com>
4135
4136         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4137         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
4138         (gst_base_sink_change_state):
4139         Improve latency query code.
4140         Don't leak latency events.
4141
4142         * tests/check/gst/gstbin.c: (GST_START_TEST):
4143         Improve debugging.
4144
4145 2007-02-28  Wim Taymans  <wim@fluendo.com>
4146
4147         * gst/gstelement.c: (gst_element_message_full),
4148         (gst_element_get_state_func):
4149         * gst/gstelement.h:
4150         Improve docs a little. Added Since: for new macro.
4151
4152         * gst/gstobject.c: (gst_object_sink):
4153         * gst/gstpipeline.c: (gst_pipeline_change_state),
4154         (gst_pipeline_set_new_stream_time):
4155         * gst/gstpipeline.h:
4156         Improve debugging and docs.
4157
4158         * gst/gstutils.c: (gst_element_state_change_return_get_name):
4159         Improve debugging.
4160
4161 2007-02-28  Wim Taymans  <wim@fluendo.com>
4162
4163         * gst/gstelement.c: (gst_element_message_full),
4164         (gst_element_set_locked_state), (gst_element_get_state_func),
4165         (gst_element_change_state):
4166         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
4167         Documentation updates.
4168         Small code cleanups.
4169
4170         * gst/gstmessage.c: (gst_message_new_info),
4171         (gst_message_parse_info):
4172         * gst/gstmessage.h:
4173         API: gst_message_new_info()
4174         API: gst_message_parse_info()
4175         Add INFO message create and parse code.
4176
4177 2007-02-28  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
4180         (bin_query_latency_done):
4181         Also report the live parameter of a latency query.
4182
4183 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4184
4185         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
4186           Copy the current generic/states example from -base and adapt so
4187           we can use the exact same code everywhere.
4188           Check a STATES_IGNORE_ELEMENTS env var which can be used
4189           to ignore certain element factories for this test, which is
4190           what is being done in -base
4191         * tests/check/Makefile.am:
4192           Mention this environment variable.
4193
4194 2007-02-27  Wim Taymans  <wim@fluendo.com>
4195
4196         * docs/gst/gstreamer-sections.txt:
4197         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
4198         (gst_bus_timed_pop), (gst_bus_pop):
4199         * gst/gstbus.h:
4200         API: gst_bus_timed_pop()
4201         Implement gst_bus_timed_pop() to do a blocking timed wait for a
4202         message to arrive on the bus.
4203
4204         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
4205         (gst_bus_suite):
4206         Two unit tests for new _timed_pop() function.
4207
4208 2007-02-23  Wim Taymans  <wim@fluendo.com>
4209
4210         * gst/gstpipeline.c: (gst_pipeline_change_state),
4211         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
4212         Don't ref a NULL clock in _provide_clock_func().
4213         Don't allow an INVALID delay.
4214         Don't try to calculate base_time with an invalid start_time.
4215         Also distribute and notify a NULL clock when it was selected.
4216
4217         * tools/gst-launch.c: (event_loop):
4218         Don't crash when a NULL clock was selected in the pipeline.
4219
4220 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4221
4222         * docs/design/Makefile.am:
4223         * docs/design/draft-missing-plugins.txt:
4224         * docs/random/draft-missing-plugins.txt:
4225           Some small updates: update plugin system identifier prefix
4226           ('gstreamer.net' to 'gstreamer'), mention our new install
4227           API in libgstbaseutils rather than libgimme-codec, add
4228           reference to the online docs.
4229
4230 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4231
4232         * win32/common/config.h:
4233           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
4234           use moap cl ci to only check in what is mentioned in the ChangeLog.
4235
4236 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4237
4238         * docs/gst/gstreamer-sections.txt:
4239         * gst/gstelement.h:
4240           Fix up documentation to link to the correct GstGError section.
4241           Add GST_ELEMENT_INFO macro since someone else added a Info message.
4242
4243 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4244
4245         * tools/gst-launch.c: (event_loop):
4246           Make sure that we actually show the important message part of a
4247           warning message.
4248           No need to check if the gerror is not NULL to free; first of all
4249           g_free accepts NULL; and second the default error handler would
4250           segfault if gerror was NULL.
4251
4252 2007-02-21  Wim Taymans  <wim@fluendo.com>
4253
4254         * docs/gst/gstreamer-sections.txt:
4255         Removed docs as well.
4256
4257 2007-02-21  Wim Taymans  <wim@fluendo.com>
4258
4259         * gst/gstmessage.c: (gst_message_parse_duration):
4260         * gst/gstmessage.h:
4261         Remove new messages for release.
4262
4263 2007-02-20  Wim Taymans  <wim@fluendo.com>
4264
4265         * docs/design/part-gstghostpad.txt:
4266         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
4267         (gst_ghost_pad_new_full):
4268         Make the ghostpad a parent of the internal pad again for better backward
4269         compatibility. Don't write code that relies on this however.
4270
4271         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4272         (gst_pad_link_check_hierarchy):
4273         Require that parents should be GstElements in the hierarchy check.
4274
4275 2007-02-20  Wim Taymans  <wim@fluendo.com>
4276
4277         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
4278         (gst_bin_change_state_func), (bin_query_min_max_init),
4279         (bin_query_latency_fold), (bin_query_latency_done),
4280         (gst_bin_query):
4281         Improve debug info.
4282         Implement latency query.
4283
4284 2007-02-20  Wim Taymans  <wim@fluendo.com>
4285
4286         * docs/design/part-gstghostpad.txt:
4287         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
4288         (gst_ghost_pad_internal_do_activate_push),
4289         (gst_ghost_pad_internal_do_activate_pull),
4290         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4291         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
4292         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
4293         Do not set the internal pad as a parent anymore so we can avoid
4294         hierarchy linking errors when the ghostpad has no parent yet. This also
4295         fixes failed activation because of unlinked internal pads, which in
4296         turn fixes the impossible case where you have to activate a pad before
4297         you can add it to a running element.
4298         Also fix the docs.
4299
4300         * gst/gstpad.c: (pre_activate), (post_activate),
4301         (gst_pad_set_active), (gst_pad_activate_pull),
4302         (gst_pad_activate_push), (gst_pad_check_pull_range):
4303         Add some more debug info.
4304         Mark activation mode in pre_activate so that we don't try to activate in
4305         endless loops. Fixes #385084.
4306
4307 2007-02-19  Wim Taymans  <wim@fluendo.com>
4308
4309         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4310         (gst_base_transform_check_get_range):
4311         Implement a checkgetrange function instead of relying on the default
4312         core behaviour that assumes we can operate in pull mode if we have a
4313         getrange function. First step at fixing #385084.
4314
4315 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
4316
4317         * gst/gstchildproxy.h:
4318         * libs/gst/base/gstbasesink.h:
4319         * libs/gst/base/gstbasesrc.h:
4320         * libs/gst/base/gstbasetransform.h:
4321         More docs coverage and some ChangeLog surgery (add missing names)
4322
4323 2007-02-15  Wim Taymans  <wim@fluendo.com>
4324
4325         * docs/design/part-TODO.txt:
4326         * docs/design/part-activation.txt:
4327         * docs/design/part-block.txt:
4328         * docs/design/part-buffering.txt:
4329         * docs/design/part-clocks.txt:
4330         * docs/design/part-element-source.txt:
4331         * docs/design/part-events.txt:
4332         * docs/design/part-gstbin.txt:
4333         * docs/design/part-gstbus.txt:
4334         * docs/design/part-gstpipeline.txt:
4335         * docs/design/part-live-source.txt:
4336         * docs/design/part-messages.txt:
4337         * docs/design/part-overview.txt:
4338         * docs/design/part-qos.txt:
4339         * docs/design/part-query.txt:
4340         * docs/design/part-states.txt:
4341         * docs/design/part-trickmodes.txt:
4342         Some doc updates. Start renaming from stream_time to running_time where
4343         it was used wrongly.
4344
4345 2007-02-15  Wim Taymans  <wim@fluendo.com>
4346
4347         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4348         Answer LATENCY query.
4349
4350 2007-02-15  Wim Taymans  <wim@fluendo.com>
4351
4352         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4353         (GST_START_TEST):
4354         Improve debugging.
4355
4356 2007-02-15  Wim Taymans  <wim@fluendo.com>
4357
4358         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4359         (gst_pad_dispatcher):
4360         Improve debugging of default pad dispatcher and query functions.
4361
4362 2007-02-15  Wim Taymans  <wim@fluendo.com>
4363
4364         * docs/gst/gstreamer-sections.txt:
4365         Remove old unused method.
4366
4367 2007-02-13  Wim Taymans  <wim@fluendo.com>
4368
4369         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4370         Fix check
4371
4372 2007-02-13  Wim Taymans  <wim@fluendo.com>
4373
4374         * docs/design/part-seeking.txt:
4375         Some small update.
4376
4377         * gst/gstsegment.c: (gst_segment_set_seek):
4378         Revert old bogus change that should make seeking work again.
4379
4380 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4381
4382         * docs/random/ensonic/dynlink.txt:
4383         * docs/random/ensonic/interfaces.txt:
4384         * docs/random/ensonic/receipies.txt:
4385           Possible dynamic reconnection api, plus some type fixes the other two
4386           docs.
4387
4388 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
4389
4390         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4391         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4392         Also check for an absolute path following file:// in the filesrc
4393         element. Remove redundant check and call g_path_is_absolute() on the
4394         unescaped location.
4395
4396 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4397
4398         * docs/design/draft-klass.txt:
4399           Add existing category analysis.
4400           
4401         * gst/gstcaps.c:
4402           Fix doc example, framerate is a fraction.
4403
4404 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4405
4406         * configure.ac:
4407         * docs/gst/Makefile.am:
4408         * docs/gst/gstreamer-sections.txt:
4409         * docs/libs/Makefile.am:
4410           Erm, forgot a bunch of --extra-dir.
4411
4412 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * configure.ac:
4415         * docs/gst/Makefile.am:
4416         * docs/libs/Makefile.am:
4417         * docs/plugins/Makefile.am:
4418           Add crossreferences to glib/gobject docs.
4419
4420 2007-02-12  Wim Taymans  <wim@fluendo.com>
4421
4422         * docs/design/draft-latency.txt:
4423         Small update.
4424
4425         * docs/libs/gstreamer-libs-sections.txt:
4426         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4427         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4428         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4429         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4430         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4431         (gst_base_sink_get_position), (gst_base_sink_query),
4432         (gst_base_sink_change_state):
4433         * libs/gst/base/gstbasesink.h:
4434         API: gst_base_sink_query_latency() to let subclasses query the upstream
4435         latency.
4436         API: gst_base_sink_get_latency() to let subclasses query the configured
4437         latency in the sink.
4438         Implement query and set latency.
4439         Update some docs.
4440         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
4441         don't continue preroll when we are flushing. Fixes #405284.
4442
4443         * tests/check/pipelines/stress.c: (change_state_timeout),
4444         (quit_timeout), (GST_START_TEST), (stress_suite):
4445         Test for #405284.
4446
4447 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4448
4449         Patch by: René Stadler <mail at renestadler de>
4450
4451         * docs/gst/gstreamer-sections.txt:
4452         * gst/gsttaglist.c: (_gst_tag_initialize):
4453         * gst/gsttaglist.h:
4454           API: add GST_TAG_REFERENCE_LEVEL (#403597).
4455
4456 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
4457
4458         * docs/libs/Makefile.am:
4459           Fix path to core docs.
4460
4461         * gst/gstbin.c: (gst_bin_get_by_interface),
4462         (gst_bin_iterate_all_by_interface):
4463           Refix docs by also renaming 'interface' to 'iface' in implementation.
4464
4465         * docs/gst/gstreamer-sections.txt:
4466         * gst/gstcaps.c:
4467         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4468         * gst/gstchildproxy.h:
4469         * gst/gstelementfactory.c:
4470         * gst/gstpadtemplate.h:
4471         * libs/gst/controller/gstcontroller.c:
4472         (gst_controlled_property_new):
4473           Document more.
4474
4475 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
4476
4477         * gst/gstbin.h:(gst_bin_get_by_interface),
4478         (gst_bin_iterate_all_by_interface):
4479         Replace interface parameter name by iface as interface is 
4480         a reserved keyword in Visual Studio for C++ projects so it removes
4481         a build error for application developpers using VS.
4482         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4483         Fix a bug on Windows in uri format check. Now the prefix checked
4484         is file:// and next we check if the path after file:// is absolute.
4485         * win32/common/libgstbase.def:
4486         * win32/common/libgstdataprotocol.def:
4487         * win32/common/libgstgstreamer.def:
4488         Add new exported functions.
4489
4490 2007-02-09  Andy Wingo  <wingo@pobox.com>
4491
4492         * tests/check/pipelines/simple-launch-lines.c
4493         (simple_launch_lines_suite, test_tee): Disable tee test until I
4494         have time to fix it :-(
4495
4496         * tests/check/Makefile.am (noinst_HEADERS): 
4497         * tests/check/libs/libsabi.c: 
4498         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4499         * tests/check/gst/gstabi.c: 
4500         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4501
4502         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4503         tests for push and pull tee behavior.
4504
4505         * plugins/elements/gsttee.h: 
4506         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4507         mark as deprecated as well as unimplemented. It was a crack idea.
4508         Add support for tee operating in pull mode, off by default.
4509
4510         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4511         normal-case logs down to LOG, raise errors to WARNING.
4512         (gst_registry_xml_read_cache): Don't log before calling a function
4513         that logs.
4514
4515         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4516         exit (registry finalize).
4517         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4518         DEBUG log when we emit signals that people don't even have the
4519         chance to connect to.
4520         (gst_registry_scan_path_level): Less logging in the normal case.
4521
4522 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4523
4524         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4525
4526         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4527         Correctly generate EOS for non-seekable files. We don't have a total
4528         length for them and would get an unexpected end of file if we only
4529         special-cased for regular files. (Fixes: #404569)
4530
4531 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4532
4533         * tests/check/elements/filesrc.c: (GST_START_TEST),
4534         (filesrc_suite):
4535         Add unit test for the GstURIHandler interface in filesrc. This also
4536         tests the newly added file://localhost/foo/bar support.
4537
4538 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4539
4540         * gst/gstelementfactory.h:
4541           The klass string is not a hierarchy. Add reference to the design doc
4542           for more information and common types.
4543
4544 2007-02-02  Wim Taymans  <wim@fluendo.com>
4545
4546         * gst/gstquery.c: (gst_query_new_latency):
4547         Remove old structure field.
4548
4549 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4550
4551         * tools/gst-launch.1.in:
4552           Give example for network streaming (#351998)
4553
4554 2007-02-02  Wim Taymans  <wim@fluendo.com>
4555
4556         * docs/gst/gstreamer-sections.txt:
4557         Add docs for new methods.
4558
4559         * gst/gstevent.c: (gst_event_new_latency),
4560         (gst_event_parse_latency):
4561         * gst/gstevent.h:
4562         Add new LATENCY event to configure latency in a pipeline.
4563         API: gst_event_new_latency
4564         API: gst_event_parse_latency
4565
4566         * gst/gstmessage.c: (gst_message_new_buffering),
4567         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4568         (gst_message_new_latency), (gst_message_parse_buffering),
4569         (gst_message_parse_lost_preroll):
4570         * gst/gstmessage.h:
4571         Added messages used in draft-latency.
4572         API: gst_message_new_lost_preroll
4573         API: gst_message_parse_lost_preroll
4574         API: gst_message_new_prerolled
4575         API: gst_message_new_latency
4576
4577         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4578         (gst_query_parse_latency):
4579         * gst/gstquery.h:
4580         Implemented new latency query as in design doc.
4581         API: gst_query_new_latency
4582         API: gst_query_set_latency
4583         API: gst_query_parse_latency
4584
4585 2007-02-02  Wim Taymans  <wim@fluendo.com>
4586
4587         * docs/design/draft-latency.txt:
4588         Slight redesign to allow for dynamic latency adjustments.
4589
4590         * docs/design/part-negotiation.txt:
4591         Fix some typos.
4592
4593 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4594
4595         reviewed by: Wim Taymans <wim@fluendo.com>
4596
4597         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4598         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4599         Allow file://localhost/foo/bar URLs and correctly fail for every other
4600         hostname that one sets. This was gnomevfssrc is linked for those if
4601         installed as it can handle it (#403172)
4602
4603 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4604
4605         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4606
4607         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4608         (unref_data), (gst_collect_pads_add_pad_full):
4609         * libs/gst/base/gstcollectpads.h:
4610         Don't put the previously added destroy notify in the GstCollectData
4611         struct as all it's padding is already used and we don't want to break
4612         ABI. Instead put in the pad's GObject data for now. This should be
4613         cleaned up for 0.11 (#402393).
4614
4615 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4616
4617         reviewed by: Wim Taymans <wim@fluendo.com>
4618
4619         * docs/libs/gstreamer-libs-sections.txt:
4620         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4621         (unref_data), (gst_collect_pads_add_pad),
4622         (gst_collect_pads_add_pad_full):
4623         * libs/gst/base/gstcollectpads.h:
4624         API: Add function to specify a destroy notification for custom
4625         GstCollectData when adding new pads in GstCollectPads (#402393).
4626
4627 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
4628
4629         * po/sv.po:
4630           Update Swedish translation (#378255).
4631
4632 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4633
4634         * docs/design/draft-klass.txt:
4635           Fix the previous change, this is a list of categories and not a hierarchy.
4636
4637 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4638
4639         * docs/design/draft-klass.txt:
4640           Add info about how to get a list of used classes.
4641
4642 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
4643
4644         * plugins/elements/gsttypefindelement.c:
4645         (gst_type_find_element_chain_do_typefinding),
4646         (gst_type_find_element_change_state):
4647           Don't leak found caps in chain function (no idea why that never
4648           showed up as a leak anywhere).
4649
4650 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
4651
4652         * gst/gstplugin.h:
4653           Fix and expand GstPluginDesc API docs.
4654
4655 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4656
4657         * gst/gstcaps.c:
4658         * gst/gstelementfactory.c:
4659         * gst/gstpadtemplate.h:
4660           api doc fixes
4661
4662         * libs/gst/controller/gstcontroller.c:
4663         (gst_controlled_property_new):
4664         * tests/examples/controller/audio-example.c:
4665           comment fixes
4666
4667 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4668
4669         * configure.ac:
4670           comment about refining the xml deps
4671
4672         * docs/manuals.mak:
4673           comments about moving away from jade for docs
4674         
4675         * gst/gst.c:
4676           recommit the ifdefs to use the binary registry
4677         
4678         * gst/gstbin.c: (gst_bin_change_state_func):
4679           this break is obsolete
4680
4681         * gst/gstelementfactory.h:
4682           better GST_ELEMENT_DETAILS docs, add comment about translation
4683
4684         * gst/gstinfo.h:
4685           remove eol slash
4686
4687         * gst/gstobject.c: (gst_signal_object_get_type):
4688           add G_UNLIKELY as usual
4689
4690         * gst/gstpad.c: (gst_pad_event_default):
4691           add fall trhu comment
4692
4693         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4694         (gst_registry_binary_initialize_magic),
4695         (gst_registry_binary_save_string),
4696         (gst_registry_binary_save_pad_template),
4697         (gst_registry_binary_save_feature),
4698         (gst_registry_binary_save_plugin),
4699         (gst_registry_binary_write_cache),
4700         (gst_registry_binary_check_magic),
4701         (gst_registry_binary_load_pad_template),
4702         (gst_registry_binary_load_feature),
4703         (gst_registry_binary_load_plugin),
4704         (gst_registry_binary_read_cache):
4705           comment typo and formatting
4706
4707         * gst/gstutils.c: (gst_element_state_get_name),
4708         (gst_element_state_change_return_get_name):
4709           remove obsolete breaks
4710
4711         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4712           add FIXME 0.11 and remove cpp comment
4713
4714 2007-01-29  Edward Hervey  <edward@fluendo.com>
4715
4716         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4717         Fix print statement in an even more portable way.
4718
4719 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4720
4721         * docs/gst/gstreamer-sections.txt:
4722         * gst/gstutils.h:
4723           API: add GST_ROUND_DOWN_* macros (#401781).
4724
4725 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4726
4727         * docs/gst/gstreamer.types.in:
4728         * gst/gstregistry.c: (gst_registry_class_init):
4729           Document registry signals and make gtk-doc pick them up (#401381).
4730
4731 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4732
4733         * docs/pwg/building-testapp.xml:
4734           Add some audioconverts and audioresample to the pipeline, and some
4735           more comments and error handling.
4736
4737 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4738
4739         * docs/manual/manual.xml:
4740         * docs/pwg/pwg.xml:
4741           Fix typo (#400987).
4742
4743 2007-01-26  Wim Taymans  <wim@fluendo.com>
4744
4745         * gst/gstcaps.c: (gst_static_caps_get):
4746         Init caps flags too.
4747
4748 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4749
4750         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4751
4752         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4753         If not using mmap'ed files try to seek to the end instead of the
4754         start to determine whether we can seek at all. This fixes the case
4755         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4756         seeks for everything afterwards fail. Fixes #400656
4757
4758 2007-01-25  Wim Taymans  <wim@fluendo.com>
4759
4760         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4761         Add some refcount debugging.
4762         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4763         in multiple streaming threads.
4764
4765 2007-01-25  Wim Taymans  <wim@fluendo.com>
4766
4767         Patch by: David Schleef <ds at schleef dot org>
4768
4769         * docs/libs/gstreamer-libs-sections.txt:
4770         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4771         * libs/gst/base/gstadapter.h:
4772         API: gst_adapter_copy() that can reduce the amount of memcpy when
4773         getting data from the adapter. Fixes #388201.
4774
4775 2007-01-25  Edward Hervey  <edward@fluendo.com>
4776
4777         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4778         In print statements, "%x" is for guint. Fixes build on macosx.
4779
4780 2007-01-24  Edward Hervey  <edward@fluendo.com>
4781
4782         * plugins/elements/gstmultiqueue.c:
4783         (gst_multi_queue_loop):
4784         Small fix.
4785         (single_queue_overrun_cb), (single_queue_underrun_cb),
4786         (single_queue_check_full), (gst_single_queue_new):
4787         Implement single queue growth system.
4788         This uses the extra-size properties, and will grow single queues by
4789         that much if one goes full whereas there are others empty. This is
4790         called extra-mode in the code.
4791         When a single queue's levels go back below the initial max-size
4792         limits, it is no longer in extra-mode. This is to ensure we don't
4793         consume too much memory.
4794         Fixes #399875
4795
4796 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         * gst/gst.c: (gst_init_get_option_group):
4799           Make warning about late g_thread_init() calls a bit more explicit,
4800           so that it's more obvious to application developers what they need
4801           to do if a user files a bug against their application.
4802
4803 2007-01-22  Edward Hervey  <edward@fluendo.com>
4804
4805         * plugins/elements/gstmultiqueue.c:
4806         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4807         Remove previous hack of unsetting the flushing flag for the source pad
4808         instead of activating it. Instead, fix the source pad activate function
4809         so that it no longer depends on having a parent set or not.
4810
4811 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4812
4813         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4814
4815         * docs/manual/basics-bus.xml:
4816           Fix example code, gst_element_unref() doesn't exist any longer.
4817
4818 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4819
4820         Patch by: Mark Nauwelaerts <manauw at skynet be>
4821
4822         * gst/gstpad.c:
4823           Fix two docs typoes (#399094).
4824
4825 2007-01-19  Edward Hervey  <edward@fluendo.com>
4826
4827         * docs/faq/gst-uninstalled:
4828         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4829         depending on libgstbaseutils can work in uninstalled environment.
4830
4831 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4832
4833         * gst/gsttaglist.h:
4834         * gst/gsttagsetter.c:
4835         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4836         statement for new tag.
4837
4838 2007-01-17  Edward Hervey  <edward@fluendo.com>
4839
4840         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4841         When dynamically creating single queues, activate sinkpad before adding
4842         it.
4843         We should be doing the same thing for the source pad, but we can't
4844         since it would call a method which needs the parent to be set in order
4845         to work propertly. Instead of activating the source pad, we just unset
4846         the flushing flag, which is the minimal requirement for adding a pad
4847         to an element in a state greater than READY.
4848
4849 2007-01-17  Edward Hervey  <edward@fluendo.com>
4850
4851         * docs/faq/gst-uninstalled:
4852         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4853         Mac OS X.
4854
4855 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4856
4857         * tests/check/gst/gstabi.c:
4858         * tests/check/gst/struct_hppa.h:
4859         * tests/check/libs/libsabi.c:
4860         * tests/check/libs/struct_hppa.h:
4861           Add ABI structs for HPPA (see #393796).
4862
4863 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
4864
4865         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4866           Actually write ABI structs to the file specified in the GST_ABI
4867           environment variable, as the message we print claims we would.
4868
4869 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4870
4871         * tests/check/gst/gsttask.c:
4872           Fix header comment.
4873
4874 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4875
4876         * gst/gsttaglist.c: (_gst_tag_initialize):
4877           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4878           previous two entries.
4879
4880 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4881
4882         * docs/gst/gstreamer-sections.txt:
4883         * gst/gsttaglist.c: (_gst_tag_initialize):
4884         * gst/gsttaglist.h:
4885           Add tag support for beat-per-minute.
4886
4887 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4888
4889         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4890         (gst_registry_binary_initialize_magic),
4891         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4892         (gst_registry_binary_save_pad_template),
4893         (gst_registry_binary_save_feature),
4894         (gst_registry_binary_save_plugin),
4895         (gst_registry_binary_write_cache),
4896         (gst_registry_binary_check_magic),
4897         (gst_registry_binary_load_pad_template),
4898         (gst_registry_binary_load_feature),
4899         (gst_registry_binary_load_plugin),
4900         (gst_registry_binary_read_cache):
4901         * gst/gstregistrybinary.h:
4902           Use glib types, cleanup comments, impement interfaces and uri-types.
4903
4904 2007-01-13  Andy Wingo  <wingo@pobox.com>
4905
4906         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4907         getrange() to return buffers with other caps, while we fix
4908         demuxers and typefind, or otherwise change part-negotiation.txt.
4909
4910 2007-01-12  Andy Wingo  <wingo@pobox.com>
4911
4912         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4913         Factor start/stop into this private function instead of partially
4914         in activate functions and partially in the change_state function.
4915         Fixes setup before the element has changed from READY->PAUSED, as
4916         is the case in pull-mode pipelines.
4917         (gst_base_transform_sink_activate_push)
4918         (gst_base_transform_src_activate_pull): Refactor to use
4919         gst_base_transform_activate().
4920         (gst_base_transform_change_state): Removed, not needed any more.
4921
4922         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4923         Truncate before fixating.
4924         
4925         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4926         Don't set_caps() if the result of fixating is ANY, as it's not
4927         supported, and not necessary in the case of a link with no
4928         template caps on either side. Fixes tests/check/libs/basesrc in
4929         some pull-mode tests.
4930
4931         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4932         (gst_base_transform_init, gst_base_transform_sink_activate_push)
4933         (gst_base_transform_src_activate_pull): 
4934         Track the activation mode.
4935         (gst_base_transform_setcaps): In pull mode, when activating the
4936         src pad, after activating the sink pad, activate the sink pad's
4937         peer, as discussed in part-negotiation.txt.
4938
4939         * libs/gst/base/gstbasesrc.h: 
4940         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4941         vmethod, as in basesink.
4942
4943         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4944
4945         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4946         mode, first proxy the setcaps to the peer pad.
4947         (gst_base_sink_pad_fixate): Add a fixate function that calls the
4948         new fixate vmethod.
4949         (gst_base_sink_default_activate_pull): Rename from
4950         gst_base_sink_activate_pull.
4951         (gst_base_sink_negotiate_pull): New function, performs negotiation
4952         in pull mode before calling ::activate_pull().
4953         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4954         vmethod instead of the default implementation. I have no idea how
4955         this worked before. Negotiate before calling activate_pull.
4956
4957         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4958         sink pads in pull mode. In addition to being correct, fixes
4959         filesrc ! decodebin ! identity ! fakesink.
4960         (gst_pad_get_range, gst_pad_pull_range): Don't call
4961         gst_pad_set_caps() if the caps changes; instead error out with
4962         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4963
4964 2007-01-12  Andy Wingo  <wingo@pobox.com>
4965
4966         * docs/design/part-negotiation.txt: Update with more policy.
4967
4968 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4969
4970         * libs/gst/check/gstbufferstraw.h:
4971         * libs/gst/check/gstcheck.h:
4972           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4973           belongs.
4974
4975 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4976
4977         * tests/check/Makefile.am:
4978         * tests/check/gst/.cvsignore:
4979         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4980         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4981         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4982         (GST_START_TEST), (gst_tag_setter_suite):
4983           Add minimal unit test for beforementioned GstTagSetter bug.
4984
4985 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         Patch by: René Stadler <mail at renestadler dot de>
4988
4989         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4990           gst_tag_list_merge() returns a new list, so it's not the best idea
4991           to ingore its return value. Effectively meant that tags could only
4992           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4993           Also add function guard to require a non-NULL taglist as input (has
4994           always been so due to gst_tag_list_copy(), just making it explicit).
4995
4996 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * docs/random/draft-missing-plugins.txt:
4999           Some additions: mention new API that is supposed to be used at the
5000           various stages; short blob about new gst-inspect introspection
5001           option; mention potential future problem with plugins that have
5002           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
5003
5004 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5005
5006         * tools/gst-inspect.c:
5007         (print_plugin_automatic_install_info_codecs),
5008         (print_plugin_automatic_install_info_protocols),
5009         (print_plugin_automatic_install_info), (main):
5010         Add --print-plugin-auto-install-info option to gst-inspect, so we can
5011         introspect plugin files and get machine-parsable output that corresponds
5012         to the last bit of the missing-plugin installer string (small gotcha:
5013         doesn't take into account ranks).
5014
5015 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
5016
5017         * configure.ac:
5018         * docs/gst/gstreamer-sections.txt:
5019         * gst/Makefile.am:
5020         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
5021         (gst_registry_lookup_locked):
5022         * gst/gstregistry.h:
5023         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5024         (gst_registry_binary_initialize_magic),
5025         (gst_registry_binary_save_string),
5026         (gst_registry_binary_save_pad_template),
5027         (gst_registry_binary_save_feature),
5028         (gst_registry_binary_save_plugin),
5029         (gst_registry_binary_write_cache),
5030         (gst_registry_binary_check_magic),
5031         (gst_registry_binary_load_pad_template),
5032         (gst_registry_binary_load_feature),
5033         (gst_registry_binary_load_plugin),
5034         (gst_registry_binary_read_cache):
5035         * gst/gstregistrybinary.h:
5036         * gst/gstregistryxml.c: (load_feature),
5037         (gst_registry_xml_read_cache):
5038           commit binary registry (disabled by default, see #359653)
5039
5040 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5041
5042         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
5043           Fix 'make check' too.
5044
5045 2007-01-10  Andy Wingo  <wingo@pobox.com>
5046
5047         * docs/design/part-negotiation.txt: Fix a typo, add a couple
5048         notes.
5049         
5050         * docs/design/part-negotiation.txt: Update with, um, one way that
5051         pull-mode negotiation might work?
5052
5053         * gst/gstpad.h: 
5054         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
5055         that the pad must be a src pad; makes sense to call it the other
5056         way in pull mode, and the logic is symmetric anyway.
5057
5058 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5059
5060         * plugins/elements/gstfilesink.c:
5061           Include <stdio.h> for fseeko().
5062
5063 2007-01-10  Wim Taymans  <wim@fluendo.com>
5064
5065         * gst/gstevent.c:
5066         * gst/gstevent.h:
5067         Reserve LATENCY event.
5068
5069 2007-01-09  Wim Taymans  <wim@fluendo.com>
5070
5071         * docs/design/draft-latency.txt:
5072         Updates.
5073
5074 2007-01-09  Wim Taymans  <wim@fluendo.com>
5075
5076         * docs/design/draft-latency.txt:
5077         Updates.
5078
5079         * gst/gstelement.h:
5080         * gst/gststructure.c:
5081         * gst/gsttrace.c:
5082         Small typo fixes.
5083
5084 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5085
5086         * tests/check/.cvsignore:
5087           Ignore test-registry.xml as well.
5088
5089 2007-01-09  Wim Taymans  <wim@fluendo.com>
5090
5091         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5092         unref data at the end when we are done with the pad.
5093
5094 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5095
5096         * docs/gst/gstreamer-sections.txt:
5097         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
5098         (init_post), (gst_deinit), (gst_update_registry):
5099         * gst/gst.h:
5100           API: add gst_update_registry() (#391296).
5101
5102         * tests/check/Makefile.am:
5103         * tests/check/gst/gstregistry.c:
5104         * tests/check/gst/.cvsignore:
5105           Simple unit test for the above.
5106
5107 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5108
5109         * gst/gstregistry.c: (gst_registry_scan_path_level):
5110           Plugin extension on HP-UX is .sl, add that to the list of approved
5111           plugin extensions (see #393796).
5112
5113         * tests/check/gst/gstpad.c: (GST_START_TEST):
5114           ulong => gulong. Fixes compilation with HP-UX compiler.
5115
5116         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5117           Fix compilation if valgrind headers are not available.
5118
5119 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
5120
5121         * win32/common/libgstreamer.def: 
5122           Add new exported function.
5123         * win32/vs6/libgstbase.dsp: 
5124           Add gstdataqueue.c to the build.
5125         * win32/vs6/libgstcoreelements.dsp:
5126           Add gstmultiqueue.c to the build.
5127         
5128 2007-01-06  Andy Wingo  <wingo@pobox.com>
5129
5130         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
5131         activate_pull(), providing for a way to specialize the process of
5132         spawning a thread to pull on the sink pad. There is a default
5133         implementation.
5134
5135         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
5136         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
5137         (gst_base_sink_init): Renamed pad activation functions (inserting
5138         "_pad" in their names). Refactor to use the new activate_pull
5139         vmethod, as appropriate.
5140         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
5141         default activate_pull function to start a task pulling from the
5142         sink pad, as before.
5143
5144         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
5145         on the pads if necessary, as in push()/chain(). Update docs.
5146         Shouldn't affect existing pull() usage as it is currently only
5147         being used on buffers without caps.
5148
5149 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5150
5151         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5152         (init_pre):
5153           Call g_thread_init() first thing in gst_init() / gst_check_init().
5154           When initialisation is done via gst_init_get_option_group() and
5155           GOption parsing, issue a warning if the GLib thread system has not
5156           been initialised yet by the time gst_init_get_option_group() is
5157           called, as it's quite likely other GLib functions such as
5158           g_option_context_new() have been called already then, and
5159           g_thread_init() must be called before any other GLib function. The
5160           application in question must be fixed in that case, since memory
5161           corruption might happen otherwise.
5162           We issue the warning because even if the GLib folks decide to work
5163           around the problem on their end in future, this is still an issue
5164           with all GLib versions >= 2.10.0, so we should warn until we depend
5165           on a GLib version we know to be safe.
5166           Update documentation as well.
5167           Closes bug #391278.
5168
5169 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5170
5171         * tools/gst-inspect.c: (main):
5172         * tools/gst-launch.c: (main):
5173         * tools/gst-typefind.c: (main):
5174         * tools/gst-xmlinspect.c: (main):
5175           Call g_thread_init() really really early, before any other GLib
5176           function (see #342564 and recent discussion on gtk-devel-list).
5177
5178 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5179
5180         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
5181
5182         * gst/gst_private.h:
5183         * gst/gstconfig.h.in:
5184         * gst/gstinfo.h:
5185           On win32, all the __declspec stuff for symbol exporting is
5186           apparently only needed with MSVC, but doesn't work with MingW.
5187           Fixes compilation with MingW and #391909.
5188
5189 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5190
5191         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
5192           Change some GST_ERROR_OBJECT that aren't really errors to
5193           GST_WARNING_OBJECT in order to reduce terminal spam.
5194
5195 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5196
5197         * tests/check/Makefile.am:
5198           disable test again, as there seem to be still race problems
5199
5200 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5201
5202         * tests/check/Makefile.am:
5203         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5204         (GST_START_TEST), (queue_suite):
5205           enable queue test again, add tests for the leaky behaviour
5206
5207 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * configure.ac:
5210         * tests/examples/Makefile.am:
5211           Compile adapter test/example only if the required headers are
5212           available (fixes #391915).
5213
5214 2007-01-01  David Schleef  <ds@schleef.org>
5215
5216         * gst/gstplugin.c:
5217           Restore the previous signal handler for SIGSEGV instead of
5218           setting to default, since we may have stolen it away from
5219           someone.  (i.e., Mono)
5220
5221 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5222
5223         * docs/random/draft-missing-plugins.txt:
5224           Some small additions and clarifications.
5225
5226 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5227
5228         * gst/gstregistryxml.c: (gst_registry_save_escaped):
5229           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
5230           since that can lead to random memory corruptions and crashes
5231           (may or may not be related to #383244, #386711, and #386711).
5232
5233 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5234
5235         * tests/check/.cvsignore:
5236         * tests/check/Makefile.am:
5237           sync .cvsignome and CLEANFILES
5238
5239 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5240
5241         * tests/check/Makefile.am:
5242           fix distcheck
5243
5244 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5245
5246         * docs/design/part-states.txt:
5247           two tiny additional comments
5248         
5249         * gst/gststructure.c:
5250           doc fixing
5251
5252         * tests/check/Makefile.am:
5253         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5254         (GST_START_TEST):
5255           disable test for now, unless it gets fixed
5256
5257 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5258
5259         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5260         (GST_START_TEST):
5261           fix race in underrun test
5262
5263 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5264
5265         * tests/check/elements/.cvsignore:
5266           ignore more
5267
5268         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5269         (GST_START_TEST):
5270           try to narrow test failure
5271
5272 2006-12-21  David Schleef  <ds@schleef.org>
5273
5274         * plugins/elements/gstfakesrc.c:
5275           Use g_random_int_range(), since it produces better random
5276           numbers in a range than almost-correct floating point code.
5277
5278 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5279
5280         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5281         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5282         (gst_check_teardown_sink_pad):
5283           do not automatically (de)activate pads
5284
5285         * tests/check/Makefile.am:
5286         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5287         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
5288           add new, yet simple tests for queue
5289
5290         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
5291         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
5292         * tests/check/elements/filesrc.c: (cleanup_filesrc),
5293         (GST_START_TEST):
5294         * tests/check/elements/identity.c: (cleanup_identity):
5295           consistent pad (de)activation
5296
5297 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5298
5299         Patch by: Sebastian Dröge  <slomo ubuntu com>
5300
5301         * libs/gst/base/gstcollectpads.c:
5302           Fix two doc typos (#387866).
5303
5304 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5305
5306         * docs/manual/advanced-dparams.xml:
5307           Fix typo (g_object_control_properties() doesn't exist).
5308
5309 2006-12-19  Edward Hervey  <edward@fluendo.com>
5310
5311         * gst/gstsegment.c: (gst_segment_set_seek):
5312         Fine tune the cases where the segment start/stop values are really
5313         updated.
5314         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5315         Add tests for the return values of gst_segment_set_seek().
5316
5317 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5318
5319         * gst/gst.c:
5320           Docs typo fix.
5321
5322         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5323         (gst_queue_init):
5324           Fix incorrect documentation and flesh it out a bit more.
5325           Set default values for the max properties on the GParamSpec as well,
5326           so it shows up correctly in gst-inspect.
5327
5328 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
5329
5330         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5331           Correct docs of queue, add more detail and crosslink it more.
5332
5333 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5334
5335         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5336           Print additional debug info when the stream isn't perfectly
5337           timestamped; don't try to use invalid durations.
5338
5339 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5340
5341         * docs/design/Makefile.am:
5342           Dist new design docs.
5343
5344 2006-12-16  Wim Taymans  <wim@fluendo.com>
5345
5346         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5347
5348         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
5349         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5350         (gst_collect_pads_stop), (gst_collect_pads_event),
5351         (gst_collect_pads_chain):
5352         * libs/gst/base/gstcollectpads.h:
5353         Add refcounting to the collectpads data so we can track when it's safe
5354         to free the data. Fixes #383382.
5355
5356 2006-12-15  Wim Taymans  <wim@fluendo.com>
5357
5358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5359         (gst_collect_pads_remove_pad):
5360         Automatically activate/deactivate pads when they are added to a
5361         started/stoped collectpads.
5362
5363 2006-12-15  Wim Taymans  <wim@fluendo.com>
5364
5365         * gst/gstelement.c: (gst_element_add_pad):
5366         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5367         * gst/gstpad.c: (gst_pad_init):
5368         Set pads to FLUSHING when they are created. Check, warn and fix when a
5369         demuxer adds an inactive pad to itself when running. Fixes #339326.
5370
5371 2006-12-15  Wim Taymans  <wim@fluendo.com>
5372
5373         * gst/gstelement.c: (gst_element_class_init),
5374         (gst_element_default_send_event), (gst_element_send_event),
5375         (gst_element_default_query), (gst_element_query):
5376         Expose default element send_event and query handling as vmethods that
5377         subclasses can chain up to.
5378
5379 2006-12-15  Wim Taymans  <wim@fluendo.com>
5380
5381         * gst/gstelement.c: (gst_element_set_state_func):
5382         Small documentation fixes.
5383
5384 2006-12-15  Wim Taymans  <wim@fluendo.com>
5385
5386         * docs/design/draft-latency.txt:
5387         Checked in draft for handling latency in pipelines.
5388
5389 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5390
5391         * Makefile.am:
5392         * gstreamer.doap:
5393         * gstreamer.spec.in:
5394           adding .doap file
5395
5396 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * gst/gst.c: (init_pre), (init_post):
5399           init_pre() and init_post() might be called via our GOptionGroup or
5400           from gst_init(), and we should skip both of them if we've already
5401           been initialised, otherwise we will init some things twice or add
5402           two default log functions.
5403
5404 2006-12-13  Edward Hervey  <edward@fluendo.com>
5405
5406         * docs/manual/basics-bus.xml:
5407         No, gst_main_loop does not exist. Its g_main_loop.
5408         Discovered by somebody who abused the copy-paste technique of coding :)
5409
5410 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5411
5412         * gst/gstghostpad.c:
5413           Log ghostpad debug stuff to the GST_PADS category as well rather
5414           than just to the default category.
5415
5416 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5417
5418         * configure.ac:
5419         * gst/gst.c: (init_pre):
5420           Add some basic system details such as OS and architecture
5421           to the debug output if possible, courtesy of uname().
5422
5423 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5424
5425         * docs/gst/running.xml:
5426           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
5427           environment variables.
5428
5429 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5430
5431         * tests/check/gst/gstbin.c: (GST_START_TEST):
5432         It is acceptable to have a refcount of 2 or 3 at this point in the
5433         test, because the pipeline might be just posting its state_change
5434         message. The next line then waits for that message to appear using
5435         bus_poll, so that should be fine too.
5436
5437 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5438
5439         * gst/gst.c: (ensure_current_registry_forking):
5440         Ignore EINTR when reading from the child registry pipe.
5441         Explicitly ignore the return value from close, since it makes no
5442         difference.
5443
5444         * gst/gstminiobject.c: (gst_mini_object_ref),
5445         (gst_mini_object_unref):
5446         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
5447
5448         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
5449         When removing cached plugins, remove their features too, so they're
5450         not visible after they've disappeared.
5451
5452         * gst/gstutils.c: (prepare_link_maybe_ghosting):
5453         In the unlikely case that we are linking pads with no parents, don't
5454         crash trying to get the non-existent parent bin.
5455
5456         * gst/parse/grammar.y:
5457         Output debug in the PIPELINE category
5458
5459 2005-03-08  Wim Taymans  <wim@fluendo.com>
5460
5461         Patch by: René Stadler <mail at renestadler dot de>
5462
5463         * gst/gstclock.c: (gst_clock_new_periodic_id):
5464         Reject invalid clock times for interval of periodic ids.
5465         Fixes ##383506.
5466
5467 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5468
5469         * gst/gstelementfactory.c: (gst_element_factory_create):
5470         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5471         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5472         * tools/gst-inspect.c: (print_element_info):
5473         Fix refcounting of gst_plugin_feature_load to match the docs. 
5474         Fixes: #380129
5475
5476 2006-12-07  Wim Taymans  <wim@fluendo.com>
5477
5478         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5479         (gst_base_sink_get_position):
5480         Improve debugging of events.
5481
5482 2006-12-07  Wim Taymans  <wim@fluendo.com>
5483
5484         Patch by: René Stadler <mail at renestadler dot de>
5485
5486         * gst/gstclock.c: (gst_clock_id_wait):
5487         Make period ids add the interval to the origial requested time instead
5488         of the possibly updated time which can be wrong when there are multiple
5489         waiters for the same id. Fixes #382592.
5490
5491         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5492         (gst_system_clock_id_wait_jitter_unlocked),
5493         (gst_system_clock_id_wait_jitter):
5494         Fix restart in the async notify thread when an async entry is added to
5495         the front of the list. Fixes #381492. 
5496
5497         * tests/check/gst/gstsystemclock.c: (store_callback),
5498         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5499         Added test for multiple async waits.
5500         Added test for async wait order.
5501
5502 2006-12-07  Wim Taymans  <wim@fluendo.com>
5503
5504         * gst/gstbin.c: (gst_bin_query):
5505         Add some more docs about the POSITION query.
5506
5507 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5508
5509         * configure.ac:
5510         Bump version nano - back to CVS.
5511
5512 === release 0.10.11 ===
5513
5514 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5515
5516         * configure.ac:
5517           releasing 0.10.11, "Love never runs on time"
5518
5519 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5520
5521         * win32/common/libgstbase.def:
5522         * win32/common/libgstreamer.def:
5523         * win32/vs8/libgstbase.vcproj:
5524         * win32/vs8/libgstcoreelements.vcproj:
5525         * win32/vs8/libgstreamer.vcproj:
5526         Fix compilation on win32 under VS8
5527         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5528         Partially fixes #381175
5529
5530 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5531
5532         * gst/gstvalue.c: (gst_value_compare_fraction):
5533         If someone is foolish enough to compare 2 fractions with denominator =
5534         0, return UNORDERED rather than aborting.
5535
5536 2006-11-28  Edward Hervey  <edward@fluendo.com>
5537
5538         * libs/gst/base/Makefile.am:
5539         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5540         (gst_data_queue_base_init), (gst_data_queue_class_init),
5541         (gst_data_queue_init), (gst_data_queue_new),
5542         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5543         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5544         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5545         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5546         (gst_data_queue_set_flushing), (gst_data_queue_push),
5547         (gst_data_queue_pop), (gst_data_queue_drop_head),
5548         (gst_data_queue_set_property), (gst_data_queue_get_property):
5549         * libs/gst/base/gstdataqueue.h:
5550         New GstDataQueue object for threadsafe queueing. Most useful for
5551         elements that need some queueing functionnality.
5552         * docs/libs/gstreamer-libs-docs.sgml:
5553         * docs/libs/gstreamer-libs-sections.txt:
5554         Insert documentation for GstDataQueue
5555         * plugins/elements/Makefile.am:
5556         * plugins/elements/gstelements.c:
5557         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5558         (gst_multi_queue_class_init), (gst_multi_queue_init),
5559         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5560         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5561         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5562         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5563         (gst_multi_queue_loop), (gst_multi_queue_chain),
5564         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5565         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5566         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5567         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5568         (wake_up_next_non_linked), (compute_next_non_linked),
5569         (single_queue_overrun_cb), (single_queue_underrun_cb),
5570         (single_queue_check_full), (gst_single_queue_new):
5571         * plugins/elements/gstmultiqueue.h:
5572         New multiqueue element, using GstDataQueue. Used for queuing multiple
5573         streams.
5574         Closes #344639 and #347785
5575
5576 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5577
5578         * docs/pwg/advanced-types.xml:
5579           add more missing type details
5580
5581         * tools/gst-run.c: (main):
5582           remove unused variable
5583
5584 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
5585
5586         * docs/libs/Makefile.am:
5587         * docs/libs/gstreamer-libs.types:
5588           add types of base classes to enable gobject specific stuff in the docs
5589
5590         * docs/random/ensonic/embedded.txt:
5591           more ideas about isolating platform specific things
5592
5593 2006-11-20  Wim Taymans  <wim@fluendo.com>
5594
5595         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5596
5597         * libs/gst/check/gstcheck.h:
5598         Fix compilation and running against 0.9.4. Fixes #377332.
5599
5600 2006-11-20  Wim Taymans  <wim@fluendo.com>
5601
5602         * gst/gstsegment.c: (gst_segment_set_seek),
5603         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5604         (gst_segment_to_running_time):
5605         Fix boundary checking in to_running_time() and to_stream_time().
5606         Fixes #377183.
5607
5608         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5609         stream and running time can now be calculated for the complete
5610         clipped segment.
5611
5612 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
5613
5614         * gst/gstpad.c: (gst_pad_push_event):
5615           Can't access event structure after giving away ownership of
5616           the event.
5617
5618 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
5619
5620         * docs/random/ensonic/embedded.txt:
5621         * docs/random/ensonic/profiling.txt:
5622         * docs/random/ensonic/receipies.txt:
5623           more thinking
5624
5625 2006-11-13  Wim Taymans  <wim@fluendo.com>
5626
5627         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5628
5629         * gst/gstpad.c:
5630         Fix documentation for gst_pad_dispatcher. Fixes #374475.
5631
5632 2006-11-13  Wim Taymans  <wim@fluendo.com>
5633
5634         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5635
5636         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5637         Store new length in segment duration so we don't keep on calling the
5638         potentially expensize get_size() call. Fixes #370865.
5639
5640 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
5641
5642         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
5643
5644         * win32/common/libgstreamer.def:
5645           Add two missing symbols (#366492).
5646
5647 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
5648
5649         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5650         (gst_adapter_take_buffer):
5651         Fix format string to use all its arguments.
5652         Remove useless >= check on a guint
5653
5654 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5655
5656         * tests/examples/adapter/.cvsignore:
5657         Ignore build file as commanded by the build-bot
5658
5659 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5660
5661         * tests/examples/adapter/Makefile.am:
5662         * tests/examples/adapter/adapter_test.c: (run_test_take),
5663         (run_test_take_buffer), (run_tests), (main):
5664
5665         Add new files from the previous commit
5666
5667 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5668
5669         * Makefile.am:
5670         * configure.ac:
5671         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5672         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5673         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5674         * libs/gst/base/gstadapter.h:
5675         * tests/check/libs/adapter.c: (create_and_fill_adapter),
5676         (GST_START_TEST), (gst_adapter_suite):
5677         * tests/examples/Makefile.am:
5678         Do some optimisation work in GstAdapter to avoid copies in more cases.
5679         It could still do slightly better by merging buffers when
5680         gst_buffer_is_span_fast is true, but is already faster. 
5681
5682         Also, avoid traversing a single-linked list to append each incoming 
5683         buffer inside the adapter.
5684
5685         Add simple test app that times the adapter behaviour in different
5686         situations, and extend the unit test to check that bytes enter and
5687         exit the adapter in their original order.
5688
5689 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5690
5691         * docs/random/draft-missing-plugins.txt:
5692           Update: use element message instead of adding a new message
5693           type to the core; don't provide GStreamer API to initiate the
5694           plugin download, just provide API to compose the strings needed
5695           and let an external libgimmestuff handle the rest.
5696
5697 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
5698
5699         * tools/gst-inspect.c: (print_element_properties_info):
5700         Print a string instead of 'unknown type' for GValueArray properties
5701
5702 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
5703
5704         * docs/random/draft-missing-plugins.txt:
5705         More small fixes.
5706
5707 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5708
5709         * tests/examples/typefind/typefind.c: (type_found), (main):
5710           Make typefind element example work again (#371894); add a
5711           license header.
5712
5713 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5714
5715         * docs/random/draft-missing-plugins.txt:
5716           Commit initial draft about how to deal with missing plugins,
5717           needs work (API too).
5718
5719 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5720
5721         * docs/pwg/advanced-types.xml:
5722           documents the new caps elements (see #363118)
5723
5724 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5725
5726         * gst/gstplugin.c: (gst_plugin_load_file):
5727         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5728         (gst_file_src_map_region), (gst_file_src_start):
5729         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5730         (gst_file_index_commit):
5731           Use g_strerror() instead of strerror() - we want UTF-8.
5732
5733 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5734
5735         Patch by: Peter Kjellerstedt <pkj at axis com>
5736
5737         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5738           Another printf fix (#371493).
5739
5740 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5741
5742         * tests/check/gst/gsttag.c:
5743           relicence (okay with author=company)
5744
5745 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5746
5747         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5748         (gst_pad_push_event):
5749           Enhance debug and improve docs
5750         
5751         * gst/gsturi.c:
5752           Fix docs
5753
5754 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5755
5756         * docs/random/ensonic/distributed.txt:
5757         * docs/random/ensonic/profiling.txt:
5758           more ideas
5759
5760 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5761
5762         * docs/gst/gstreamer-sections.txt:
5763           add new API and fix the build
5764           
5765         * gst/gstbin.c: (gst_bin_recalc_state):
5766         * gst/gstelement.c: (gst_element_message_full),
5767         (gst_element_get_state_func), (gst_element_set_state_func):
5768           use new API and improve logging
5769         
5770         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5771         * gst/gstutils.h:
5772           API: add function to get StateChangereturn names to improve logs 
5773
5774 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5775
5776         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5777           I'm considering shooting the next person to put strerror stuff
5778           in the translateable part of the message.
5779
5780 2006-11-03  Wim Taymans  <wim@fluendo.com>
5781
5782         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5783         Get the type and printf conversion specifiers right.
5784
5785 2006-11-03  Wim Taymans  <wim@fluendo.com>
5786
5787         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5788
5789         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5790         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5791         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5792         Some small cleanups. Improve debugging.
5793         * gst/gstpad.h:
5794         Signal all waiting threads with a broadcast instead of just one.
5795         Fixes #369942.
5796
5797 2006-11-03  Wim Taymans  <wim@fluendo.com>
5798
5799         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5800         (gst_fd_src_create):
5801         Add some debugging. 
5802         Only update fd when it's different from the old.
5803
5804 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5805
5806         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5807           Printf fixes for PPC/OSX, take two (#369366).
5808
5809 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5810
5811         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5812
5813         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5814         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5815         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5816           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5817           don't cast to long long for portability reasons, but use
5818           GLib's types instead.
5819
5820 2006-10-30  Michael Smith  <msmith@fluendo.com>
5821
5822         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5823           Get the arguments to lseek() the right way around.
5824           Fixes 367677.
5825
5826 2006-10-30  Wim Taymans  <wim@fluendo.com>
5827
5828         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5829
5830         * gst/gstinfo.h:
5831         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5832
5833 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5834
5835         Patch by: Kjartan Maraas  <kmaraas at gnome org>
5836
5837         * docs/design/part-MT-refcounting.txt:
5838         * docs/random/wtay/capsnego2-docs:
5839         * gst/gstclock.c:
5840         * gst/gstxml.c:
5841           Typo fixes (#366212).
5842
5843 2006-10-28  Wim Taymans  <wim@fluendo.com>
5844
5845         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5846
5847         * gst/gst.c:
5848         * win32/common/libgstbase.def:
5849         * win32/common/libgstreamer.def:
5850         * win32/vs8/libgstbase.vcproj:
5851         * win32/vs8/libgstcontroller.vcproj:
5852         Add needed entries in .def files.
5853         Use HAVE_UNISTD_H.
5854         Rearrange def files in vs8 solutions. Fixes #366286.
5855
5856 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5857
5858         * win32/common/gstconfig.h:
5859           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5860           hand-made win32 gstconfig.h. Fixes #366321.
5861
5862 2006-10-27  Wim Taymans  <wim@fluendo.com>
5863
5864         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5865         (gst_ghost_pad_new_full):
5866         Make acceptcaps return TRUE when we don't have a target, just like
5867         setcaps does.
5868
5869 2006-10-27  Wim Taymans  <wim@fluendo.com>
5870
5871         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5872         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5873
5874 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * gst/gststructure.c: (gst_structure_id_set_value):
5877           If someone tries to set a non-UTF8 string field on a structure,
5878           don't just print a warning, but also ignore the request and do
5879           not change/add that field to the structure.
5880
5881         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5882           Test for the above.
5883
5884 2006-10-25  David Schleef  <ds@schleef.org>
5885
5886         * gst/gstinfo.c:
5887           g_hash_table_insert() needs a cast to a non-const pointer duh.
5888
5889 2006-10-25  David Schleef  <ds@schleef.org>
5890
5891         * gst/gstinfo.c:
5892         * gst/gstinfo.h:
5893           Change name parameter of _gst_debug_register_funcptr to const
5894           to reflect the constness of its use in the function as well
5895           as to quiet a gcc warning.
5896
5897 2006-10-25  Edward Hervey  <edward@fluendo.com>
5898
5899         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5900         Don't push the buffer if it's empty.
5901         Closes #363095
5902
5903 2006-10-24  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/gstevent.h:
5906         Add small comment.
5907
5908         * libs/gst/base/gstbasetransform.c:
5909         (gst_base_transform_sink_eventfunc):
5910         Debug segment values *after* updating them as this is more
5911         interesting.
5912
5913 2006-10-23  Wim Taymans  <wim@fluendo.com>
5914
5915         * docs/design/part-events.txt:
5916         Update some docs.
5917
5918         * docs/design/part-block.txt:
5919         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5920         (gst_pad_push_event):
5921         Revert BLOCKING patch, it tries to be smart without really having a
5922         clear idea what or how. So, now we discard all FLUSHING events again on
5923         a blocking pad. Should fix gnonlin again.
5924
5925 2006-10-23  Wim Taymans  <wim@fluendo.com>
5926
5927         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5928
5929         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5930         (gst_base_src_start), (gst_base_src_activate_push):
5931         Make sure size is always initialized. Fixes #364388.
5932
5933 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
5934
5935         * docs/random/ensonic/distributed.txt:
5936           add some ideas about doing distributed processing
5937
5938         * docs/random/ensonic/profiling.txt:
5939           get_rusage look promising
5940
5941 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5942
5943         * docs/manual/basics-helloworld.xml:
5944           Add a cast in example to fix compile warning
5945
5946 2006-10-18  Wim Taymans  <wim@fluendo.com>
5947
5948         * gst/gstsegment.c: (gst_segment_set_last_stop),
5949         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5950         Relax arg checking again, -1 is allowed.
5951
5952 2006-10-18  Wim Taymans  <wim@fluendo.com>
5953
5954         * gst/gstsegment.c: (gst_segment_set_last_stop),
5955         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5956         _set_last_stop() must be with a value != -1
5957         A _TYPE_SET to -1 means seek to 0.
5958         Calc last_stop correctly for negative rates.
5959         Make sure we work with positive durations when updating a segment.
5960
5961 2006-10-18  Wim Taymans  <wim@fluendo.com>
5962
5963         * docs/design/part-live-source.txt:
5964         * gst/gstclock.h:
5965         Small docs fixes.
5966
5967 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * gst/gstbuffer.h:
5970           Add an explicit cast to GstBuffer** to keep old code that added an
5971           explicit cast to GstMiniObject** for gst_mini_object_replace()
5972           compiling without warning.
5973
5974 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5975
5976         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5977           check for validity of dates
5978
5979 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5980
5981         * docs/gst/gstreamer-sections.txt:
5982           Forgot this one, makes gtk-doc shut up.
5983
5984 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5985
5986         Patch by: Peter Kjellerstedt <pkj at axis com>
5987
5988         * gst/gstobject.h:
5989           Don't define xmlNodePtr to gpointer if the core was built with
5990           --disable-loadsave and --disable-registry, this will break
5991           applications that want to use libxml2 but are buildling against a
5992           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5993           instead so we don't have to mess with the libxml2 namespace
5994           (#361675).
5995
5996 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5997
5998         * gst/gstbuffer.h:
5999           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
6000           type-punned pointer warnings.
6001
6002 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6003
6004         * gst/gstelement.h:
6005           Add casts to the correct return type to state <=> state transition
6006           macros.
6007
6008 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
6009
6010         * docs/design/part-live-source.txt:
6011           describe howto handle latency
6012         
6013         * docs/random/ensonic/profiling.txt:
6014           more ideas
6015
6016         * tools/gst-plot-timeline.py:
6017           fix log parsing for solaris, remove unused function
6018
6019 2006-10-16  Wim Taymans  <wim@fluendo.com>
6020
6021         * docs/design/part-trickmodes.txt:
6022         * gst/gstevent.c:
6023         Update some docs regarding reverse playback.
6024
6025 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6026
6027         Patch by: Marcus Granado  <mrc dot gran at gmail com>
6028
6029         * win32/vs8/grammar.vcproj:
6030           Error out with a warning if glib-genmarshal.exe is not in path,
6031           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
6032
6033 2006-10-13  Wim Taymans  <wim@fluendo.com>
6034
6035         * gst/gstsegment.c: (gst_segment_set_seek):
6036         When seeking to stop -1, set last_stop (current position) to the
6037         duration of the segment.
6038
6039 2006-10-13  Wim Taymans  <wim@fluendo.com>
6040
6041         * gst/gstelement.h:
6042         Clarify _NO_PREROLL a bit more.
6043
6044         * gst/gstevent.c:
6045         Fix docs.
6046
6047         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
6048         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
6049         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
6050         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
6051         due to wrong locking order. Fixes #361769.
6052         Remove some redundant/misplaced checks in pad_block.
6053
6054         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6055         For negative rates, count backwards from the duration.
6056
6057 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6058
6059         * gst/gsterror.c: (_gst_library_errors_init):
6060           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
6061           up with something better).
6062
6063 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * win32/vs6/libgstreamer.dsp:
6066         * win32/vs7/libgstreamer.vcproj:
6067         * win32/vs8/libgstreamer.vcproj:
6068           Don't reference glib-compat.c which is currently not used and not
6069           disted; add gstquark.c which was recently added. Fixes #361730.
6070
6071 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6072
6073         * win32/common/libgstbase.def:
6074         * win32/common/libgstcontroller.def:
6075         * win32/common/libgstreamer.def:
6076           Add gst_caps_merge() and a bunch of other recently-added functions.
6077           Fixes #361732.
6078
6079 2006-10-11  Wim Taymans  <wim@fluendo.com>
6080
6081         * docs/plugins/gstreamer-plugins.args:
6082         * docs/plugins/inspect/plugin-coreelements.xml:
6083         * docs/plugins/inspect/plugin-coreindexers.xml:
6084         Update element args.
6085
6086         * gst/gstsystemclock.c:
6087         Small comment update.
6088
6089         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
6090         (gst_tee_request_new_pad), (gst_tee_release_pad),
6091         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
6092         (gst_tee_sink_activate_pull):
6093         * plugins/elements/gsttee.h:
6094         Some tee loving:
6095         Add default property defines.
6096         Implement release pad function.
6097         Give properties better blubs etc.
6098         Activate pads before adding them to a running tee.
6099         Do simple buffer_alloc on the first requested pad.
6100         Post error when activation fails.
6101
6102 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6103
6104         * gst/gst.c: (ensure_current_registry_forking):
6105           Check return value of write() to make compiler happy.
6106
6107 2006-10-11  Wim Taymans  <wim@fluendo.com>
6108
6109         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6110
6111         * plugins/elements/gstqueue.c: (gst_queue_chain):
6112         Recheck queue filledness after signalling the overrun when we're about
6113         to leak downstream because we released the lock when emitting the signal
6114         and the queue could be empty again. Fixes #352345.
6115
6116 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6117
6118         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
6119           Fix refcounting here too, just like we did for _new_valist() a few
6120           days ago (#357180) (thanks to René Stadler). Also remove all those
6121           'Since: 0.9' from the gtk-doc blobs.
6122
6123         * tests/check/libs/controller.c: (controller_refcount_new_list),
6124         (gst_controller_suite):
6125           Unit test for the above.
6126
6127 2006-10-10  Wim Taymans  <wim@fluendo.com>
6128
6129         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
6130
6131         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6132         (gst_pad_save_thyself):
6133         Update some docs.
6134         Write pad direction in XML output. Fixes #345496.
6135
6136 2006-10-10  Wim Taymans  <wim@fluendo.com>
6137
6138         Patch by: René Stadler <mail at renestadler dot de>
6139
6140         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6141         (gst_controller_new_list), (_gst_controller_dispose),
6142         (_gst_controller_finalize), (_gst_controller_class_init):
6143         Take ref to controlled object so that it cannot disappear. 
6144         Fixes #357432.
6145
6146 2006-10-10  Wim Taymans  <wim@fluendo.com>
6147
6148         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6149         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6150         (gst_check_teardown_sink_pad):
6151         Activate/deactivate pads in setup/teardown respectively.
6152
6153 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6154
6155         Patch by: Josep Torre Valles <josep@fluendo.com>
6156
6157         * gst/Makefile.am:
6158         Cast values when making gstenumtypes.h.  This pacifies Forte
6159         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
6160         in the enumeration.
6161
6162 2006-10-09  Wim Taymans  <wim@fluendo.com>
6163
6164         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
6165         Rename some more @cur to @start to fix docs. 
6166
6167         * gst/gstsegment.c: (gst_segment_set_seek):
6168         Fix typo.
6169         time and start must always stay in sync as defined in design doc.
6170
6171         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6172         Rename param to fix docs.
6173
6174         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6175         Check that start and time are in sync.
6176
6177         * tests/check/pipelines/parse-launch.c:
6178         (gst_parse_test_element_change_state):
6179         Activate pad before adding to the element.
6180
6181 2006-10-09  Wim Taymans  <wim@fluendo.com>
6182
6183         * docs/design/part-qos.txt:
6184         Fix typo.
6185
6186         * gst/gstevent.c:
6187         * gst/gstevent.h:
6188         Update seek event docs regarding negative rates.
6189         Rename @cur to @start. 
6190
6191         * gst/gstsegment.c: (gst_segment_set_seek):
6192         * gst/gstsegment.h:
6193         Update set_seek docs regarding negative rates.
6194         Correctly update last_stop to @stop when dealing with negative
6195         rates.
6196         Rename @cur to @start. 
6197
6198         * tests/check/gst/gstpad.c: (GST_START_TEST):
6199         Activate pads before trying to use them.
6200
6201         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6202         (gst_segment_suite):
6203         Add simple check for segments and negative rates.
6204
6205 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6208         * gst/gsttaglist.h:
6209         * docs/gst/gstreamer-sections.txt:
6210           API: add gst_tag_list_is_empty() (#360467).
6211
6212         * tests/check/gst/gsttag.c: (GST_START_TEST):
6213           And a test case.
6214
6215 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6216
6217         * gst/gstmessage.h:
6218         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
6219         a value that doesn't fit on enumeration.
6220
6221 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6222
6223         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6224         Remove local debugging system and use Gstreamer's instead.
6225
6226 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6227
6228         Patch by: Josep Torre Valles <josep@fluendo.com>
6229
6230         * common/m4/gst-error.m4:
6231         Disable warning of statement not reached on Forte.
6232         * gst/gstmessage.h:
6233         Fix warning on Forte (value doesn't fit on enumeration).
6234         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
6235         Fix warning on Forte (value doesn't fit on enumeration).
6236         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6237         DEBUG macro says it takes minimum of 2 args and so Forte
6238         complains about the use with just 1 arg.
6239         * plugins/elements/gstfdsink.c:
6240         * plugins/elements/gstfdsrc.c:
6241         * plugins/elements/gstfilesink.c:
6242         * plugins/elements/gstfilesrc.c:
6243         Use correct return type for the uri handler implementations.
6244
6245         All these fix warnings in Forte.  Fixes bug #360860.
6246
6247 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6248
6249         * gst/gstelement.h:
6250           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
6251           format string, so don't use G_GNUC_PRINTF for those versions.
6252
6253 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6254
6255         * gst/gsttaglist.c: (gst_is_tag_list):
6256         * gst/gsttaglist.h:
6257           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
6258
6259         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6260           Small test for the above.
6261
6262 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6263
6264         * gst/gsttaglist.h:
6265           Less tabs, more spaces.
6266
6267 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
6268
6269         * gst/gstinfo.h:
6270           Those two function declarations do actually belong there, revert
6271           commit from yesterday that turned them intro macros.
6272
6273 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6274
6275         Patch by: Josep Torre Valles <josep@fluendo.com>
6276
6277         * gst/gst.c: (gst_init_get_option_group):
6278         Fix empty declaration and type mismatch.
6279         * gst/gstbin.c: (gst_bin_change_state_func):
6280         Fix type mismatch.
6281         * gst/gstelement.c: (gst_element_continue_state),
6282         (gst_element_set_state_func), (gst_element_change_state),
6283         (gst_element_change_state_func):
6284         Fix type mismatches.
6285         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
6286         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
6287         Cast as appropriate.
6288         * gst/gstobject.c: (gst_class_signal_connect):
6289         Cast as appropriate.  The function pointer parameter really
6290         has the wrong type but would break API if we change it.
6291         * gst/gstquery.c:
6292         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
6293         order of including string.h.
6294         * gst/gstutils.c: (gst_element_state_get_name):
6295         Remove unreachable line.
6296         * gst/gstxml.c: (gst_xml_parse_doc):
6297         Fix type mismatch.
6298         All these caught by Forte.
6299
6300 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6301
6302         Patch by: Josep Torre Valles <josep@fluendo.com>
6303
6304         * common/m4/gst-error.m4:
6305         Fixed bug #360151.
6306         We need to disable warnings on Forte for empty declarations
6307         due to gst-indent adding ;s to lines that just use macros
6308         where the macro actually doesn't need a ; at end to end
6309         statement.
6310
6311 2006-10-06  Wim Taymans  <wim@fluendo.com>
6312
6313         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6314         (gst_file_sink_close_file), (gst_file_sink_event),
6315         (gst_file_sink_render):
6316         Add some FIXME for the NEWSEGMENT handling.
6317
6318 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6319
6320         * gst/parse/grammar.y:
6321         Remove static function gst_parse_element_lock as all it does
6322         is return.  Looks like cruft from 0.8.
6323
6324 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6325
6326         Patch by: Josep Torre Valles <josep@fluendo.com>
6327
6328         * common/m4/gst-error.m4:
6329         * configure.ac:
6330         * libs/gst/net/Makefile.am:
6331         Fix a compilation issue with Forte on Solaris.  inet_aton is in
6332         libresolv.
6333
6334 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6335
6336         * gst/gstpad.c: (pre_activate):
6337         * gst/gstregistry.c: (gst_registry_scan_path_level):
6338         * gst/gstregistryxml.c: (load_plugin):
6339         * libs/gst/controller/gstcontroller.c:
6340         (gst_controlled_property_set_interpolation_mode):
6341         * libs/gst/dataprotocol/dataprotocol.c:
6342         (gst_dp_packet_from_event_1_0):
6343         * libs/gst/net/gstnetclientclock.c:
6344         (gst_net_client_clock_observe_times):
6345         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6346           Printf fixes.
6347
6348 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6349
6350         * configure.ac:
6351         * docs/gst/gstreamer-sections.txt:
6352         * gst/gstconfig.h.in:
6353         * gst/gstelement.h:
6354         * gst/gstinfo.h:
6355           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
6356           whether we can use G_GNUC_PRINTF in other header files and at
6357           least check the printf format/arguments of debug messages and
6358           GST_ELEMENT_ERROR messages when the printf extension is not
6359           being used.
6360           Replace more tabs with spaces in gstinfo.h and remove two spurious
6361           function declarations in GST_DISABLE_DEBUG part with macros.
6362
6363 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6364
6365         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
6366           More docs for the sync-message signal (mention that it is not
6367           emitted by default); log message structures of messages posted on
6368           the bus as well.
6369
6370 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
6371
6372         * gst/gst.c: (ensure_current_registry_forking):
6373         Use a pipe pair to receive status results from the forked child, and
6374         ignore the result from waitpid. Fixes #355499
6375
6376 2006-10-02  Wim Taymans  <wim@fluendo.com>
6377
6378         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6379         (gst_ghost_pad_suite):
6380         Fix leak in check.
6381
6382 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6383
6384         * gst/gstpad.c:
6385           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
6386
6387 2006-10-02  Edward Hervey  <edward@fluendo.com>
6388
6389         * docs/design/part-block.txt:
6390         Further explain the use of flushing on blocked pads.
6391         * docs/gst/gstreamer-sections.txt:
6392         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6393         (gst_pad_push_event):
6394         * gst/gstpad.h:
6395         Added new GstPadFlag : GST_PAD_BLOCKING.
6396         Adds the notion of pads really blocking, which enables to properly
6397         handle FLUSH_START/FLUSH_STOP events on blocked pads.
6398         Fixes #358999
6399         API: gst_pad_is_blocking()
6400         API: GST_PAD_IS_BLOCKING() macro
6401         API: GST_PAD_BLOCKING GstPadFlag
6402         
6403 2006-10-02  Wim Taymans  <wim@fluendo.com>
6404
6405         Patch by: mrcgran <mrc.gran at gmail dot com>
6406
6407         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
6408         Filter the proxied caps against the padtemplate if we have one.
6409
6410         * gst/gstquery.c: (gst_query_new_segment):
6411         Add include for gstinfo.h so that compilation with
6412         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
6413
6414 2006-10-02  Wim Taymans  <wim@fluendo.com>
6415
6416         Patch by: Alessandro Decina  <alessandro at nnva org>
6417
6418         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
6419         (gst_file_sink_set_location), (gst_file_sink_open_file),
6420         (gst_file_sink_close_file), (gst_file_sink_event),
6421         (gst_file_sink_render):
6422         Set file to NULL when closing filesink so that we can set a new filename
6423         in READY. Fixes #358613.
6424
6425 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6426
6427         Patch by: Alessandro Decina  <alessandro at nnva org>
6428
6429         * gst/gstevent.c: (_gst_event_copy):
6430           Fix gst_mini_object_make_writable() and gst_event_copy() for events
6431           with event structures by setting the parent refcount address of the
6432           copied structure to the address of the refcount member of the newly
6433           copied event rather than the address of the refcount member of the
6434           original event. Fixes #358737.
6435
6436         * tests/check/gst/gstevent.c: (GST_START_TEST):
6437           Unit test for the above.
6438
6439 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
6440
6441         * docs/design/Makefile.am:
6442           Dist some more files.
6443
6444 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6445
6446         * tests/check/libs/controller.c: (GST_START_TEST),
6447         (gst_controller_suite):
6448           Add test for the previous fix; add some more tests
6449           for correct refcounting behaviour; fix a few leaks
6450           in test cases; call gst_controller_init() at start
6451           of all tests.
6452
6453 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6454
6455         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6456         (gst_controller_set_from_list):
6457           Don't g_return_val_if_fail() on timed values with invalid timestamps
6458           inside a critical section without unlocking the mutex. Spotted by
6459           René Stadler. (#357617)
6460           Also, fix up refcounting properly: when returning an existing
6461           controller, we should increase the reference only once and not
6462           once per property and when trying to control a property again
6463           we should also increase the refcount.
6464
6465 2006-09-29  Wim Taymans  <wim@fluendo.com>
6466
6467         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6468         * libs/gst/net/gstnettimeprovider.c:
6469         (gst_net_time_provider_thread):
6470         Stop reading commands when EOF as well.
6471
6472         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6473         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6474         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6475         Unify description of the dump property.
6476
6477 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6478
6479         * tests/examples/manual/.cvsignore:
6480         OK, so it's actually cvsignore that needs changing. Stop laughing.
6481
6482 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6483
6484         * tests/examples/manual/Makefile.am:
6485         Gah, declare vars *before* using them
6486
6487 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6488
6489         * gst/gst.c: (init_pre), (scan_and_update_registry),
6490         (ensure_current_registry_nonforking),
6491         (ensure_current_registry_forking), (ensure_current_registry),
6492         (init_post), (gst_debug_help), (gst_deinit):
6493         * gst/gst_private.h:
6494         * gst/gstregistry.c: (gst_registry_finalize),
6495         (gst_registry_remove_features_for_plugin_unlocked),
6496         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6497         (gst_registry_scan_path),
6498         (_priv_gst_registry_remove_cache_plugins),
6499         (_priv_gst_registry_cleanup):
6500         * gst/gstregistry.h:
6501         Re-commit the registry changes, along with an extra fix:
6502           When a cached plugin is encountered at a different file path,
6503           update the stored path in the registry cache so that the parent
6504           process knows where it actually is now when it re-reads the registry
6505           cache. Fixes the thing that broke distcheck with the previous commit.
6506
6507         * tests/check/Makefile.am:
6508         Clean up files named 'core' too when running make clean.
6509
6510         * tests/examples/manual/Makefile.am:
6511         Set up a registry path for running these tests, and clean it properly
6512         for distcheck.
6513
6514 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6515
6516         * configure.ac:
6517         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6518         want gmodule-no-export-2.0.pc instead so that we don't drag in
6519         --export-dynamic on every project that links to GStreamer.
6520
6521         Also, make our export regex only match the start of symbols, rather 
6522         than any symbol that contains '_gst' somewhere.
6523
6524         * libs/gst/check/Makefile.am:
6525         The libgstcheck we build does however need export-dynamic, as it
6526         produces some symbols that don't match our _gst... style regex.
6527         Fixes: #318031
6528
6529 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6530
6531         * gst/gst.c: (init_pre), (scan_and_update_registry),
6532         (ensure_current_registry_nonforking),
6533         (ensure_current_registry_forking), (ensure_current_registry),
6534         (init_post), (gst_debug_help), (gst_deinit):
6535         * gst/gst_private.h:
6536         * gst/gstregistry.c: (gst_registry_finalize),
6537         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6538         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6539         (_gst_registry_cleanup):
6540         * gst/gstregistry.h:
6541           Revert previous change until I figure out why it breaks distcheck.
6542
6543 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6544
6545         * gst/gst.c: (init_pre), (scan_and_update_registry),
6546         (ensure_current_registry_nonforking),
6547         (ensure_current_registry_forking), (ensure_current_registry),
6548         (init_post), (gst_debug_help), (gst_deinit):
6549
6550           Make init_pre and init_post take the full complement of GOptionFunc
6551           args so they can return useful GErrors. Make the registry updating
6552           functions do so.
6553
6554           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6555           ensure that the registry we're about to write out doesn't contain
6556           stale information about old-deleted plugin files.
6557
6558           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6559           that deletion of plugin files is considered a registry change.
6560
6561         * gst/gst_private.h:
6562         * gst/gstregistry.c: (gst_registry_finalize),
6563         (gst_registry_remove_features_for_plugin_unlocked),
6564         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6565         (gst_registry_scan_path),
6566         (_priv_gst_registry_remove_cache_plugins),
6567         (_priv_gst_registry_cleanup):
6568         * gst/gstregistry.h:
6569         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6570         by adding _priv prefix, so that they won't appear in the global
6571         symbol table. They still do atm though because of #318031. Move the
6572         prototypes to gst_private.h
6573
6574         When removing a plugin, remove all features for that plugin too. 
6575         Fixes #340878.
6576
6577 2006-09-27  Wim Taymans  <wim@fluendo.com>
6578
6579         * docs/random/moving-plugins:
6580         Make it clear that the "compiled-in descriptions" really mean
6581         the element details.
6582
6583         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6584         (gst_base_sink_wait_preroll):
6585         Update docs.
6586
6587         * docs/libs/gstreamer-libs-sections.txt:
6588         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6589         (gst_base_src_get_range), (gst_base_src_activate_push):
6590         * libs/gst/base/gstbasesrc.h:
6591         Added function to block while waiting for PLAYING, this function
6592         is used by live sources that block on the clock.
6593         API: gst_base_src_wait_playing()
6594
6595 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6596
6597         Patch by: Peter Kjellerstedt <pkj at axis com>
6598
6599         * Makefile.am:
6600           gst-element-check.m4 is generated and should therefore be
6601           copied from the build dir rather than the source dir (#357593).
6602           'make distcheck' hasn't noticed this because we were disting
6603           the file as well, so stop doing that.
6604
6605 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6606
6607         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6608           Add some tests for gst_caps_intersect().
6609
6610         * tools/gst-launch.c: (event_loop):
6611           Print all buffering percentages we get, even the 100% one.
6612
6613 2006-09-26  Wim Taymans  <wim@fluendo.com>
6614
6615         * tools/gst-inspect.c: (print_element_properties_info),
6616         (print_signal_info):
6617         Fix printing of flags to match the look of enums.
6618
6619 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6620
6621         * gst/gstelementfactory.c:
6622           Fix typo in docs blurb.
6623
6624 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6625
6626         * gst/gsturi.c: (search_by_entry):
6627           Don't assert/crash here if a uri handler doesn't return any
6628           supported protocols. The list of protocols could be generated
6629           dynamically at runtime or at plugin registration, and an error
6630           in the underlying library shouldn't be fatal (#353301).
6631
6632 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6633
6634         * gst/gstinfo.c:
6635           Fix warning if HAVE_PRINTF_EXTENSION is undefined
6636           (spotted by Peter Kjellerstedt).
6637
6638 2006-09-23  Wim Taymans  <wim@fluendo.com>
6639
6640         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6641
6642         * libs/gst/base/gstbasesrc.c:
6643         (gst_base_src_default_check_get_range), (gst_base_src_start),
6644         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6645         (gst_base_src_change_state):
6646         Match _start/_stop calls in the activate functions. Remove redundant
6647         _stop call from the state change function. Fixes #356910.
6648         Turn failure DEBUG into ERROR. 
6649
6650 2006-09-22  Wim Taymans  <wim@fluendo.com>
6651
6652         * docs/design/part-buffering.txt:
6653         * gst/gstmessage.c: (gst_message_new_buffering),
6654         (gst_message_parse_buffering):
6655         Update docs about buffering.
6656
6657         * docs/design/part-trickmodes.txt:
6658         Fix typo.
6659
6660 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
6661
6662         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6663         (gst_controller_new_list):
6664           Ref instances when returning them again (fixes #357180)
6665
6666 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6667
6668         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6669           Don't forget to release proxy lock when there's an error.
6670
6671 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
6672
6673         * gst/gstcaps.h:
6674           Add extra initialisers for Caps things, to fix some plugin warnings
6675           when using -Wextra
6676
6677 2006-09-18  Wim Taymans  <wim@fluendo.com>
6678
6679         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6680           Also set template on the internal pad so that a getcaps from the 
6681           target pad returns the template caps.
6682
6683 2006-09-18  Wim Taymans  <wim@fluendo.com>
6684
6685         * gst/gstelement.c: (gst_element_post_message),
6686         (gst_element_dispose):
6687         Use _DEBUG_OBJECT some more.
6688
6689         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6690         Avoid typechecks.
6691
6692         * tools/gst-launch.c: (main):
6693         If the toplevel element is not a GstPipeline, it must be put in a
6694         pipeline so that a bus and clock is selected.
6695
6696 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6699           JITTER, RATE, and LATENCY query should be handled by the
6700           default case and not by the CONVERT query code.
6701
6702 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6703
6704         * gst/gstformat.c: (gst_format_register):
6705           Fix locking order (must take lock before using n_values).
6706
6707         * gst/gstvalue.c: (gst_value_serialize_enum),
6708         (gst_value_deserialize_enum_iter_cmp),
6709         (gst_value_deserialize_enum):
6710           Fix serialisation/deserialisation of custom registered GstFormats.
6711
6712         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6713           Unit test for custom format serialisation/deserialisation.
6714
6715 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
6716
6717         * docs/pwg/building-boiler.xml:
6718         * plugins/elements/gstcapsfilter.c:
6719         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6720         section.
6721
6722 2006-09-16  Edward Hervey  <edward@fluendo.com>
6723
6724         * libs/gst/base/gstbasetransform.c:
6725         (gst_base_transform_buffer_alloc):
6726         Check if requested caps are the same as the sinks caps IF
6727         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6728         is FALSE.
6729         This fixes the renegotiation issues stated in #352827.
6730
6731 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6732
6733         * configure.ac:
6734         * docs/manual/advanced-autoplugging.xml:
6735         * tests/examples/Makefile.am:
6736         * tests/examples/manual/.cvsignore:
6737         * tests/examples/manual/Makefile.am:
6738         * tests/examples/manual/extract.pl:
6739           Extract the manual examples again like we used to do.
6740           Fix one of them.
6741
6742 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         * win32/common/config.h:
6745           update for version
6746
6747 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6748
6749         * gst/gsterror.c:
6750           Documents how to receive errors.
6751
6752 2006-09-15  Wim Taymans  <wim@fluendo.com>
6753
6754         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6755         (event_loop), (main):
6756         Added some comments here and there.
6757         Post an application message when an interrupt is caught instead of doing
6758         an uncontrolled state change.
6759         Clean up the event loop.
6760         Handle buffering messages, pause/resume the pipeline.
6761         Make shutdown because of an interrupt more reliable.
6762
6763 2006-09-15  Wim Taymans  <wim@fluendo.com>
6764
6765         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6766         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6767         (gst_base_sink_preroll_object):
6768         Make sure that our internal state is correct when we commit our state
6769         asynchronously. This solves a race where a state change to PLAYING
6770         could cause the sink to remain blocked in preroll in some situations.
6771
6772 2006-09-15  Wim Taymans  <wim@fluendo.com>
6773
6774         * tools/gst-inspect.c: (print_element_properties_info),
6775         (print_signal_info):
6776         List flags as hex so it's easier to deal with.
6777
6778 2006-09-15  Wim Taymans  <wim@fluendo.com>
6779
6780         * docs/libs/gstreamer-libs-sections.txt:
6781         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6782         (gst_base_sink_do_sync):
6783         * libs/gst/base/gstbasesink.h:
6784         Expose logic to wait for preroll so that subclasses such as audiosink
6785         can also use this method.
6786         API: gst_base_sink_wait_preroll()
6787
6788 2006-09-15  Wim Taymans  <wim@fluendo.com>
6789
6790         * gst/gstobject.c: (gst_object_set_parent):
6791         * gst/gstpipeline.c: (do_pipeline_seek):
6792         Small cleanups in docs and code.
6793
6794         * gst/gstsegment.c: (gst_segment_clip):
6795         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6796         if stop == start and start is in the segment, no clipping should be
6797         done. Also add a test for this.
6798
6799 2006-09-15  Wim Taymans  <wim@fluendo.com>
6800
6801         * docs/design/part-buffering.txt:
6802         * docs/gst/gstreamer-sections.txt:
6803         * gst/gstmessage.c: (gst_message_new_buffering),
6804         (gst_message_parse_buffering):
6805         * gst/gstmessage.h:
6806         Added methods to create and parse BUFFERING messages.
6807         Added preliminary docs about buffering.
6808         API: gst_message_new_buffering
6809         API: gst_message_parse_buffering
6810
6811 2006-09-06  Wim Taymans  <wim@fluendo.com>
6812
6813         * gst/gstbin.c:
6814         Update documentation.
6815
6816         * gst/gstelement.c: (gst_element_class_init),
6817         (gst_element_release_request_pad), (gst_element_set_clock),
6818         (gst_element_get_index), (gst_element_add_pad),
6819         (gst_element_remove_pad), (gst_element_get_random_pad),
6820         (gst_element_send_event), (gst_element_get_query_types),
6821         (gst_element_query), (gst_element_post_message),
6822         (gst_element_message_full), (gst_element_continue_state),
6823         (gst_element_lost_state), (gst_element_save_thyself),
6824         (gst_element_restore_thyself):
6825         Documentation updates.
6826         Rename last bit of the new-pad -> pad-added signal rename.
6827         Fix the case where an element query would only work if the source
6828         pad was linked.
6829         Avoid some useless type checking in message handling.
6830
6831         * gst/gstevent.c:
6832         * gst/gstevent.h:
6833         * gst/gstutils.c:
6834         Documentation updates.
6835
6836 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6839           add an INFO line for when we actually update the fd
6840
6841 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6842
6843         * configure.ac:
6844           back to TRUNK
6845
6846 === release 0.10.10 ===
6847
6848 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
6849
6850         * configure.ac:
6851           releasing 0.10.10, "Pais"
6852
6853 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
6854
6855         * docs/manual/advanced-position.xml:
6856           Fix typo in sample code.
6857
6858 2006-09-05  Wim Taymans  <wim@fluendo.com>
6859
6860         * libs/gst/net/gstnetclientclock.c: (inet_aton),
6861         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6862         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6863         * libs/gst/net/gstnetclientclock.h:
6864         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6865         * libs/gst/net/gstnettimepacket.h:
6866         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6867         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6868         (gst_net_time_provider_thread), (gst_net_time_provider_new):
6869         * libs/gst/net/gstnettimeprovider.h:
6870         Make stuff compile on windows. Fixes #345295.
6871
6872 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6873
6874         * gst/gst.c: (ensure_current_registry_forking):
6875           Print better details when child was terminated by signal.
6876
6877 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6878
6879         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6880           Print a warning rather than g_assert() if a plugin feature
6881           is a URI handler but returns no protocols (#353976).
6882
6883 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
6884
6885         * docs/random/moving-plugins:
6886         Fix two typos.         
6887
6888 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6889
6890         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6891           Fix locking order, handle NULL function values properly.
6892
6893         * gst/gstinfo.h:
6894           Fix docs.
6895
6896         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6897           Initialise variable before using it and fix debug statement to
6898           print the address of the function rather than the address of the
6899           variable on the stack holding the address of the function.
6900
6901 2006-09-01  Wim Taymans  <wim@fluendo.com>
6902
6903         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6904         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6905         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6906         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6907         (gst_ghost_pad_parent_unset),
6908         (gst_ghost_pad_internal_do_activate_push),
6909         (gst_ghost_pad_internal_do_activate_pull),
6910         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6911         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6912         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6913         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6914         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6915         (gst_ghost_pad_new_no_target_from_template),
6916         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6917         More cleanups.
6918         Avoid needless typechecking in macros.
6919         Since the internal pad is always present and never changes, there is
6920         no need to locking or ref when retrieving it.
6921         Improve debugging a bit.
6922         Handle link errors when setting the target. Fixes #341029.
6923
6924 2006-09-01  Wim Taymans  <wim@fluendo.com>
6925
6926         * docs/libs/gstreamer-libs-sections.txt:
6927         * docs/plugins/gstreamer-plugins-sections.txt:
6928         Fix docs some more.
6929
6930         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6931         (gst_collect_pads_event):
6932         * libs/gst/base/gstcollectpads.h:
6933         Documentation updates.
6934         Free queued buffer when removing a pad.
6935
6936 2006-08-31  Michael Smith  <msmith@fluendo.com>
6937
6938         * gst/gstutils.c: (gst_element_link_pads),
6939         (gst_element_link_pads_filtered):
6940           Ensure that we set a capsfilter to NULL if we failed to link it
6941           when doing filtered linking, to avoid criticals.
6942
6943           No need to check for unreffing srcpad, which is explicly NULLed
6944           above (a trivial code cleanup).
6945
6946 2006-08-31  Wim Taymans  <wim@fluendo.com>
6947
6948         * docs/design/part-gstghostpad.txt:
6949         Update ascii art in documentation.
6950
6951         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6952         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6953         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6954         (gst_ghost_pad_internal_do_activate_push),
6955         (gst_ghost_pad_internal_do_activate_pull),
6956         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6957         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6958         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6959         (gst_ghost_pad_set_target):
6960         Small cleanups and leak fixes.
6961         Remove some checks now that the internal pad is never NULL.
6962         Fix the case where linking pads without a target would create nasty
6963         criticals. Fixes #341029.
6964         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6965         value of _set_target().
6966
6967         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6968         (gst_ghost_pad_suite):
6969         Some more tests for creating and linking untargeted ghostpads.
6970
6971 2006-08-31  Edward Hervey  <edward@fluendo.com>
6972
6973         * docs/gst/gstreamer-sections.txt:
6974         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6975         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6976         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6977         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6978         (gst_ghost_pad_new_from_template),
6979         (gst_ghost_pad_new_no_target_from_template):
6980         * gst/gstghostpad.h:
6981         Refactored *_new() functions.
6982         Templates are now used as a g_object_new() parameter.
6983         Use template in _do_getcaps() if we don't have a target.
6984         Small documentation cleanups.
6985         Added two new constructors:
6986         gst_ghost_pad_new_from_template()
6987         gst_ghost_pad_new_no_target_from_template()
6988         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6989         (gst_ghost_pad_suite):
6990         Added tests for new ghostpad instanciation functions.
6991
6992         API additions: gst_ghost_pad_new_from_template,
6993         gst_ghost_pad_new_no_target_from_template
6994
6995 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
6996
6997         * docs/random/ensonic/profiling.txt:
6998           Ideas about qos profiling.
6999
7000 2006-08-29  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
7003         Code cleanups.
7004         Fix memleak.
7005
7006 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
7007
7008         * gst/gstxml.c:
7009           Improve and detypofy docs.
7010
7011         * tests/check/Makefile.am:
7012         * tests/check/gst/.cvsignore:
7013         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
7014           Add a basic test suite for GstXML.
7015
7016 2006-08-29  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/gstelement.c: (activate_pads), (clear_caps),
7019         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7020         Clear the pad caps when the element shut down all of the pads and
7021         is not streaming data that could modify the caps. 
7022         Fixes #352958.
7023
7024 2006-08-28  Michael Smith  <msmith@fluendo.com>
7025
7026         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7027           Revert previous change; I misunderstood single-segment mode.
7028
7029 2006-08-28  Michael Smith  <msmith@fluendo.com>
7030
7031         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7032           Unset DISCONT on buffers when using single-segment mode.
7033
7034 2006-08-28  Wim Taymans  <wim@fluendo.com>
7035
7036         * gst/gstcaps.c: (gst_caps_merge_structure):
7037         * gst/gstcaps.h:
7038         Fix docs and indentation again.
7039
7040         * tests/check/gst/gstquery.c: (GST_START_TEST):
7041         Fix leak in tests and add some more tests.
7042
7043 2006-08-28  Edward Hervey  <edward@fluendo.com>
7044
7045         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7046         Inform GstSegment of the last stop position in order for the current
7047         segment to have a proper duration if it doesn't have a specific stop
7048         position from which a duration could be calculated.
7049         This bug was noticeable when a non-flushing, non-update new segment was
7050         followed by another segment (all buffers from the new segment were being
7051         dropped).
7052
7053 2006-08-28  Wim Taymans  <wim@fluendo.com>
7054
7055         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7056         Small comment update.
7057
7058         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7059         (gst_identity_transform_ip):
7060         Drop-probability is broken, mention this in the code with a 
7061         FIXME and also in the property description.
7062         Make silent also be silent about the drop messages.
7063
7064 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
7065
7066         * docs/manual/appendix-win32.xml:
7067           Remove mention of popt, we don't depend on that any
7068           longer (#353136). Add some comments pointing out that
7069           this section is slightly outdated.
7070
7071 2006-08-28  Wim Taymans  <wim@fluendo.com>
7072
7073         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7074
7075         * gst/gstquery.c: (gst_query_new_segment):
7076         * tests/check/gst/gstquery.c: (GST_START_TEST):
7077         Initialize variables when creating a new segment query.
7078         Fixes #353121.
7079
7080 2006-08-28  Wim Taymans  <wim@fluendo.com>
7081
7082         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7083
7084         * gst/gstelement.c: (gst_element_get_bus):
7085         * tests/check/gst/gstelement.c: (GST_START_TEST):
7086         Check for NULL before _reffing the bus. Fixes #353122.
7087
7088 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
7089
7090         * docs/manual/basics-bus.xml:
7091           Docs update: fix wrong callback return value explanation; add
7092           some lines about the implicit relationship between main loop
7093           and main context; remove duplicate main loop variable declaration.
7094
7095 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7098           Don't leak caps in unit test; add a few more simple
7099           checks. 
7100
7101 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
7102
7103         * docs/gst/gstreamer-sections.txt:
7104         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
7105         (gst_caps_structure_is_subset), (gst_caps_merge),
7106         (gst_caps_merge_structure):
7107         * gst/gstcaps.h:
7108         * libs/gst/base/gstbasetransform.c:
7109         (gst_base_transform_transform_caps):
7110         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7111           implement caps merging (fixes #352580)
7112
7113 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
7114
7115         * tools/Makefile.am:
7116         * tools/gst-plot-timeline.py:
7117           add debug-log plotting developer tool (#340674)
7118
7119 2006-08-23  Wim Taymans  <wim@fluendo.com>
7120
7121         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
7122         (gst_pad_stop_task):
7123         Improve debugging for task functions.
7124
7125         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
7126         (gst_task_start), (gst_task_pause), (gst_task_join):
7127         Make sure that the task function started and finished after a 
7128         join(). 
7129         Don't try to push the task function on the threadpool multiple
7130         times.
7131         Improve the g_warning message with some useful suggestions
7132         about how to fix the problem. 
7133
7134 2006-08-23  Wim Taymans  <wim@fluendo.com>
7135
7136         * gst/gstutils.c: (gst_pad_proxy_getcaps):
7137         Handle RESYNC correctly in _proxy_getcaps.
7138
7139 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
7140
7141         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
7142         (gst_xml_parse_memory), (gst_xml_get_element):
7143           Chain up to parent class in dispose function and also
7144           unref the elements in the toplevel_elements GList.
7145           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
7146           Always return a reference in gst_xml_get_element() rather
7147           than only sometimes.
7148
7149         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7150           Don't leak GstXml object.
7151
7152 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
7153
7154         * docs/gst/gstreamer-sections.txt:
7155         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
7156         (gst_caps_merge):
7157         * gst/gstcaps.h:
7158         * libs/gst/base/gstbasetransform.c:
7159         (gst_base_transform_transform_caps):
7160           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
7161           in a better way
7162
7163 2006-08-21  Edward Hervey  <edward@fluendo.com>
7164
7165         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
7166         Implement GObject::dispose virtual method in GstXML so we can free the
7167         top_elements GList.
7168
7169 2006-08-21  Wim Taymans  <wim@fluendo.com>
7170
7171         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
7172         (gst_buffer_create_sub):
7173         Copy duration/offset_end/caps when creating a subbuffer of the
7174         complete parent.
7175         Make the subbuffer read-only when we make the metadata writable for
7176         now. Fixes #351768.
7177
7178         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7179         Added check for metadata copy when creating subbuffers.
7180
7181 2006-08-21  Edward Hervey  <edward@fluendo.com>
7182
7183         * libs/gst/base/gstbasetransform.c:
7184         (gst_base_transform_buffer_alloc):
7185         Only call downstream buffer_alloc if transform element is passthrough
7186         or always_in_place. Closes #350449.
7187
7188 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7189
7190         * ChangeLog:
7191           ChangeLog surgery to add comments to previous changes
7192
7193 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7194
7195         * gst/gst.c:
7196           Add comments
7197
7198         * gst/gstpad.c: (gst_pad_set_active):
7199           Be more verbose in the log
7200
7201         * libs/gst/base/gstbasetransform.c:
7202         (gst_base_transform_transform_caps):
7203           Simplify caps to get rid of duplicates, fixes #345444
7204
7205 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7206
7207         * gst/gstvalue.c:
7208         * gst/gstvalue.h:
7209           Use these optimizations only internally.
7210
7211 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7212
7213         * gst/gstvalue.c: (gst_value_compare_list),
7214         (gst_value_compare_fraction_range),
7215         (gst_value_intersect_fraction_fraction_range),
7216         (gst_value_intersect_fraction_range_fraction_range),
7217         (gst_value_subtract_fraction_fraction_range),
7218         (gst_value_subtract_fraction_range_fraction_range),
7219         (gst_value_get_compare_func), (gst_value_compare),
7220         (gst_value_compare_with_func):
7221         * gst/gstvalue.h:
7222           Saves the expensive lookup of the compare function in many cases
7223          (#345444)
7224
7225 2006-08-18  Edward Hervey  <edward@fluendo.com>
7226
7227         * tests/check/gst/gstinfo.c: (gst_info_suite):
7228         Disable test that require gstdebug if it wasn't built in core.
7229
7230 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * docs/random/ensonic/logging.txt:
7233           update ideas
7234           
7235         * gst/gstinfo.c: (gst_debug_log_default):
7236           reorder fields, save some columns, add optional color codes for log
7237           levels
7238
7239 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7240
7241         * docs/random/ensonic/logging.txt:
7242           add ideas about making the logs a bit more useful
7243
7244 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7245
7246         * docs/pwg/advanced-events.xml:
7247         * docs/pwg/titlepage.xml:
7248           Update for 0.10 API (#340627). Add myself
7249           to authors list.
7250
7251 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7252
7253         * docs/libs/gstreamer-libs-docs.sgml:
7254         * docs/libs/gstreamer-libs-sections.txt:
7255         * libs/gst/check/gstbufferstraw.c:
7256           Make gstcheck stuff show up in docs (still needs to
7257           be documented properly though).
7258
7259 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
7260
7261         * docs/gst/gstreamer-sections.txt:
7262         * gst/Makefile.am:
7263         * gst/gst.c: (init_post):
7264         * gst/gst_private.h:
7265         * gst/gstquark.c: (_priv_gst_quarks_initialize):
7266         * gst/gstquark.h:
7267         * gst/gstquery.c: (gst_query_new_position),
7268         (gst_query_set_position), (gst_query_parse_position),
7269         (gst_query_new_duration), (gst_query_set_duration),
7270         (gst_query_parse_duration), (gst_query_new_convert),
7271         (gst_query_set_convert), (gst_query_parse_convert),
7272         (gst_query_new_segment), (gst_query_set_segment),
7273         (gst_query_parse_segment), (gst_query_new_seeking),
7274         (gst_query_set_seeking), (gst_query_parse_seeking):
7275         Add internal helpers for pre-registering quarks from static strings
7276         and using the quark values directly instead of looking them up when
7277         creating and parsing queries. Can be used for event construction too.
7278         Closes #350432.
7279
7280 2006-08-16  Wim Taymans  <wim@fluendo.com>
7281
7282         * gst/gstbin.c:
7283         Fix bogus docs.
7284
7285 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7286
7287         * gst/gstutils.c: (gst_util_set_value_from_string):
7288           Fix memleak (#351502).
7289
7290         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7291           Add unit test for most of gst_util_set_value_from_string()
7292           (not that one would want to encourage use of this function).
7293
7294 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7295
7296         * libs/gst/check/gstcheck.h:
7297           Use const gchar * variables in fail_unless_equals_string
7298           macro to avoid compiler warnings (and don't use tabs for
7299           indenting).
7300
7301 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7302
7303         * tools/gst-launch.c: (print_tag):
7304           More space on the left for the tag names, to cater
7305           for the 'extended comment' tag (not touching the
7306           string for the first line since it's translated).
7307
7308 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7309
7310         * libs/gst/check/gstcheck.h:
7311           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
7312           print something when they fail.
7313
7314 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7315
7316         * docs/gst/gstreamer-sections.txt:
7317         * gst/gsttaglist.c: (_gst_tag_initialize):
7318         * gst/gsttaglist.h:
7319           API: add GST_TAG_EXTENDED_COMMENT (#350935).
7320           Also change merge function for GST_TAG_COMMENT to
7321           use_first.
7322
7323 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7324
7325         * gst/gstinfo.c: (gst_debug_print_object):
7326           Make GST_PTR_FORMAT print messages as well.
7327
7328         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
7329         (GST_START_TEST), (gst_info_suite):
7330           More tests.
7331
7332 2006-08-14  Edward Hervey  <edward@fluendo.com>
7333
7334         * gst/gstelementfactory.c: (gst_element_register):
7335         If the GstElementClass doesn't have a GstElementDetails with all fields
7336         filled up correctly (longname, description AND author), then error out
7337         nicely instead of crashing.
7338
7339 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7340
7341         * gst/gststructure.c:
7342           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
7343
7344         * gst/gstvalue.h:
7345           Expand on the difference between arrays and lists as we use them.
7346           
7347 2006-08-14  Wim Taymans  <wim@fluendo.com>
7348
7349         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
7350         If the parent state change function failed, don't assume we can safely
7351         stop the source, this will be done when the pads are deactivated.
7352
7353 2006-08-14  Wim Taymans  <wim@fluendo.com>
7354
7355         * gst/gstbuffer.c:
7356         * gst/gsttask.c: (gst_task_join):
7357         Small doc updates.
7358
7359         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7360         (gst_pad_stop_task):
7361         When pad (de)activation failed for some reason, restore the old
7362         activation mode and set the pad to flushing instead of assuming the
7363         pad is deactivated.
7364         If the _task_join() failed, reinstall the task on the pad so that it can
7365         be stopped later and return an error.
7366
7367 2006-08-11  Andy Wingo  <wingo@pobox.com>
7368
7369         * configure.ac:
7370         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7371         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
7372         is only for users of API that don't want to see deprecated
7373         functions in the headers; people that want to compile out
7374         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
7375         CFLAGS. Fixes the build of multifdsink, or will soon..
7376
7377 2006-08-11  Wim Taymans  <wim@fluendo.com>
7378
7379         * docs/gst/gstreamer-sections.txt:
7380         Add GstClockClass vmethod docs.
7381
7382         * gst/gstcaps.h:
7383         Mark #endif with comment for associated #if
7384
7385         * gst/gstclock.c: (gst_clock_id_wait):
7386         * gst/gstclock.h:
7387         Add vmethod wait_jitter to avoid an unneeded _get_time() for
7388         most clock implementations.
7389         Document vmethods.
7390         Flesh out docs about resolution methods.
7391         API: GstClockClass::wait_jitter
7392
7393         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7394         (gst_system_clock_async_thread),
7395         (gst_system_clock_id_wait_jitter_unlocked),
7396         (gst_system_clock_id_wait_jitter):
7397         Use base class wait_jitter variant for improved performance
7398         due to less clock polling.
7399
7400 2006-08-11  Edward Hervey  <edward@fluendo.com>
7401
7402         * gst/gst.c: (gst_init_check), (init_post):
7403         Set gst as being initialized before scanning/updating the registry,
7404         since there might be my python plugin loader that calls gst_init() and
7405         we don't want to loop back in.
7406         Closes #350879
7407
7408 2006-08-11  Wim Taymans  <wim@fluendo.com>
7409
7410         * docs/design/part-qos.txt:
7411         Bring docs in line with the code. Mostly the sign of the jitter was
7412         wrong in the docs. Fixes #349943.
7413
7414         * gst/gstclock.c:
7415         Fix the docs for the jitter.
7416
7417         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
7418         (gst_event_parse_tag), (gst_event_new_buffer_size),
7419         (gst_event_parse_buffer_size), (gst_event_parse_qos),
7420         (gst_event_new_seek), (gst_event_parse_seek),
7421         (gst_event_new_navigation):
7422         Make sure the GstStructure has no parent when creating custom
7423         events.
7424         Add some more argument checking so that we avoid 0.0 rates.
7425         Flesh out the docs for the QoS event some more.
7426
7427 2006-08-11  Wim Taymans  <wim@fluendo.com>
7428
7429         * docs/gst/gstreamer-sections.txt:
7430         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7431         (ensure_current_registry_forking), (ensure_current_registry),
7432         (parse_one_option), (parse_goption_arg), (gst_deinit),
7433         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
7434         * gst/gst.h:
7435         Doc updates.
7436         Added API and command line option to disable registry forking in
7437         addition to the environment variable.
7438         Constify some static arrays.
7439         Added some more debug.
7440         Don't deinit twice.
7441         API: gst_registry_fork_is_enabled()
7442         API: gst_registry_fork_set_enabled()
7443         API: --gst-disable-registry-fork command line option
7444         Fixes #348918.
7445
7446 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
7447
7448         * gst/gst.c: (gst_init):
7449           Fix typo in error message.
7450
7451 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7452
7453         * libs/gst/controller/gstcontroller.h:
7454           fix ABI size-correction
7455
7456         * tests/check/libs/gdp.c: (gst_dp_suite):
7457           make tests that use deprecated API conditional
7458
7459 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7460
7461         * docs/libs/gstreamer-libs-sections.txt:
7462         * libs/gst/controller/gstcontroller.c:
7463         (_gst_controller_get_property), (_gst_controller_set_property),
7464         (_gst_controller_init), (_gst_controller_class_init):
7465         * libs/gst/controller/gstcontroller.h:
7466         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7467         (gst_object_set_control_rate):
7468           API: add gst_object_{s,g}et_control_rate(), add private data section,
7469           fix docs
7470
7471         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7472         * libs/gst/dataprotocol/dataprotocol.h:
7473           add deprecation guards to make gtk-doc happy and allow disabling cruft
7474
7475 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7476
7477         * tests/check/Makefile.am:
7478         * tests/check/gst/.cvsignore:
7479           Let's enable the new unit test as well.
7480
7481 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7482
7483         * configure.ac:
7484         * docs/gst/gstreamer-sections.txt:
7485         * gst/gstconfig.h.in:
7486         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7487         (_gst_info_printf_extension_ptr),
7488         (_gst_info_printf_extension_segment):
7489           API: add GST_SEGMENT_FORMAT, which is a printf extension we
7490           register that lets us easily dump GstSegments into debug
7491           logs (#350419).
7492
7493         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7494         (info_segment_format_printf_extension), (gst_info_suite):
7495           Add simple unit test that logs a bunch of different segments (not
7496           valgrinded at the moment because of leaks in
7497           gst_debug_add_log_function).
7498
7499 2006-08-09  Edward Hervey  <edward@fluendo.com>
7500
7501         * libs/gst/base/gstbasetransform.c:
7502         (gst_base_transform_buffer_alloc):
7503         Even if we can't figure out the proper format to request downstream,
7504         call buffer_alloc() downstream with the input parameters without setting
7505         the caps on the srcpad. This will force negotiation in the chain
7506         function.
7507         Closes #350449
7508
7509 2006-08-08  Edward Hervey  <edward@fluendo.com>
7510
7511         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7512         Unlinking from a pad without a target is now a perfectly valid case
7513         which should NOT raise an assertion.
7514         This case would happen if a linked ghostpad its target set to NULL after
7515         it was previously linked.
7516
7517 2006-08-08  Edward Hervey  <edward@fluendo.com>
7518
7519         * tests/check/libs/gdp.c:
7520         Also comment out the test (see below).
7521
7522 2006-08-08  Edward Hervey  <edward@fluendo.com>
7523
7524         * tests/check/libs/gdp.c: (gst_dp_suite):
7525         Use the architecture information from config.h and not gcc macros
7526         in order to properly disable a test that fails on PPC64.
7527
7528 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7529
7530         * gst/gstelement.c: (gst_element_remove_pad):
7531           Don't crash printing the warning if the pad has no parent.
7532
7533 2006-08-02  Wim Taymans  <wim@fluendo.com>
7534
7535         * libs/gst/dataprotocol/dataprotocol.c:
7536         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7537         (gst_dp_crc), (gst_dp_header_payload_length),
7538         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7539         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7540         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7541         (gst_dp_event_from_packet), (gst_dp_validate_header),
7542         (gst_dp_validate_payload):
7543         Make debug category static
7544         Constify the crc table.
7545         Do some more arg checking in public functions.
7546         Fix some docs and do some small cleanups.
7547
7548         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7549         Add some more checks to see if GDP deals with bogus input.
7550
7551 2006-07-31  Wim Taymans  <wim@fluendo.com>
7552
7553         * gst/gstvalue.c: (gst_value_compare_list):
7554         Fix GstValueList comparison code. Fixes #347293.
7555
7556         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7557         Check to test GstValueList comparison.
7558
7559 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7560
7561         * gst/gstelementfactory.c: (gst_element_factory_create):
7562         Remove unnecessary ref/unref pair
7563
7564         * gst/parse/grammar.y:
7565         Make sure to free the parse buffer on all code paths.
7566         Move a g_free up to the error handler where it's easier to see.
7567
7568         * tests/check/gst/gstevent.c: (test_event):
7569         Extending timeout for downstream travelling events to 10 seconds to
7570         hopefully avoid intermittent failure on the buildbots.
7571
7572         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7573         Don't manually set the state of the src element - it will happen as a
7574         natural consequence of the pipeline changing state, and that way it
7575         will do it in the right order too.
7576
7577 2006-07-31  Wim Taymans  <wim@fluendo.com>
7578
7579         * libs/gst/base/gstbasetransform.c:
7580         (gst_base_transform_buffer_alloc):
7581         Use OBJECT_LOCK and refcounting to get the pad caps in the
7582         buffer_alloc function because the caps could change while we are
7583         busy with them. Fixes #349105
7584
7585 2006-07-31  Wim Taymans  <wim@fluendo.com>
7586
7587         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7588         Protect _PAD_CAPS with OBJECT_LOCK.
7589
7590 2006-07-31  Wim Taymans  <wim@fluendo.com>
7591
7592         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7593         (gst_pad_get_property), (gst_pad_activate_pull),
7594         (gst_pad_activate_push), (gst_pad_set_blocked_async),
7595         (gst_pad_set_activate_function),
7596         (gst_pad_set_activatepull_function),
7597         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7598         (gst_pad_set_getrange_function),
7599         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7600         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7601         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7602         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7603         (gst_pad_set_acceptcaps_function),
7604         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7605         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7606         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7607         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7608         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7609         (gst_pad_configure_sink), (gst_pad_configure_src),
7610         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7611         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7612         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7613         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7614         (gst_pad_send_event):
7615         Use _DEBUG_OBJECT when it makes sense.
7616         Protect GST_PAD_CAPS with the OBJECT_LOCK.
7617         Small cleanups and code reflows.
7618         Avoid caps refcounting in _accept_caps.
7619         Refactor alloc_buffer so that the code performed on the peer is in a
7620         separate function. Also if the pad does not implement a buffer alloc
7621         function, we should still check if the pad is flushing before falling
7622         back to the default allocator.
7623
7624 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7625
7626         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7627         Make all uses of identity and fakesink have silent=true to avoid
7628         serialising every passing data structure, which is breaking tests
7629         on FC4 for some unknown reason.
7630
7631 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7632
7633         * gst/parse/Makefile.am:
7634         * gst/parse/grammar.y:
7635         * gst/parse/parse.l:
7636           Reverted previous patch as it required to bump the flex dependency to
7637           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7638
7639 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7640
7641         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7642
7643         * gst/parse/Makefile.am:
7644         * gst/parse/grammar.y:
7645         * gst/parse/parse.l:
7646           push & pop the state of the lexer for reentrant use case
7647           Fixes #349180
7648
7649 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
7650
7651         * libs/gst/base/gstbasesrc.h:
7652           Note in the docs that the ::newsegment vfunc is not actually used by
7653           GstBaseSrc.
7654
7655 2006-07-28  Wim Taymans  <wim@fluendo.com>
7656
7657         * libs/gst/base/gstcollectpads.c:
7658         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7659         (gst_collect_pads_clear), (gst_collect_pads_flush),
7660         (gst_collect_pads_event), (gst_collect_pads_chain):
7661         When flushing a pad, also clear the queued buffer so that we don't
7662         accidentally use it when we shouldn't.
7663         Fix leaks by inreffing incomming buffer.
7664         Flush out queued buffers in case of errors.
7665         Fixes #347452.
7666
7667 2006-07-28  Wim Taymans  <wim@fluendo.com>
7668
7669         * docs/random/phonon-gst:
7670         Random notes about a Phonon backend.
7671
7672 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7673
7674         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7675         Extra debug output
7676         * tests/check/libs/gdp.c: (gst_dp_suite):
7677         Take a whack at fixing the ppc compile using a different define to
7678         disable the broken test.
7679
7680         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7681         Remove excess g_print()
7682
7683 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7684
7685         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7686         Oops, meant to uncomment this line too to dampen the noise a bit.
7687
7688 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7689
7690         * gst/parse/grammar.y:
7691         * gst/parse/parse.l:
7692         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7693         (GST_START_TEST), (parse_suite):
7694         Fix some of the leaks exposed by extending the parse-launch testsuite,
7695         and move the 3 I can't figure out into a separate test that won't run
7696         the pipelines unless the appropriate line is uncommented.
7697
7698 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7699
7700         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7701           Requesting 0 bytes before the end of the file should result in
7702           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7703           unit test.
7704
7705 2006-07-27  Wim Taymans  <wim@fluendo.com>
7706
7707         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7708         Fix useless assert, a uint is always positive.
7709
7710         * gst/gststructure.c: (gst_structure_nth_field_name),
7711         (gst_structure_foreach), (gst_structure_map_in_place):
7712         Check input arguments for public functions to avoid obvious crashes.
7713
7714         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7715         * plugins/elements/gstfakesink.h:
7716         Do less useless typechecking.
7717
7718 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7719
7720         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7721           Do not use mmap() by default since there are a number of error
7722           conditions that we would like to handle in a non-fatal way that
7723           will result in a SIGBUS if we use mmap(). Examples: external
7724           devices (USB harddrive, portable music player) being unplugged
7725           while in use; file on mounted CD/DVD that can't be read because
7726           the medium is partly damaged. Fixes #348455 and #348475.
7727
7728 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7729
7730         * gst/gstquery.h:
7731         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7732         rates are a gdouble
7733
7734 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7735
7736         * gst/gstregistry.c:
7737           Move big documentation comment into class section header, so that it
7738           appears in the API docs.
7739
7740 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7741
7742         * docs/gst/gstreamer-sections.txt:
7743         Oops. Commit the docs additions too for new API.
7744         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7745
7746 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7747
7748         * gst/gststructure.c: (gst_structure_id_set),
7749         (gst_structure_id_set_valist):
7750         * gst/gststructure.h:
7751         Add API for setting values into structures without performing
7752         a quark lookup, if the appropriate quark is already known.
7753
7754         API: gst_structure_id_set
7755         API: gst_structure_id_set_valist
7756
7757         * gst/parse/grammar.y:
7758         * gst/parse/parse.l:
7759         Remove some dead code shown by the coverage information.
7760         Don't throw a critical g_warning when encountering a syntax error,
7761         just warn and let the normal error path handle it.
7762
7763         * plugins/elements/gstelements.c:
7764         Bump the rank of filesink up to PRIMARY so that it is preferred over
7765         gnomevfssink for file:// sink uri's
7766
7767         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7768         (GST_START_TEST), (run_delayed_test),
7769         (gst_parse_test_element_base_init),
7770         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7771         (gst_parse_test_element_change_state),
7772         (gst_register_parse_element), (parse_suite):
7773         Beef up the tests for parse syntax to check that more error cases
7774         fail as they are supposed to. Increases the test coverage a bit.
7775
7776 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7777
7778         * docs/manual/basics-elements.xml:
7779           Fix gst_element_link() example.
7780
7781         * gst/gstutils.c:
7782           Mention in API docs that one should usually gst_bin_add()
7783           elements to a bin or pipeline before doing the linking.
7784           
7785 2006-07-26  Wim Taymans  <wim@fluendo.com>
7786
7787         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7788         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7789         Avoid function call for known types by keeping the buffer and
7790         subbuffer GType global.
7791
7792         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7793         Random silly optimisations in read() path.
7794
7795 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7796
7797         * tools/gst-launch.c: (main):
7798           If the top-level of the parse is a normal bin, it doesn't do the
7799           right logic to run as a top-level element, so place it inside a
7800           pipeline.
7801
7802 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7803
7804         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7805           Remove superfluous g_object_notify() calls, GObject does
7806           that for us automatically.
7807
7808 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7809
7810         * gst/gstinfo.h:
7811           on Win32, use dllspec to export the debug category symbols
7812
7813 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7814
7815         * gst/gsttaglist.c: (_gst_tag_initialize):
7816           Allow more than one GST_TAG_IMAGE per taglist.
7817
7818 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7819
7820         * gst/gstminiobject.c:
7821           update docs
7822         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7823         (gst_fd_src_create):
7824           log recurring events at LOG level
7825           add more debug for when the fd gets set
7826
7827 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7828
7829         * gst/gstparse.c: (gst_parse_launch):
7830           Also remove reentrance checks if flex is MT safe (#348179)
7831          Fix my empty ChangeLog entry below
7832
7833 2006-07-21  Andy Wingo  <wingo@pobox.com>
7834
7835         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7836
7837         * libs/gst/check/Makefile.am
7838         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7839         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
7840         * libs/gst/check/gstbufferstraw.h:
7841         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7842         functions, thus proving I am still a GStreamer haxor. OK I wrote
7843         them a long time ago, but anyways.
7844
7845 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7846
7847         * configure.ac:
7848         * gst/gstparse.c: (gst_parse_launch):
7849           Check for flex version and omit mutex if we have a MT save flex
7850           (fixes #348179)
7851
7852 2006-07-21  Wim Taymans  <wim@fluendo.com>
7853
7854         * gst/gstparse.c: (gst_parse_launch):
7855         Protect recursive calls to _parse with a recursive mutex
7856         and busy flag.
7857
7858 2006-07-21  Wim Taymans  <wim@fluendo.com>
7859
7860         * tests/check/gst/gstpad.c: (GST_START_TEST):
7861         Fix leak in test.
7862
7863 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
7864
7865         * gst/gstparse.c: (gst_parse_launch):
7866           Do not hang on recursive usage of gst_parse_launch()
7867
7868 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7869
7870         * gst/gsttaglist.c:
7871           Add some more docs, comments and FIXME 0.11s here and there
7872           and also fix some typos.
7873
7874 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7875
7876         * gst/gstsegment.h:
7877           Convert tabs to spaces for better readability. 
7878
7879 2006-07-20  Edward Hervey  <edward@fluendo.com>
7880
7881         * tests/check/libs/gdp.c: (gst_dp_suite):
7882         the test_buffer test fails at line 140 on ppc64 at the following
7883         check:
7884         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7885                 GST_BUFFER_FLAG_IN_CAPS),
7886                 "GST_BUFFER_IN_CAPS flag should have been copied !");
7887         See bug #348114 for more details.
7888
7889 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
7890
7891         * docs/pwg/advanced-scheduling.xml:
7892         * gst/gstpad.c:
7893           Fix typos (#348000).
7894
7895 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
7896
7897         * docs/pwg/intro-basics.xml:
7898           Fix wrong links (#347927).
7899
7900 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * gst/gstregistry.h:
7903         * gst/gstregistryxml.c: (load_feature),
7904         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7905         * win32/common/config.h:
7906           make --disable-index work (#342564)
7907
7908 2006-07-18  Wim Taymans  <wim@fluendo.com>
7909
7910         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7911
7912         * gst/Makefile.am:
7913         * gst/gsttrace.h:
7914         The attached patch adds two missing defines to gsttrace.h when tracing
7915         is disabled.  It also corrects one existing define.
7916         Fixes #347756.
7917
7918 2006-07-17  Wim Taymans  <wim@fluendo.com>
7919
7920         * docs/gst/gstreamer-sections.txt:
7921         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7922         * gst/gst.h:
7923         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7924         Add two functions to check and change the SIGSEGV behaviour
7925         when loading plugins.
7926         Don't mess with the SIGSEGV handler when we were told not to.
7927         Fixes #347794.
7928         API: gst_segtrap_is_enabled
7929         API: gst_segtrap_set_enabled
7930
7931 2006-07-14  Wim Taymans  <wim@fluendo.com>
7932
7933         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7934         * tests/check/elements/filesrc.c: (GST_START_TEST):
7935         Revert fix for regression in #347408 after release.
7936
7937 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
7938
7939         Patch by: Antoine Tremblay <hexa00 at gmail com>
7940
7941         * gst/gstutils.c: (gst_element_unlink):
7942           Free iterator when done (#347311).
7943
7944         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7945           And add a test case for this.
7946
7947 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
7948
7949         * configure.ac:
7950         Bump nano back to CVS
7951
7952 === release 0.10.9 ===
7953
7954 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
7955
7956         * configure.ac:
7957           releasing 0.10.9, "On the road again"
7958
7959 2006-07-13  Wim Taymans  <wim@fluendo.com>
7960
7961         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7962         * tests/check/elements/filesrc.c: (GST_START_TEST):
7963         Revert pull-0 fix for release. Disable check. Fixes #347408.
7964
7965 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7966
7967         * libs/gst/dataprotocol/dataprotocol.c:
7968         (gst_dp_event_from_packet_1_0):
7969           Fixes #347337: failure to deserialize event packets with
7970           empty payload (only event type)
7971
7972 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7973
7974         * gst/Makefile.am:
7975           do not install a .c file in the header directory
7976
7977 2006-07-13  Edward Hervey  <edward@fluendo.com>
7978
7979         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7980         GhostPad no longer implicitely use the padtemplates of the targets.
7981         Fixes #347384
7982
7983 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
7984
7985         * gst/gstvalue.c: (gst_value_compare_list),
7986         (gst_value_compare_array), (_gst_value_initialize):
7987         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7988         Make GstValueArray comparison be order dependent as designed.
7989         Add checks for value lists and value array comparisons.
7990         Fixes #347221
7991
7992 2006-07-11  Edward Hervey  <edward@fluendo.com>
7993
7994         * gst/gstbin.c: (activate_pads),
7995         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7996         (gst_bin_change_state_func):
7997         (de)activate src pads before calling state_change on the childs.
7998         This is to avoid the case where a src ghostpad is blocked (holding the
7999         stream lock), which would block the deactivation of the ghostpad's
8000         target pad.
8001         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
8002         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
8003         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
8004         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8005         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8006         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8007         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8008         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
8009         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
8010         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8011         (gst_ghost_pad_class_init),
8012         (gst_ghost_pad_internal_do_activate_push),
8013         (gst_ghost_pad_internal_do_activate_pull),
8014         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8015         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8016         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
8017         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
8018         GhostPads now create their internal GstProxyPad at creation (and not
8019         when they're linked, as it was being done previously).
8020         The internal and target pads are linked straight away.
8021         The data will also travel through the other pad in order to make
8022         pad blocking and probes non-hackish (the probe/block now really happens
8023         on the GhostPad and not on the target).
8024         * gst/gstpad.c: (gst_pad_set_blocked_async),
8025         (gst_pad_link_prepare), (gst_pad_push_event):
8026         Remove previous ghostpad cruft.
8027         * gst/gstutils.c: (gst_pad_add_data_probe),
8028         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8029         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8030         (gst_pad_remove_buffer_probe):
8031         Remove previous ghost pad cruft.
8032         Added more detailed debug statements.
8033         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8034         Fix the testsuite for refcounting changes.
8035         The comments about who has references were correct, but the refcount
8036         being checked wasn't the same (!?!).
8037
8038         Fixes #341029
8039
8040 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8041
8042         * docs/gst/gstreamer-sections.txt:
8043         * gst/gstconfig.h.in:
8044         More docs for configuration options, add docs to gtk-doc.
8045
8046 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8047
8048         * gst/Makefile.am:
8049         * gst/gstconfig.h.in:
8050         * win32/common/config.h:
8051         Fix build when disabling tracing (fixes #344016). Also start to document
8052         the defines that disable the sub-systems.
8053
8054 2006-07-10  Edward Hervey  <edward@fluendo.com>
8055
8056         * gst/gst.c: (ensure_current_registry_forking):
8057         let's make valgrind happy...
8058
8059 2006-07-09  Wim Taymans  <wim@fluendo.com>
8060
8061         * gst/gstelement.c: (activate_pads),
8062         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8063         Better pad activation code: Reset the collect value too on resync.
8064         Add some comments.
8065
8066 2006-07-09  Wim Taymans  <wim@fluendo.com>
8067
8068         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
8069         (gst_pad_activate_push):
8070         Use some more macros where it makes sense.
8071         Allow pad mode switching instead of asserting. When a pad
8072         is activated in one mode and we activate it in another, 
8073         deactivate it first before activating it in a different mode.
8074         Fixes #329198.
8075
8076 2006-07-08  Andy Wingo  <wingo@pobox.com>
8077
8078         * tools/gst-launch.c (main): Handle err == NULL.
8079
8080         * gst/gst.c (init_post, ensure_current_registry)
8081         (ensure_current_registry_forking)
8082         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
8083         factoring out the registry scanning into separate functions. Don't
8084         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
8085         Better environment var name/interface suggestions accepted.
8086
8087 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8088
8089         * gst/gstobject.c: (gst_object_set_name_default),
8090         (gst_object_set_name):
8091           Random micro-optimisation: don't use a hash table
8092           with strings as keys and the usual strdup/strcmp
8093           involved, but rather just use the GQuark of the
8094           type name as key, since it needs to be looked up
8095           anyway to get the type name string.
8096
8097         * tests/check/gst/gstobject.c: (GST_START_TEST):
8098           Fix various leaks.
8099
8100 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8101
8102         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
8103         (gst_bin_iterate_all_by_interface):
8104           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
8105           GTypes are gulongs and thus the top 4 bytes might be cut
8106           off on some platforms when doing GPOINTER_TO_INT, leading
8107           to invalid GTypes and bad things happening (see RH bug #179654).
8108           Also add a check to make sure the type passed in is really
8109           an interface type.
8110
8111 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8112
8113         * .cvsignore:
8114           Ignore more.
8115
8116 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8117
8118         * Makefile.am:
8119         * configure.ac:
8120         * gst-element-check.m4:
8121         * gst-element-check.m4.in:
8122           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
8123           instead of the unversioned gst-inspect (#324176, #168659).
8124
8125 2006-07-06  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/gstmessage.h:
8128         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
8129         warnings.
8130
8131 2006-07-06  Wim Taymans  <wim@fluendo.com>
8132
8133         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8134         (gst_base_src_wait), (gst_base_src_update_length),
8135         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
8136         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
8137         (gst_base_src_loop), (gst_base_src_start),
8138         (gst_base_src_activate_pull):
8139         Update docs.
8140         blocksize == 0 now means the default blocksize when working in push
8141         based mode.
8142         Remove some pointless asserts in _wait function.
8143         Fix offset/length calculations and EOS handling. We can now pull 0
8144         bytes as well, which is allowed.
8145         use _check_get_range() to decide if we can operate in _pull based
8146         mode.
8147         Fix refcounting leak when check_get_range function was not 
8148         implemented.
8149         API GstBaseSrc::blocksize range can be 0 too now (default)
8150
8151         * tests/check/elements/filesrc.c: (GST_START_TEST),
8152         (filesrc_suite):
8153         Added check to test _get_range() behaviour.
8154
8155 2006-07-06  Wim Taymans  <wim@fluendo.com>
8156
8157         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8158         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
8159         (gst_pad_pull_range):
8160         * gst/gstpad.h:
8161         Lots of comments and docs added to the pad functions.
8162         Flesh out the expected behaviour of the get_range() functions.
8163
8164 2006-07-06  Wim Taymans  <wim@fluendo.com>
8165
8166         * gst/gstbus.h:
8167         * gst/gstclock.h:
8168         * gst/gstevent.h:
8169         * gst/gstiterator.h:
8170         * gst/gstpad.h:
8171         * gst/gstplugin.h:
8172         * gst/gsttask.h:
8173         Remove comma at end of enumerator list. 
8174
8175 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
8176
8177         * win32/common/libgstbase.def:
8178         * win32/common/libgstdataprotocol.def:
8179         * win32/common/libsgtreamer.def:
8180         Add new exported functions.
8181
8182 2006-07-05  Wim Taymans  <wim@fluendo.com>
8183
8184         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
8185         Add some more docs here and there.
8186
8187 2006-07-05  Wim Taymans  <wim@fluendo.com>
8188
8189         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
8190         (gst_base_sink_loop), (gst_base_sink_get_position):
8191         When operating in pull mode update the offset so that we
8192         read sequentially.
8193
8194 2006-07-05  Wim Taymans  <wim@fluendo.com>
8195
8196         * gst/gstregistryxml.c: (read_string):
8197         Avoid strdup. (will happen in libxml, but hey!)
8198
8199         * gst/gsturi.c:
8200         Add some more docs.
8201
8202 2006-07-05  Wim Taymans  <wim@fluendo.com>
8203
8204         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
8205         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8206         (gst_buffer_suite):
8207         No point in checking if the size of the subbuffer > 0, the
8208         code handles it correclty as demonstrated by unit test.
8209         Also add a unit test for the zero sized _new_and_alloc and
8210         _copy. Fixes #346663.
8211
8212 2006-07-05  Wim Taymans  <wim@fluendo.com>
8213
8214         * libs/gst/base/gstbasetransform.c:
8215         (gst_base_transform_prepare_output_buffer),
8216         (gst_base_transform_buffer_alloc),
8217         (gst_base_transform_handle_buffer):
8218         Make sure the buffer we pass to transform_ip has a refcount of
8219         1 and thus is writable. Fixes #343196
8220
8221 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
8222
8223         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8224         (gst_file_src_init), (gst_file_src_set_property),
8225         (gst_file_src_get_property), (gst_file_src_map_region):
8226         * plugins/elements/gstfilesrc.h:
8227         Add "sequential" property, off by default, to use madvise and hint
8228         to the kernel that sequential access is desired.
8229         Touch all retrieved pages by default to ensure they are pulled
8230         into memory. (Closes #345720)
8231
8232 2006-07-03  Wim Taymans  <wim@fluendo.com>
8233
8234         * docs/design/part-block.txt:
8235         * docs/design/part-dynamic.txt:
8236         Small docs updates.
8237
8238 2006-07-03  Wim Taymans  <wim@fluendo.com>
8239
8240         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
8241         (gst_caps_unref), (gst_static_caps_get),
8242         (gst_caps_append_structure):
8243         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
8244         Use GSlice when the glib we build against is >= 2.10
8245
8246 2006-07-03  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/gstelement.c: (gst_element_pads_activate):
8249         Small cleanup in pad activation code.
8250
8251 2006-07-03  Wim Taymans  <wim@fluendo.com>
8252
8253         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8254
8255         * gst/gst-i18n-app.h:
8256         * gst/gst-i18n-lib.h:
8257         * tools/gst-inspect.c: (print_signal_info):
8258         The attached patch will make the inclusion of gettext.h unconditional in
8259         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
8260         libintl.h in tools/gst-inspect.c.
8261         This allows use of --disable-nls again and fixes #344642.
8262
8263 2006-07-03  Edward Hervey  <edward@fluendo.com>
8264
8265         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
8266         Implement pad blocking on events according to part-block.txt.
8267         More comments on behaviour.
8268         * tests/check/gst/gstevent.c: (test_event):
8269         Send event to peer pad of blocked pad (else it will block).
8270
8271 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8272
8273         * libs/gst/check/gstcheck.c: (gst_check_message_error),
8274         (gst_check_run_suite):
8275           if we get the wrong message, give us the types as string
8276         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8277           Fix a translatable
8278         * tests/check/elements/filesrc.c: (GST_START_TEST):
8279           add a test for trying to open a non-existing file
8280
8281 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8282
8283         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8284           add a test for adding self
8285
8286 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8287
8288         * libs/gst/check/gstcheck.h:
8289           add some assert_ as alias for fail_unless_*
8290         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
8291           increase test coverage
8292
8293 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * Makefile.am:
8296           include lcov.mak for lcov coverage generation
8297         * tools/Makefile.am:
8298           add to CLEANFILES
8299
8300 2006-07-02  Edward Hervey  <edward@fluendo.com>
8301
8302         * tests/check/elements/.cvsignore:
8303         moaping
8304
8305 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8306
8307         * configure.ac:
8308           don't set CFLAGS and friends for gcov, done from GST_GCOV now
8309         * tests/check/Makefile.am:
8310           clean up gcov files
8311
8312 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8313
8314         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
8315           remove gst_caps_simplify; it was not declared and not used
8316           and deprecated in 0.8
8317
8318 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8319
8320         * docs/faq/gst-uninstalled:
8321           don't put empty paths on PYTHONPATH
8322         * docs/gst/gstreamer-sections.txt:
8323           remove some symbols that are not there
8324
8325 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8326
8327         * gst/gstcaps.c: (gst_caps_compare_structures):
8328           whitespace fixes
8329         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8330         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8331           add more tests
8332
8333 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8334
8335         * libs/gst/dataprotocol/Makefile.am:
8336           build dataprotocol test by linking to the lib, instead of
8337           compiling the source, so we get coverage
8338         * tests/check/Makefile.am:
8339         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
8340         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
8341           add a test for filesrc
8342
8343 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8344
8345         * tests/check/gst/gststructure.c: (GST_START_TEST),
8346         (gst_structure_suite):
8347           Push coverage from 59.04% to 70.00%
8348
8349 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * tests/check/Makefile.am:
8352           gst-inspect every element; this makes sure that we also get
8353           coverage on element's get/set functions
8354
8355 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * configure.ac:
8358           set CFLAGS and friends to -O0 if gcov is being used
8359           add GCOV LIBS
8360         * gst/Makefile.am:
8361         * libs/gst/base/Makefile.am:
8362         * libs/gst/check/Makefile.am:
8363         * libs/gst/controller/Makefile.am:
8364         * libs/gst/dataprotocol/Makefile.am:
8365         * libs/gst/net/Makefile.am:
8366         * plugins/elements/Makefile.am:
8367         * plugins/indexers/Makefile.am:
8368           add makefile rules to generate gcov data and clean up
8369         * tests/check/Makefile.am:
8370           add a coverage target that generates an html overview
8371           of coverage data
8372
8373 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8374
8375         * tests/check/elements/fakesink.c:
8376         * tests/check/elements/fakesrc.c:
8377         * tests/check/elements/fdsrc.c:
8378         * tests/check/elements/identity.c:
8379         * tests/check/generic/sinks.c: (gst_sinks_suite):
8380         * tests/check/generic/states.c:
8381         * tests/check/gst/gst.c:
8382         * tests/check/gst/gstabi.c:
8383         * tests/check/gst/gstbin.c:
8384         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8385         * tests/check/gst/gstbus.c: (gst_bus_suite):
8386         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8387         * tests/check/gst/gstelement.c:
8388         * tests/check/gst/gstevent.c: (gst_event_suite):
8389         * tests/check/gst/gstghostpad.c:
8390         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
8391         * tests/check/gst/gstmessage.c: (gst_message_suite):
8392         * tests/check/gst/gstminiobject.c:
8393         * tests/check/gst/gstobject.c:
8394         * tests/check/gst/gstpad.c:
8395         * tests/check/gst/gstpipeline.c:
8396         * tests/check/gst/gstplugin.c:
8397         * tests/check/gst/gstquery.c: (gst_query_suite):
8398         * tests/check/gst/gstsegment.c: (gst_segment_suite):
8399         * tests/check/gst/gststructure.c:
8400         * tests/check/gst/gstsystemclock.c:
8401         * tests/check/gst/gsttag.c:
8402         * tests/check/gst/gsttask.c: (gst_task_suite):
8403         * tests/check/gst/gstutils.c:
8404         * tests/check/gst/gstvalue.c:
8405         * tests/check/libs/adapter.c:
8406         * tests/check/libs/basesrc.c:
8407         * tests/check/libs/collectpads.c:
8408         * tests/check/libs/controller.c:
8409         * tests/check/libs/gdp.c: (gst_dp_suite):
8410         * tests/check/libs/gstnetclientclock.c:
8411         * tests/check/libs/gstnettimeprovider.c:
8412         * tests/check/libs/libsabi.c: (libsabi_suite):
8413         * tests/check/libs/typefindhelper.c:
8414         * tests/check/pipelines/cleanup.c:
8415         * tests/check/pipelines/parse-launch.c:
8416         * tests/check/pipelines/simple-launch-lines.c:
8417         * tests/check/pipelines/stress.c: (stress_suite):
8418           use the new macro
8419
8420 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8421
8422         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
8423         * libs/gst/check/gstcheck.h:
8424           create a macro and function so that the simple unit test
8425           case can be just one macro to create main()
8426
8427 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
8428
8429         * gst/gstbin.c: (gst_bin_restore_thyself):
8430         * gst/gstxml.c: (gst_xml_make_element):
8431           Fix deserialisation from XML. Set parent manually
8432           instead of using gst_bin_add(), since gst_bin_add()
8433           will unlink all pads of the element being added.
8434           Fixes #341667.
8435
8436 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
8437
8438         Patch by: Peter Kjellerstedt <pkj at axis com>
8439
8440         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
8441           Fix missing g_strdup() and double free when using the
8442           --gst-plugin-load command line option (#346097).
8443
8444 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8445
8446         * gst/gstinfo.c:
8447           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
8448
8449         * libs/gst/net/gstnetclientclock.c:
8450         * libs/gst/net/gstnettimeprovider.c:
8451           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
8452
8453 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8454
8455         * docs/manual/advanced-dataaccess.xml:
8456           Fix buffer probe example compilation in
8457           ADM (#345708).
8458         
8459 2006-06-22  Edward Hervey  <edward@fluendo.com>
8460
8461         * gst/gstelement.c: (gst_element_pads_activate):
8462         We need to deactivate src pads first and then sink pads.
8463         The reason is the src pads might be blocking while holding the streaming
8464         lock, so we need to deactivate them first so that deactivating the sink
8465         pads doesn't block (since it will require the streaming lock).
8466
8467 2006-06-22  Wim Taymans  <wim@fluendo.com>
8468
8469         * libs/gst/base/gstbasetransform.c:
8470         (gst_base_transform_buffer_alloc):
8471         Forgot to remove two unneeded unrefs.
8472         Simplify a check _is_equal allready checks the obvious case.
8473
8474 2006-06-22  Wim Taymans  <wim@fluendo.com>
8475
8476         * docs/design/part-block.txt:
8477         Some docs about what pad_block should do.
8478
8479 2006-06-22  Wim Taymans  <wim@fluendo.com>
8480
8481         * gst/gstcaps.c: (gst_caps_replace):
8482         Fix crasher when passed NULL. Doc clarification.
8483         Optimize for the trivial case.
8484
8485         * gst/gstpipeline.c: (gst_pipeline_change_state):
8486         Small cleanups.
8487
8488         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8489         Small documentation cleanup.
8490
8491         * libs/gst/base/gstbasetransform.c:
8492         (gst_base_transform_buffer_alloc):
8493         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8494         is what we need and it avoids a whole lot of redundant 
8495         refcount operations.
8496
8497 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
8498
8499         Patch by: Philip Jägenstedt  <philip at lysator liu se>
8500
8501         * docs/manual/advanced-dataaccess.xml:
8502           Fix 'Embedding static elements' section to use
8503           GST_PLUGIN_DEFINE_STATIC (#345607).
8504
8505 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8506
8507         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8508           Attempt to 'fix' spuriously failing test case: it seems like the
8509           timeout of half a second is simply too small when the system is under
8510           load otherwise, and the timeout doesn't really seem to serve any
8511           particular purpose here. Give the pipeline a few seconds to preroll
8512           first, and then give it another half a second to go from PAUSED to
8513           PLAYING and marshal the message into the main thread.
8514
8515 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8516
8517         * tools/gst-feedback-m.m:
8518           Don't only use unversioned tools, try versioned tools as well
8519           (#345086).
8520
8521 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8522
8523         * gst/gstbus.c: (gst_bus_class_init):
8524           Fix some typos, make docs more explicit.
8525
8526 2006-06-20  Wim Taymans  <wim@fluendo.com>
8527
8528         * tests/check/gst/gstghostpad.c: (block_callback),
8529         (GST_START_TEST), (gst_ghost_pad_suite):
8530         Added some more ghostpad tests, mainly blocking
8531         and probes.
8532
8533 2006-06-16  Wim Taymans  <wim@fluendo.com>
8534
8535         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8536         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8537         (gst_file_sink_event), (gst_file_sink_render):
8538         * plugins/elements/gstfilesink.h:
8539         Check if we can seek in the file instead of assuming
8540         we always can. Post an error when we are asked to seek in a
8541         non-seekable file (like a fifo). Fixes #343312.
8542         Some cleanups.
8543
8544 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8545
8546         * tools/gst-launch.1.in:
8547           Un-garble (fourcc) bit in filtered caps section.
8548
8549 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8550
8551         * docs/manual/advanced-autoplugging.xml:
8552         * docs/manual/basics-helloworld.xml:
8553         * docs/manual/highlevel-components.xml:
8554           Don't leak bus reference in sample code.
8555
8556 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8557
8558         * autogen.sh:
8559           Add default for new --enable-plugin-docs switch.
8560
8561         * configure.ac:
8562           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8563           Fixes #344039.
8564
8565         * docs/Makefile.am:
8566           Use new ENABLE_PLUGIN_DOCS conditional.
8567
8568 2006-06-14  Wim Taymans  <wim@fluendo.com>
8569
8570         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8571         Make it clear with a FIXME and a real define what the #if 0
8572         previously disabled.
8573
8574 2006-06-14  Wim Taymans  <wim@fluendo.com>
8575
8576         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8577         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8578         * libs/gst/base/gstbasetransform.c:
8579         (gst_base_transform_sink_eventfunc):
8580         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8581         Don't randomly and silently reset a segment when the format 
8582         changes as this is a bug somewhere upstream. Fixes #330379.
8583
8584 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8585
8586         Patch by: Wouter Paesen  <wouter at kangaroot net>
8587
8588         * libs/gst/controller/gstcontroller.c:
8589         (gst_controlled_property_new):
8590           Fix controlling of float properties (#344849).
8591
8592         * tests/check/libs/controller.c:
8593         (gst_test_mono_source_get_property),
8594         (gst_test_mono_source_set_property),
8595         (gst_test_mono_source_class_init), (GST_START_TEST):
8596           While we're at it, add some float stuff to unit test.
8597
8598 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8599
8600         * docs/README:
8601         * docs/images/gdp-header.svg:
8602           add a gdp image
8603         * docs/libs/Makefile.am:
8604         * docs/libs/gdp-header.png:
8605         * libs/gst/dataprotocol/dataprotocol.c:
8606           add it to the API docs
8607         * docs/manual/intro-motivation.xml:
8608           fix typo
8609
8610 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8611
8612         * gst/gst.c: (scan_and_update_registry), (init_post):
8613           If the fork()'ed child process can't write the updated registry cache
8614           file to disk for some reason, make it exit with a failure exit code,
8615           so that the parent can then re-scan the plugins itself and update the
8616           registry structures in memory and work with that (rather than failing
8617           when creating elements because seemingly no plugins are available).
8618           Refactor registry scanning code into separate function for this and
8619           also separate fork() and non-fork() code paths. Fixes #344748.
8620
8621 2006-06-13  Wim Taymans  <wim@fluendo.com>
8622
8623         * docs/manual/advanced-dataaccess.xml:
8624         Fix wrong PluginDesc. Fixes #344755.
8625
8626 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8627
8628         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8629           Fix silly bug that prevented us from creating
8630           ~/.gstreamer-0.10 and writing the registry in one
8631           go (the first call to g_mkstemp() would overwrite the
8632           placeholder in the template string, so the second call
8633           to g_mkstemp() after creating the missing directory
8634           would then error out with 'invalid argument').
8635
8636 2006-06-13  Edward Hervey  <edward@fluendo.com>
8637
8638         * gst/gst.c: (init_post):
8639         Free string.
8640
8641 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8642
8643         * gst/glib-compat-private.h:
8644         * gst/glib-compat.c:
8645         * gst/glib-compat.h:
8646         * gst/gstvalue.c: (gst_value_serialize_flags):
8647           remove GLib 2.6 compatibility code
8648
8649 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
8650
8651         * gst/parse/Makefile.am:
8652           Fix build with 'make -j N' even more (#340016).
8653
8654 2006-06-12  Wim Taymans  <wim@fluendo.com>
8655
8656         * docs/gst/gstreamer-sections.txt:
8657         Fix docs.
8658
8659 2006-06-12  Wim Taymans  <wim@fluendo.com>
8660
8661         * gst/gstsegment.c: (gst_segment_set_duration),
8662         (gst_segment_set_last_stop), (gst_segment_set_seek),
8663         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8664         (gst_segment_to_running_time), (gst_segment_clip):
8665         Use G_UNLIKELY to help the compiler a bit.
8666
8667 2006-06-12  Wim Taymans  <wim@fluendo.com>
8668
8669         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8670
8671         * gst/gstevent.c: (gst_event_get_type):
8672         * gst/gstmessage.c:
8673         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8674         (gst_pad_push):
8675         constify quark registration strings. Fixes #344115
8676         Avoid unneeded type checking is _pad_push() by internally
8677         calling gst_pad_chain_unchecked().
8678
8679 2006-06-12  Wim Taymans  <wim@fluendo.com>
8680
8681         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8682         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8683         (gst_subbuffer_finalize), (gst_buffer_create_sub),
8684         (gst_buffer_is_span_fast), (gst_buffer_span):
8685         Init _type for consistency.
8686         Use _FLAGS macro to avoid type check.
8687         Avoid unneeded type checks in subbufer code.
8688
8689 2006-06-12  Wim Taymans  <wim@fluendo.com>
8690
8691         * gst/gst.c: (gst_debug_help):
8692         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8693         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8694         (gst_plugin_feature_list_free):
8695         * gst/gstregistry.c: (gst_registry_add_plugin),
8696         (gst_registry_add_feature), (gst_registry_plugin_filter),
8697         (gst_registry_feature_filter), (gst_registry_find_plugin),
8698         (gst_registry_find_feature), (gst_registry_get_plugin_list),
8699         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8700         * gst/gstregistryxml.c: (load_feature),
8701         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8702         * gst/gstminiobject.c: (gst_mini_object_unref),
8703         (gst_mini_object_replace), (gst_value_mini_object_free),
8704         (gst_value_mini_object_copy):
8705         Use _CAST macros to avoid unneeded type checking.
8706         Added some more G_UNLIKELY.
8707
8708 2006-06-12  Wim Taymans  <wim@fluendo.com>
8709
8710         * gst/gstbuffer.h:
8711         Avoid unneeded type checking.
8712         API: GST_BUFFER_IS_DISCONT
8713
8714         * gst/gstminiobject.h:
8715         Avoid type check in flag accessor.
8716
8717         * gst/gstelementfactory.h:
8718         * gst/gstplugin.h:
8719         * gst/gstpluginfeature.h:
8720         Add _CAST macros.
8721         API: GST_ELEMENT_FACTORY_CAST
8722         API: GST_PLUGIN_CAST
8723         API: GST_PLUGIN_FEATURE_CAST
8724
8725 2006-06-12  Wim Taymans  <wim@fluendo.com>
8726
8727         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8728         (gst_object_unref):
8729         Add G_UNLIKELY in type registration.
8730         Avoid type check in _ref/_unref since that is also
8731         done in glib.
8732
8733 2006-06-12  Wim Taymans  <wim@fluendo.com>
8734
8735         * gst/gsterror.c: (gst_g_error_get_type):
8736         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8737         (gst_static_pad_template_get_type):
8738         * gst/gsttaglist.c: (gst_tag_list_get_type):
8739         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8740         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8741         * gst/gsturi.c: (gst_uri_handler_get_type):
8742         * gst/gstvalue.c: (gst_date_get_type):
8743         * gst/gstxml.c: (gst_xml_get_type):
8744         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8745         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8746         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8747         Add G_UNLIKELY in type registration.
8748
8749 2006-06-12  Wim Taymans  <wim@fluendo.com>
8750
8751         * tools/gst-inspect.c: (print_signal_info):
8752         Properly print enum values.
8753
8754 2006-06-12  Wim Taymans  <wim@fluendo.com>
8755
8756         * gst/gstinfo.c: (gst_debug_set_active),
8757         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8758         * gst/gstinfo.h:
8759         Add some G_[UN]LIKELY.
8760         Maintain __gst_debug_min to avoid formatting the arguments of
8761         debug messages that will be dropped anyway to avoid a lot of 
8762         overhead from the debugging system.
8763
8764 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8765
8766         * po/POTFILES.in:
8767         * po/POTFILES.skip:
8768           add missing files containing translatable strings, tell intltool about
8769           one exception
8770
8771 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8772
8773         * tests/check/libs/.cvsignore:
8774         add test-binary to ignore list
8775
8776 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8777
8778         * docs/libs/gstreamer-libs-docs.sgml:
8779         reorder (put dp into a chapter) and indent
8780
8781 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * configure.ac:
8784           back to HEAD
8785
8786 === release 0.10.8 ===
8787
8788 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8789
8790         * configure.ac:
8791           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8792
8793 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * gst/gst.c: (init_post):
8796           move pid declaration to declaration block
8797
8798 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8799
8800         * gst/gst.c: (init_post):
8801           use _exit() instead of exit() in our forked child; this ensures
8802           that none of the registered exit handlers from whatever is using
8803           GStreamer get executed.  This fixes gnome-mixer-applet failing
8804           to load, because ORBit would shut down.
8805           Spotted by: Edward Hervey  <edward@fluendo.com>
8806           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8807           Fixes #344474
8808
8809 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8810
8811         * configure.ac:
8812           back to TRUNK
8813
8814 === release 0.10.7 ===
8815
8816 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8817
8818         * configure.ac:
8819           releasing 0.10.7, "Soepeke, ik zie ou"
8820
8821 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8822
8823         * configure.ac:
8824         * po/af.po:
8825         * po/az.po:
8826         * po/bg.po:
8827         * po/ca.po:
8828         * po/cs.po:
8829         * po/de.po:
8830         * po/en_GB.po:
8831         * po/fr.po:
8832         * po/it.po:
8833         * po/nb.po:
8834         * po/nl.po:
8835         * po/ru.po:
8836         * po/sq.po:
8837         * po/sr.po:
8838         * po/sv.po:
8839         * po/tr.po:
8840         * po/uk.po:
8841         * po/vi.po:
8842         * po/zh_CN.po:
8843         * po/zh_TW.po:
8844         * win32/common/config.h:
8845           0.10.6.2 prerelease
8846
8847 2006-06-07  Wim Taymans  <wim@fluendo.com>
8848
8849         * gst/gstindex.c: (gst_index_gtype_resolver):
8850         * tools/gst-xmlinspect.c: (print_plugin_info):
8851         Fix leak spotted by coverity checker. Fixes #343827
8852         Fix another other leak found by paolo borelli.
8853
8854 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8855
8856         * libs/gst/dataprotocol/dataprotocol.c:
8857         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8858         (gst_dp_version_get_type), (gst_dp_init),
8859         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8860         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8861         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8862         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8863         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8864         (gst_dp_packetizer_free):
8865         * libs/gst/dataprotocol/dataprotocol.h:
8866           API: add a GstDPPacketizer object, and create/free functions
8867           API: add GstDPVersion enum
8868           Add 1.0 event function that uses the string serialization
8869           Serialize more useful buffer flags
8870           Fixes #343988
8871
8872 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8873
8874         * tests/check/Makefile.am:
8875         * tests/check/gst/gstabi.c:
8876         * tests/check/gst/struct_ppc64.h:
8877         * tests/check/libs/libsabi.c:
8878         * tests/check/libs/struct_ppc64.h:
8879           add ppc64 structure sizes
8880
8881 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8882
8883         * tests/check/Makefile.am:
8884         * tests/check/gst/gstabi.c:
8885         * tests/check/gst/struct_x86_64.h:
8886         * tests/check/libs/libsabi.c:
8887         * tests/check/libs/struct_x86_64.h:
8888           generate and add structure size lists for x86_64
8889
8890 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8893         * libs/gst/check/gstcheck.h:
8894           factor out the method from tests that checks size of structures,
8895           and add code to generate the header containing these sizes
8896         * tests/check/gst/gstabi.c: (GST_START_TEST):
8897         * tests/check/gst/struct_i386.h:
8898         * tests/check/libs/libsabi.c: (GST_START_TEST):
8899         * tests/check/libs/struct_i386.h:
8900           use it
8901
8902 2006-06-06  Michael Smith  <msmith@fluendo.com>
8903
8904         * gst/gstsegment.h:
8905           Don't use c++-style comments, fixes #343929
8906
8907 2006-06-05  Edward Hervey  <edward@fluendo.com>
8908
8909         * gst/gst.c:
8910         plugin_paths is not used if we build without registry support.
8911
8912         * gst/gstsegment.c: (gst_segment_copy): 
8913         _copy() was always returning NULL...
8914
8915 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8916
8917         * libs/gst/dataprotocol/dataprotocol.c:
8918         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8919         (gst_dp_packet_from_event):
8920           factor out CRC code
8921
8922 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8923
8924         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8925           make sure we unset caps
8926
8927 2006-06-02  Michael Smith  <msmith@fluendo.com>
8928
8929         * libs/gst/check/gstcheck.c: (gst_check_init),
8930         (gst_check_chain_func):
8931         * libs/gst/check/gstcheck.h:
8932           Add a cond/mutex to the check support lib, signal this whenever we
8933           add to the buffers list. This will allow tests to not busy-wait on
8934           the buffer-list.
8935
8936 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8937
8938         * libs/gst/dataprotocol/dataprotocol.c:
8939         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8940         (gst_dp_packet_from_event):
8941           factor out some common header init code
8942
8943 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8944
8945         * docs/libs/gstreamer-libs-sections.txt:
8946         * docs/libs/tmpl/gstdataprotocol.sgml:
8947         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8948         * libs/gst/dataprotocol/dataprotocol.h:
8949           API: make gst_dp_crc() public
8950
8951 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8952
8953         * plugins/indexers/gstindexers.c: (plugin_init):
8954         conditionally register fileindexer (fixes #343598)
8955
8956 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8957
8958         * gst/gsttagsetter.h:
8959         Can't cast ifaces to a class
8960
8961         * libs/gst/net/gstnetclientclock.h:
8962         * libs/gst/net/gstnettimeprovider.h:
8963         * plugins/elements/gstfakesink.h:
8964         * plugins/elements/gstfakesrc.h:
8965         * plugins/elements/gstfdsink.h:
8966         * plugins/elements/gstfdsrc.h:
8967         * plugins/elements/gstfilesink.h:
8968         * plugins/elements/gstfilesrc.h:
8969         * plugins/elements/gstidentity.h:
8970         * plugins/elements/gstqueue.h:
8971         * plugins/elements/gsttee.h:
8972         * plugins/indexers/gstfileindex.c:
8973         * plugins/indexers/gstmemindex.c:
8974         * tests/old/examples/plugins/example.h:
8975         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8976
8977 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8978
8979         * libs/gst/dataprotocol/dataprotocol.c:
8980         (gst_dp_header_from_buffer):
8981           make sure we zero the whole ABI-compatible area
8982
8983 2006-06-01  Wim Taymans  <wim@fluendo.com>
8984
8985         Patch by: Alessandro Decina <alessandro at nnva dot org>
8986
8987         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8988         Make sure the EOS flag is cleared from pads after a flush
8989         or stop. Fixes #343538.
8990
8991         * tests/check/libs/collectpads.c: (GST_START_TEST),
8992         (gst_collect_pads_suite):
8993         Added test for collectpads reusage after EOS.
8994
8995 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
8996
8997         * gst/gst.c:
8998          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8999         * win32/common/libgstbase.def:
9000          export gst_collect_pads_set_flushing
9001         * win32/common/libgstreamer.def:
9002          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
9003          gst_value_fraction_multiply
9004         * win32/vs6/gst_inspect.dsp:
9005          add a link to intl.lib
9006
9007 2006-05-30  Wim Taymans  <wim@fluendo.com>
9008
9009         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9010         (gst_collect_pads_chain):
9011         Handle the case where a pad is removed from the collection
9012         that could cause the other pads to become collectable.
9013
9014 2006-05-30  Wim Taymans  <wim@fluendo.com>
9015
9016         * gst/gstelement.c:
9017         Clarify the use of _release_request_pad() and
9018         _get_request_pad() a bit better.
9019
9020         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
9021         (gst_adapter_take_buffer):
9022         Fix some doc and comment typos.
9023
9024 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9025
9026         * docs/gst/gstreamer-sections.txt:
9027         * docs/libs/gstreamer-libs-sections.txt:
9028           add declared symbols
9029
9030 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
9031
9032         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9033         Add debug that can be enabled using a #define at the top of the file,
9034         for dumping stats about how late/early we were when waking up from
9035         waiting on the clock.
9036
9037 2006-05-30  Wim Taymans  <wim@fluendo.com>
9038
9039         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
9040         When rebuilding the pad list, don't leak the previous list.
9041
9042 2006-05-30  Wim Taymans  <wim@fluendo.com>
9043
9044         Patch by: Lutz Mueller <lutz at topfrose dot de>
9045
9046         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9047         (gst_base_src_get_query_types), (gst_base_src_update_length):
9048         Publish supported query types.
9049         Update last_stop field in get_range mode so the position
9050         query works. Fixes #342321.
9051
9052 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
9053
9054         * docs/gst/gstreamer-sections.txt:
9055         * gst/gsttaglist.c: (_gst_tag_initialize):
9056         * gst/gsttaglist.h:
9057           API: add GST_TAG_PREVIEW_IMAGE (#343341).
9058
9059 2006-05-30  Wim Taymans  <wim@fluendo.com>
9060
9061         Patch by: Alessandro Decina <alessandro at nnva dot org>
9062
9063         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9064         Unlock mutex when removing an unknown pad.
9065         Fixes #343334.
9066
9067         * tests/check/Makefile.am:
9068         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
9069         (push_event), (setup), (teardown), (GST_START_TEST),
9070         (gst_collect_pads_suite), (main):
9071         Added collecpads check, disabled for now as check crashes for
9072         some reason.
9073
9074 2006-05-29  Wim Taymans  <wim@fluendo.com>
9075
9076         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
9077         Don't leak pads lists.
9078
9079 2006-05-29  Wim Taymans  <wim@fluendo.com>
9080
9081         * docs/libs/gstreamer-libs-sections.txt:
9082         * libs/gst/base/gstcollectpads.c:
9083         (gst_collect_pads_set_flushing_unlocked),
9084         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9085         (gst_collect_pads_stop):
9086         * libs/gst/base/gstcollectpads.h:
9087         API: gst_collect_pads_set_flushing()
9088         Added api to set the pads to flushing, useful for seeking
9089         code in elements using collectpads.
9090         Clear segment when receiving a flush.
9091
9092 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
9093
9094         * gst/gst.c: (add_path_func), (init_post):
9095           Don't scan registry paths passed via --gst-plugin-path immediately
9096           (will crash, because absolutely nothing is set up and no types are
9097           registered etc.); do this later in init_post(). Fixes #343057.
9098
9099 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9100
9101         * gst/gst.c: (init_post):
9102           if we have fork, fork while reading/rebuilding the registry
9103           so the parent doesn't take the hit of having all plugins loaded
9104           in memory.  Fixes #342777.
9105         * configure.ac:
9106           Check if we have fork()
9107         * win32/common/config.h.in:
9108           no fork() on win32
9109
9110 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9111
9112         * plugins/elements/gstelements.c:
9113         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9114         (gst_file_src_init), (gst_file_src_set_property),
9115         (gst_file_src_get_property), (gst_file_src_start):
9116         * plugins/elements/gstfilesrc.h:
9117           API: GstFileSrc::use-mmap
9118
9119         Add a use-mmap property to enable easier testing of all code paths.
9120         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
9121         in the absence of gnomevfssrc. (Closes #340501)
9122
9123 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9124
9125         * tools/gst-inspect.c:
9126         Add missing include, removes warning of ngettext not being defined on
9127         some arches.
9128
9129 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9130
9131         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9132         Handle NULL input and output pointers silently as a failed conversion,
9133         rather than g_warnings.
9134
9135 2006-05-25  Wim Taymans  <wim@fluendo.com>
9136
9137         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
9138         Initialize variable before using. Fixes #342820.
9139
9140 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
9141
9142         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
9143           Fix off-by-one bug that would only allow peeks of N-1 bytes
9144           from the start even if the buffer to typefind on contains
9145           in fact N bytes of data (makes vorbis typefinding from a
9146           vorbis identification header buffer work).
9147
9148         * tests/check/Makefile.am:
9149         * tests/check/libs/.cvsignore:
9150         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
9151         (gst_typefindhelper_suite), (main), (foobar_typefind),
9152         (plugin_init):
9153           Add very basic unit test for gst_type_find_helper_for_buffer()
9154           that checks for the problem fixed above.
9155
9156 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9157
9158         * tools/gst-inspect.c: (print_interfaces),
9159         (print_element_properties_info), (print_element_list), (main):
9160           add more translatable strings
9161
9162 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
9163
9164         Patch by: Julien Moutte  <julien at moutte net>
9165
9166         * docs/gst/gstreamer-sections.txt:
9167           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
9168           
9169         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9170         (gst_fake_sink_preroll):
9171         * plugins/elements/gstfakesink.h:
9172           API: Add new GstFakeSink::preroll-handoff signal (#337100).
9173
9174 2006-05-23  Wim Taymans  <wim@fluendo.com>
9175
9176         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
9177         * gst/gstpad.h:
9178         Added _CUSTOM error and success GstFlowReturn that can be
9179         used be elements internally. 
9180         Added macro to check for SUCCESS flowreturns.
9181         API: GST_FLOW_CUSTOM_SUCCESS
9182         API: GST_FLOW_CUSTOM_ERROR
9183         API: GST_FLOW_IS_SUCCESS
9184
9185         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
9186         Added check for GstFlowReturn sanity.
9187
9188 2006-05-23  Wim Taymans  <wim@fluendo.com>
9189
9190         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9191
9192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9193         (gst_collect_pads_event):
9194         clear/reset segment info in FLUSH_STOP.
9195         Fixes #336929.
9196
9197 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
9198
9199         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
9200         (gst_collect_pads_check_collected):
9201         Flush queued buffer on _stop(), fixes playing again (#342454)
9202
9203 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * tests/check/gst/gststructure.c: (GST_START_TEST),
9206         (gst_structure_suite):
9207           add a test for a complete structure
9208
9209 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9210
9211         * docs/faq/developing.xml:
9212         * docs/faq/faq.xml:
9213         * docs/faq/troubleshooting.xml:
9214         * docs/faq/using.xml:
9215           Some minor FAQ updates that won't change the fact that
9216           our FAQ is badly structured, full of information hardly
9217           anyone new to GStreamer needs to know and lacking lots
9218           of information people constantly ask for.
9219           
9220 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
9221
9222         * gst/gstpad.c: (gst_pad_set_caps):
9223           Short-circuit gst_pad_set_caps if setting the existing
9224           caps pointer again, and avoid printing debug and 
9225           reffing/unreffing the caps.
9226
9227         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9228           There's actually no need to set the caps before pushing -
9229           the acceptcaps method will handle it anyway.
9230
9231 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9232
9233         * docs/gst/gstreamer-sections.txt:
9234         * win32/common/libgstreamer.def:
9235         * gst/gstutils.c: (gst_element_seek_simple):
9236         * gst/gstutils.h:
9237           API: add gst_element_seek_simple() (#342238).
9238
9239 2006-05-18  Edward Hervey  <edward@fluendo.com>
9240
9241         * gst/gsttypefind.c: (gst_type_find_get_type):
9242         * gst/gsttypefind.h:
9243         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
9244         registered for GstTypeFind pointers. This allows wrapping the structure
9245         in bindings (i.e. gst-python).
9246
9247 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9248
9249         * gst/gsttagsetter.c:
9250           Docs additions and fixes (see #339918).
9251
9252 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9253
9254         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9255         The caps intersection algorithm can produce multiple copies of the
9256         caps. Until that is fixed, we need to simplify the result to be
9257         sure whether the allowed caps are fixed or not.
9258
9259         * plugins/elements/gstqueue.c: (gst_queue_init),
9260         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
9261         (gst_queue_push_one):
9262         Proxied buffer alloc should not set the caps on the source pad.
9263         When pushing buffers, we always accept the caps change that triggers.
9264         This prevents negotiation errors caused by caps changing mid-stream 
9265         and then being refused on our source pad (because upstream is now
9266         refusing those caps).
9267
9268 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * tests/examples/helloworld/helloworld.c: (main):
9271           Must plug audioconvert and audioresample between decoder
9272           and audio sink.
9273
9274 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
9275
9276         * gst/gstregistryxml.c: (read_string), (load_pad_template),
9277         (load_feature), (load_plugin):
9278         Allow empty strings for some of the plugin fields so we don't 
9279         drop valid plugin entries that were written out correctly
9280         (Fixes #341479)
9281
9282 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
9283         
9284         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
9285           Use g_remove and g_rename instead of remove and rename that don't 
9286           handle utf8 characters. rename was failing for users who had specific
9287           characters in their name then the registry was built at each 
9288           gstreamer init.
9289         * win32/vs6/gst_inspect.dsp:
9290         * win32/vs6/gst_launch.dsp:
9291         * win32/vs6/libgstbase.dsp:
9292         * win32/vs6/libgstcoreelements.dsp:
9293         * win32/vs6/libgstreamer.dsp:
9294           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
9295           build of libgstreamer and clean unused libraries in projects link 
9296           settings.
9297
9298 2006-05-17  Edward Hervey  <edward@fluendo.com>
9299
9300         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9301         The queue is not responsible for pushing an EOS when receiving a fatal
9302         flow error. It's up to the real element driving the pipeline to do that.
9303
9304 2006-05-16  Edward Hervey  <edward@fluendo.com>
9305
9306         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9307         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
9308         buffer returned a fatal error. It should just send an EOS and stop
9309         its task.
9310         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
9311         when pushing buffers on the queue and will be able to handle the event.
9312
9313 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9314
9315         * docs/manual/basics-bins.xml:
9316         * docs/manual/basics-init.xml:
9317           Fix typos and minor errors in sample code (#341856).
9318
9319 2006-05-16  Wim Taymans  <wim@fluendo.com>
9320
9321         * docs/design/part-qos.txt:
9322         Fix indexes in formulas to make more sense.
9323
9324 2006-05-15  Wim Taymans  <wim@fluendo.com>
9325
9326         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9327         Don't report POSITION based on clock time if sync is
9328         disabled in a sink.
9329
9330 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
9331
9332         * gst/gstobject.h:
9333           Add cast to make compiler happy - refcount variable was a gint
9334           in GstObject but is a guint in GObject and g_atomic_int_get()
9335           wants a gint *.
9336
9337 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * gst/parse/Makefile.am:
9340           chain commands using &&, which also makes parallel make work
9341
9342 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
9343
9344         * docs/gst/gstreamer-sections.txt:
9345         * gst/gstevent.c:
9346         * gst/gstevent.h:
9347         * gst/gstmessage.h:
9348           Minor docs fixes.
9349
9350 === release 0.10.6 ===
9351
9352 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
9353
9354         * configure.ac:
9355           releasing 0.10.6, "Take the cannoli"
9356
9357 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9358
9359         * tools/gst-launch.c: (print_tag):
9360           Fix use of uninitialized variable in the hypothetical
9361           case that some broken plugin creates a GST_TAG_IMAGE
9362           tag containing a NULL buffer (#341667).
9363
9364 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9365
9366         * tools/gst-launch.c: (print_tag):
9367           Print something more intelligible for image tags when
9368           using the -t switch (#341556).
9369
9370 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9371
9372         * Makefile.am:
9373           updates for win32
9374         * configure.ac:
9375           define GST_MAJORMINOR so we have it available in win32/common/config.h
9376           Possibly remove it from our Makefile.am files later
9377         * win32/common/config.h:
9378         * win32/common/config.h.in:
9379           added GST_MAJORMINOR
9380         * win32/common/gstenumtypes.c: (register_gst_resource_error):
9381         * win32/common/gstversion.h:
9382           updated
9383
9384 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
9385
9386         * win32/MANIFEST:
9387           Update win32 files listing.
9388         * win32/common/gstversion.h:
9389           Add GST_MAJORMINOR definition.
9390         * win32/common/libgstreamer.def:
9391           Add new exported functions.
9392           
9393 2006-05-12  Michael Smith  <msmith@fluendo.com>
9394
9395         * gst/gstplugin.c: (gst_plugin_load_file):
9396           If an so file has no plugin entry point, unload the module.
9397
9398 2006-05-11  Wim Taymans  <wim@fluendo.com>
9399
9400         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
9401         (gst_queue_set_property):
9402         Don't forget to signal the _chain or _loop function 
9403         when the queue size or thresholds change since that might
9404         cause them to make progres again.
9405
9406 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
9407
9408         * gst/gstclock.c: (gst_clock_class_init):
9409         * gst/gstindex.c: (gst_index_class_init):
9410         * gst/gstobject.c: (gst_object_class_init):
9411         * gst/gstpad.c: (gst_pad_class_init):
9412         * gst/gstpipeline.c: (gst_pipeline_class_init):
9413         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9414         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
9415         * libs/gst/base/gstbasetransform.c:
9416         (gst_base_transform_class_init):
9417         * libs/gst/net/gstnetclientclock.c:
9418         (gst_net_client_clock_class_init):
9419         * libs/gst/net/gstnettimeprovider.c:
9420         (gst_net_time_provider_class_init):
9421         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
9422         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9423         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9424         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
9425         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9426         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9427         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9428         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9429         * plugins/elements/gsttee.c: (gst_tee_class_init):
9430         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9431         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9432           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
9433
9434 2006-05-11  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/gstbuffer.c: (_gst_buffer_initialize):
9437         Register subbufer along with the buffer type so that
9438         it does not accidentally gets registered from N
9439         different streaming threads in a non threadsafe way.
9440
9441 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9442
9443         * gst/gstbuffer.h:
9444         * gst/gstevent.h:
9445         * gst/gstmessage.h:
9446           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
9447           gst_event_ref() and gst_message_ref() functions again
9448           (ugly hack, please do fix if there's a better way besides
9449           overrides.txt, which doesn't seem to work).
9450
9451 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         * libs/gst/check/gstcheck.h:
9454           add an assert for setting state to avoid lots of repetitive code
9455           in the future
9456
9457 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9458
9459         * gst/gstvalue.c: (gst_value_serialize_flags):
9460           fix a leak if no flags are set
9461         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9462           fix leak in tests
9463
9464 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9465
9466         * docs/manual/basics-pads.xml:
9467           Expand a bit on caps and filtered links and update
9468           examples that were still using the no longer existing
9469           gst_pad_link_filtered() (#338206).
9470
9471 2006-05-10  Wim Taymans  <wim@fluendo.com>
9472
9473         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9474         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9475         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9476         (gst_collect_pads_stop):
9477         * libs/gst/base/gstcollectpads.h:
9478         No need to call _stop in _finalize.
9479         Iterate the main pad list in _finalize.
9480         Added some more debug.
9481         Free lists and data in the right order.
9482         Also free data whem doing _remove_pad when stopped for
9483         backward compatibility protect ::started with PAD_LOCK as
9484         well.
9485
9486 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9489         (gst_structure_parse_value):
9490           add some comments
9491           rename a method so that it actually says what it does better
9492
9493 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9494
9495         * gst/gstevent.c: (_gst_event_initialize):
9496         * gst/gstformat.c: (_gst_format_initialize):
9497           make sure some essential types used by events are registered
9498           as part of gst_init()
9499         * gst/gstvalue.c: (gst_value_serialize_flags):
9500           if no flags are set, serialize them to a value that represents NONE
9501           so that deserializing them works
9502         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9503           add tests for serialization and deserialization of flags
9504
9505 2006-05-10  Wim Taymans  <wim@fluendo.com>
9506
9507         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9508         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9509         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9510         (gst_collect_pads_event), (gst_collect_pads_chain):
9511         Update docs.
9512         Better debug info.
9513         Catch and return errors from the collect function
9514         Refuse data on eos pads.
9515
9516 2006-05-10  Edward Hervey  <edward@fluendo.com>
9517
9518         * gst/gstinterface.h:
9519         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9520         GInterface type checking.
9521         They were previously using non-defined macros.
9522
9523 2006-05-09  Wim Taymans  <wim@fluendo.com>
9524
9525         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9526         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9527         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9528         (gst_collect_pads_start), (gst_collect_pads_stop),
9529         (gst_collect_pads_peek), (gst_collect_pads_pop),
9530         (gst_collect_pads_available), (gst_collect_pads_read),
9531         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9532         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9533         (gst_collect_pads_chain):
9534         * libs/gst/base/gstcollectpads.h:
9535         Clean up the mess that is collectpads, add comments and
9536         FIXMEs where needed.
9537         Maintain a separate pad list so we can add pads while
9538         collecting the other ones. For this we need a new separate 
9539         lock (see comics).
9540         Fix memory leak in finalize.
9541         Refactor some weird code to set/unset pad flushing flags, mark
9542         with comments.
9543         Don't crash in _available, _read, _flush when we're EOS.
9544
9545         * tests/check/libs/.cvsignore:
9546         Ignore adapter check binary.
9547
9548 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9549
9550         * gst/gstindex.c: (gst_index_resolver_get_type):
9551         * plugins/elements/gstfakesink.c:
9552         (gst_fake_sink_state_error_get_type):
9553         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9554         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9555         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9556           Const-ify GEnumValue arrays.
9557
9558 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9559
9560         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9561           Add test case for flags + gst_buffer_make_metadata_writable().
9562
9563 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9564
9565         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9566           gst_buffer_make_metadata_writable() should maintain the
9567           buffer flags (those that make sense at least) (see #340859).
9568
9569 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9570
9571         * tools/gst-inspect.c:
9572         * tools/gst-launch.c:
9573         * tools/gst-typefind.c:
9574         * tools/gst-xmlinspect.c:
9575         * tools/tools.h:
9576           Fix up includes: need to include stdlib.h in tools.h for exit().
9577
9578 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9579
9580         * gst/gsttaglist.c: (_gst_tag_initialize):
9581         * gst/gsttaglist.h:
9582           API: add GST_TAG_IMAGE tag (#340721).
9583
9584 2006-05-08  Wim Taymans  <wim@fluendo.com>
9585
9586         * gst/gstquery.c:
9587         Added some docs for the segment query.
9588
9589 2006-05-08  Wim Taymans  <wim@fluendo.com>
9590
9591         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9592         (gst_base_src_loop), (gst_base_src_change_state):
9593         Always push non-flushing serialized events in the streaming 
9594         thread.
9595
9596 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9597
9598         * gst/gsterror.c: (_gst_stream_errors_init):
9599           Add a missing error string.
9600
9601 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
9602
9603         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9604         Add applied_rate to the debug
9605
9606         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9607         Copy applied_rate into the outgoing NEWSEGMENT event
9608
9609 2006-05-08  Wim Taymans  <wim@fluendo.com>
9610
9611         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9612
9613         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9614         (gst_base_sink_change_state):
9615         call ::unlock before taking the PREROLL_LOCK so we can safely
9616         handle elements that lock in ::render.
9617         Fixes #340174.
9618
9619 2006-05-08  Edward Hervey  <edward@fluendo.com>
9620
9621         * autogen.sh: (CONFIGURE_DEF_OPT): 
9622         Darwin's libtoolize is in fact called glibtoolize.
9623         Adding glibtoolize to the list of accepted names for libtoolize.
9624
9625 2006-05-08  Wim Taymans  <wim@fluendo.com>
9626
9627         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9628         Unify error handling, don't post an error message
9629         when a push() returns EOS but perform our normal EOS
9630         handling code. Fixes #340772.
9631
9632 2006-05-08  Wim Taymans  <wim@fluendo.com>
9633
9634         * docs/design/part-overview.txt:
9635         Make upsteam/downstream concepts more clear.
9636         Give an example of serialized/non-serialized events.
9637
9638         * docs/design/part-events.txt:
9639         * docs/design/part-streams.txt:
9640         Mention applied_rate.
9641
9642         * docs/design/part-trickmodes.txt:
9643         Mention applied rate, flesh out some more use cases.
9644
9645         * gst/gstevent.c: (gst_event_new_new_segment),
9646         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9647         (gst_event_parse_new_segment_full), (gst_event_new_tag),
9648         (gst_event_parse_tag), (gst_event_new_buffer_size),
9649         (gst_event_parse_buffer_size), (gst_event_new_qos),
9650         (gst_event_parse_qos), (gst_event_parse_seek),
9651         (gst_event_new_navigation):
9652         * gst/gstevent.h:
9653         Add applied_rate field to NEWSEGMENT event.
9654         API: gst_event_new_new_segment_full()
9655         API: gst_event_parse_new_segment_full()
9656
9657         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9658         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9659         (gst_segment_to_stream_time), (gst_segment_to_running_time):
9660         * gst/gstsegment.h:
9661         Add applied_rate to GstSegment structure.
9662         Make calculation of stream_time and running_time more correct
9663         wrt rate/applied_rate.
9664         Add some more docs.
9665         API: GstSegment::applied_rate field
9666         API: gst_segment_set_newsegment_full();
9667
9668         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9669         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9670         * libs/gst/base/gstbasetransform.c:
9671         (gst_base_transform_sink_eventfunc),
9672         (gst_base_transform_handle_buffer):
9673         Parse and use applied_rate in the GstSegment field.
9674
9675         * tests/check/gst/gstevent.c: (GST_START_TEST):
9676         Add check for applied_rate field.
9677
9678         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9679         (gstsegments_suite):
9680         Add more checks for various GstSegment operations.
9681
9682 2006-05-08  Wim Taymans  <wim@fluendo.com>
9683
9684         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9685         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9686         (gst_base_sink_get_position), (gst_base_sink_change_state):
9687         Store the sync time of the buffer end position separatly in a
9688         new variable eos_rtime so we can properly sync the EOS event.
9689         Fixes #340697.
9690         Fix the docs for gst_base_sink_set_qos_enabled().
9691         Don't set segment start to invalid value when we receive a 
9692         non TIME newsegment.
9693         get closer to handling position reporting for negative rates 
9694         correctly.
9695
9696 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9697
9698         * gst/gstcaps.c:
9699         Docs about how to print caps for debug purposes.
9700
9701         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9702         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9703
9704 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9705
9706         * gst/gstelement.c:
9707           use full enum names and preprend a '%' in docs strings to make recent 
9708           gtk-doc turn that into a link
9709
9710 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9711
9712         * docs/manual/basics-bins.xml:
9713         * docs/manual/basics-bus.xml:
9714         * docs/manual/basics-pads.xml:
9715           Some typo fixes, some additions, some clarifications. 
9716
9717 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9718
9719         * tools/gst-inspect.c: (main):
9720         * tools/gst-launch.c: (main):
9721         * tools/gst-run.c: (main):
9722         * tools/gst-typefind.c: (main):
9723         * tools/gst-xmlinspect.c: (main):
9724           Use the string passed to g_option_context_new() for
9725           what it's intended for - the program name is already
9726           printed elsewhere.
9727
9728 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9729
9730         * tools/Makefile.am:
9731         * tools/gst-inspect.c: (main):
9732         * tools/gst-launch.c: (main):
9733         * tools/gst-xmlinspect.c: (main):
9734         * tools/tools.h:
9735           Add back --version command line option (#340460).
9736
9737         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9738           Add --version option and use GOption for argument parsing; refactor a
9739           bit; accept directories as arguments and recurse into them; lastly,
9740           print a decent error message when things go wrong.
9741
9742 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9743
9744         * docs/manual/basics-bins.xml:
9745         Don't mention GstThread (#340611)
9746         * docs/manual/basics-elements.xml:
9747         Update link to GObject tutorial (#340607)
9748         
9749 2006-05-05  Wim Taymans  <wim@fluendo.com>
9750
9751         * gst/gstbuffer.h:
9752         * gst/gstminiobject.c:
9753         Add note about refcounting and miniobject/buffer writeability
9754         to docs. Fixes #340604
9755
9756         * gst/gstelementfactory.h:
9757         Added some explanation about @klass.
9758
9759 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9760
9761         * docs/manual/intro-motivation.xml:
9762         * docs/manual/manual.xml:
9763         Avoid CORBA & Bonobo references (#340598)
9764
9765 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9766
9767         * docs/manual/basics-bus.xml:
9768         * docs/manual/basics-pads.xml:
9769         Fix up some inaccuracies and omissions (#340609)
9770         
9771 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9772
9773         * gst/gstghostpad.c:
9774           Small typo in docs (#340625)
9775
9776 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9777
9778         * gst/parse/Makefile.am:
9779           Make 'make -j' proof (see #340698).
9780
9781 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9782
9783         * configure.ac:
9784           Require GLib-2.8 here as well.
9785
9786 2006-05-05  Wim Taymans  <wim@fluendo.com>
9787
9788         * gst/glib-compat.c:
9789         * gst/gst.c: (init_pre):
9790         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9791         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9792         (gst_object_dispatch_properties_changed):
9793         * gst/gstobject.h:
9794         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9795         * gst/gststructure.c: (gst_structure_set_valist):
9796         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9797         Remove pre glib2.8 compatibility, fixes #340508
9798
9799 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9800
9801         * gst/gsttaglist.h:
9802           Mention type of tags in doc blurbs.
9803
9804 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9805
9806         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9807         (gst_pad_configure_src), (gst_pad_push):
9808         Restore acceptcaps checking behaviour now that good plugins have
9809         been released.
9810
9811 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9812
9813         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9814
9815         * gst/gst.c:
9816         * gst/gstbus.c:
9817         * gst/gstclock.c:
9818         * gst/gstevent.c:
9819         * gst/gstformat.c:
9820         * gst/gstmessage.c:
9821         * gst/gstparse.c:
9822         * gst/gstquery.c:
9823         * gst/gstutils.c:
9824         * gst/parse/Makefile.am:
9825         * libs/gst/base/gstadapter.c:
9826         * libs/gst/base/gstbasesrc.c:
9827         * libs/gst/base/gstpushsrc.c:
9828         * libs/gst/base/gsttypefindhelper.c:
9829         * plugins/elements/gstfakesrc.c:
9830         * plugins/elements/gstidentity.c:
9831           Make sure gstprivate.h and/or config.h are
9832           always included first, otherwise some of our
9833           defines (like _FILE_OFFSET_BITS) might be
9834           redefined in the system headers. Fixes build
9835           on opensolaris (#340016).
9836
9837 2006-05-04  Wim Taymans  <wim@fluendo.com>
9838
9839         * docs/libs/gstreamer-libs-sections.txt:
9840         API: addition: gst_adapter_take_buffer()
9841         
9842         * libs/gst/base/gstadapter.c: (gst_adapter_push),
9843         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9844         (gst_adapter_available_fast):
9845         * libs/gst/base/gstadapter.h:
9846         Prepare for optimizing the hell out of this hugely inefficient
9847         piece of code. 
9848         Added gst_adapter_take_buffer() so we can at least start thinking
9849         about subbuffering and merging.
9850         Added some comments.
9851
9852         * tests/check/Makefile.am:
9853         * tests/check/libs/adapter.c: (GST_START_TEST),
9854         (gst_adapter_suite), (main):
9855         Added GstAdapter check.
9856
9857 2006-05-04  Wim Taymans  <wim@fluendo.com>
9858
9859         * docs/design/part-overview.txt:
9860         Fix some typos, add blurb about buffer flags.
9861
9862 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * docs/libs/gstreamer-libs-sections.txt:
9865           make sure GstBaseTransformClass shows up in the docs
9866         * libs/gst/base/gstbasetransform.c:
9867         * libs/gst/base/gstbasetransform.h:
9868           move docs so gtk-doc picks it up now
9869
9870 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9871
9872         * docs/libs/gstreamer-libs-sections.txt:
9873           add missing symbols to docs
9874
9875 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9876
9877         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9878           back out the newsegment handling change, see #340060 for ongoing
9879           discussion
9880
9881 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
9882
9883         * tools/gst-run.c: (get_candidates), (main):
9884           Fix wrong g_file_test() usage (see glib docs for why it doesn't
9885           work); fix typo in error message. Fixes #340079.
9886
9887 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9888
9889         * common/Makefile.am:
9890         * docs/Makefile.am:
9891         * docs/faq/Makefile.am:
9892         * docs/gst/Makefile.am:
9893         * docs/libs/Makefile.am:
9894         * docs/manual/Makefile.am:
9895         * docs/plugins/Makefile.am:
9896         * docs/pwg/Makefile.am:
9897         * docs/slides/Makefile.am:
9898         * docs/upload.mak:
9899         * common/upload.mak:
9900           move upload.mak to common
9901
9902 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9903
9904         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9905           add more asserts on refcounts
9906           do more cleanup at end of tests
9907           fix test leaks showing in FC5
9908
9909 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
9910
9911         * plugins/elements/gsttypefindelement.c:
9912         (gst_type_find_element_handle_event):
9913         reverted wrong change and reflowed code to avoid others falling into
9914         this trap
9915
9916 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9917
9918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9919           fix changelog entry about last collectpads change,
9920           add notes about proper fix
9921
9922 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9923
9924         * gst/gst.c:
9925         * gst/gstregistry.c: (gst_registry_scan_path_level),
9926         (gst_registry_scan_path):
9927         * gst/gstregistry.h:
9928           only write out registry if it has changed, fixes #338339
9929
9930 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9931
9932         * gst/gstbin.c:
9933         * gst/gstpipeline.c:
9934         * plugins/elements/gstcapsfilter.c:
9935         * plugins/elements/gstfakesink.c:
9936         * plugins/elements/gstfakesrc.c:
9937         * plugins/elements/gstfdsink.c:
9938         * plugins/elements/gstfdsrc.c:
9939         * plugins/elements/gstfilesink.c:
9940         * plugins/elements/gstfilesrc.c:
9941         * plugins/elements/gstidentity.c:
9942         * plugins/elements/gstqueue.c:
9943         * plugins/elements/gsttee.c:
9944         * plugins/elements/gsttypefindelement.c:
9945         (gst_type_find_element_handle_event):
9946           make GstElementDetails const
9947
9948 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9949
9950         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9951         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9952         (gst_collect_pads_is_collected), (gst_collect_pads_event):
9953           more detailed debug and formatting cleanup,
9954           forward newsegments to src-pad (so that e.g. adder not eats them)
9955
9956 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9957
9958         * gst/gstutils.c: (gst_element_link_pads):
9959           cleanup double code
9960
9961 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9962
9963         * libs/gst/controller/gstcontroller.c:
9964         (gst_controller_sync_values):
9965           some little tuning
9966         * tests/check/libs/controller.c: (GST_START_TEST),
9967         (gst_controller_suite):
9968           a new test for live value handling
9969
9970 2006-04-28  Wim Taymans  <wim@fluendo.com>
9971
9972         * gst/gstutils.c: (push_and_ref):
9973         Added some more docs.
9974         Fix refcount issue whith gst_element_found_tags() helper 
9975         function. Fixes #338335
9976
9977         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9978         Added testsuite for gst_element_found_tags().
9979
9980 2006-04-28  Michael Smith  <msmith@fluendo.com>
9981
9982         * gst/gstvalue.c: (gst_value_serialize_flags):
9983           Avoid NULL dereference when trying to serialize flags containing
9984           invalid values.
9985
9986 2006-04-28  Michael Smith  <msmith@fluendo.com>
9987
9988         * plugins/elements/gsttypefindelement.c:
9989         (gst_type_find_element_handle_event):
9990           If we get EOS before any data is accumulated, don't use
9991           uninitialised local variables.
9992
9993 2006-04-28  Michael Smith  <msmith@fluendo.com>
9994
9995         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9996         (gst_dp_event_from_packet):
9997           Fixes in reading/writing events over GDP (not currently used?) - 
9998           dereferencing NULL events for unknown/invalid event types, memory
9999           leak, and change g_warning to GST_WARNING.
10000
10001 2006-04-28  Wim Taymans  <wim@fluendo.com>
10002
10003         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
10004         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10005         (gst_base_sink_get_position), (gst_base_sink_change_state):
10006         When frame dropping is enabled, we should not ignore frames
10007         without a duration.
10008         Update some documentation.
10009
10010 2006-04-28  Wim Taymans  <wim@fluendo.com>
10011
10012         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10013         (gst_base_src_send_event), (gst_base_src_change_state):
10014         Documentation updates.
10015
10016 2006-04-28  Wim Taymans  <wim@fluendo.com>
10017
10018         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
10019         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
10020         handle EAGAIN, EINTR and short writes correctly. Also clean
10021         up some error cases, avoid a deadlock on bad file descriptors and
10022         use GST_DEBUG_OBJECT.
10023         Fixes #339843
10024
10025 2006-04-28  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/gstvalue.c: (gst_value_serialize_buffer),
10028         (gst_value_deserialize_buffer):
10029         Don't try to serialize a GValue with a NULL buffer. 
10030         Fixes #339821.
10031
10032         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10033         Added check for serialisation of NULL buffers.
10034
10035 2006-04-28  Wim Taymans  <wim@fluendo.com>
10036
10037         * gst/gstminiobject.c: (gst_value_take_mini_object):
10038         Taking a NULL miniobject is valid, fix the case where
10039         we try to unref the NULL miniobject.
10040
10041 2006-04-28  Wim Taymans  <wim@fluendo.com>
10042
10043         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10044
10045         * gst/gstbin.c: (gst_bin_handle_message_func):
10046         Update docs.
10047         Don't leak bin refcount when a state recalc is
10048         in progress and we delay another one #339808.
10049
10050 2006-04-28  Wim Taymans  <wim@fluendo.com>
10051
10052         * docs/design/part-TODO.txt:
10053         Mention QoS as an ongoing work item.
10054
10055         * docs/design/part-buffering.txt:
10056         New doc about buffering that needs to be fleshed out
10057         at some point.
10058
10059         * docs/design/part-qos.txt:
10060         More QoS policy for decoders/demuxers/transforms
10061
10062         * docs/design/part-trickmodes.txt:
10063         Small update.
10064
10065 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * configure.ac:
10068           back to HEAD
10069
10070 === release 0.10.5 ===
10071
10072 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
10073
10074         * configure.ac:
10075           releasing 0.10.5, "Fogo"
10076
10077 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10078
10079         patch by: Wim Taymans
10080
10081         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
10082         (gst_pad_configure_src), (gst_pad_push):
10083         * gst/gstpipeline.c: (gst_pipeline_init):
10084           Fix internal data flow errors.  Fixes #338711.
10085
10086 2006-04-12  Wim Taymans  <wim@fluendo.com>
10087
10088         * tests/check/gst/gstelement.c: (GST_START_TEST):
10089         Don't leak the factory.
10090
10091 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10092
10093         * configure.ac:
10094         * win32/common/config.h:
10095           prerelease
10096
10097 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
10098
10099         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10100         (gst_controller_unset_all):
10101           Free allocated GstTimedValues when freeing list nodes.
10102           Should fix leaks 'make check-valgrind' complains about.
10103
10104         * win32/common/libgstcontroller.def:
10105           Add gst_controller_unset_all.
10106
10107 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
10108
10109         * docs/libs/gstreamer-libs-sections.txt:
10110         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10111         (gst_controller_unset_all):
10112         * libs/gst/controller/gstcontroller.h:
10113         API: Added new method gst_controller_unset_all()
10114         fixed gst_controller_unset()
10115         * tests/check/libs/controller.c: (GST_START_TEST),
10116         (gst_controller_suite):
10117         Added two testcases for new and fixed method
10118
10119 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
10120
10121         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10122           MSG_DONTWAIT is not defined on Cygwin, so work
10123           around that (fixes #317048).
10124           
10125 2006-04-11  Wim Taymans  <wim@fluendo.com>
10126
10127         * gst/gstelementfactory.c: (gst_element_register),
10128         (gst_element_factory_create), (gst_element_factory_make):
10129         Some cleanups.
10130         Fixed a FIXME.
10131         Updated docs (Fixes #131079)
10132
10133         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10134         Small cleanups.
10135
10136         * tests/check/gst/gstelement.c: (GST_START_TEST),
10137         (gst_element_suite):
10138         Added testcase for elementfactory class field.
10139
10140 2006-04-10  Wim Taymans  <wim@fluendo.com>
10141
10142         * gst/gstsegment.c:
10143         Added some more docs.
10144
10145         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
10146         (gst_base_sink_reset_qos):
10147         Calculate more accurate rate values.
10148
10149 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
10150
10151         * gst/gst_private.h:
10152           add a new #ifdef to use __declspec(dllimport) only for
10153           other modules and not for gstreamer core
10154         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
10155           use gst_guint64_to_gdouble for conversion
10156         * win32/common/libgstreamer.def:
10157           add new exported functions
10158         * win32/vs6/gst_inspect.dsp:
10159         * win32/vs6/gst_launch.dsp:
10160         * win32/vs6/libgstbase.dsp:
10161         * win32/vs6/libgstcontroller.dsp:
10162         * win32/vs6/libgstcoreelements.dsp:
10163         * win32/vs6/libgstdataprotocol.dsp:
10164         * win32/vs6/libgstnet.dsp:
10165           update project files
10166
10167 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10168
10169         * gst/gstbuffer.c: (gst_subbuffer_class_init):
10170         * gst/gstclock.c: (gst_clock_class_init):
10171         * gst/gstelement.c: (gst_element_class_init):
10172         * gst/gstindex.c: (gst_index_class_init):
10173         * gst/gstindexfactory.c: (gst_index_factory_class_init):
10174         * gst/gstobject.c: (gst_object_class_init),
10175         (gst_signal_object_class_init):
10176         * gst/gstpad.c: (gst_pad_class_init):
10177         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
10178         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
10179         * gst/gstregistry.c: (gst_registry_class_init):
10180         * gst/gstsystemclock.c: (gst_system_clock_class_init):
10181         * gst/gsttask.c: (gst_task_class_init):
10182         * gst/gstxml.c: (gst_xml_class_init):
10183         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10184         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10185         (gst_base_src_loop):
10186         * libs/gst/controller/gstcontroller.c:/
10187         (_gst_controller_class_init):
10188         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10189         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
10190         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
10191         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10192         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10193         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
10194
10195 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
10196
10197         * gst/gstpad.c: (gst_pad_link):
10198           Must set peer pads before calling the link function, otherwise
10199           a task started from a link function might get a flow-not-linked
10200           result when trying to push because the other thread where the
10201           linking happens hasn't had a chance to set the peers yet. This
10202           might happen for example when a queue gets linked to a downstream
10203           element, as queue starts a streaming task when its source pad
10204           gets linked. Happens in real life when playing back flac/musepack
10205           files in playbin (#332390).
10206           
10207 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10208
10209         * gst/gstindex.h:
10210         * gst/gstxml.h:
10211         * libs/gst/base/gstadapter.h:
10212         * libs/gst/base/gstbasesink.h:
10213         * libs/gst/base/gstbasesrc.h:
10214         * libs/gst/base/gstbasetransform.h:
10215         * libs/gst/base/gstcollectpads.h:
10216         * libs/gst/base/gstpushsrc.h:
10217         Fix broken GObject macros
10218
10219 2006-04-07  Wim Taymans  <wim@fluendo.com>
10220
10221         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10222         Initialize start and stop times, thanks valgrind.
10223
10224 2006-04-07  Wim Taymans  <wim@fluendo.com>
10225
10226         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10227         Be a bit nicer to badly behaving upstream elements that expect
10228         us to deal with non TIME segments and timestamps (such as fakesrc
10229         in the testsuite).
10230
10231 2006-04-07  Wim Taymans  <wim@fluendo.com>
10232
10233         * gst/gstbus.c:
10234         Small documentation clarification about the signal watch.
10235
10236         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
10237         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10238         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10239         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10240         (gst_base_sink_get_position_last),
10241         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
10242         Convert and store timestamps in stream time and running time, the
10243         raw timestamps are not useful, also document this better.
10244         Use different window sizes for good and bad QoS observations so
10245         we react to badness a little quicker.
10246         Keep track of the amount of rendered and dropped buffers.
10247         Send QoS timestamps in running time.
10248
10249         * libs/gst/base/gstbasetransform.c:
10250         (gst_base_transform_sink_eventfunc),
10251         (gst_base_transform_handle_buffer):
10252         Compare QoS timestamps against running time.
10253
10254 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10255
10256         * gst/gstpad.c:
10257           Typo fixes in docs.
10258
10259 2006-04-06  Michael Smith  <msmith@fluendo.com>
10260
10261         * gst/gstpad.c: (gst_pad_set_property):
10262           Use g_value_get_object() instead of g_value_dup_gst_object(),
10263           to avoid double-reffing the pad template (which we then sink,
10264           so this worked previously if (and only if) the pad template
10265           was floating.
10266
10267         * gst/gstpadtemplate.c: (gst_pad_template_init),
10268         (gst_pad_template_pad_created):
10269           Never return floating references to pad templates, create
10270           them as initially-sunken.
10271
10272           Document an extra function (and make this stop sinking our
10273           pad template, since that is now guaranteed to do nothing,
10274           since we created it sunken).
10275
10276         * gst/gstghostpad.c:
10277           Fix docs typo.
10278
10279 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10280
10281         * gst/gstinfo.c: (__gst_in_valgrind):
10282           Add some newlines.
10283
10284         * plugins/elements/gsttypefindelement.c:
10285         (gst_type_find_element_chain):
10286           Don't leak buffer caps.
10287
10288 2006-04-06  Michael Smith  <msmith@fluendo.com>
10289
10290         * gst/parse/grammar.y:
10291           Fix a leak in parse-launch for any source-or-sink named element 
10292           references used.
10293
10294         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10295           Unref the pipeline if it exists after we've failed parsing.
10296
10297 2006-04-05  Michael Smith  <msmith@fluendo.com>
10298
10299         * gst/gstpipeline.c: (gst_pipeline_init):
10300           When we create a pipeline bus, initially create it in flushing mode.
10301           Fixes leaks in at least one test, and makes a new pipeline work the
10302           same as one that has gone to READY and then back to NULL.
10303
10304         * gst/gstelement.c:
10305           Typo fix in docs.
10306
10307 2006-04-05  Michael Smith  <msmith@fluendo.com>
10308
10309         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10310           Unref a pad we reffed.
10311         * tests/check/gst/gstutils.c: (GST_START_TEST):
10312           Unref bins
10313
10314 2006-04-05  Michael Smith  <msmith@fluendo.com>
10315
10316         * gst/gstquery.c: (gst_query_set_formats),
10317         (gst_query_set_formatsv):
10318           Fix leaking GValues in queries, as shown by valgrind/testsuite.
10319
10320 2006-04-05  Michael Smith  <msmith@fluendo.com>
10321
10322         * tests/check/generic/sinks.c: (GST_START_TEST):
10323           Fix a variety of memleaks in sinks check, which are only sometimes 
10324           shown by running the tests under valgrind (weird?).
10325
10326 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
10327
10328         * docs/version.entities.in:
10329           Fix the substituted entity name after thomas' changes on the
10330           weekend.
10331
10332 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10333
10334         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
10335         VALGRIND_PRINTF
10336         
10337 2006-04-05  Andy Wingo  <wingo@pobox.com>
10338
10339         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
10340
10341         * libs/gst/base/gstbasetransform.c
10342         (gst_base_transform_sink_eventfunc): When resetting our segment on
10343         FLUSH_STOP, also update the flag saying we haven't seen a
10344         newsegment.
10345
10346 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10347
10348         Patch by: Paolo Borelli  <pborelli at katamail dot com>
10349
10350         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10351         (gst_plugin_check_license):
10352           minor clean-ups: G_DEFINE_TYPE already takes care of the
10353           parent_class stuff, no need to do it twice. Mark array of
10354           license strings as constant. (#337103)
10355           
10356 2006-04-04  Michael Smith  <msmith@fluendo.com>
10357
10358         * tools/gst-inspect.c: (print_element_list):
10359           Free the right plugin list; fixes a memory leak.
10360
10361 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10362
10363         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
10364
10365         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10366           Don't error out on empty buffers (#336945).
10367           
10368 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
10369
10370         * docs/libs/gstreamer-libs-sections.txt:
10371         * gst/gsttaglist.c:
10372         * libs/gst/base/gstbasesink.c:
10373         * libs/gst/base/gstbasesink.h:
10374         * libs/gst/base/gstbasesrc.c:
10375         * libs/gst/base/gstbasesrc.h:
10376           Documentation updates. Make BaseSink and BaseSrc docs contain the
10377           class structure so that people can actually see the prototypes for
10378           virtual functions they're supposed to be overriding.
10379
10380 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10381
10382         * plugins/elements/gsttypefindelement.c:
10383         (gst_type_find_element_chain):
10384           More debug info; when skipping typefinding, send cached
10385           events in all cases.
10386
10387 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10388
10389         * configure.ac:
10390           use new AS_VERSION and AS_NANO macros
10391         * gst/gst-i18n-lib.h:
10392         * gst/gst.c:
10393         * gst/gsterror.c:
10394         * gst/gstversion.h.in:
10395         * win32/common/config.h:
10396         * win32/common/config.h.in:
10397           update accordingly
10398
10399 2006-03-31  Michael Smith  <msmith@fluendo.com>
10400
10401         * plugins/elements/gsttypefindelement.c:
10402         (gst_type_find_element_chain):
10403           Do not typefind content if the buffers already have caps.
10404           Neccesary for icydemux (#333657), and the right thing to do anyway.
10405
10406 2006-03-30  Wim Taymans  <wim@fluendo.com>
10407
10408         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10409         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
10410         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
10411         (gst_base_sink_record_qos_observation),
10412         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10413         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10414         (gst_base_sink_change_state):
10415         More QoS measurements as described in the design doc.
10416         Get rid of ringbuffer with observations, running average is
10417         more simple and equally good.
10418         Calculates valid proportion now.
10419         Added beginning of flood measurement.
10420
10421 2006-03-29  Wim Taymans  <wim@fluendo.com>
10422
10423         * docs/design/part-qos.txt:
10424         * gst/gstclock.c:
10425         Small documentation updates and additions.
10426
10427 2006-03-29  Wim Taymans  <wim@fluendo.com>
10428
10429         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10430         (gst_base_src_send_event), (gst_base_src_loop),
10431         (gst_base_src_change_state):
10432         Perform the EOS logic when we reach the segment stop position.
10433         Fix compilation on gcc4.1
10434
10435 2006-03-29  Wim Taymans  <wim@fluendo.com>
10436
10437         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
10438
10439         * plugins/elements/gstqueue.c: (gst_queue_init),
10440         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10441         (gst_queue_set_property):
10442         * plugins/elements/gstqueue.h:
10443         In queue, when EOS is received, if minimum threshold > max_size -
10444         current_level, there is chance that queue blocks forever in conditional
10445         item del wait. This is because the queue is not emptied completely due
10446         to minimum threshold.  Here is another approach. Instead of setting
10447         cur_levels to max in EOS, just zero all minimum threshold levels. This
10448         should make sure that queue gives out all data. When going to READY
10449         (stop) state, just reset the original minimum threshold levels.
10450         Fixes #336336.
10451
10452 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
10453
10454         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10455         (gst_type_find_element_handle_event),
10456         (gst_type_find_element_send_cached_events),
10457         (gst_type_find_element_change_state):
10458         * plugins/elements/gsttypefindelement.h:
10459           When typefinding is done in push mode, we should cache
10460           events we receive during typefinding instead of just
10461           dropping them (e.g. newsegment, custom events from
10462           dvdreadsrc etc.) and then send them out once we've
10463           determined the type of the stream (and decodebin
10464           has had a chance to plug in a decoder/demuxer).
10465           
10466 2006-03-27  Wim Taymans  <wim@fluendo.com>
10467
10468         * docs/design/part-qos.txt:
10469         First QoS ideas.
10470
10471 2006-03-27  Wim Taymans  <wim@fluendo.com>
10472
10473         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10474
10475         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10476         (gst_base_src_send_event), (gst_base_src_change_state):
10477         Handle element seek correctly when we are streaming.
10478         Fixes #326998.
10479
10480 2006-03-24  Michael Smith  <msmith@fluendo.com>
10481
10482         * docs/faq/gst-uninstalled:
10483           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10484           allow you to correctly run intalled applications built against old 
10485           core, using plugins that require updated core (e.g. running
10486           installed totem against a full uninstalled gstreamer stack)
10487
10488 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10489
10490         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10491         more debug details
10492
10493 2006-03-24  Wim Taymans  <wim@fluendo.com>
10494
10495         * docs/gst/gstreamer-sections.txt:
10496         Rearrange the order of the methods so that related methods
10497         are grouped together in sections.
10498
10499 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10500
10501         * gst/gstelement.c:
10502           Little clarification in the docs
10503
10504 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10505
10506         * docs/README:
10507         formatting fix
10508         * plugins/elements/gstidentity.c:
10509         * plugins/elements/gstqueue.c:
10510         * plugins/elements/gsttee.c:
10511         * plugins/elements/gsttypefindelement.c:
10512         GST_ELEMENT_DETAILS formatting
10513
10514 2006-03-24  Wim Taymans  <wim@fluendo.com>
10515
10516         * libs/gst/base/gstbasesink.h:
10517         Only add fields, not insert or we break ABI.
10518
10519 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10520
10521         * win32/common/libgstbase.def:
10522         * win32/common/libgstreamer.def:
10523           Update, add recently added functions.
10524
10525 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10526
10527         * docs/gst/gstreamer-sections.txt:
10528         * gst/gstutils.c: (gst_pad_query_peer_position),
10529         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10530         * gst/gstutils.h:
10531           API: add some new utility functions:
10532            - gst_pad_query_peer_position()
10533            - gst_pad_query_peer_duration()
10534            - gst_pad_query_peer_convert()
10535           
10536 2006-03-23  Wim Taymans  <wim@fluendo.com>
10537
10538         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10539         (gst_base_sink_init), (gst_base_sink_finalize),
10540         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10541         (gst_base_sink_set_property), (gst_base_sink_get_property),
10542         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10543         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10544         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10545         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10546         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10547         (gst_base_sink_preroll_object), (gst_base_sink_event),
10548         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10549         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10550         (gst_base_sink_query), (gst_base_sink_change_state):
10551         Decouple max-lateness and the fact that QoS messages are generated
10552         with a new property (qos).
10553         added API: GstBaseSink::async_play()
10554         Add vmethod so subclasses can be notified of ASYNC playing
10555         state changes.
10556         Collect timestamp start and stop to report better current
10557         position in EOS/PLAYING/PAUSED/READY/NULL.
10558         Refactor QoS/frame dropping and other measurements.
10559         API: GstBaseSrc::qos
10560         Fixes #326311
10561
10562         * libs/gst/base/gstbasesink.h:
10563         Added Private struct.
10564         API: gst_base_sink_set_qos_enabled()
10565         API: gst_base_sink_is_qos_enabled()
10566
10567 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10568
10569         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10570           If compiling against GLib-2.8 or newer, try to read the
10571           registry file using GMappedFile first before falling back
10572           to fopen() + fread() (#332151).
10573
10574 2006-03-22  Wim Taymans  <wim@fluendo.com>
10575
10576         * gst/gstinfo.c: (gst_debug_set_active),
10577         (gst_debug_category_set_threshold):
10578         Disable debugging unless explicitly activated.
10579         Fixes #335480.
10580
10581 2006-03-22  Wim Taymans  <wim@fluendo.com>
10582
10583         * gst/gstelement.c: (gst_element_set_locked_state),
10584         (gst_element_dispose):
10585         Cleanup the error case.
10586
10587         * gst/gstobject.c: (gst_object_dispose):
10588         print a critical when some object was disposed with
10589         a parent, also revive the object since it might
10590         crash the parent.
10591
10592 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
10593
10594         * tools/gst-launch.1.in:
10595           Fix another typo.
10596
10597 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10598
10599         * configure.ac:
10600         * tests/check/Makefile.am:
10601           disable some tests when we don't have a registry
10602         * tests/check/gst/gstutils.c: (gst_utils_suite):
10603           don't build the part that needs parsing
10604
10605 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * gst/Makefile.am
10608         * tests/examples/Makefile.am:
10609           fix --disable-parse build
10610
10611 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10612
10613         * tools/gst-feedback.1.in:
10614           Fix typo: s/feeback/feedback/ (#133494).
10615
10616 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10617
10618         * tools/Makefile.am:
10619         * tools/gst-launch.1.in:
10620           Add FILES section and correct entry about GST_REGISTRY_PATH
10621           environment variable (#133495; #133494).
10622
10623 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10624
10625         * tools/Makefile.am:
10626         * tools/gst-md5sum.1.in:
10627         * tools/gst-md5sum.c:
10628           Remove gst-md5sum and man page (the md5sink element
10629           required was removed ages ago)
10630
10631 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10632
10633         * gst/gststructure.c: (gst_structure_id_set_value):
10634           Make sure that string fields in structures/taglists
10635           contain valid UTF-8 - we don't want to pass rubbish to
10636           applications because of a buggy plugin (cp. #334167).
10637
10638 2006-03-21  Edward Hervey  <edward@fluendo.com>
10639
10640         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10641         (gst_bin_handle_message_func):
10642         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10643         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10644         (gst_element_set_bus_func):
10645         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10646         * gst/gstminiobject.c: (gst_value_set_mini_object),
10647         (gst_value_take_mini_object):
10648         * gst/gstpad.c: (gst_pad_set_pad_template):
10649         * gst/gstpipeline.c: (gst_pipeline_dispose),
10650         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10651         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10652         (gst_collect_pads_chain):
10653         * libs/gst/net/gstnettimeprovider.c:
10654         (gst_net_time_provider_set_property):
10655         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10656         It's in fact all issues with gst_*object_replace().
10657
10658 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10659
10660         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
10661         
10662         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10663         * pkgconfig/gstreamer-check.pc.in:
10664           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10665
10666 2006-03-21  Edward Hervey  <edward@fluendo.com>
10667
10668         * gst/gstbuffer.h:
10669         * gst/gstevent.h:
10670         * gst/gstmessage.h:
10671         gst_[buffer|event|message]_ref() macros are replaced by a static
10672         inline functions because gcc-4.1 will about if the return value
10673         isn't used.
10674         * tests/check/gst/gstevent.c: (event_probe):
10675         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10676
10677 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
10678
10679         * gst/gstutils.h:
10680         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10681         the type' case. (Closes: #335195 for now). In the future, when we
10682         depend on GLib 2.10, we could also intern the type name using
10683         g_intern_static_string()
10684
10685 2006-03-20  Wim Taymans  <wim@fluendo.com>
10686
10687         * gst/gstbin.c: (gst_bin_handle_message_func),
10688         (bin_query_max_init), (bin_query_position_fold),
10689         (bin_query_position_done), (gst_bin_query):
10690         Position query should also take max of all streams.
10691
10692 2006-03-20  Wim Taymans  <wim@fluendo.com>
10693
10694         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10695         (gst_fake_src_finalize):
10696         Fix leaks in fakesrc.
10697
10698         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10699         Fix leaks in the testcase.
10700
10701 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
10702
10703         * gst/gst_private.h:
10704           add win32 specific import decoration(__declspec(dllimport)) 
10705           for all extern GstDebugCategory * variables
10706         * win32/common/libgstbase.def:
10707         * win32/common/libgstcontroller.def:
10708         * win32/common/libgstreamer.def:
10709           Add some exports, remove empty lines
10710         * win32/common/libgstdataprotocol.def:
10711         * win32/common/libgstdataprotocol.dsp:
10712         * win32/common/libgstnet.def:
10713         * win32/common/libgstnet.dsp:
10714           new project files and exportation files added
10715         
10716 2006-03-19  Wim Taymans  <wim@fluendo.com>
10717
10718         * tests/check/libs/basesrc.c: (eos_event_counter):
10719         Use proper return value for probe.
10720
10721 2006-03-17  Wim Taymans  <wim@fluendo.com>
10722
10723         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10724         (gst_pad_push):
10725         Don't leak buffers, caps and pads on negotiation errors.
10726
10727 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10728
10729         * docs/faq/cvs.xml:
10730         * docs/faq/dependencies.xml:
10731         * docs/faq/developing.xml:
10732         * docs/faq/faq.xml:
10733         * docs/faq/general.xml:
10734         * docs/faq/getting.xml:
10735         * docs/faq/legal.xml:
10736         * docs/faq/troubleshooting.xml:
10737         * docs/faq/using.xml:
10738         Faq review and update.
10739
10740 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10741
10742         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10743         (gst_pad_push):
10744         Don't pound the cpu to pieces by checking get_caps when accept_caps
10745         is called with the same caps as the pad already has.
10746         Use GST_DEBUG_OBJECT when outputting caps change information.
10747
10748 2006-03-15  Wim Taymans  <wim@fluendo.com>
10749
10750         * gst/gstclock.c: (gst_clock_class_init):
10751         Fix docs.
10752
10753 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10754
10755         * gst/gstbuffer.h:
10756         Documentation fix.
10757
10758         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10759         (gst_pad_accept_caps), (gst_pad_configure_sink),
10760         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10761         Make the default acceptcaps behaviour be to check the requested 
10762         caps against the gst_pad_get_caps output. 
10763
10764         Ensure that gst_pad_accept_caps is used to check caps when a pad
10765         doesn't have a setcaps function, so that pads automatically refuse 
10766         caps that they don't allow in their pad template. (Fixes #332986)
10767
10768         When a buffer with attached caps is pushed, ensure that the source 
10769         pad receives those caps even if the element didn't call
10770         gst_pad_set_caps first.
10771
10772 2006-03-15  Wim Taymans  <wim@fluendo.com>
10773
10774         * libs/gst/base/gstadapter.c:
10775         Add some docs.
10776
10777 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10778
10779         * win32/common/libgstbase.def:
10780         * win32/common/libgstcontroller.def:
10781         * win32/common/libgstreamer.def:
10782           Add a whole bunch of missing functions (#334434).
10783
10784 2006-03-14  Wim Taymans  <wim@fluendo.com>
10785
10786         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10787         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10788         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10789         Better debug info when we receive a segment event.
10790         Reorganize a bit so we can pass the get_times() results around.
10791         Use the segment format when calculating the running time.
10792         Don't do QoS is sync is disabled or we have no clock or the
10793         element does not want us to sync to the clock.
10794         Don't drop buffers if QoS is disabled for now.
10795
10796 2006-03-14  Wim Taymans  <wim@fluendo.com>
10797
10798         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10799         Marked the stats property as unimplemented so people don't get
10800         wild ideas.
10801         Add debug message when regression goes wrong.
10802         Added some more docs.
10803
10804 2006-03-14  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gstsegment.c: (gst_segment_to_stream_time):
10807         Return correct return type in case of errors.
10808
10809 2006-03-14  Wim Taymans  <wim@fluendo.com>
10810
10811         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10812           Don't segfault on invalid formats.
10813
10814 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10815
10816         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10817           Can't use gst_segment_to_running_time() when the segment
10818           is not in GST_TIME_FORMAT (like with filesink, for example).
10819           Stops flac encoding pipelines from spewing critical warnings
10820           at EOS (#331248).
10821           
10822 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10823
10824         * gst/gstpipeline.c: (gst_pipeline_class_init):
10825           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10826
10827         * plugins/elements/gsttypefindelement.c:
10828         (gst_type_find_element_handle_event):
10829           Don't try to typefind empty streams.
10830
10831 2006-03-14  Wim Taymans  <wim@fluendo.com>
10832
10833         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10834         (gst_base_sink_do_qos):
10835         Separate QoS calculation.
10836         Only drop buffers when lateness is bigger than the 
10837         duration of the buffer.
10838
10839 2006-03-13  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/gstpipeline.c: (gst_pipeline_set_property),
10842         (gst_pipeline_get_property), (do_pipeline_seek),
10843         (gst_pipeline_change_state), (gst_pipeline_set_delay),
10844         (gst_pipeline_get_delay):
10845         Don't deadlock when reading properties.
10846
10847 2006-03-13  Wim Taymans  <wim@fluendo.com>
10848
10849         * libs/gst/base/gstbasetransform.c:
10850         (gst_base_transform_class_init), (gst_base_transform_init),
10851         (gst_base_transform_sink_event),
10852         (gst_base_transform_sink_eventfunc),
10853         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10854         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10855         (gst_base_transform_set_property),
10856         (gst_base_transform_get_property),
10857         (gst_base_transform_change_state), (gst_base_transform_update_qos),
10858         (gst_base_transform_set_qos_enabled),
10859         (gst_base_transform_is_qos_enabled):
10860         * libs/gst/base/gstbasetransform.h:
10861         Make basetransform virtual method for src events too.
10862         Handle QOS in basetransform.
10863         API: gst_base_transform_update_qos()
10864         API: gst_base_transform_set_qos_enabled()
10865         API: gst_base_transform_is_qos_enabled()
10866
10867 2006-03-13  Wim Taymans  <wim@fluendo.com>
10868
10869         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10870         (gst_base_sink_do_sync):
10871         Small cleanups.
10872         Use QOS debug category.
10873
10874 2006-03-13  Wim Taymans  <wim@fluendo.com>
10875
10876         * plugins/elements/gstqueue.c:
10877         Very small doc update.
10878
10879 2006-03-13  Wim Taymans  <wim@fluendo.com>
10880
10881         * gst/gst_private.h:
10882         * gst/gstinfo.c: (_gst_debug_init):
10883         Added QOS debug category
10884
10885 2006-03-13  Wim Taymans  <wim@fluendo.com>
10886
10887         * docs/gst/gstreamer-sections.txt:
10888         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10889         * gst/gstbin.h:
10890         * gst/gstbus.c: (gst_bus_class_init):
10891         * gst/gstbus.h:
10892         * gst/gstclock.c:
10893         * gst/gstelement.c: (gst_element_set_locked_state):
10894         * gst/gstsegment.c:
10895         Documentation updates.
10896
10897         * gst/gstpipeline.c: (gst_pipeline_get_type),
10898         (gst_pipeline_class_init), (gst_pipeline_init),
10899         (gst_pipeline_dispose), (gst_pipeline_set_property),
10900         (gst_pipeline_get_property), (do_pipeline_seek),
10901         (gst_pipeline_send_event), (gst_pipeline_change_state),
10902         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10903         (gst_pipeline_get_delay):
10904         * gst/gstpipeline.h:
10905         Added methods for setting the delay.
10906         API: gst_pipeline_set_delay()
10907         API: gst_pipeline_get_delay()
10908         Add pipeline debug category
10909         Various cleanups.
10910         Updated docs.
10911         Don't reset stream time when seek failed.
10912
10913 2006-03-13  Wim Taymans  <wim@fluendo.com>
10914
10915         * docs/design/draft-klass.txt:
10916         * docs/design/part-clocks.txt:
10917         * docs/design/part-events.txt:
10918         * docs/design/part-gstbin.txt:
10919         * docs/design/part-gstpipeline.txt:
10920         * docs/design/part-messages.txt:
10921         * docs/design/part-negotiation.txt:
10922         * docs/design/part-overview.txt:
10923         * docs/design/part-preroll.txt:
10924         * docs/design/part-seeking.txt:
10925         * docs/design/part-states.txt:
10926         * docs/design/part-streams.txt:
10927         Documentation updates.
10928
10929 2006-03-12  Julien MOUTTE  <julien@moutte.net>
10930
10931         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10932         us to leak strings...
10933
10934 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * libs/gst/net/gstnettimeprovider.c:
10937           fix docs
10938         * win32/common/config.h:
10939           update
10940
10941 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
10942
10943         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10944
10945         * configure.ac:
10946           Don't check for libgnomeui (leftover from old examples
10947           that aren't built or disted any longer) (#334303).
10948           
10949 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
10950
10951         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10952         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10953           Emit RESOURCE_NO_SPACE_LEFT error here as well when
10954           there's no space left on the device.
10955
10956 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
10957
10958         * gst/gstclock.h:
10959           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10960           to cast the input to GstClockTime before comparing with
10961           another GstClockTime value.
10962
10963 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * configure.ac:
10966           back to trunk
10967
10968 === release 0.10.4 ===
10969
10970 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
10971
10972         * configure.ac:
10973           releasing 0.10.4, "Light"
10974
10975 2006-03-10  Michael Smith  <msmith@fluendo.com>
10976
10977         * libs/gst/dataprotocol/dataprotocol.c:
10978           Fix docs for dataprocotol to not get the return types completely
10979           wrong for a few functions.
10980
10981 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10982
10983         * docs/gst/gstreamer-sections.txt:
10984         * gst/gstpipeline.c: (gst_pipeline_class_init),
10985         (gst_pipeline_init), (gst_pipeline_set_property),
10986         (gst_pipeline_get_property), (gst_pipeline_change_state),
10987         (gst_pipeline_set_auto_flush_bus),
10988         (gst_pipeline_get_auto_flush_bus):
10989         * gst/gstpipeline.h:
10990           Add new API: gst_pipeline_set_auto_flush_bus() and
10991           gst_pipeline_get_auto_flush_bus() to disable automatic
10992           flushing of the pipeline's GstBus when going from READY
10993           to NULL state (#332045).
10994
10995 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10996
10997         * docs/gst/gstreamer-sections.txt:
10998         * gst/gsturi.c: (gst_uri_has_protocol):
10999         * gst/gsturi.h:
11000            Add new API: gst_uri_has_protocol() (#333779).
11001
11002 2006-03-09  Wim Taymans  <wim@fluendo.com>
11003
11004         * gst/gstclock.c: (gst_clock_entry_new),
11005         (gst_clock_id_compare_func), (gst_clock_id_wait),
11006         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
11007         (gst_clock_init), (gst_clock_get_internal_time),
11008         (gst_clock_set_master), (do_linear_regression),
11009         (gst_clock_add_observation), (gst_clock_set_property):
11010         * gst/gstclock.h:
11011         Review docs.
11012         Small cleanups.
11013         Fix a possible segfault when the window-size is made smaller.
11014         Calculate jitter before performing the clock wait. Ideally
11015         the clock implementation should calculate jitter but we need
11016         API breakage for that.
11017
11018         * gst/gstsystemclock.c: (gst_system_clock_init):
11019         Docs review.
11020         
11021         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11022         Remove leftover else
11023
11024         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
11025         (gst_systemclock_suite):
11026         Added check to test GST_CLOCK_DIFF.
11027
11028 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11029
11030         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
11031         (gst_type_find_helper_get_range):
11032           If we are provided with the size, we should implement
11033           GstTypeFind::get_length, so that typefind functions who
11034           want to can actually peek at the middle of a file.
11035
11036 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
11037
11038         * docs/manual/advanced-dataaccess.xml:
11039           Add some very very basic error checking.
11040
11041         * docs/pwg/appendix-checklist.xml:
11042           Some updates to the list of things to check when writing an element.
11043
11044 2006-03-08  Wim Taymans  <wim@fluendo.com>
11045
11046         * docs/design/part-element-transform.txt:
11047         Added some docs about the design of tranform elements.
11048
11049         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11050         (gst_base_src_loop), (gst_base_src_change_state):
11051         Mark buffers with the DISCONT flag.
11052
11053 2006-03-08  Michael Smith  <msmith@fluendo.com>
11054
11055         * gst/gstregistry.h:
11056         * gst/gstregistryxml.c: (gst_registry_save),
11057         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
11058         (gst_registry_xml_save_pad_template),
11059         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
11060         (gst_registry_xml_write_cache):
11061           Rewrite registry-saving to avoid race conditions and check for
11062           failed writes.
11063
11064 2006-03-08  Wim Taymans  <wim@fluendo.com>
11065
11066         * libs/gst/base/gstbasetransform.c:
11067         (gst_base_transform_transform_caps),
11068         (gst_base_transform_transform_size),
11069         (gst_base_transform_prepare_output_buffer),
11070         (gst_base_transform_get_unit_size),
11071         (gst_base_transform_buffer_alloc),
11072         (gst_base_transform_handle_buffer),
11073         (gst_base_transform_change_state):
11074         Cleanups, separate normal flow from errors, add sensible
11075         DEBUG lines.
11076         Don't try to renegotiate when allocating an output buffer.
11077         Also copy DISCONT buffer flag when copying a buffer.
11078         Reset the transform after we finish streaming, not during.
11079
11080 2006-03-08  Wim Taymans  <wim@fluendo.com>
11081
11082         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11083         Use last buffer timestamp in qos message.
11084
11085 2006-03-07  Wim Taymans  <wim@fluendo.com>
11086
11087         Patch by: Christophe Fergeau
11088
11089         * docs/pwg/advanced-tagging.xml:
11090         * docs/pwg/building-pads.xml:
11091           fixes #333416
11092
11093 2006-03-07  Wim Taymans  <wim@fluendo.com>
11094
11095         * docs/libs/gstreamer-libs-sections.txt:
11096         Added basesink new methods.
11097
11098         * gst/gstevent.c:
11099         * gst/gstevent.h:
11100         Docs updates. Flesh out the QoS docs.
11101
11102         * libs/gst/base/gstadapter.c:
11103         Small doc clarification about ownership and flushing.
11104
11105         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
11106         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
11107         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
11108         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11109         * libs/gst/base/gstbasesink.h:
11110         API additions: 
11111         Added new methods to allow subclass to control max-lateness 
11112         and sync.
11113         Generate very basic QoS events based on last sync observation.
11114         Updated docs, fix typo, added some QoS blurb.
11115
11116         * libs/gst/base/gstbasesrc.c:
11117         Remove obsolete _get_state() calls from docs.
11118
11119 2006-03-07  Wim Taymans  <wim@fluendo.com>
11120
11121         * docs/libs/gstreamer-libs-sections.txt:
11122         * libs/gst/base/gstbasetransform.h:
11123         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
11124         Fix docs for GstBaseSrc.
11125
11126 2006-03-07  Wim Taymans  <wim@fluendo.com>
11127
11128         * docs/gst/gstreamer-sections.txt:
11129         * gst/gstbuffer.h:
11130         * gst/gstvalue.c:
11131         * libs/gst/base/gstbasetransform.h:
11132         Small documentation fixes.
11133
11134 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11135
11136         * gst/gstvalue.c:
11137           Document thread-unsafety of gst_value_register_foo_func()
11138           when used at the same time as gst_value_foo() (#322628).
11139
11140 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11141
11142         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
11143         (gst_push_src_check_get_range):
11144           Push sources don't support pull mode by default.
11145
11146 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11149         (gst_base_src_init), (gst_base_src_pad_check_get_range),
11150         (gst_base_src_default_check_get_range):
11151         * libs/gst/base/gstbasesrc.h:
11152           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
11153           provide default implementation, and rename
11154           gst_base_src_check_get_range() to
11155           gst_base_src_pad_check_get_range() for clarity.
11156
11157 2006-03-06  Wim Taymans  <wim@fluendo.com>
11158
11159         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11160         Make property overridable.
11161
11162 2006-03-06  Wim Taymans  <wim@fluendo.com>
11163
11164         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11165         (gst_base_sink_init), (gst_base_sink_set_property),
11166         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11167         * libs/gst/base/gstbasesink.h:
11168         API addition: Make max-lateness a property.
11169
11170 2006-03-06  Wim Taymans  <wim@fluendo.com>
11171
11172         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
11173         (gst_base_sink_do_sync), (gst_base_sink_render_object):
11174         Don't ever draw a frame that is >10ms late.
11175
11176 2006-03-06  Michael Smith  <msmith@fluendo.com>
11177
11178         * gst/gstmessage.c: (_gst_message_copy):
11179           When copying a message, set the parent_refcount of the enclosed
11180           structure to point at the copy, not the original message.
11181
11182 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11183
11184         Patch by: Christophe Fergeau
11185
11186         * gst/gstutils.h:
11187           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
11188           usable in c++ code (#333417)
11189
11190 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * gst/gstclock.h:
11193           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
11194
11195 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
11196
11197         * libs/gst/base/gstbasetransform.c:
11198         (gst_base_transform_transform_caps):
11199           Make sure caps are writable before passing them to
11200           gst_caps_append().
11201
11202 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11203
11204         * gst/gsterror.h:
11205           Fix some minor docs errors.
11206
11207 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11208
11209           Patch by: Ross Burton <ross at burtonini dot com>
11210
11211         * gst/gsterror.c: (_gst_resource_errors_init):
11212         * gst/gsterror.h:
11213           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
11214
11215 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11216
11217         * gst/gst.c:
11218         Add a check and output a g_warning when GStreamer is built
11219         against GLib 2.6 but running against 2.8 or higher, and vice 
11220         versa. (Closes: #323542)
11221
11222 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11223
11224         * gst/parse/parse.l:
11225           Commit patch for parse_launch syntax from #331255. Removes 
11226           support for quoted strings and mimetypes when writing filtered 
11227           caps. See the bug report for more details - I'm pretty sure this
11228           obscure feature is not in use by _anyone_ anywhere.
11229
11230           With this simple change, the size of the gstreamer.so here 
11231           drops from 2193KB to 1565KB.
11232
11233 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11234
11235         * plugins/elements/gsttypefindelement.h:
11236         * plugins/elements/gsttypefindelement.c:
11237         (gst_type_find_element_src_event), (start_typefinding),
11238         (stop_typefinding), (gst_type_find_element_handle_event),
11239         (gst_type_find_element_chain),
11240         (gst_type_find_element_chain_do_typefinding):
11241           Use gst_type_find_helper_for_buffer() for chain-based
11242           typefinding.
11243
11244 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11245
11246         * plugins/elements/gsttypefindelement.c:
11247         (gst_type_find_element_class_init),
11248         (gst_type_find_element_set_property),
11249         (gst_type_find_element_get_property):
11250           Deprecate "maximum" property (not only was it only taken into
11251           account for typefinding in push-mode anyway, it also was never
11252           actually possible to set it in the first place because the
11253           property was registered with the numeric property ID for the
11254           "minimum" property). Register "maximum" property correctly,
11255           for the sake of future copy'n'pasters. Remove some cruft
11256           from property get/set functions.
11257
11258 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11259
11260         * plugins/elements/gsttypefindelement.c:
11261         (gst_type_find_element_activate):
11262           Use gst_type_find_helper_get_range() here, so we
11263           can honour the "minimum" property and also emit
11264           the signal with the correct probability of the found caps.
11265
11266 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
11267
11268         * docs/libs/gstreamer-libs-sections.txt:
11269         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
11270         (helper_find_suggest), (gst_type_find_helper_get_range),
11271         (gst_type_find_helper):
11272         * libs/gst/base/gsttypefindhelper.h:
11273           New API: gst_type_find_helper_get_range() (#333042).
11274
11275 2006-03-02  Michael Smith  <msmith@fluendo.com>
11276
11277         * gst/gstregistryxml.c: (load_feature):
11278           Asserting on a failure to read part of the registry is Not Cool.
11279           Just log a warning and return NULL (which is already handled)
11280
11281 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
11282
11283         * win32/common/libgstbase.def:
11284           added export of gst_type_find_helper_for_buffer
11285         * win32/common/libgstbase.def:
11286           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
11287           gst_ghost_pad_get_target
11288
11289 2006-02-28  Wim Taymans  <wim@fluendo.com>
11290
11291         * docs/design/draft-klass.txt:
11292         We use Filter now.
11293         Added Connector to mark elements that are only used to
11294         allow pipeline connections.
11295         Moved Debug to extra feature since most of them are 
11296         functionally something else.
11297
11298 2006-02-28  Wim Taymans  <wim@fluendo.com>
11299
11300         * docs/design/draft-klass.txt:
11301         Some updates and clarifications.
11302
11303 2006-02-28  Wim Taymans  <wim@fluendo.com>
11304
11305         * docs/design/draft-klass.txt:
11306         Proposal for klass field values.
11307
11308         * docs/design/part-streams.txt:
11309         Start of a doc describing stream anatomy.
11310
11311 2006-02-28  Wim Taymans  <wim@fluendo.com>
11312
11313         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
11314         Help the compiler a bit with type registration.
11315         Use existing forward cod path instead of duplicating it when 
11316         handling a message.
11317         
11318         * gst/gstbus.c: (gst_bus_get_type):
11319         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
11320         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
11321         * gst/gstclock.c: (gst_clock_get_type):
11322         * gst/gstelement.c: (gst_element_get_type),
11323         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11324         * gst/gstindexfactory.c: (gst_index_factory_get_type):
11325         * gst/gstminiobject.c: (gst_mini_object_get_type):
11326         * gst/gstpad.c: (gst_pad_get_type):
11327         * gst/gstsegment.c: (gst_segment_get_type):
11328         * gst/gststructure.c: (gst_structure_get_type):
11329         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11330         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
11331         * gst/gstvalue.c:
11332         Help compiler with type registration.
11333
11334         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
11335         Small doc update.
11336
11337 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11338
11339         * plugins/elements/gsttypefindelement.c:
11340         (gst_type_find_element_handle_event):
11341           When we get an EOS event and have not found a type yet
11342           (most likely because we had not yet accumulated
11343           TYPE_FIND_MIN_SIZE of data yet), try to determine the
11344           type given the data we have so far. Fixes typefinding
11345           for very short streams again, most notably quicktime
11346           redirections as used on Apple's trailer site (#331701).
11347
11348 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11349
11350         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
11351         (gst_type_find_helper):
11352           Try typefinding factories with the highest rank first.
11353
11354 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11355
11356         * docs/libs/gstreamer-libs-docs.sgml:
11357         * docs/libs/gstreamer-libs-sections.txt:
11358         * libs/gst/base/gsttypefindhelper.c:
11359           Add section for typefind helper and add documentation
11360           for the old and the new function.
11361
11362 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11363
11364         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
11365         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
11366         (gst_type_find_helper_for_buffer):
11367         * libs/gst/base/gsttypefindhelper.h:
11368           New API: gst_type_find_helper_for_buffer() (#332723).
11369           
11370 2006-02-27  Michael Smith  <msmith@fluendo.com>
11371
11372         Patch by: Loïc Minier
11373
11374         * configure.ac:
11375         * docs/Makefile.am:
11376         * docs/slides/Makefile.am:
11377           prevent CVS directories getting disted.
11378
11379 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11380
11381         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
11382           Use the REFCOUNTING category for caps refcounting.
11383           
11384 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11385
11386         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11387           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
11388
11389 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11390
11391         * plugins/elements/gsttypefindelement.c:
11392         (gst_type_find_element_activate):
11393           Use gst_pad_check_pull_range() before _activate_pull()
11394           to avoid unnecessary open/close (see #331690).
11395
11396 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11397
11398         * gst/gstutils.c:
11399           Docs enhancement: make it crystal clear what the
11400           gst_pad_add_*_probe() callbacks should look like.
11401
11402 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11403
11404         * libs/gst/base/gstbasesrc.c:
11405           Document how applications can stop recording from
11406           live sources (see #330996).
11407
11408 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11409
11410         * tests/check/Makefile.am:
11411         * tests/check/libs/basesrc.c: (eos_event_counter),
11412         (basesrc_eos_events_pull), (basesrc_eos_events_push),
11413         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
11414         (gst_basesrc_suite), (main):
11415           ... and add some tests for the base source EOS stuff.
11416
11417 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11418
11419         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
11420           Test case originally showed the problem fixed below,
11421           but was then amended. Add checks back at the place
11422           where they used to be.
11423
11424 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11425
11426         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11427         (gst_base_src_init), (gst_base_src_loop),
11428         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11429         (gst_base_src_change_state):
11430         * libs/gst/base/gstbasesrc.h:
11431           Don't unconditionally send EOS when going from PAUSED to
11432           READY state, esp. make sure we don't send two EOS events
11433           in some cases (e.g. one when reaching EOS and one when
11434           going from PAUSED to READY). Also, we don't want to send
11435           EOS events when operating in pull mode. However, we do
11436           want to send an EOS event when shutting down a live
11437           source explicitly, for example (fixes #330996).
11438           
11439 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11440
11441         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11442           Update src->read_position after a seek when not using mmap.
11443           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
11444
11445 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
11446
11447         * gst/Makefile.am:
11448         * gst/gstparse.h:
11449         * gst/gstutils.c:
11450         * gst/gstutils.h:
11451         Make things work with --disable-parse as they do with 
11452         --disable-load-save - the symbols involved disappear, but the
11453         header is still installed and GST_DISABLE_PARSE is included via
11454         gstconfig.h
11455
11456 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11457
11458         * libs/gst/base/gstbasetransform.c:
11459         (gst_base_transform_change_state): Fix a stupid bug. I was 
11460         sure I compiled that.
11461
11462 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11463
11464         * gst/gstpad.c: (gst_pad_set_blocked_async):
11465         * gst/gstutils.c: (gst_pad_add_data_probe),
11466         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11467         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11468         (gst_pad_remove_buffer_probe): Make those function act on the
11469         ghostpad target when it's a ghostpad. (Closes #331727)
11470
11471 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11472
11473         * libs/gst/base/gstbasetransform.c:
11474         (gst_base_transform_change_state): Make basetransform reusable.
11475         (Closes #331898)
11476
11477 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
11478
11479         * docs/random/release:
11480         Move the current documentation of how to do a release to the top
11481         of the file.
11482
11483         * gst/gstbin.c: (gst_bin_class_init),
11484         (gst_bin_handle_message_func):
11485         Allow multiple state-recalculation threads. (Closes #328873)
11486
11487 2006-02-19  Julien MOUTTE  <julien@moutte.net>
11488
11489         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11490         * gst/gstpad.c: (gst_pad_set_event_function),
11491         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11492         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11493         2 strings. You can't use the STR_NULL macro on that.
11494
11495 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
11496
11497         * gst/gstpad.c: (gst_pad_set_event_function),
11498         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11499         (gst_pad_set_getcaps_function)
11500         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11501           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11502           So now, we can use --gst-debug-level=5 on Windows
11503         * win32/common/libgstcontroller.def:
11504           Added export of gst_controller_init
11505         * win32/vs6/libgstcontroller.dsp:
11506           Fixed Release post build configuration
11507
11508 2006-02-17  Wim Taymans  <wim@fluendo.com>
11509
11510         * tests/check/gst/gstquery.c: (GST_START_TEST):
11511         Added another check.
11512
11513 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         * plugins/elements/gsttypefindelement.c: (find_peek):
11516           We can do peeks at non-zero offsets, as long as they
11517           fall within the buffer we have.
11518
11519 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11520
11521         * tests/check/Makefile.am:
11522         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11523         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11524         (parse_suite), (main):
11525           Add testsuite for parse launch syntax
11526
11527 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11528
11529         * plugins/elements/gsttypefindelement.c:
11530         (gst_type_find_element_chain):
11531           When typefinding is unsuccessful in the chain function, don't
11532           error out immediately. Only error out with NO_CAPS_FOUND if
11533           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11534           otherwise simply wait for more data so we can try typefinding
11535           again with more data later. Also, don't attempt to typefind
11536           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11537           this should improve typefinding from network sources where the
11538           size of the first buffer can be somewhat random.
11539
11540 2006-02-14  Wim Taymans  <wim@fluendo.com>
11541
11542         * docs/gst/gstreamer-sections.txt:
11543         * gst/gstpadtemplate.c:
11544         * gst/gstpadtemplate.h:
11545         Fix padtemplate docs, fixes #328805.
11546
11547 2006-02-14  Wim Taymans  <wim@fluendo.com>
11548
11549         * tools/gst-launch.c: (main):
11550         NO_PREROLL is not an ERROR so don't send confusing messages
11551         to the user.
11552
11553 2006-02-14  Wim Taymans  <wim@fluendo.com>
11554
11555         Patch by: Torsten Schoenfeld
11556
11557         * gst/gstregistry.c: (gst_registry_get_default),
11558         (_gst_registry_cleanup):
11559         Protect default registry with lock and ref/sink it.
11560         Fixes #324818
11561
11562 2006-02-14  Wim Taymans  <wim@fluendo.com>
11563
11564         * gst/gstbuffer.c:
11565         * gst/gstquery.c: (gst_query_list_add_format),
11566         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11567         (gst_query_parse_formats_nth):
11568         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11569         Docs fixes.
11570
11571 2006-02-14  Wim Taymans  <wim@fluendo.com>
11572
11573         * docs/gst/gstreamer-sections.txt:
11574         Reworked query docs.
11575
11576         * gst/gstquery.c: (gst_query_new_formats),
11577         (gst_query_list_add_format), (gst_query_set_formats),
11578         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11579         (gst_query_parse_formats_nth):
11580         * gst/gstquery.h:
11581         Flesh out formats query, added some new methods.
11582         Fix part of #324398.
11583
11584         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11585         Added query creation tests.
11586
11587 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
11588
11589         * gst/gstpad.c: (fixate_value):
11590         Add a default fixation for fraction lists.
11591
11592 2006-02-13  Wim Taymans  <wim@fluendo.com>
11593
11594         * gst/gsttask.c: (gst_task_init), (gst_task_func),
11595         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11596         (gst_task_join):
11597         * gst/gsttask.h:
11598         Detect and warn for obvious deadlocks. fixes #320340
11599         Fix error case where lock was not released.
11600
11601         * tests/check/Makefile.am:
11602         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11603         (task_func), (gst_element_suite), (main):
11604         Add task check.
11605
11606 2006-02-13  Wim Taymans  <wim@fluendo.com>
11607
11608         * docs/gst/gstreamer-sections.txt:
11609         * gst/gstbus.c:
11610         Add new functions to docs.
11611
11612 2006-02-13  Wim Taymans  <wim@fluendo.com>
11613
11614         * docs/design/part-TODO.txt:
11615         Updated TODO list, basesrc supports seeking to non-bytes
11616         formats.
11617
11618         * docs/design/part-element-sink.txt:
11619         Update docs.
11620
11621         * gst/gstbin.c: (bin_replace_message),
11622         (gst_bin_handle_message_func):
11623         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11624         * gst/gstevent.c: (gst_event_finalize):
11625         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11626         (gst_pad_send_event):
11627         Use shiny new _TYPE_NAME macros.
11628
11629         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11630         Move debug statement up.
11631
11632         * gst/gstelement.c: (gst_element_set_locked_state):
11633         Add some debugging.
11634
11635 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
11636
11637         * docs/gst/gstreamer-sections.txt:
11638         * gst/gstmessage.h:
11639         * gst/gstquery.h:
11640           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11641           macros (#330906). Also, document the already existing
11642           GST_QUERY_TYPE macro.
11643
11644 2006-02-13  Wim Taymans  <wim@fluendo.com>
11645
11646         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11647         (event_probe), (GST_START_TEST):
11648         Only events up to the pipeline EOS are counted, there are
11649         some more when going to NULL currently which we don't care
11650         about for now.
11651
11652 2006-02-13  Wim Taymans  <wim@fluendo.com>
11653
11654         * gst/gstpad.c: (gst_pad_send_event):
11655         Correctly check flushing and emit probes. fixes #330125
11656
11657 2006-02-10  Andy Wingo  <wingo@pobox.com>
11658
11659         * gst/gstbus.c (gst_bus_class_init): Declare our private data
11660         structure.
11661         (gst_bus_init): Cache the location of the private data in the
11662         instance structure.
11663         (gst_bus_enable_sync_message_emission) 
11664         (gst_bus_disable_sync_message_emission): Implement new public
11665         functions.
11666         (gst_bus_post): Emit the sync-message signal if the user asked for
11667         it. Fixes #330684.
11668
11669         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11670         location of the bus-private structure.
11671         (gst_bus_enable_sync_message_emission)
11672         (gst_bus_disable_sync_message_emission): API addition
11673
11674 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
11675
11676         Patch by: Vincent Torri
11677
11678         * docs/pwg/building-boiler.xml:
11679         PWG patch from #326800
11680
11681 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
11682
11683         * configure.ac:
11684         * docs/Makefile.am:
11685         * docs/design/Makefile.am:
11686           Dist design docs.
11687
11688 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11689
11690         * configure.ac:
11691           back to CVS
11692
11693 === release 0.10.3 ===
11694
11695 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
11696
11697         * configure.ac:
11698           releasing 0.10.3, "Like a virgin"
11699
11700 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11701
11702         * configure.ac:
11703           2nd prerelease of 0.10.3
11704           Bump libtool versioning.
11705
11706 2006-02-07  Andy Wingo  <wingo@pobox.com>
11707
11708         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11709         update last_stop if we're in TIME format and the timestamp is
11710         valid.
11711
11712         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
11713         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
11714         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11715         If we get a new newsegment with a different format, adapt
11716         accordingly.
11717
11718         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11719         of 0. Not a problem, really.
11720
11721         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11722         warn if sync=true.
11723
11724 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11725
11726         * configure.ac:
11727           Prelease of 0.10.3
11728
11729 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11730
11731         * win32/vs7:
11732           project files updated to the default vs7 configuration
11733         * win32/common/libgstbase.def:
11734         * win32/common/libgstreamer.def:
11735           added new symbols,
11736           removed empty lines,
11737           sorted all exported symbols alphabetically
11738         * win32/common/dirent.c:
11739         * win32/common/dirent.h:
11740         * win32/common/gchar.h:
11741           use windows line end.
11742           
11743 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11744
11745         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11746           Send EOS event when stopping.
11747
11748 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11749
11750         * docs/README:
11751           Tell folks what to do if the plugin-foobar.xml file
11752           hasn't been generated for a newly-added plugin.
11753
11754 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11755
11756         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11757         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11758         (gst_collect_pads_start), (gst_collect_pads_stop),
11759         (gst_collect_pads_event): Collectpads now holds a reference
11760         to the GstPad that was added. Indeed we don't want to look
11761         at pads that might just go away with no warning...
11762
11763 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11764
11765         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11766         (gst_collect_pads_start), (gst_collect_pads_stop),
11767         (gst_collect_pads_event), (gst_collect_pads_chain):
11768         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11769         Mark Nauwelaerts's patch on bug #328491.
11770
11771 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11772
11773         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11774         (gst_utils_suite):
11775           Add some simple tests for gst_parse_bin_from_description() and
11776           gst_bin_find_unconnected_pad() (#329069).
11777
11778 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11779
11780         * tools/gst-launch.c: (event_loop), (main):
11781           Catch errors during preroll (#320084).
11782
11783 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11784
11785         * plugins/elements/gsttypefindelement.c:
11786         (gst_type_find_element_activate):
11787           Post TYPE_NOT_FOUND error message when typefinding
11788           is unsuccessful in the activate function as well.
11789
11790 2006-02-02  Wim Taymans  <wim@fluendo.com>
11791
11792         * docs/design/part-element-sink.txt:
11793         Updated doc.
11794
11795 2006-02-02  Wim Taymans  <wim@fluendo.com>
11796
11797         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11798         (gst_base_sink_render_object),
11799         (gst_base_sink_queue_object_unlocked):
11800         Only keep track of prerollable items when we are 
11801         prerolling.
11802         Before rendering after preroll, always check if we
11803         have queued items.
11804         Added some more debugging.
11805
11806 2006-02-02  Wim Taymans  <wim@fluendo.com>
11807
11808         * gst/gstelement.c: (gst_element_continue_state),
11809         (gst_element_set_state_func), (gst_element_change_state):
11810         Fixed #326576, been running this for quite some time with
11811         no regressions at all.
11812
11813 2006-02-02  Wim Taymans  <wim@fluendo.com>
11814
11815         * common/gst.supp:
11816         Added more suppressions
11817
11818 2006-02-02  Wim Taymans  <wim@fluendo.com>
11819
11820         * docs/design/part-element-sink.txt:
11821         Updated document.
11822
11823         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11824         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11825         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11826         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11827         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11828         (gst_base_sink_preroll_object),
11829         (gst_base_sink_queue_object_unlocked),
11830         (gst_base_sink_queue_object), (gst_base_sink_event),
11831         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11832         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11833         (gst_base_sink_get_position), (gst_base_sink_change_state):
11834         * libs/gst/base/gstbasesink.h:
11835         Totally refactored matching the design doc.
11836         Use two segments, one to clip incomming buffers and another to
11837         perform sync.
11838         Handle queueing correctly, bypass the queue when playing.
11839         Make EOS cancelable.
11840         Handle errors correctly when operating in pull based mode.
11841
11842         * tests/check/elements/fakesink.c: (GST_START_TEST),
11843         (fakesink_suite):
11844         Added new check for sinks.
11845
11846 2006-02-02  Wim Taymans  <wim@fluendo.com>
11847
11848         * gst/gstsegment.c: (gst_segment_clip):
11849         No reason to refuse to clip when start == -1
11850
11851 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
11852
11853         * docs/README:
11854         * docs/manual/intro-basics.xml:
11855         * docs/manual/intro-preface.xml:
11856         * docs/manual/manual.xml:
11857         * docs/pwg/advanced-dparams.xml:
11858         * docs/pwg/intro-basics.xml:
11859         * docs/pwg/intro-preface.xml:
11860         * docs/pwg/pwg.xml:
11861           describe dparams (controller) for plugins
11862           unify docs a little more
11863
11864 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
11865
11866         * docs/gst/gstreamer-sections.txt:
11867         * gst/gstutils.c: (element_find_unconnected_pad),
11868         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11869         * gst/gstutils.h:
11870           Add new API: gst_parse_bin_from_description() and
11871           gst_bin_find_unconnected_pad() (#329069).
11872
11873 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
11874
11875         * docs/manual/README:
11876           uncover a nasty detail of the docs build
11877
11878 2006-01-31  Wim Taymans  <wim@fluendo.com>
11879
11880         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11881         Don't cache duration messages if we're not going to use or
11882         free them.
11883
11884 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
11885
11886         * docs/manual/advanced-dparams.xml:
11887         * docs/pwg/advanced-dparams.xml:
11888           more dparam docs
11889         * gst/gstindex.c:
11890           fix docs
11891         * libs/gst/controller/lib.c: (gst_controller_init):
11892           init just once
11893
11894 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11895
11896         * gst/gstelement.c: (gst_element_message_full):
11897           also show file/line/func if no additional debug was given
11898
11899 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
11900         
11901         * win32/vs7/grammar.vcproj:
11902           activate copy of autogenerated files for Release mode
11903
11904 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11905         
11906         * win32/common/libgstreamer.def:
11907           export gst_value_compare
11908
11909 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
11910
11911         * plugins/elements/Makefile.am:
11912         * plugins/elements/gstelements.c:
11913         * plugins/elements/gstfdsink.c: (_do_init),
11914         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11915         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11916         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11917         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11918         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11919         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11920         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11921         * plugins/elements/gstfdsink.h:
11922         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11923
11924 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
11925
11926         * docs/manual/advanced-dparams.xml:
11927           describe controller
11928         * docs/manual/advanced-position.xml:
11929         * docs/manual/basics-init.xml:
11930         * docs/manual/manual.xml:
11931         * docs/manual/titlepage.xml:
11932         * docs/pwg/pwg.xml:
11933         * docs/pwg/titlepage.xml:
11934           cleanup xml (more to come)
11935         * libs/gst/controller/gstcontroller.c:
11936           fix typo
11937
11938 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11939         
11940         * win32/vs6/grammar.dsp:
11941           add autogen of gstmarshal.c,h for Release mode
11942                 
11943 2006-01-30  Wim Taymans  <wim@fluendo.com>
11944
11945         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11946         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11947         (gst_base_sink_handle_object), (gst_base_sink_event),
11948         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11949         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11950         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11951         (gst_base_sink_deactivate), (gst_base_sink_activate),
11952         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11953         (gst_base_sink_query), (gst_base_sink_change_state):
11954         Basesink cleanups, remove some old code.
11955         Handle the case where a subclass can preroll in the render
11956         method (mostly audiosinks).
11957         Handle more events.
11958         Remove some locks around variables that are now protected
11959         with the PREROLL_LOCK (clock_id, flushing, ..).
11960         Optimize position query some more, do correct locking.
11961         Remove old code to push queue in state change, this is not
11962         needed anymore since preroll blocks on all prerollable items 
11963         now.
11964         Almost implemented as described in design doc.
11965
11966 2006-01-30  Wim Taymans  <wim@fluendo.com>
11967
11968         * tests/check/gst/gstbin.c: (GST_START_TEST):
11969         Wait for refcount to settle down before checking.
11970
11971 2006-01-30  Wim Taymans  <wim@fluendo.com>
11972
11973         * docs/design/part-element-sink.txt:
11974         Pseudo code overview of desired sink behaviour regarding
11975         preroll.
11976
11977 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11978         * win32/vs6/grammar.dsp:
11979           fix some bugs in Release mode for autogenerated files
11980                 
11981 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11982         * win32/common/libgstbase.def:
11983         * win32/common/libgstreamer.def:
11984           export some new symbols: gst_base_src_set_format,
11985           gst_iterator_next, gst_structure_set_valist
11986
11987 2006-01-29  Julien MOUTTE  <julien@moutte.net>
11988
11989         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11990         Set pad functions unconditionally. Fixes #329105.
11991
11992 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11993         * win32/vs8:
11994           add vs8 project files created by Sergey Scobich
11995
11996 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
11997
11998         * gst/gstutils.c: (gst_element_unlink_pads):
11999         Don't leak pad references.
12000
12001         * tests/check/elements/fakesink.c: (GST_START_TEST):
12002         * tests/check/generic/sinks.c: (GST_START_TEST):
12003         * tests/check/generic/states.c: (GST_START_TEST):
12004         * tests/check/gst/gstbin.c: (GST_START_TEST):
12005         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12006         * tests/check/gst/gstelement.c: (GST_START_TEST):
12007         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12008         * tests/check/gst/gstiterator.c: (GST_START_TEST):
12009         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12010         Fix a bunch of leaks. Make generic/sinks.c
12011         use a bit less cpu by slowing the buffer rate
12012         between fakesrc and fakesink.
12013         
12014 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
12015         * gst/gstcaps.c:
12016         * gst/gstelement.c: (gst_element_send_event):
12017         * gst/gstevent.c:
12018         * gst/gstinfo.c:
12019         * gst/gstiterator.c:
12020         * gst/gstiterator.h:
12021         * gst/gstpad.c: (gst_pad_send_event):
12022         * gst/gststructure.c:
12023         * gst/gsturi.c:
12024         * gst/gstutils.c:
12025         * gst/gstvalue.c:
12026         * libs/gst/base/gstadapter.c:
12027           doc fixes, to link to function, just write gst_cool_function(), don't
12028           prefix with '#'
12029
12030 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12031
12032         * plugins/elements/gsttee.c: (gst_tee_do_push),
12033         (gst_tee_handle_buffer):
12034         Always prefer an actual return value from a src
12035         pad in place of NOT_LINKED. This means we return
12036         WRONG_STATE when all src pads are WRONG_STATE
12037         instead of NOT_LINKED.
12038
12039         Lock when replacing the last message to prevent
12040         racing with the get_property method.
12041
12042         Add debug output
12043
12044 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12045
12046         * tests/check/Makefile.am:
12047         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
12048         (main):
12049         Add a very simple check that should have caught the memleak I fixed
12050         last night (if not for the slice allocator hiding it)
12051
12052 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12053
12054         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12055         (gst_bin_remove_func), (gst_bin_handle_message_func),
12056         (bin_query_duration_fold), (bin_query_generic_fold):
12057         Clean up references to the clock provider when disposed or when
12058         handling a clock-lost message from it.
12059
12060         Unref sinks when performing a query via gst_iterator_fold, as the
12061         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
12062
12063         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
12064         (gst_clock_set_master):
12065         Drop our reference to the master clock, if any, when we are disposed.
12066
12067         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
12068         Chain up in dispose. 
12069
12070 2006-01-26  Wim Taymans  <wim@fluendo.com>
12071
12072         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
12073         Add some debugging.
12074
12075 2006-01-26  Julien MOUTTE  <julien@moutte.net>
12076
12077         * plugins/elements/gsttee.c: (gst_tee_do_push),
12078         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
12079         handles pad being NOT_LINKED or in WRONG_STATE.
12080
12081 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12082
12083         * win32/MANIFEST:
12084           more updating
12085
12086 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12087
12088         * win32/MANIFEST:
12089           remove obsolete entry
12090
12091 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12092
12093         * docs/gst/gstreamer-sections.txt:
12094         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
12095         (gst_bin_iterate_sources), (gst_bin_send_event):
12096         * gst/gstbin.h:
12097         * gst/gstelement.c: (gst_element_send_event):
12098         * gst/gstevent.c:
12099         * gst/gstpad.c: (gst_pad_send_event):
12100           added code for downstream events, reviewed docs in gstevent.c
12101
12102 2006-01-25  Julien MOUTTE  <julien@moutte.net>
12103
12104         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12105         We only query position using the clock in the playing state.
12106         Query peer in the other cases.
12107         * win32/common/config.h: Updates.
12108
12109 2006-01-24  Wim Taymans  <wim@fluendo.com>
12110
12111         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12112         A clock entry that is scheduled for the exact time of the
12113         clock is still in time.
12114
12115         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12116         (gst_base_sink_do_sync):
12117         Add some more debug info.
12118
12119 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12120
12121         * win32/vs7:
12122           Add new vs7 project files and solution.
12123
12124 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12125
12126         * win32/vs7:
12127           all files removed as they were out-dated.
12128
12129 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12130
12131         * docs/random/release:
12132           update notes
12133         * gst/gstbin.c: (gst_bin_init):
12134         * gst/gstbus.c: (gst_bus_new):
12135         * gst/gstbus.h:
12136         * gst/gstpipeline.c: (gst_pipeline_init):
12137           use gst_bus_new(), improve logging, fix docs
12138         * win32/common/config.h:
12139           update for cvs build
12140
12141 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12142
12143         * autogen.sh:
12144           up required version of automake to 1.7
12145
12146 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
12147
12148         * win32/common/libgstreamer.def:
12149           export gst_buffer_is_metadata_writable
12150
12151 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
12152
12153         * docs/gst/gstreamer-sections.txt:
12154         * gst/gstevent.h:
12155           Add gst_event_replace() (#327001)
12156
12157 2006-01-20  Wim Taymans  <wim@fluendo.com>
12158
12159         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12160         Make it actually compile too..
12161
12162 2006-01-20  Wim Taymans  <wim@fluendo.com>
12163
12164         * gst/gstcaps.c:
12165         Clarify behaviour of _is_equal() when passing NULL parameters.
12166
12167         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12168         (gst_pad_set_caps):
12169         Cleanups. Don't unref NULL caps.
12170         When setting the same caps, protect caps of the pad with
12171         proper lock.
12172         Use full functionality of _is_equal() when comparing caps.
12173
12174 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12175
12176         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12177         Don't loop infinitely if there are no buffers to present. Partially
12178         fixes #327197, but collectpads is just broken for reusing elements
12179         to do multiple encodes atm.
12180
12181 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12182
12183         * tools/gst-inspect.c: (print_element_features):
12184         * tools/gst-xmlinspect.c: (main):
12185         URL_HANDLER is not a plugin feature we can search for in
12186         the registry.
12187
12188 2006-01-19  Edward Hervey  <edward@fluendo.com>
12189
12190         * gst/gstelement.c: (gst_element_pads_activate): 
12191         When activating, do src pads first, then sink pads.
12192         When de-activating, do sink pads first, then src pads.
12193
12194 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12195
12196         * docs/gst/gstreamer-sections.txt:
12197         Add gst_index_add_associationv to the docs
12198
12199 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12200
12201         * gst/gstevent.c:
12202           Fix docs typo
12203
12204         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
12205         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
12206           Do some refactoring. Doesn't actually change functionality,
12207           but makes landing the DRAIN event easier later.
12208
12209 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
12210
12211         * docs/pwg/advanced-scheduling.xml:
12212           Update from 0.9.x to 0.10 API and make example a bit
12213           clearer.
12214
12215 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12216
12217         * docs/gst/gstreamer-sections.txt:
12218         Add gst_buffer_(is|make)_metadata_writable methods.
12219
12220 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12221
12222         * docs/design/part-sparsestreams.txt:
12223         Update sparse streams doc, hopefully for greater clarity
12224
12225 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
12226
12227         * docs/design/part-events.txt:
12228         Remove mention of FILLER events.
12229         Add DRAIN event.
12230
12231         * docs/design/part-sparsestreams.txt:
12232         Write some things about using NEWSEGMENT to keep sparse streams
12233         flowing.
12234
12235 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12236
12237         * gst/gstbin.c: (gst_bin_dispose):
12238           Guard gst_object_unref call against a NULL object (dispose
12239           can theoretically be called multiple times).
12240           
12241 2006-01-18  Wim Taymans  <wim@fluendo.com>
12242
12243         * gst/gstbin.c: (gst_bin_element_set_state):
12244         * gst/gstclock.c: (gst_clock_id_wait):
12245         Added some more debug info.
12246
12247         * libs/gst/base/gstadapter.c:
12248         Added more docs.
12249
12250         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12251         (gst_base_sink_do_sync), (gst_base_sink_chain):
12252         Added some comments.
12253
12254 2006-01-18  Wim Taymans  <wim@fluendo.com>
12255
12256         * tests/check/Makefile.am:
12257         * tests/check/elements/fakesink.c: (chain_async_buffer),
12258         (chain_async), (chain_async_return), (GST_START_TEST),
12259         (fakesink_suite), (main):
12260         Added fakesink test that checks prerolling and clipping
12261         behaviour.
12262
12263         * tests/check/gst/gstutils.c: (GST_START_TEST):
12264         Make check run faster so that buildbots don't timeout.
12265
12266 2006-01-18  Wim Taymans  <wim@fluendo.com>
12267
12268         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12269         (gst_base_sink_do_sync):
12270         Some cleanups.
12271         When the sink finishes blocking on the preroll buffer, it can
12272         immediatly render it instead of rendering when the next buffer
12273         arrives.
12274
12275 2006-01-18  Wim Taymans  <wim@fluendo.com>
12276
12277         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
12278         (gst_base_sink_get_property), (gst_base_sink_do_sync),
12279         (gst_base_sink_chain):
12280         Small cleanups.
12281         GST_ELEMENT_CLOCK and sync are protected with LOCK.
12282         Don't store _last_stop if the buffer is dropped.
12283
12284 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12285
12286         * plugins/elements/gsttypefindelement.c:
12287         (gst_type_find_element_class_init):
12288           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
12289           object method handler that sets the caps on the pad and we want
12290           that to happen before we emit the signal (fixes e.g. feeding a
12291           plain text file to decodebin).
12292
12293 2006-01-18  Christian Schaller  <Christian@fluendo.com>
12294
12295         * gst/gstplugin.c: Add MPL and Proprietary as license options
12296
12297 2006-01-18  Andy Wingo  <wingo@pobox.com>
12298
12299         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
12300         symbol was exported before, it appears this was just an oversight.
12301         Fixes #168703.
12302         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
12303
12304         * gst/gstindex.c (gst_index_add_associationv): Changed int in
12305         prototype to gint. OK since this prototype was not in the header.
12306
12307 2006-01-17  Andy Wingo  <wingo@pobox.com>
12308
12309         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
12310         registry while we remove plugins.
12311
12312         * tools/gst-inspect.c (print_element_info): Don't unref the
12313         factory arg, that should be the responsibility of whatever code
12314         received the ref. Fixes a double-free when called from
12315         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
12316         (main): Unref the factory if we have one.
12317         (print_element_list): No change -- relies on the
12318         plugin_feature_list_free to free the list of features.
12319
12320 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
12321
12322         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12323         (gst_buffer_make_metadata_writable):
12324         * gst/gstbuffer.h:
12325         * libs/gst/base/gstbasetransform.c:
12326         (gst_base_transform_prepare_output_buf):
12327         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12328         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12329           Replace gst_buffer_(make|is)_metadata_writable patch now
12330           that the release is out.
12331
12332 2006-01-17  Andy Wingo  <wingo@pobox.com>
12333
12334         * gst/gstregistry.c: Reflow design comment. Update so as to speak
12335         in the present tense without reference to versions.
12336
12337         * gst/gstregistry.c (gst_registry_add_plugin)
12338         (gst_registry_remove_plugin, gst_registry_remove_feature)
12339         (gst_registry_find_feature, gst_registry_get_feature_list)
12340         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
12341         (gst_registry_lookup, gst_registry_scan_path)
12342         (_gst_registry_remove_cache_plugins)
12343         (gst_registry_get_feature_list_by_plugin): Add argument
12344         validation.
12345
12346 === release 0.10.2 ===
12347
12348 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
12349
12350         * configure.ac:
12351           releasing 0.10.2, "If man is five"
12352
12353 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12354
12355         * gst/gstbuffer.c:
12356         * gst/gstbuffer.h:
12357         * libs/gst/base/gstbasetransform.c:
12358         (gst_base_transform_prepare_output_buf):
12359         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12360         * tests/check/gst/gstbuffer.c: (gst_test_suite):
12361           Back out patch until after the release.
12362
12363 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12364
12365         * gst/gstminiobject.c:
12366           Spelling fix in docs.
12367         * ChangeLog - remove conflict indicator
12368
12369 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12370
12371         Reviewed By: Andy Wingo
12372
12373         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12374         (gst_buffer_make_metadata_writable):
12375         * gst/gstbuffer.h:
12376           Add gst_buffer_(is|make)_metadata_writable as analogues of
12377           gst_buffer_(is|make)_writable.
12378
12379         * libs/gst/base/gstbasetransform.c:
12380         (gst_base_transform_prepare_output_buf):
12381         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12382           Use name gst_buffer_(is|make)_metadata_writable functions.
12383
12384         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12385           Test gst_buffer_(is|make)_metadata_writable
12386         
12387           (Closes: #324162)
12388
12389 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12390
12391         * docs/manual/Makefile.am:
12392           don't do parallel make
12393         * configure.ac:
12394           AC_SUBST HOST_CPU
12395         * win32/common/config.h.in:
12396           add generations for HOST_CPU and GST_MAJORMINOR
12397         * win32/common/config.h:
12398           commit generated result
12399
12400 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
12401
12402         * docs/manual/appendix-integration.xml:
12403           Update GNOME integration section to use gst_init_get_option_group()
12404           instead of the old popt stuff (#322911). Also, GNOME applications
12405           should  now use gconf*sink and gconf*src instead of the old gconf
12406           helper lib we had.
12407
12408 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
12409
12410
12411         * docs/gst/gstreamer-docs.sgml:
12412         * docs/gst/gstreamer-sections.txt:
12413         * docs/libs/gstreamer-libs-sections.txt:
12414           add new API entries to the docs
12415         * libs/gst/controller/Makefile.am:
12416         * libs/gst/controller/gstcontroller.c:
12417         * libs/gst/controller/gstcontroller.h:
12418         * libs/gst/controller/gstcontrollerprivate.h:
12419         * libs/gst/controller/gsthelper.c:
12420         * libs/gst/controller/gstinterpolation.c:
12421           move private structs to private header
12422         * po/README:
12423           gstreamer-0.7 -> gstreamer-0.10
12424         * tests/check/libs/struct_i386.h:
12425           remove private structs
12426
12427 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12428
12429         * plugins/indexers/Makefile.am:
12430           Fixes as part of #317048
12431
12432 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12433
12434         * plugins/indexers/Makefile.am:
12435           fix #316086 - compilation when mmap is missing
12436
12437 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
12438
12439         * libs/gst/base/gstbasesink.c:
12440           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
12441           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
12442         * win32/common/config.h:
12443           added some defines GST_MAJORMINOR and HOST_CPU
12444         * win32/common/libgstbase.def:
12445         * win32/common/libgstreamer.def:
12446           added some exported functions.
12447
12448 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12449
12450         * libs/gst/controller/gstcontroller.c:
12451         (gst_controlled_property_set_interpolation_mode),
12452         (gst_controlled_property_new):
12453         * libs/gst/controller/gstcontroller.h:
12454         * libs/gst/controller/gstinterpolation.c:
12455         (interpolate_none_get_string_value_array):
12456           make G_TYPE_STRING controlable
12457
12458 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12459
12460         * tools/README:
12461         * tools/gst-feedback.1.in:
12462         * tools/gst-inspect.1.in:
12463         * tools/gst-launch.1.in:
12464         * tools/gst-md5sum.1.in:
12465         * tools/gst-typefind.1.in:
12466         * tools/gst-xmlinspect.1.in:
12467         * tools/gst-xmllaunch.1.in:
12468           cleanup man-pages, remove reference to gst-register, document env-vars
12469
12470 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
12471
12472         * gst/gstbuffer.c: (gst_buffer_span):
12473           gst_buffer_span should copy the timestamp of the first buffer
12474           if they were both originally overlapping subbuffers of the 
12475           same parent, using the same logic as the 'slow copy' case.
12476
12477 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
12478
12479         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12480           Need to awaken ALL the pads when we pop a buffer, otherwise
12481           collectpads only works when there is 2 input streams.
12482
12483 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
12484
12485         * docs/random/ensonic/media-device-daemon.txt:
12486           more ideas (dbus)
12487         * gst/gstbuffer.c:
12488           fix doc example, add clarification
12489         * tools/gst-launch.1.in:
12490           add initial info about GST_PLUGIN_PATH, needs more work
12491
12492 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
12493
12494         * docs/manual/basics-bins.xml:
12495         * docs/manual/basics-elements.xml:
12496         * docs/manual/intro-basics.xml:
12497           Some more minor docs additions and updates.
12498
12499 2006-01-11  Wim Taymans  <wim@fluendo.com>
12500
12501         * docs/manual/basics-bins.xml:
12502         * docs/manual/basics-elements.xml:
12503         Some small fixes as pointed out by Ser-ver on IRC.
12504
12505 2006-01-10  Edward Hervey  <edward@fluendo.com>
12506
12507         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12508         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12509         the single-segment mode.
12510
12511 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12512
12513         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12514
12515         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12516         (gst_base_src_perform_seek), (gst_base_src_send_event),
12517         (gst_base_src_set_property), (gst_base_src_get_property),
12518         (gst_base_src_loop), (gst_base_src_start),
12519         (gst_base_src_activate_push):
12520         * libs/gst/base/gstbasesrc.h:
12521           Name (private) union; makes Sun's Forte compiler happy (#324900).
12522
12523 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12524
12525         * README:
12526           gst-register is gone.
12527
12528 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12529
12530         * gst/gstvalue.c: (_gst_value_initialize):
12531           make the G_TYPE_DATE instantiation work if debug is disabled
12532
12533 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12534
12535         * gst/gstmessage.c: (gst_message_parse_tag),
12536         (gst_message_parse_error), (gst_message_parse_warning):
12537           Don't crash when return location for error/warning debug
12538           string is NULL; add fact that return locations can be
12539           NULL to docs where appropriate.
12540
12541 2006-01-05  Wim Taymans  <wim@fluendo.com>
12542
12543         * gst/gstplugin.c: (gst_plugin_load_file):
12544         Replace strdup by g_strdup.
12545
12546 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12547
12548         * docs/pwg/advanced-types.xml:
12549           fix doc borkage
12550
12551 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         submitted by: Abel Cheung
12554
12555         * po/LINGUAS:
12556         * po/zh_TW.po:
12557           Added Chinese (traditional) translation
12558
12559 2006-01-04  Wim Taymans  <wim@fluendo.com>
12560
12561         * docs/manual/basics-pads.xml:
12562         * docs/plugins/Makefile.am:
12563         * docs/plugins/gstreamer-plugins-docs.sgml:
12564         * docs/plugins/gstreamer-plugins-sections.txt:
12565         * docs/pwg/advanced-clock.xml:
12566         * docs/pwg/advanced-scheduling.xml:
12567         * docs/pwg/advanced-types.xml:
12568         * plugins/elements/gstfdsink.c:
12569         * plugins/elements/gstfdsrc.c:
12570         * plugins/elements/gstfdsrc.h:
12571         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12572         * plugins/elements/gstidentity.h:
12573         * plugins/elements/gstqueue.h:
12574         * plugins/elements/gsttee.c:
12575         * plugins/elements/gsttee.h:
12576         * plugins/elements/gsttypefindelement.c:
12577         (gst_type_find_element_class_init):
12578         * plugins/elements/gsttypefindelement.h:
12579         Small updates to various docs.
12580         Added core plugins to docs.
12581
12582 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12583
12584         * common/gst.supp:
12585           add a suppression for liboil's uninitialized variable
12586
12587 2006-01-02  James Livingston  <jrl at ids dot org dot au>
12588
12589         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12590
12591         * gst/gstutils.h:
12592           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12593           macro, so that gcc doesn't complain if the -Wmissing-prototypes
12594           compiler switch is being used (#325429).
12595
12596 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
12597
12598         * gst/gstbin.c: (gst_bin_query):
12599           Disable duration query caching in bins until it gets
12600           fixed (see #324807).
12601
12602 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12603
12604         * tools/gst-inspect.c: (print_element_properties_info):
12605           Handle properties of POINTER and BOXED type.
12606
12607 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12608
12609         * gst/gst.c: (init_post):
12610           Init tags stuff and some other things before loading
12611           any static plugins (there may be other static plugins
12612           than just the GStreamer ones, and they may want to
12613           register their own tags or formats or whatever, and
12614           preferably without segfaulting).
12615
12616         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12617           Print at least a warning in the debug logs if we drop a
12618           query just because we don't know how to adjust the value
12619           in the particular format.
12620
12621 2005-12-24  David Schleef  <ds@schleef.org>
12622
12623         * tools/gstreamer-completion:
12624           Replacement for gst-complete written in sh and sed.  Only
12625           completes names of features, but that's 90% of what I want
12626           it for.  Properties are not available in registry.xml.  (Maybe
12627           they should be...)
12628
12629 === release 0.10.1 ===
12630
12631 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
12632
12633         * configure.ac:
12634           releasing 0.10.1, "Nollaig chridheil"
12635
12636 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
12637
12638         * docs/faq/cvs.xml:
12639           Add missing quote, should be make ERROR_CFLAGS="".
12640
12641 2005-12-20  Wim Taymans  <wim@fluendo.com>
12642
12643         * docs/design/part-trickmodes.txt:
12644         More documentation on trickmodes.
12645
12646 2005-12-20  Edward Hervey  <edward@fluendo.com>
12647
12648         * gst/gstcaps.c: (gst_static_caps_get_type):
12649         * gst/gstcaps.h:
12650           API addition: GST_TYPE_STATIC_CAPS
12651         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12652         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12653         * gst/gstpadtemplate.h:
12654           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12655         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12656         bindings.
12657
12658 2005-12-18  Wim Taymans  <wim@fluendo.com>
12659
12660         * libs/gst/base/gstadapter.c:
12661         * libs/gst/base/gstadapter.h:
12662         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12663         (gst_base_sink_get_position):
12664         * libs/gst/base/gstbasesink.h:
12665         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12666         (gst_base_src_default_query), (gst_base_src_default_do_seek),
12667         (gst_base_src_do_seek), (gst_base_src_perform_seek),
12668         (gst_base_src_send_event), (gst_base_src_update_length),
12669         (gst_base_src_get_range), (gst_base_src_loop),
12670         (gst_base_src_start):
12671         * libs/gst/base/gstbasesrc.h:
12672         * libs/gst/base/gstbasetransform.h:
12673         * libs/gst/base/gstcollectpads.h:
12674         * libs/gst/base/gstpushsrc.c:
12675         * libs/gst/base/gstpushsrc.h:
12676         * libs/gst/dataprotocol/dataprotocol.c:
12677         * libs/gst/dataprotocol/dataprotocol.h:
12678         * libs/gst/net/gstnetclientclock.h:
12679         * libs/gst/net/gstnettimeprovider.h:
12680         Documentation updates.
12681
12682 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
12683
12684         * docs/manual/basics-helloworld.xml:
12685           Remove superfluous closing bracket in helloworld example.
12686
12687 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
12688
12689         * tools/gst-launch.1.in:
12690           Update gst-launch man page; add a section with useful
12691           environment variables. Fixes #323882.
12692
12693 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
12694
12695         * gst/gst.c:
12696         * gst/gst_private.h:
12697           change some char* into char[]
12698
12699 2005-12-16  Wim Taymans  <wim@fluendo.com>
12700
12701         * gst/gstregistryxml.c: (load_feature):
12702         Cleanups.
12703         Don't use g_object_unref on GstObjects so that we avoid
12704         leaks on unsafe glibs.
12705
12706 2005-12-16  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/gstbin.c: (gst_bin_recalc_state):
12709         Small doc updates.
12710
12711 2005-12-16  Wim Taymans  <wim@fluendo.com>
12712
12713         * common/check.mak:
12714         Added make forever target for check.
12715
12716 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12717
12718         * gst/gst.c: (init_post):
12719           make the registry cache file HOST_CPU-dependent
12720
12721 2005-12-16  Andy Wingo  <wingo@pobox.com>
12722
12723         * plugins/elements/gstbufferstore.c
12724         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12725         return value.
12726
12727         * tests/check/gst/gstobject.c
12728         (test_fake_object_name_threaded_unique): Pay attention to
12729         g_list_sort return value.
12730
12731 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12732
12733         * tools/gst-feedback-m.m:
12734           Update for 0.9/0.10 (fixes #323870).
12735
12736 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12737
12738         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12739           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12740           
12741         * tests/check/gst/gstminiobject.c: (my_foo_init),
12742         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12743         (test_value_collection), (gst_mini_object_suite):
12744           Add test to ensure refcounts end up as expected when passing
12745           GstMiniObjects through g_object_get() and g_object_set().
12746
12747 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12748
12749         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12750         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12751         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12752         of collectpads. This version removes a lot of races without
12753         touching API/ABI. Yay !
12754
12755 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12756
12757         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12758           Don't allow activation of a srcpad in pull_range if it has no
12759           getrange function.
12760           Change some debug statements to be a little clearer
12761
12762         * plugins/elements/gsttypefindelement.c:
12763         (gst_type_find_handle_src_query):
12764           Check that we have a peer before executing queries thereupon.
12765
12766         * tests/examples/metadata/read-metadata.c: (message_loop):
12767           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12768           immediately return us any available message with 0 timeout.
12769
12770 2005-12-12  Michael Smith  <msmith@fluendo.com>
12771
12772         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12773           Don't unref factories after calling them.
12774         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12775         * plugins/elements/gsttypefindelement.c:
12776         (gst_type_find_element_chain):
12777           Free lists of factories after using them. Fixing typefinding memory
12778           leaks.
12779
12780 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12781
12782         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12783         (gst_plugin_feature_load):
12784           more meaningful debug output
12785         * configure.ac:
12786         * tests/Makefile.am:
12787         * tests/old/examples/Makefile.am:
12788           make make distcheck happy again
12789
12790 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12791
12792         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12793           Catch the special case where we are operating chain-based,
12794           but the downstream peer pad has no chain function. Emit a
12795           custom error message in this case instead of letting the
12796           core generate one implying that this is some sort of core
12797           bug. It's not, it just means that whatever got plugged
12798           into the pipeline downstream when we announced the type
12799           can only operate pull-based, while our source can only
12800           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12801           Error string has not been marked for translation yet, as
12802           it probably needs some more work first.
12803
12804         (gst_type_find_element_get_best_possibility):
12805           Add helper function to find the best of all available
12806           found possibilities that qualify given the min. threshold.
12807
12808         (gst_type_find_element_handle_event):
12809           Fix the case where we get an EOS while still in TYPEFIND
12810           mode (we want to chose the best of all possible types,
12811           not just the first type that happens to be in our unsorted
12812           list of possible types).
12813
12814         (gst_type_find_element_chain):
12815           Make sure we return GST_FLOW_ERROR when we errored out
12816           in stop_typefinding(); also, don't just find the best of
12817           all found type entries and then use the last examined
12818           type entry, but actually use the best entry.
12819
12820 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12821
12822         * tests/examples/typefind/typefind.c: (type_found):
12823         * tests/examples/xml/runxml.c: (xml_loaded):
12824           More gcc4 fixes and a mem leak fix.
12825
12826 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12827
12828         * tests/examples/xml/createxml.c: (object_saved):
12829           gcc 4 fixes
12830
12831 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12832
12833         * tests/Makefile.am:
12834           enable the examples even more
12835
12836 2005-12-12  Andy Wingo  <wingo@pobox.com>
12837
12838         * libs/gst/net/gstnettimeprovider.c
12839         (gst_net_time_provider_class_init, gst_net_time_provider_init)
12840         (gst_net_time_provider_set_property)
12841         (gst_net_time_provider_get_property):
12842         API addition: Export "active" as a GObject property.
12843         (gst_net_time_provider_thread): Only respond to time queries if
12844         the time provider is active.
12845
12846         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12847         NetTimeProvider, preserving binary compat.
12848
12849 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12850
12851         * tests/examples/controller/audio-example.c: (main):
12852         * tests/examples/launch/Makefile.am:
12853           convert comments again
12854
12855 2005-12-12  Wim Taymans  <wim@fluendo.com>
12856
12857         * libs/gst/base/gstpushsrc.c:
12858         Fix typo.
12859
12860 2005-12-12  Wim Taymans  <wim@fluendo.com>
12861
12862         * docs/libs/gstreamer-libs-sections.txt:
12863         Added new symbol to docs.
12864
12865         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12866         (gst_base_src_init), (gst_base_src_set_format),
12867         (gst_base_src_default_query), (gst_base_src_query),
12868         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12869         (gst_base_src_perform_seek), (gst_base_src_send_event),
12870         (gst_base_src_default_event), (gst_base_src_event_handler),
12871         (gst_base_src_set_property), (gst_base_src_get_property),
12872         (gst_base_src_wait), (gst_base_src_do_sync),
12873         (gst_base_src_update_length), (gst_base_src_get_range),
12874         (gst_base_src_check_get_range), (gst_base_src_loop),
12875         (gst_base_src_default_negotiate), (gst_base_src_start),
12876         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12877         (gst_base_src_change_state):
12878         * libs/gst/base/gstbasesrc.h:
12879         Implement seeking to other formats than _BYTES.
12880         Implement more seeking methods correctly.
12881         Doc updates.
12882         Added query vmethod.
12883         Added do_seek vmethod to make life easier for subclasses
12884         when seeking.
12885         API addition: gst_base_src_set_format()
12886
12887 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12888
12889         * tests/examples/Makefile.am:
12890           added that too
12891
12892 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12893
12894         * configure.ac:
12895         * docs/random/ensonic/media-device-daemon.txt:
12896         * tests/examples/controller/.cvsignore:
12897         * tests/examples/controller/Makefile.am:
12898         * tests/examples/controller/audio-example.c: (main):
12899         * tests/examples/helloworld/.cvsignore:
12900         * tests/examples/helloworld/Makefile.am:
12901         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12902         * tests/examples/launch/.cvsignore:
12903         * tests/examples/launch/Makefile.am:
12904         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12905         * tests/examples/metadata/.cvsignore:
12906         * tests/examples/metadata/Makefile.am:
12907         * tests/examples/metadata/read-metadata.c: (message_loop),
12908         (make_pipeline), (print_tag), (main):
12909         * tests/examples/queue/.cvsignore:
12910         * tests/examples/queue/Makefile.am:
12911         * tests/examples/queue/queue.c: (event_loop), (main):
12912         * tests/examples/typefind/.cvsignore:
12913         * tests/examples/typefind/Makefile.am:
12914         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12915         (main):
12916         * tests/examples/xml/.cvsignore:
12917         * tests/examples/xml/Makefile.am:
12918         * tests/examples/xml/createxml.c: (object_saved), (main):
12919         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12920         * tests/old/examples/Makefile.am:
12921         * tests/old/examples/TODO:
12922         * tests/old/examples/controller/.cvsignore:
12923         * tests/old/examples/controller/Makefile.am:
12924         * tests/old/examples/controller/audio-example.c:
12925         * tests/old/examples/helloworld/.cvsignore:
12926         * tests/old/examples/helloworld/Makefile.am:
12927         * tests/old/examples/helloworld/helloworld.c:
12928         * tests/old/examples/launch/.cvsignore:
12929         * tests/old/examples/launch/Makefile.am:
12930         * tests/old/examples/launch/mp3parselaunch.c:
12931         * tests/old/examples/launch/mp3play:
12932         * tests/old/examples/manual/Makefile.am:
12933         * tests/old/examples/metadata/Makefile.am:
12934         * tests/old/examples/metadata/read-metadata.c:
12935         * tests/old/examples/queue/.cvsignore:
12936         * tests/old/examples/queue/Makefile.am:
12937         * tests/old/examples/queue/queue.c:
12938         * tests/old/examples/typefind/.cvsignore:
12939         * tests/old/examples/typefind/Makefile.am:
12940         * tests/old/examples/typefind/typefind.c:
12941         * tests/old/examples/xml/.cvsignore:
12942         * tests/old/examples/xml/Makefile.am:
12943         * tests/old/examples/xml/createxml.c:
12944         * tests/old/examples/xml/runxml.c:
12945           applied some simple fixing to some examples
12946           re-enabled the working examples
12947
12948 2005-12-12  Wim Taymans  <wim@fluendo.com>
12949
12950         * gst/gstsegment.c: (gst_segment_init),
12951         (gst_segment_set_last_stop), (gst_segment_set_seek),
12952         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12953         (gst_segment_to_running_time):
12954         Added more documentation.
12955         Make sure the last_pos value is updated properly.
12956         Make sure to_stream_time and to_running_time don't
12957         operate on wrong values.
12958
12959         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12960         Update check.
12961
12962 2005-12-12  Michael Smith  <msmith@fluendo.com>
12963
12964         * plugins/elements/gsttypefindelement.c: (free_entry),
12965         (gst_type_find_element_chain):
12966           Now that we're not leaking factories, make sure we keep references
12967           to them while we need them.
12968
12969 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12970
12971         * tests/check/gst/struct_i386.h:
12972           ifdef out the XML structs
12973
12974 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12975
12976         * gst/gstvalue.c: (gst_value_transform_double_fraction):
12977           floor is not needed, F is always positive; this obviates the
12978           need for adding -lm when building without libxml
12979
12980 2005-12-12  Wim Taymans  <wim@fluendo.com>
12981
12982         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12983         Take current playback rate into account when reporting
12984         the position.
12985
12986 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12987
12988         * docs/manual/mime-world.fig:
12989           Let's try this again, this time with a file that is
12990           actually in XFig format.
12991
12992 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12993
12994         * docs/manual/mime-world.fig:
12995           Add audioconvert element to diagram so that it
12996           matches the text and the code (fixes #319526).
12997
12998 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12999
13000         * docs/pwg/building-chainfn.xml:
13001         * docs/pwg/building-pads.xml:
13002         * docs/pwg/building-state.xml:
13003         * docs/pwg/other-source.xml:
13004           Update state change stuff for 0.10 (fixes #322969).
13005
13006 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13007
13008         * docs/manual/advanced-dataaccess.xml:
13009         * docs/manual/appendix-checklist.xml:
13010         * docs/manual/appendix-programs.xml:
13011         * docs/manual/basics-pads.xml:
13012         * docs/manual/highlevel-components.xml:
13013         * docs/manual/manual.xml:
13014           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
13015           add converters in front of pipelines; remove curly
13016           brackets for threads stuff, they no longer exist; use
13017           GST_TYPE_FRACTION for framerates; update some pieces of
13018           code to 0.10, but there's plenty more to do.
13019
13020         * docs/manual/appendix-porting.xml:
13021           Expand on asynchroneous state changes; s/0.9/0.10/;
13022           mention disappearance of gst_init_get_popt_table()
13023           (fixes #322916).
13024
13025 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13026
13027         * docs/faq/using.xml:
13028           Spider no longer exists, and neither does gst-launch-ext.
13029           Update examples to use decodebin and playbin and put
13030           converters in front of sinks (fixes #323726).
13031
13032 2005-12-09  Michael Smith  <msmith@fluendo.com>
13033
13034         * plugins/elements/gsttypefindelement.c: (find_peek),
13035         (gst_type_find_element_chain):
13036           Fix leaking element factories in typefinding.
13037           Fix problem where we forgot about a probable type on non-seekable
13038           files, and thus later mis-typefound it.
13039
13040 2005-12-09  Michael Smith  <msmith@fluendo.com>
13041
13042         * common/m4/gst-makecontext.m4:
13043         * common/m4/gst-mcsc.m4:
13044         * configure.ac:
13045         * win32/common/config.h:
13046         * win32/common/config.h.in:
13047           Remove makecontext stuff; not used in 0.10 and causes problems on
13048           HPUX according to bug #322441
13049
13050 2005-12-07  Wim Taymans  <wim@fluendo.com>
13051
13052         * tests/check/Makefile.am:
13053         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
13054         (main):
13055         * tests/check/libs/struct_i386.h:
13056         Added ABI check for libs
13057
13058 2005-12-07  Wim Taymans  <wim@fluendo.com>
13059
13060         * tests/check/Makefile.am:
13061         And add the struct_i386.h to dist.
13062
13063 2005-12-07  Wim Taymans  <wim@fluendo.com>
13064
13065         * tests/check/Makefile.am:
13066         * tests/check/gst/.cvsignore:
13067         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
13068         (main):
13069         * tests/check/gst/struct_i386.h:
13070         Added check for ABI compatibility.
13071
13072 2005-12-07  Wim Taymans  <wim@fluendo.com>
13073
13074         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13075         (gst_fake_src_get_times), (gst_fake_src_create):
13076         Fix broken sync option, fixes #323259
13077
13078 2005-12-07  Wim Taymans  <wim@fluendo.com>
13079
13080         * gst/gstbuffer.c:
13081         Small docs update.
13082
13083         * gst/gstcaps.c: (gst_caps_is_equal):
13084         Don't assert on NULL <--> X. Fixes #323260
13085
13086         * gst/gstminiobject.c: (gst_mini_object_replace):
13087         If we're doing atomic operations, we might just as well use
13088         the proper way to get an atomic pointer.
13089
13090         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13091         Clean up debugging.
13092
13093 2005-12-07  Michael Smith  <msmith@fluendo.com>
13094
13095         * gst/parse/grammar.y:
13096           Remove handling of { } for threads.
13097
13098 2005-12-06  David Schleef  <ds@schleef.org>
13099
13100         * libs/gst/base/gstbasetransform.c: speling fix.
13101
13102 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13103
13104         * docs/libs/tmpl/gstdataprotocol.sgml:
13105         * docs/random/omega/testing/gstobject.c:
13106         * gst/gst.c:
13107         * gst/gstclock.c:
13108         * gst/gstelement.c:
13109         * gst/gstelementfactory.c:
13110         * gst/gsterror.c:
13111         * gst/gstevent.c:
13112         * gst/gstghostpad.c:
13113         * gst/gstinfo.c:
13114         * gst/gstpadtemplate.c:
13115         * gst/gstregistryxml.c:
13116         * gst/gsttaglist.c:
13117         * gst/gsttagsetter.c:
13118         * gst/gsttypefind.c:
13119         * gst/gstvalue.c:
13120         * libs/gst/base/gstbasesrc.c:
13121         * libs/gst/net/gstnetclientclock.c:
13122         * libs/gst/net/gstnettimeprovider.c:
13123         * plugins/elements/gstfakesrc.c:
13124         * plugins/elements/gstfdsrc.c:
13125         * plugins/elements/gstfilesrc.c:
13126         * plugins/elements/gstidentity.c:
13127         * plugins/elements/gstqueue.c:
13128         * plugins/elements/gsttypefindelement.c:
13129         * plugins/indexers/gstfileindex.c:
13130         * plugins/indexers/gstmemindex.c:
13131         * tests/check/gst/gsttag.c:
13132         * tests/old/examples/cutter/cutter.c:
13133         * tests/old/examples/mixer/mixer.c:
13134         * tests/old/examples/xml/runxml.c: (main):
13135         * tests/old/testsuite/caps/normalisation.c:
13136         * tests/old/testsuite/debug/global.c:
13137         * tests/old/testsuite/parse/parse1.c:
13138         * tools/gst-xmlinspect.c:
13139         * win32/common/dirent.c:
13140           expand tabs
13141
13142 === release 0.10.0 ===
13143
13144 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13145
13146         * configure.ac:
13147           releasing 0.10.0, "Maroilles"
13148
13149 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13150
13151         submitted by: Funda Wang <fundawang@linux.net.cn>
13152
13153         * po/LINGUAS:
13154         * po/zh_CN.po:
13155           added Chinese (Traditional) translation
13156
13157 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13158
13159         * docs/gst/gstreamer-sections.txt:
13160         * docs/libs/tmpl/gstdataprotocol.sgml:
13161         * docs/random/thomasvs/TODO:
13162         * gst/gstutils.c:
13163         * gst/gstutils.h:
13164           fix docs
13165
13166 2005-12-05  Andy Wingo  <wingo@pobox.com>
13167
13168         patch by: Wim Taymans <wim@fluendo.com>
13169
13170         * libs/gst/base/gstbasetransform.c
13171         (gst_base_transform_prepare_output_buf)
13172         (gst_base_transform_buffer_alloc):
13173         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
13174         alloc_buffer_and_set_caps.
13175
13176         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
13177         set_caps on the source pad.
13178         (gst_pad_alloc_buffer_and_set_caps): New function, does what
13179         alloc_buffer used to do. Fixes #322874.
13180
13181         * docs/gst/gstreamer-sections.txt: 
13182         * docs/design/part-negotiation.txt: 
13183         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
13184         changes.
13185
13186 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13187
13188         patch by: Sebastien Moutte
13189
13190         * win32/MANIFEST:
13191         * win32/common/config.h.in:
13192         * win32/vs6/libgstcontroller.dsp:
13193           win32 build fixes
13194
13195 2005-12-05  Wim Taymans  <wim@fluendo.com>
13196
13197         * gst/gstcaps.c: (gst_caps_is_equal):
13198         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13199         (gst_fake_src_create):
13200         Back out previous code changes, leave doc updates, file bugs 
13201         instead. 
13202
13203 2005-12-05  Wim Taymans  <wim@fluendo.com>
13204
13205         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13206         (gst_fake_src_get_times), (gst_fake_src_create):
13207         * plugins/elements/gstfakesrc.h:
13208         Fix broken sync code.
13209
13210 2005-12-05  Wim Taymans  <wim@fluendo.com>
13211
13212         * gst/gstcaps.c: (gst_caps_is_equal):
13213         Comparing NULL against !NULL yields different caps, not a
13214         failure.
13215
13216 2005-12-05  Wim Taymans  <wim@fluendo.com>
13217
13218         * gst/gstpipeline.c:
13219         Fix small typo in docs.
13220
13221 2005-12-05  Andy Wingo  <wingo@pobox.com>
13222
13223         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
13224
13225         * gst/gst.c (init_post): remove hard-coded 0.9 location for
13226         registries/plugins with a MAJORMINOR one.
13227         (plugin_desc): Rename library from gstcoreleements to
13228         staticelements. Fixes #323222.
13229
13230 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
13231
13232         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
13233           Change debug category to 'collectpads' from 'collect_pads'
13234           (fixes #323250).
13235
13236 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13237
13238         patch by: Sebastien Moutte
13239
13240         * libs/gst/controller/gstinterpolation.c:
13241           use convert function for uint64/double
13242         * win32/vs6/libgstcontroller.dsp:
13243           link to GLib
13244
13245 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13246
13247         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
13248         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
13249         * gst/gstutils.h:
13250         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13251           add tests that seem to show that the guint64/gdouble conversions
13252           are correct.
13253
13254 2005-12-02  Wim Taymans  <wim@fluendo.com>
13255
13256         * gst/gstregistry.c: (gst_registry_add_path):
13257         * gst/gstregistry.h:
13258         * gst/gstregistryxml.c:
13259         Fix docs again.
13260
13261 2005-12-02  Wim Taymans  <wim@fluendo.com>
13262
13263         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13264         (gst_util_uint64_scale_int):
13265         Small cleanup.
13266
13267         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13268         Add debug log line.
13269
13270         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
13271         Add FIXME.
13272
13273 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13274
13275         * win32/MANIFEST:
13276         * win32/common/config.h:
13277         * win32/vs6/gstreamer.dsw:
13278         * win32/vs6/libgstcoreelements.dsp:
13279         * win32/vs6/libgstelements.dsp:
13280           renamed core elements plugin
13281
13282 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13283
13284         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
13285         (get_candidates):
13286           do piece-wise major/minor comparison so 0.9 < 0.10
13287           also allow .exe extensions for tools
13288
13289 2005-12-02  Michael Smith  <msmith@fluendo.com>
13290
13291         * gst/gst.c:
13292           Escape a % to make gtkdoc happier; bug 322958.
13293
13294 === release 0.9.7 ===
13295
13296 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13297
13298         * configure.ac:
13299           releasing 0.9.7, "My Dog Has No Nose"
13300
13301 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13302
13303         * common/gst-xmlinspect.py:
13304         * configure.ac:
13305         * docs/libs/tmpl/gstdataprotocol.sgml:
13306         * docs/random/release:
13307         * po/af.po:
13308         * po/az.po:
13309         * po/bg.po:
13310         * po/ca.po:
13311         * po/cs.po:
13312         * po/de.po:
13313         * po/en_GB.po:
13314         * po/fr.po:
13315         * po/it.po:
13316         * po/nb.po:
13317         * po/nl.po:
13318         * po/ru.po:
13319         * po/sq.po:
13320         * po/sr.po:
13321         * po/sv.po:
13322         * po/tr.po:
13323         * po/uk.po:
13324         * po/vi.po:
13325         * win32/common/config.h:
13326         * win32/common/config.h.in:
13327         * win32/vs6/gst_inspect.dsp:
13328         * win32/vs6/gst_launch.dsp:
13329         * win32/vs6/libgstbase.dsp:
13330         * win32/vs6/libgstelements.dsp:
13331         * win32/vs6/libgstreamer.dsp:
13332         * win32/vs7/GStreamer.vcproj:
13333         * win32/vs7/gst-inspect.vcproj:
13334         * win32/vs7/gst-launch.vcproj:
13335         * win32/vs7/libgstbase.vcproj:
13336           bump GST_MAJORMINOR to 0.10
13337           reset libtool version
13338
13339 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13340
13341         * po/LINGUAS:
13342         * po/bg.po:
13343           Added Bulgarian translation by (Alexander Shopov)
13344
13345 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13346
13347         * tests/check/gst/gstplugin.c:
13348           fix test
13349
13350 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13351
13352         * common/gst-xmlinspect.py:
13353         * common/gtk-doc-plugins.mak:
13354         * configure.ac:
13355         * docs/Makefile.am:
13356         * docs/gst/Makefile.am:
13357         * docs/gst/gstreamer-docs.sgml:
13358         * docs/gst/gstreamer-sections.txt:
13359         * docs/gst/gstreamer.types:
13360         * docs/gst/gstreamer.types.in:
13361         * docs/plugins/Makefile.am:
13362         * docs/plugins/gstreamer-plugins-docs.sgml:
13363         * docs/plugins/gstreamer-plugins-sections.txt:
13364         * docs/plugins/gstreamer-plugins.types:
13365         * docs/plugins/inspect.stamp:
13366         * docs/plugins/inspect/plugin-coreelements.xml:
13367         * docs/plugins/inspect/plugin-coreindexers.xml:
13368         * docs/plugins/scanobj-build.stamp:
13369         * gstreamer.spec.in:
13370         * plugins/elements/Makefile.am:
13371         * plugins/elements/gstelements.c:
13372         * plugins/elements/gstfakesink.c:
13373         * plugins/elements/gstfakesrc.c:
13374         * plugins/elements/gstfilesink.c:
13375         * plugins/elements/gstfilesrc.c:
13376         * plugins/elements/gstqueue.c:
13377         * plugins/indexers/Makefile.am:
13378         * plugins/indexers/gstindexers.c:
13379           document core plugins in a separate document just like all the
13380           others
13381           rename these plugins to something starting with core
13382
13383 2005-12-01  Andy Wingo  <wingo@pobox.com>
13384
13385         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
13386         padding here before, but it missed the commit.
13387
13388 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * libs/gst/controller/gstinterpolation.c:
13391           whitespace prices have crashed, we should feel free to use some now
13392           use gst_guint64_to_gdouble
13393
13394 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13395
13396         * libs/gst/controller/gstcontroller.c:
13397         * libs/gst/controller/gsthelper.c:
13398         * libs/gst/controller/gstinterpolation.c:
13399         * libs/gst/controller/lib.c:
13400           wrap config.h include
13401
13402 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13403
13404         * docs/gst/gstreamer-sections.txt:
13405           update docs
13406
13407 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13408
13409         * plugins/elements/gstelements.c:
13410         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
13411         (gst_fd_sink__class_init), (gst_fd_sink__init),
13412         (gst_fd_sink__chain), (gst_fd_sink__set_property),
13413         (gst_fd_sink__get_property):
13414         * plugins/elements/gstfdsink.h:
13415         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
13416         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
13417         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
13418         (gst_fd_src_unlock), (gst_fd_src_set_property),
13419         (gst_fd_src_get_property), (gst_fd_src_create),
13420         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
13421         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
13422         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
13423         (gst_fd_src_uri_handler_init):
13424         * plugins/elements/gstfdsrc.h:
13425         * plugins/elements/gstqueue.c: (gst_queue_get_type):
13426           more anal cleanup
13427
13428 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13429
13430         * docs/gst/Makefile.am:
13431         * docs/gst/gstreamer.types.in:
13432         * gst/Makefile.am:
13433           fix the docs build
13434
13435 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13436
13437         * configure.ac:
13438         * gst/Makefile.am:
13439         * gst/gst.c:
13440         * gst/gstplugin.h:
13441         * gst/gstregistry.h:
13442         * tests/benchmarks/complexity.c:
13443         * tests/benchmarks/mass-elements.c:
13444         * tests/check/Makefile.am:
13445         * tools/Makefile.am:
13446         * tools/gst-inspect.c:
13447         * tools/gst-xmlinspect.c:
13448           various fixes to make
13449           --disable-nls --disable-registry --disable-loadsave
13450           --disable-parse --disable-gst-debug
13451           work and get the core .so down to 360444 bytes after stripping
13452
13453 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * Makefile.am:
13456         * configure.ac:
13457           descend into tests
13458         * docs/random/thomasvs/TODO:
13459         * tests/Makefile.am:
13460         * tests/README:
13461           add a README
13462
13463 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13464
13465         * win32/GStreamer.vcproj:
13466         * win32/MANIFEST:
13467         * win32/Makefile:
13468         * win32/Makefile.inspect:
13469         * win32/Makefile.launch:
13470         * win32/Makefile.register:
13471         * win32/README.txt:
13472         * win32/gst-inspect.vcproj:
13473         * win32/gst-launch.vcproj:
13474         * win32/gst-register.vcproj:
13475         * win32/gstelements.vcproj:
13476         * win32/gstgetbits.def:
13477         * win32/gstgetbits.vcproj:
13478         * win32/gstreamer-dbg.def:
13479         * win32/gstreamer.def:
13480         * win32/libgstbase.def:
13481         * win32/libgstbase.vcproj:
13482         * win32/link_oldruntime.c:
13483         * win32/mman.c:
13484         * win32/mman.h:
13485         * win32/mman.inl:
13486         * win32/msvc71.sln:
13487           move even more stuff, win32/ is nice and clean now
13488
13489 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13490
13491         * libs/gst/control/.cvsignore:
13492         * win32/MANIFEST:
13493         * win32/config.h:
13494         * win32/dirent.c:
13495         * win32/dirent.h:
13496         * win32/gstbytestream.def:
13497         * win32/gstbytestream.vcproj:
13498         * win32/gstconfig.h:
13499         * win32/gstenumtypes.c:
13500         * win32/gstenumtypes.h:
13501         * win32/gstoptimalscheduler.vcproj:
13502         * win32/gstversion.h:
13503         * win32/gtchar.h:
13504         * win32/testsuite/bins.vcproj:
13505         * win32/testsuite/bytestream.vcproj:
13506         * win32/testsuite/caps.vcproj:
13507         * win32/testsuite/cleanup.vcproj:
13508         * win32/testsuite/clock.vcproj:
13509         * win32/testsuite/debug.vcproj:
13510         * win32/testsuite/dlopen.vcproj:
13511         * win32/testsuite/dynparams.vcproj:
13512         * win32/testsuite/elements.vcproj:
13513         * win32/testsuite/ghostpads.vcproj:
13514         * win32/testsuite/indexers.vcproj:
13515         * win32/testsuite/negotiation.vcproj:
13516         * win32/testsuite/parse.vcproj:
13517         * win32/testsuite/plugin.vcproj:
13518         * win32/testsuite/refcounting.vcproj:
13519         * win32/testsuite/schedulers.vcproj:
13520         * win32/testsuite/states.vcproj:
13521         * win32/testsuite/tags.vcproj:
13522         * win32/testsuite/threads.vcproj:
13523           remove old win32 stuff that isn't maintained and should be
13524           reorganized
13525
13526 2005-11-30  Andy Wingo  <wingo@pobox.com>
13527
13528         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13529         loading the gst.interfaces python module bork.
13530
13531         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13532         available since GLib 2.2. Fixes #318031.
13533
13534 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13535
13536         * Makefile.am:
13537         * check/.cvsignore:
13538         * check/Makefile.am:
13539         * check/elements/.cvsignore:
13540         * check/elements/fakesrc.c:
13541         * check/elements/fdsrc.c:
13542         * check/elements/identity.c:
13543         * check/generic/.cvsignore:
13544         * check/generic/states.c:
13545         * check/gst-libs/.cvsignore:
13546         * check/gst-libs/controller.c:
13547         * check/gst-libs/gdp.c:
13548         * check/gst/.cvsignore:
13549         * check/gst/capslist.h:
13550         * check/gst/gst.c:
13551         * check/gst/gstbin.c:
13552         * check/gst/gstbuffer.c:
13553         * check/gst/gstbus.c:
13554         * check/gst/gstcaps.c:
13555         * check/gst/gstelement.c:
13556         * check/gst/gstevent.c:
13557         * check/gst/gstghostpad.c:
13558         * check/gst/gstiterator.c:
13559         * check/gst/gstmessage.c:
13560         * check/gst/gstminiobject.c:
13561         * check/gst/gstobject.c:
13562         * check/gst/gstpad.c:
13563         * check/gst/gstpipeline.c:
13564         * check/gst/gstplugin.c:
13565         * check/gst/gstsegment.c:
13566         * check/gst/gststructure.c:
13567         * check/gst/gstsystemclock.c:
13568         * check/gst/gsttag.c:
13569         * check/gst/gstutils.c:
13570         * check/gst/gstvalue.c:
13571         * check/net/.cvsignore:
13572         * check/net/gstnetclientclock.c:
13573         * check/net/gstnettimeprovider.c:
13574         * check/pipelines/.cvsignore:
13575         * check/pipelines/cleanup.c:
13576         * check/pipelines/simple_launch_lines.c:
13577         * check/pipelines/stress.c:
13578         * check/states/.cvsignore:
13579         * check/states/sinks.c:
13580         * configure.ac:
13581         * examples/Makefile.am:
13582         * examples/appreader/.cvsignore:
13583         * examples/appreader/Makefile.am:
13584         * examples/appreader/appreader.c:
13585         * examples/controller/.cvsignore:
13586         * examples/controller/Makefile.am:
13587         * examples/controller/audio-example.c:
13588         * examples/cutter/.cvsignore:
13589         * examples/cutter/Makefile.am:
13590         * examples/cutter/cutter.c:
13591         * examples/cutter/cutter.h:
13592         * examples/events/Makefile.am:
13593         * examples/events/seek.c:
13594         * examples/helloworld/.cvsignore:
13595         * examples/helloworld/Makefile.am:
13596         * examples/helloworld/helloworld.c:
13597         * examples/helloworld2/.cvsignore:
13598         * examples/helloworld2/Makefile.am:
13599         * examples/helloworld2/helloworld2.c:
13600         * examples/launch/.cvsignore:
13601         * examples/launch/Makefile.am:
13602         * examples/launch/mp3parselaunch.c:
13603         * examples/launch/mp3play:
13604         * examples/manual/.cvsignore:
13605         * examples/manual/Makefile.am:
13606         * examples/manual/extract.pl:
13607         * examples/metadata/Makefile.am:
13608         * examples/metadata/read-metadata.c:
13609         * examples/mixer/.cvsignore:
13610         * examples/mixer/Makefile.am:
13611         * examples/mixer/mixer.c:
13612         * examples/mixer/mixer.h:
13613         * examples/pingpong/.cvsignore:
13614         * examples/pingpong/Makefile.am:
13615         * examples/pingpong/pingpong.c:
13616         * examples/plugins/.cvsignore:
13617         * examples/plugins/Makefile.am:
13618         * examples/plugins/example.c:
13619         * examples/plugins/example.h:
13620         * examples/pwg/.cvsignore:
13621         * examples/pwg/Makefile.am:
13622         * examples/pwg/extract.pl:
13623         * examples/queue/.cvsignore:
13624         * examples/queue/Makefile.am:
13625         * examples/queue/queue.c:
13626         * examples/queue2/.cvsignore:
13627         * examples/queue2/Makefile.am:
13628         * examples/queue2/queue2.c:
13629         * examples/queue3/.cvsignore:
13630         * examples/queue3/Makefile.am:
13631         * examples/queue3/queue3.c:
13632         * examples/queue4/.cvsignore:
13633         * examples/queue4/Makefile.am:
13634         * examples/queue4/queue4.c:
13635         * examples/retag/.cvsignore:
13636         * examples/retag/Makefile.am:
13637         * examples/retag/retag.c:
13638         * examples/retag/transcode.c:
13639         * examples/thread/.cvsignore:
13640         * examples/thread/Makefile.am:
13641         * examples/thread/thread.c:
13642         * examples/typefind/.cvsignore:
13643         * examples/typefind/Makefile.am:
13644         * examples/typefind/typefind.c:
13645         * examples/xml/.cvsignore:
13646         * examples/xml/Makefile.am:
13647         * examples/xml/createxml.c:
13648         * examples/xml/runxml.c:
13649         * tests/Makefile.am:
13650         * tests/check/Makefile.am:
13651         * testsuite/.cvsignore:
13652         * testsuite/Makefile.am:
13653         * testsuite/Rules:
13654         * testsuite/caps/.cvsignore:
13655         * testsuite/caps/Makefile.am:
13656         * testsuite/caps/app_fixate.c:
13657         * testsuite/caps/audioscale.c:
13658         * testsuite/caps/caps.c:
13659         * testsuite/caps/caps.h:
13660         * testsuite/caps/caps_strings:
13661         * testsuite/caps/compatibility.c:
13662         * testsuite/caps/deserialize.c:
13663         * testsuite/caps/enumcaps.c:
13664         * testsuite/caps/eratosthenes.c:
13665         * testsuite/caps/filtercaps.c:
13666         * testsuite/caps/fixed.c:
13667         * testsuite/caps/fraction-convert.c:
13668         * testsuite/caps/fraction-multiply-and-zero.c:
13669         * testsuite/caps/intersect2.c:
13670         * testsuite/caps/intersection.c:
13671         * testsuite/caps/normalisation.c:
13672         * testsuite/caps/random.c:
13673         * testsuite/caps/renegotiate.c:
13674         * testsuite/caps/sets.c:
13675         * testsuite/caps/simplify.c:
13676         * testsuite/caps/string-conversions.c:
13677         * testsuite/caps/structure.c:
13678         * testsuite/caps/subtract.c:
13679         * testsuite/caps/union.c:
13680         * testsuite/debug/.cvsignore:
13681         * testsuite/debug/Makefile.am:
13682         * testsuite/debug/category.c:
13683         * testsuite/debug/commandline.c:
13684         * testsuite/debug/global.c:
13685         * testsuite/debug/output.c:
13686         * testsuite/debug/printf_extension.c:
13687         * testsuite/dlopen/.cvsignore:
13688         * testsuite/dlopen/Makefile.am:
13689         * testsuite/dlopen/dlopen_gst.c:
13690         * testsuite/dlopen/loadgst.c:
13691         * testsuite/elements/.cvsignore:
13692         * testsuite/elements/Makefile.am:
13693         * testsuite/elements/gst-inspect-check.in:
13694         * testsuite/elements/struct_i386.h:
13695         * testsuite/elements/struct_size.c:
13696         * testsuite/indexers/.cvsignore:
13697         * testsuite/indexers/Makefile.am:
13698         * testsuite/indexers/cache1.c:
13699         * testsuite/indexers/indexdump.c:
13700         * testsuite/parse/.cvsignore:
13701         * testsuite/parse/Makefile.am:
13702         * testsuite/parse/parse1.c:
13703         * testsuite/parse/parse2.c:
13704         * testsuite/plugin/.cvsignore:
13705         * testsuite/plugin/Makefile.am:
13706         * testsuite/plugin/README:
13707         * testsuite/plugin/dynamic.c:
13708         * testsuite/plugin/linked.c:
13709         * testsuite/plugin/loading.c:
13710         * testsuite/plugin/registry.c:
13711         * testsuite/plugin/static.c:
13712         * testsuite/plugin/static2.c:
13713         * testsuite/plugin/testplugin.c:
13714         * testsuite/plugin/testplugin2.c:
13715         * testsuite/plugin/testplugin2_s.c:
13716         * testsuite/plugin/testplugin_s.c:
13717         * testsuite/refcounting/.cvsignore:
13718         * testsuite/refcounting/Makefile.am:
13719         * testsuite/refcounting/bin.c:
13720         * testsuite/refcounting/element.c:
13721         * testsuite/refcounting/element_pad.c:
13722         * testsuite/refcounting/mainloop.c:
13723         * testsuite/refcounting/mem.c:
13724         * testsuite/refcounting/mem.h:
13725         * testsuite/refcounting/object.c:
13726         * testsuite/refcounting/pad.c:
13727         * testsuite/refcounting/sched.c:
13728         * testsuite/refcounting/thread.c:
13729         * testsuite/states/.cvsignore:
13730         * testsuite/states/Makefile.am:
13731         * testsuite/states/bin.c:
13732         * testsuite/states/locked.c:
13733         * testsuite/states/parent.c:
13734         * testsuite/threads/.cvsignore:
13735         * testsuite/threads/159566.c:
13736         * testsuite/threads/159852.c:
13737         * testsuite/threads/Makefile.am:
13738         * testsuite/threads/queue.c:
13739         * testsuite/threads/signals.c:
13740         * testsuite/threads/staticrec.c:
13741         * testsuite/threads/thread.c:
13742         * testsuite/threads/threadb.c:
13743         * testsuite/threads/threadc.c:
13744         * testsuite/threads/threadd.c:
13745         * testsuite/threads/threade.c:
13746         * testsuite/threads/threadf.c:
13747         * testsuite/threads/threadg.c:
13748         * testsuite/threads/threadh.c:
13749         * testsuite/threads/threadi.c:
13750           move all of these under tests
13751
13752 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13753
13754         * configure.ac:
13755         * tests/Makefile.am:
13756           fix distcheck
13757
13758 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13759
13760         * docs/gst/gstreamer-sections.txt:
13761         * tests/sched/.cvsignore:
13762         * tests/sched/Makefile.am:
13763         * tests/sched/cases/(fs-fs).xml:
13764         * tests/sched/cases/(fs-i-fs).xml:
13765         * tests/sched/cases/(fs-i-i-fs).xml:
13766         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13767         * tests/sched/dynamic-pipeline.c:
13768         * tests/sched/interrupt1.c:
13769         * tests/sched/interrupt2.c:
13770         * tests/sched/interrupt3.c:
13771         * tests/sched/runtestcases:
13772         * tests/sched/runxml.c:
13773         * tests/sched/sched-stress.c:
13774         * tests/sched/sort.c:
13775         * tests/sched/testcases:
13776         * tests/sched/testcases1.tc:
13777         * tests/seeking/.cvsignore:
13778         * tests/seeking/Makefile.am:
13779         * tests/seeking/seeking1.c:
13780         * tests/threadstate/.cvsignore:
13781         * tests/threadstate/Makefile.am:
13782         * tests/threadstate/test1.c:
13783         * tests/threadstate/test2.c:
13784         * tests/threadstate/threadstate1.c:
13785         * tests/threadstate/threadstate2.c:
13786         * tests/threadstate/threadstate3.c:
13787         * tests/threadstate/threadstate4.c:
13788         * tests/threadstate/threadstate5.c:
13789           remove obsolete tests
13790         * configure.ac:
13791         * tests/bench-complexity.scm:
13792         * tests/bench-mass_elements.scm:
13793         * tests/complexity.c:
13794         * tests/complexity.gnuplot:
13795         * tests/instantiate/.cvsignore:
13796         * tests/instantiate/Makefile.am:
13797         * tests/instantiate/caps.c:
13798         * tests/mass_elements.c:
13799         * tests/network-clock-utils.scm:
13800         * tests/network-clock.scm:
13801         * tests/plot-data:
13802         First pass at cleaning up tests/ dir before moving the rest
13803         Combined with CVS surgery
13804
13805 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13806
13807         * po/POTFILES.in:
13808           queue has moved, update
13809
13810 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13811
13812         * docs/gst/gstreamer-sections.txt:
13813           remove double entries from the docs
13814         * gst/gst_private.h:
13815         * gst/gstinfo.c: (_gst_debug_init):
13816           remove the THREAD debug category
13817         * gst/Makefile.am:
13818         * gst/gstqueue.c:
13819         * gst/gstqueue.h:
13820         * docs/gst/gstreamer.types:
13821         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13822         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13823           completely move queue and fix up debugging categories
13824
13825 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13826
13827         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13828           make initialization portable, using LL is not
13829
13830 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13831
13832         * win32/common/gstconfig.h:
13833           add large padding
13834
13835 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13836
13837         * win32/common/libgstreamer.def:
13838           rename symbols; sort base section
13839
13840 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13841
13842         * gst/gstclock.c: (do_linear_regression):
13843           remove crack non-portable handrolled DEBUG macro
13844
13845 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13846
13847         * docs/random/release:
13848           update notes
13849         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13850         (gst_object_flags_get_type), (register_gst_bin_flags),
13851         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13852         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13853         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13854         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13855         (gst_caps_flags_get_type), (register_gst_clock_return),
13856         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13857         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13858         (gst_clock_flags_get_type), (register_gst_state),
13859         (gst_state_get_type), (register_gst_state_change_return),
13860         (gst_state_change_return_get_type), (register_gst_state_change),
13861         (gst_state_change_get_type), (register_gst_element_flags),
13862         (gst_element_flags_get_type), (register_gst_core_error),
13863         (gst_core_error_get_type), (register_gst_library_error),
13864         (gst_library_error_get_type), (register_gst_resource_error),
13865         (gst_resource_error_get_type), (register_gst_stream_error),
13866         (gst_stream_error_get_type), (register_gst_event_type_flags),
13867         (gst_event_type_flags_get_type), (register_gst_event_type),
13868         (gst_event_type_get_type), (register_gst_seek_type),
13869         (gst_seek_type_get_type), (register_gst_seek_flags),
13870         (gst_seek_flags_get_type), (register_gst_format),
13871         (gst_format_get_type), (register_gst_index_certainty),
13872         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13873         (gst_index_entry_type_get_type),
13874         (register_gst_index_lookup_method),
13875         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13876         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13877         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13878         (gst_index_flags_get_type), (register_gst_debug_level),
13879         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13880         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13881         (gst_iterator_result_get_type), (register_gst_iterator_item),
13882         (gst_iterator_item_get_type), (register_gst_message_type),
13883         (gst_message_type_get_type), (register_gst_mini_object_flags),
13884         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13885         (gst_pad_link_return_get_type), (register_gst_flow_return),
13886         (gst_flow_return_get_type), (register_gst_activate_mode),
13887         (gst_activate_mode_get_type), (register_gst_pad_direction),
13888         (gst_pad_direction_get_type), (register_gst_pad_flags),
13889         (gst_pad_flags_get_type), (register_gst_pad_presence),
13890         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13891         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13892         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13893         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13894         (gst_plugin_flags_get_type), (register_gst_rank),
13895         (gst_rank_get_type), (register_gst_query_type),
13896         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13897         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13898         (gst_tag_flag_get_type), (register_gst_task_state),
13899         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13900         (gst_alloc_trace_flags_get_type),
13901         (register_gst_type_find_probability),
13902         (gst_type_find_probability_get_type), (register_gst_uri_type),
13903         (gst_uri_type_get_type), (register_gst_parse_error),
13904         (gst_parse_error_get_type):
13905         * win32/common/gstenumtypes.h:
13906         * win32/common/gstversion.h:
13907           update visual studio generated files
13908
13909 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13910
13911         * win32/vs6/libgstbase.dsp:
13912         * win32/vs6/libgstelements.dsp:
13913           update project files for new locations
13914
13915 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13916
13917         * Makefile.am:
13918           remove some files
13919         * README:
13920           reinstate and update
13921         * DEVEL:
13922         * REQUIREMENTS:
13923           removed
13924         * LICENSE:
13925         * docs/random/LICENSE:
13926           moved to random
13927
13928 2005-11-30  Edward Hervey  <edward@fluendo.com>
13929
13930         * gst/gsttypefind.c: (gst_type_find_register):
13931         * gst/gsttypefind.h:
13932         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13933         (gst_type_find_factory_dispose):
13934         * gst/gsttypefindfactory.h:
13935         Fix memory leak in GstTypeFindFactory.
13936
13937 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13938
13939         * gst/gst.c:
13940         * plugins/elements/Makefile.am:
13941         * plugins/elements/gstelements.c:
13942         * plugins/elements/gstqueue.c:
13943           move queue from core to the elements plugin
13944
13945 2005-11-29  Andy Wingo  <wingo@pobox.com>
13946
13947         * libs/gst/base/gstbasetransform.h: 
13948         * libs/gst/base/gstbasesrc.h: 
13949         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13950
13951         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13952         of pointers by which to pad very extensible base classes (like the
13953         ones in libs/gst/base).
13954
13955 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13956
13957         * docs/gst/gstreamer-docs.sgml:
13958         * docs/gst/gstreamer-sections.txt:
13959         * docs/libs/gstreamer-libs-docs.sgml:
13960         * docs/libs/gstreamer-libs-sections.txt:
13961           moving documentation from core to lib
13962
13963 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13964
13965         * check/Makefile.am:
13966         * configure.ac:
13967         * docs/gst/Makefile.am:
13968         * gst/Makefile.am:
13969         * gst/base/.cvsignore:
13970         * gst/base/Makefile.am:
13971         * gst/base/README:
13972         * gst/base/gstadapter.c:
13973         * gst/base/gstadapter.h:
13974         * gst/base/gstbasesink.c:
13975         * gst/base/gstbasesink.h:
13976         * gst/base/gstbasesrc.c:
13977         * gst/base/gstbasesrc.h:
13978         * gst/base/gstbasetransform.c:
13979         * gst/base/gstbasetransform.h:
13980         * gst/base/gstcollectpads.c:
13981         * gst/base/gstcollectpads.h:
13982         * gst/base/gstpushsrc.c:
13983         * gst/base/gstpushsrc.h:
13984         * gst/base/gsttypefindhelper.c:
13985         * gst/base/gsttypefindhelper.h:
13986         * gst/check/Makefile.am:
13987         * gst/check/gstcheck.c:
13988         * gst/check/gstcheck.h:
13989         * gst/net/Makefile.am:
13990         * gst/net/gstnet.h:
13991         * gst/net/gstnetclientclock.c:
13992         * gst/net/gstnetclientclock.h:
13993         * gst/net/gstnettimepacket.c:
13994         * gst/net/gstnettimepacket.h:
13995         * gst/net/gstnettimeprovider.c:
13996         * gst/net/gstnettimeprovider.h:
13997         * libs/gst/Makefile.am:
13998         * libs/gst/base/Makefile.am:
13999         * libs/gst/base/gstbasetransform.c:
14000         * libs/gst/check/Makefile.am:
14001         * plugins/elements/Makefile.am:
14002         * po/POTFILES.in:
14003           CVS surgery + support to move base, check, and net out of gst
14004           and into libs/gst
14005
14006 2005-11-29  Andy Wingo  <wingo@pobox.com>
14007
14008         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
14009
14010         * gst/gststructure.h (struct _GstStructure): Only one pointer of
14011         padding.
14012
14013         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
14014
14015         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
14016
14017         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
14018
14019         * gst/gstobject.h: (struct _GstObject): Only one pointer of
14020         padding; reduces object size by about 30%. We don't expect
14021         anything else to go into gstobject.
14022
14023         * gst/gstminiobject.h (struct _GstMiniObject)
14024         (struct _GstMiniObjectClass): Only one pointer of padding; the
14025         payload is only a pointer and two ints anyway. For the class there
14026         are only two methods as well.
14027         
14028         * gst/gstelement.h (struct _GstElementClass): Removed
14029         the state_changed signal callback, it is not used.
14030
14031 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14032
14033         * docs/gst/gstreamer.types:
14034           fix includes, though they are a little dinky
14035
14036 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14037
14038         * check/Makefile.am:
14039           look in the right place for elements, a lot more chance of
14040           success
14041         * gst/Makefile.am:
14042           remove indexers and elements subdirs
14043         * plugins/Makefile.am:
14044           make indexers conditional
14045
14046 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14047
14048         * Makefile.am:
14049         * configure.ac:
14050         * plugins/elements/Makefile.am:
14051         * plugins/elements/gstcapsfilter.c:
14052         * plugins/elements/gstfilesink.c:
14053         * plugins/elements/gstfilesrc.c:
14054         * plugins/elements/gstidentity.c:
14055         * plugins/indexers/Makefile.am:
14056           do CVS surgery and related build fixery to move elements
14057           and indexers in a new gstreamer/plugins directory, out of the
14058           gst/ directory
14059
14060 2005-11-29  Andy Wingo  <wingo@pobox.com>
14061
14062         * check/Makefile.am:
14063         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14064         * pkgconfig/gstreamer-net.pc.in:
14065         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
14066         #322257.
14067
14068 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14069
14070         * tools/Makefile.am:
14071         * tools/gst-complete.1.in:
14072         * tools/gst-complete.c:
14073         * tools/gst-compprep.1.in:
14074         * tools/gst-compprep.c:
14075           removing -compprep and -complete
14076
14077 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * gst/gstevent.c: (gst_event_new_new_segment),
14080         (gst_event_parse_new_segment):
14081         * gst/gstevent.h:
14082           fix #320529 - clean up new_segment API and structure.
14083           Let's hope everyone was using the methods, and not the structure.
14084
14085 2005-11-29  Edward Hervey  <edward@fluendo.com>
14086
14087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14088         (gst_base_sink_event), (gst_base_sink_do_sync),
14089         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14090         Properly handle non GST_FORMAT_TIME segment
14091         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14092         Properly handle non GST_FORMAT_TIME segment
14093         * gst/gstsegment.c:
14094         This function is valid if the accumulator is 0 and the format
14095         is different from the requested format.
14096         
14097 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14098
14099         * docs/gst/gstreamer-sections.txt:
14100         Add gst_query_new_seeking and gst_query_parse_seeking to the
14101         docs.
14102
14103 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14104
14105         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14106           Treat a pad alloc with new caps the same as if we were not
14107           negotiated, in order to allow a changing upstream output
14108           to produce a new format of data.
14109
14110 2005-11-29  Edward Hervey  <edward@fluendo.com>
14111
14112         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14113         (gst_base_transform_event), (gst_base_transform_eventfunc):
14114         The event virtual method is now properly implemented, with a default
14115         handler
14116         Sub classes should call the parent_class event method. They should
14117         return FALSE if they had a problem handling the given event, or don't
14118         want GstBaseTransform to send that even downstream
14119         * gst/elements/gstidentity.c: (gst_identity_class_init),
14120         (gst_identity_init), (gst_identity_event),
14121         (gst_identity_transform_ip), (gst_identity_set_property),
14122         (gst_identity_get_property):
14123         * gst/elements/gstidentity.h:
14124         Added the single-segment boolean property.
14125         If set to TRUE, it will output a single segment of data, starting from
14126         0, will eat up all incoming newsegment, and modify the timestamp of the
14127         buffers accordingly
14128
14129 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
14130
14131         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
14132           Don't ref NULL target pad (#322751). Improve docs.
14133
14134 2005-11-29  Michael Smith  <msmith@fluendo.com>
14135
14136         * gst/gstregistryxml.c: (load_plugin):
14137           Don't crash if we failed to load a feature from a plugin. 
14138
14139 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14140
14141         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14142         (GST_START_TEST):
14143           use more check API and less GLib API
14144
14145 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14146
14147         * Makefile.am:
14148           don't run checks if we don't have check
14149         * common/check.mak:
14150           remove the registry when running make torture
14151         * docs/gst/gstreamer-sections.txt:
14152           remove second multiply
14153         * gst/gstqueue.c: (gst_queue_loop):
14154           fix a compile warning when disabling debug
14155
14156 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14157
14158         * gst/gstinfo.h:
14159         Hey! Let's print the pad name if the pointer != NULL instead
14160         of when it == NULL :-)
14161
14162 2005-11-28  Wim Taymans  <wim@fluendo.com>
14163
14164         * check/gst/gstutils.c: (GST_START_TEST):
14165         Updated check, add some scaling accuracy checking code.
14166
14167         * gst/gstutils.c: (gst_util_div128_64),
14168         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
14169         (gst_util_uint64_scale_int):
14170         Fix 6 times faster division code. Optimize for common 
14171         1/1 and less common X/1 cases.
14172
14173 2005-11-28  Wim Taymans  <wim@fluendo.com>
14174
14175         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14176         More checks.
14177
14178         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
14179         (do_linear_regression), (gst_clock_add_observation):
14180         Cleanups.
14181         Release lock when the clock cannot be slaved.
14182         Catch the case where the regression returned an invalid denominator.
14183
14184         * gst/gstutils.c: (gst_util_div128_64_iterate),
14185         (gst_util_div128_64), (gst_util_uint64_scale_int64),
14186         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14187         Add protentially more performant non-iterative 128/64 divide function
14188         that unfortunatly does not work yet.
14189         Shortcut the trivial 0/X = 0 case.
14190         Remove the warnings on overflow.
14191
14192 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14193
14194         * gst/gstplugin.c: (gst_plugin_register_func):
14195           everything causing a plugin not to load should be at least a WARNING
14196
14197 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
14198
14199         * docs/random/ensonic/dparams.txt:
14200           some TODOs for the next dev cycle
14201         * libs/gst/controller/gstcontroller.c:
14202         (gst_controlled_property_set_interpolation_mode),
14203         (gst_controlled_property_new):
14204         * libs/gst/controller/gstcontroller.h:
14205           use base type to assign acccessor functions
14206
14207 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14208
14209         * check/Makefile.am:
14210         Oops, that should have been top_srcdir
14211
14212 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14213
14214         * check/Makefile.am:
14215         * check/elements/fdsrc.c: (GST_START_TEST):
14216         Use a cmdline define to specify the location of a file to use for
14217         testing, to avoid breaking distcheck.
14218
14219 2005-11-28  Andy Wingo  <wingo@pobox.com>
14220
14221         * gst/gstpad.c (fixate_value): Use array functions for arrays.
14222
14223 2005-11-28  Edward Hervey  <edward@fluendo.com>
14224
14225         * tools/gst-launch.c: (main):
14226         Clarify the output strings, makes it easier to translate.
14227         Fixes #322626
14228
14229 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14230
14231         * gst/Makefile.am:
14232           don't try and build net if we don't even have <sys/socket.h>
14233
14234 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
14235
14236         * check/Makefile.am:
14237         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
14238         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
14239           Add tests for fdsrc seekability
14240
14241         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
14242         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
14243         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
14244         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
14245         * gst/elements/gstfdsrc.h:
14246           fdsrc should not be a 'live' source.
14247           Implement seeking on seekable fd's.
14248
14249         * gst/gstquery.c: (gst_query_new_seeking),
14250         (gst_query_parse_seeking):
14251         * gst/gstquery.h:
14252           Implement SEEKING query functions: 
14253             *_new_seeking and *_parse_seeking
14254
14255 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
14256
14257         * gst/gstelement.c: (gst_element_dispose):
14258           don't loop forever
14259
14260         * gst/gstiterator.c:
14261         * gst/gststructure.c:
14262           doc fixes
14263
14264         * libs/gst/controller/gstcontroller.c:
14265         (gst_controlled_property_set_interpolation_mode):
14266         * libs/gst/controller/gstcontroller.h:
14267         * libs/gst/controller/gstinterpolation.c:
14268         (interpolate_none_get_enum_value_array):
14269           support controlling enums
14270
14271 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14272
14273         * gst/gstvalue.c:
14274           Improve documentation for gst_value_union().
14275
14276         * gst/gstvalue.h:
14277           Change return value for union, intersect and subtract functions
14278           from gint to gboolean.
14279
14280 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14281
14282         * gst/gstvalue.c: (gst_value_serialize_any_list),
14283         (gst_value_transform_any_list_string),
14284         (gst_value_deserialize_list), (gst_value_deserialize_array),
14285         (gst_value_set_int_range), (gst_value_deserialize_int_range),
14286         (gst_value_set_double_range), (gst_value_deserialize_double_range),
14287         (gst_value_set_fraction_range_full),
14288         (gst_value_deserialize_fraction_range),
14289         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
14290         (gst_value_deserialize_boolean),
14291         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
14292         (gst_value_serialize_float), (gst_value_deserialize_float),
14293         (gst_string_wrap), (gst_value_deserialize_string),
14294         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
14295         (gst_value_union_int_range_int_range),
14296         (gst_value_intersect_int_range_int_range),
14297         (gst_value_intersect_double_range_double_range),
14298         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
14299         (gst_value_subtract_int_range_int_range),
14300         (gst_value_subtract_double_double_range),
14301         (gst_value_subtract_double_range_double_range),
14302         (gst_value_deserialize_fraction):
14303         * gst/gstvalue.h:
14304           Use gint, gdouble and gchar in our API instead of int, double and
14305           char (and make usage in gstvalue.c more consistent).
14306
14307 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14308
14309         * check/Makefile.am:
14310         * libs/gst/controller/Makefile.am:
14311         * libs/gst/dataprotocol/Makefile.am:
14312           fix up Makefile.am and remove GST_ENABLE_NEW
14313
14314 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14315
14316         * configure.ac:
14317         * gst/Makefile.am:
14318         * gst/base/Makefile.am:
14319         * gst/check/Makefile.am:
14320         * gst/elements/Makefile.am:
14321         * gst/net/Makefile.am:
14322           update LDFLAGS use some more
14323
14324 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14325
14326         * common/m4/gst-doc.m4:
14327           Fixes #312589
14328
14329 2005-11-26  Edward Hervey  <edward@fluendo.com>
14330
14331         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14332         This shouldn't issue a g_warning since it returns NULL if it
14333         couldn't find the plugin, and all functions using this behave
14334         properly on a NULL return. Switching to a GST_WARNING.
14335
14336 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
14337
14338         * gst/gstbin.c: (gst_bin_handle_message_func):
14339         Don't leak clock messages.
14340
14341 2005-11-25  Wim Taymans  <wim@fluendo.com>
14342
14343         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14344         (gst_util_uint64_scale_int):
14345         Optimisations, remove unneeded vars.
14346
14347 2005-11-25  Wim Taymans  <wim@fluendo.com>
14348
14349         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14350         Added more checks for the high precision uint64 cases.
14351
14352         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14353         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14354         Implement high precision (guint64 * guint64) / guint64.
14355
14356 2005-11-24  Wim Taymans  <wim@fluendo.com>
14357
14358         * gst/base/gstbasesrc.c: (gst_base_src_query):
14359         Fix wrong percentage query.
14360
14361         * gst/gstutils.c: (gst_util_uint64_scale),
14362         (gst_util_uint64_scale_int):
14363         Add some more common cases that can be handled 
14364         efficiently to _scale.
14365
14366 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14367
14368         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14369         (gst_mini_object_suite):
14370           don't use check calls from threads; check probably isn't
14371           threadsafe and using a lock to make it threadsafe would
14372           defeat the purpose of this check
14373         * gst/check/gstcheck.c:
14374         * gst/check/gstcheck.h:
14375           use GST_DEBUG some more
14376
14377 2005-11-24  Wim Taymans  <wim@fluendo.com>
14378
14379         * gst/gstutils.c: (gst_util_uint64_scale),
14380         (gst_util_uint64_scale_int):
14381         Chain trivial case to _scale_int.
14382
14383 2005-11-24  Wim Taymans  <wim@fluendo.com>
14384
14385         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14386         Added test for scaling.
14387
14388         * gst/gstclock.h:
14389         Small doc fix.
14390
14391         * gst/gstutils.c: (gst_util_uint64_scale_int):
14392         Implemented high precision scaling code.
14393
14394 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
14395
14396         * gst/gstinfo.h:
14397           do not crash on pad==NULL
14398
14399 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14400
14401         Patch by: Stefan Kost
14402
14403         * common/gtk-doc.mak:
14404         * docs/gst/Makefile.am:
14405         * docs/libs/Makefile.am:
14406           Fix distcheck issues for the libraries docs build
14407           Closes #319599.
14408
14409 2005-11-24  Michael Smith <msmith@fluendo.com>
14410
14411         * docs/manual/basics-helloworld.xml:
14412           Fix bug #315027: memory leak in example code in docs.
14413
14414 2005-11-24  Michael Smith <msmith@fluendo.com>
14415
14416         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14417           Unlock the PREROLL_LOCK in a failure case.
14418
14419 2005-11-24  Wim Taymans  <wim@fluendo.com>
14420
14421         * docs/gst/gstreamer-sections.txt:
14422         * gst/base/gstadapter.h:
14423         * gst/base/gstbasesink.h:
14424         * gst/base/gstbasesrc.h:
14425         * gst/base/gstbasetransform.h:
14426         * gst/base/gstpushsrc.h:
14427         * gst/elements/gstfakesink.h:
14428         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
14429         * gst/elements/gstfakesrc.h:
14430         * gst/elements/gstfilesink.h:
14431         * gst/elements/gstfilesrc.h:
14432         * gst/gst.c:
14433         * gst/gstbin.c:
14434         * gst/gstbuffer.c: (_gst_buffer_copy):
14435         * gst/gstbus.h:
14436         * gst/gstcaps.c:
14437         * gst/gstchildproxy.c:
14438         * gst/gstclock.c:
14439         * gst/gstelement.c:
14440         * gst/gstelementfactory.c:
14441         * gst/gstelementfactory.h:
14442         * gst/gstevent.c:
14443         * gst/gstghostpad.h:
14444         * gst/gstindex.h:
14445         * gst/gstinterface.h:
14446         * gst/gstminiobject.c:
14447         * gst/gstminiobject.h:
14448         * gst/gstpad.c:
14449         * gst/gstpad.h:
14450         * gst/gstpadtemplate.h:
14451         * gst/gstpipeline.h:
14452         * gst/gstpluginfeature.h:
14453         * gst/gstquery.h:
14454         * gst/gstqueue.h:
14455         * gst/gsttaglist.c:
14456         * gst/gsttaglist.h:
14457         * gst/gsttagsetter.c:
14458         * gst/gsttagsetter.h:
14459         * gst/gsttrace.c:
14460         * gst/gsttrace.h:
14461         * gst/gsttypefind.h:
14462         * gst/gsturi.h:
14463         * gst/gstvalue.c:
14464         * gst/net/gstnetclientclock.c:
14465         * gst/net/gstnetclientclock.h:
14466         * gst/net/gstnettimepacket.c:
14467         * gst/net/gstnettimeprovider.c:
14468         * gst/net/gstnettimeprovider.h:
14469         Doc fixes.
14470
14471 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14472
14473         * configure.ac: back to HEAD
14474
14475 === release 0.9.6 ===
14476
14477 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
14478
14479         * configure.ac:
14480           releasing 0.9.6, "Always On Time"
14481
14482 2005-11-23  Wim Taymans  <wim@fluendo.com>
14483
14484         * docs/gst/gstreamer-sections.txt:
14485         * gst/glib-compat.c:
14486         * gst/gsttagsetter.c:
14487         * gst/gstvalue.c:
14488         * gst/net/gstnetclientclock.c:
14489         * gst/net/gstnettimepacket.h:
14490         Doc updates.
14491
14492 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14493
14494         * docs/faq/using.xml:
14495         * docs/libs/tmpl/gstcontrol.sgml:
14496         * docs/manual/advanced-dparams.xml:
14497         * docs/manual/appendix-checklist.xml:
14498         * docs/manual/basics-elements.xml:
14499         * docs/pwg/other-source.xml:
14500         * docs/random/moving-plugins:
14501         * gst/gstpad.c:
14502         * tools/gst-launch.1.in:
14503           remove mentions of sinesrc
14504
14505 2005-11-23  Michael Smith <msmith@fluendo.com>
14506
14507         * docs/gst/gstreamer-sections.txt:
14508           Update for new API and API changes.
14509         * gst/gstobject.h:
14510           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14511         * gst/gstvalue.c:
14512           Documentation typo fix.
14513         * gst/net/gstnettimepacket.c:
14514           Documentation fixes for arguments.
14515
14516 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14517
14518         * gst/gststructure.c: (gst_structure_get_fraction),
14519         (gst_structure_parse_value),
14520         (gst_structure_fixate_field_nearest_fraction):
14521         * gst/gststructure.h:
14522         * gst/gstutils.c: (gst_util_uint64_scale_int):
14523         * gst/gstutils.h:
14524         * scripts/update-funcnames:
14525         API Changes. 
14526         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14527         Make gst_structure_fixate_field_nearest_fraction take a numerator
14528         and denominator argument instead of a GValue
14529         add gst_structure_get_fraction helper function.
14530
14531 2005-11-23  Wim Taymans  <wim@fluendo.com>
14532
14533         * docs/design/part-TODO.txt:
14534         Update TODO.
14535
14536         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14537         * gst/net/gstnetclientclock.h:
14538         Use parent fields for timeout and window_size.
14539
14540 2005-11-23  Andy Wingo  <wingo@pobox.com>
14541
14542         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14543         rate_num/rate_denom change.
14544
14545         * gst/net/gstnetclientclock.c
14546         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14547         OBJECT_LOCK. Don't call add_observation with the lock.
14548
14549         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14550         fraction.
14551         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14552         rate fraction.
14553         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14554         deal with rate as a fraction whose numerator and denominator are
14555         GstClockTime values.
14556         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14557         master; the other fields are protected by the SLAVE_LOCK.
14558         (do_linear_regression): Note that this must be called with the
14559         SLAVE_LOCK.
14560         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14561         OBJECT_LOCK. Call set_calibration instead of touching the
14562         variables directly.
14563         (gst_clock_set_property, gst_clock_get_property): Protect
14564         master/slave parameters with the SLAVE_LOCK.
14565
14566         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14567         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14568         note that all of the instance variables that add_observation and
14569         the set_master functions use are protected by that lock and not
14570         the OBJECT_LOCK.
14571         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14572
14573         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14574         the caller to take the object lock.
14575
14576 2005-11-23  Wim Taymans  <wim@fluendo.com>
14577
14578         * gst/gsterror.c: (_gst_core_errors_init):
14579         * gst/gsterror.h:
14580         Add error for clock stuff.
14581
14582         * gst/gstpipeline.c: (gst_pipeline_change_state),
14583         (gst_pipeline_set_clock):
14584         Post clock error when clock cannot be used in a pipeline.
14585
14586 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
14587
14588         * docs/gst/gstreamer-sections.txt:
14589           make two symbols from gstinfo private for the docs
14590         * gst/base/gstcollectpads.h:
14591         * gst/gstutils.c:
14592           fix doc typos, update docs
14593
14594 2005-11-22  Wim Taymans  <wim@fluendo.com>
14595
14596         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14597         (gst_base_sink_wait), (gst_base_sink_do_sync),
14598         (gst_base_sink_handle_event):
14599         * gst/base/gstbasesink.h:
14600         No need to store the clock, the parent element class already
14601         has it.
14602
14603         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14604         Updates for clock_set returning a gboolean
14605
14606         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14607         (gst_clock_id_wait_async), (gst_clock_class_init),
14608         (gst_clock_init), (gst_clock_finalize),
14609         (gst_clock_get_internal_time), (gst_clock_get_time),
14610         (gst_clock_slave_callback), (gst_clock_set_master),
14611         (gst_clock_get_master), (do_linear_regression),
14612         (gst_clock_add_observation), (gst_clock_set_property),
14613         (gst_clock_get_property):
14614         * gst/gstclock.h:
14615         Implement master/slave. When setting a clock as a slave, a
14616         periodic timeout is scheduled to sample master and slave times.
14617         Then the slave clock is recalibrated to match offset and rate
14618         of the master clock.
14619         Update logging a bit.
14620         Add flag so that a clock can state that is cannot be slaved to
14621         another clock.
14622
14623         * gst/gstelement.c: (gst_element_set_clock):
14624         * gst/gstelement.h:
14625         The set clock returns a gboolean for when an element cannot
14626         deal with the selected clock in the pipeline. 
14627
14628         * gst/gstpipeline.c: (gst_pipeline_change_state),
14629         (gst_pipeline_set_clock):
14630         * gst/gstpipeline.h:
14631         Handle the case where the selected clock cannot be set on
14632         the pipeline.
14633
14634         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14635         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14636         (gst_net_client_clock_set_property),
14637         (gst_net_client_clock_get_property),
14638         (gst_net_client_clock_observe_times):
14639         * gst/net/gstnetclientclock.h:
14640         Use regression code in GstClock parent, remove duplicated
14641         functionality.
14642
14643 2005-11-22  Michael Smith <msmith@fluendo.com>
14644
14645         * gst/gstutils.c: (gst_util_clock_time_scale):
14646         * gst/gstutils.h:
14647         * docs/gst/gstreamer-sections.txt:
14648           Rename method to have extra underscore.
14649
14650 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14651
14652         * gst/elements/Makefile.am:
14653         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14654         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14655         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14656         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14657         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14658         * gst/elements/gstfakesrc.h:
14659         * gst/gstqueue.c: (queue_leaky_get_type):
14660           correctly fix GEnumValues so that nick is the short lowercase
14661           dashed tag
14662         * tools/gst-inspect.c: (print_element_properties_info):
14663           also show the nick, since it's useful to use from parse_launch
14664           syntax
14665           Fixes #322139
14666
14667 2005-11-22  Michael Smith <msmith@fluendo.com>
14668
14669         * gst/gstutils.c: (gst_util_clocktime_scale):
14670         * gst/gstutils.h:
14671         * docs/gst/gstreamer-sections.txt:
14672           Add util method for scaling a clocktime by a fraction. Useful 
14673           implementation is left as an exercise for the reader.
14674
14675 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14676
14677         * gst/gstvalue.c: (gst_value_collect_fraction_range):
14678         If needed, allocate storage in the destination value during
14679         collection.
14680
14681 2005-11-22  Edward Hervey  <edward@fluendo.com>
14682
14683         * docs/gst/gstreamer-sections.txt:
14684         * gst/Makefile.am:
14685         * gst/gst.h:
14686         * gst/gsturitype.c:
14687         * gst/gsturitype.h:
14688         * gst/gstutils.c: (gst_util_set_object_arg):
14689         * tools/gst-compprep.c: (main):
14690         * tools/gst-inspect.c: (print_element_properties_info):
14691         Removed GstURI, closes bug #321061
14692
14693 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14694
14695         * check/gst/gststructure.c: (GST_START_TEST):
14696         * gst/gststructure.c: (gst_structure_parse_value):
14697           Oops, broke automatic string type parsing.
14698           Add a test to catch it in future.
14699
14700 2005-11-22  Andy Wingo  <wingo@pobox.com>
14701
14702         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
14703         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14704         Actually rename the function implementations. Grr.
14705
14706 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14707
14708         * check/gst/capslist.h:
14709           Comment test cases
14710         * check/gst/gststructure.c: (GST_START_TEST),
14711         (gst_structure_suite):
14712           Test automatic value type detection in gst_structure_from_string.
14713         * gst/gststructure.c: (gst_structure_parse_value):
14714           Add fraction as a type we try and guess automatically in
14715           caps/structure strings.
14716
14717 2005-11-22  Andy Wingo  <wingo@pobox.com>
14718
14719         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14720
14721         * gst/gsttagsetter.h:
14722         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14723         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14724         (gst_tag_setter_add_tag_valist)
14725         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14726         _add_values, _add_valist, and _add_valist_values. Since this is an
14727         interface the function suffixes should be more explicit so
14728         language binding don't end up with element.add_valist ->
14729         gst_tag_setter_add_valist, for example. Fixes #322069.
14730
14731 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14732
14733         * check/gst/gstcaps.c: (GST_START_TEST):
14734           Extend caps string tests to check that a caps to string
14735           conversion is reversible and produces the same caps.
14736
14737         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14738           Output "fraction" as the generic type fraction range, so caps
14739           serialisation and deserialisation works.
14740         * check/gst/capslist.h:
14741         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14742           Support 'MIN' and 'MAX' for deserialising fractions.
14743
14744 2005-11-22  Andy Wingo  <wingo@pobox.com>
14745
14746         * gst/gstevent.h (gst_event_new_new_segment)
14747         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14748         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14749         Renamed from *_newsegment, *_buffersize, *_notarget.
14750
14751         * scripts/update-funcnames: New script, performs the changes
14752         listed above.
14753
14754 2005-11-22  Wim Taymans  <wim@fluendo.com>
14755
14756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14757         Make sure the GstFlowReturn is returned.
14758
14759         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14760         (gst_bus_add_signal_watch):
14761         * gst/gstbus.h:
14762         add gst_bus_add_signal_watch_full.
14763
14764         * gst/gstplugin.c: (gst_plugin_load_file):
14765         Small style cleanup.
14766
14767 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14768
14769         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14770           Block the fakesrc srcpad when we send an event, to avoid
14771           contention on the stream_lock causing random test failures.
14772
14773 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14774
14775         * check/gst/gstvalue.c: (GST_START_TEST):
14776         * gst/gstvalue.c: (gst_value_fraction_subtract):
14777           Fix subtraction.
14778
14779 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14780
14781         * gst/gst.h:
14782           include "gstchildproxy.h"
14783         * gst/gstchildproxy.h:
14784         * libs/gst/controller/gstcontroller.h:
14785           use G_GNUC_NULL_TERMINATED
14786
14787 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14788
14789         * check/gst/capslist.h:
14790         * check/gst/gstcaps.c: (GST_START_TEST):
14791         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14792         * gst/gststructure.c: (gst_structure_parse_range),
14793         (gst_structure_fixate_field_nearest_fraction):
14794         * gst/gststructure.h:
14795         * gst/gstvalue.c: (gst_value_init_fraction_range),
14796         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14797         (gst_value_collect_fraction_range),
14798         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14799         (gst_value_set_fraction_range_full),
14800         (gst_value_get_fraction_range_min),
14801         (gst_value_get_fraction_range_max),
14802         (gst_value_serialize_fraction_range),
14803         (gst_value_transform_fraction_range_string),
14804         (gst_value_compare_fraction_range),
14805         (gst_value_deserialize_fraction_range),
14806         (gst_value_intersect_fraction_fraction_range),
14807         (gst_value_intersect_fraction_range_fraction_range),
14808         (gst_value_subtract_fraction_fraction_range),
14809         (gst_value_subtract_fraction_range_fraction),
14810         (gst_value_subtract_fraction_range_fraction_range),
14811         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14812         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14813         (gst_value_transform_string_fraction), (_gst_value_initialize):
14814         * gst/gstvalue.h:
14815           Implement fraction ranges and extend GstFraction to support
14816           arithmetic subtraction, as well as deserialization from integer
14817           strings such as "100"
14818           Add a testsuite as for int and double range set operations
14819
14820 2005-11-21  Andy Wingo  <wingo@pobox.com>
14821
14822         * gst/gsttaglist.h: 
14823         * gst/gstcaps.h: 
14824         * gst/gststructure.h: Add glib-compat.h.
14825
14826 2005-11-21  Wim Taymans  <wim@fluendo.com>
14827
14828         * gst/gstbin.c: (gst_bin_change_state_func):
14829         Fix for #321595
14830
14831 2005-11-21  Wim Taymans  <wim@fluendo.com>
14832
14833         * gst/gstsegment.h:
14834         And add a nice define too.
14835
14836 2005-11-21  Wim Taymans  <wim@fluendo.com>
14837
14838         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14839         (gst_segment_new), (gst_segment_free), (gst_segment_init),
14840         (gst_segment_set_duration), (gst_segment_set_last_stop),
14841         (gst_segment_set_seek), (gst_segment_set_newsegment),
14842         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14843         (gst_segment_clip):
14844         * gst/gstsegment.h:
14845         Make binding friendly.
14846
14847 2005-11-21  Andy Wingo  <wingo@pobox.com>
14848
14849         * gst/gsttagsetter.h: 
14850         * gst/gsttaglist.h: 
14851         * gst/gststructure.h: 
14852         * gst/gstcaps.h: 
14853         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14854         #319940.
14855
14856         * gst/gsterror.c (_gst_core_errors_init):
14857         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14858         category.
14859
14860         * gst/Makefile.am (gst_headers): Add glib-compat.h.
14861         (noinst_HEADERS): noinst the -private.
14862
14863 2005-11-21  Michael Smith <msmith@fluendo.com>
14864
14865         * gst/gstplugin.h:
14866         * gst/gstregistry.h:
14867           Remove unimplemented declarations for which we can see no sensible
14868           use.
14869
14870 2005-11-21  Andy Wingo  <wingo@pobox.com>
14871
14872         * gst/gst.h: Include glib-compat.h.
14873
14874         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14875
14876         * gst/glib-compat.c: Include the public and the private header.
14877
14878         * gst/glib-compat-private.h: Copied here from glib-compat.h.
14879
14880         * gst/gstvalue.c: 
14881         * gst/gstpad.c: 
14882         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14883
14884         * check/gst/gstevent.c (create_custom_events): Check that
14885         FLUSH_STOP is serialized.
14886
14887         * check/elements/identity.c (event_func): 
14888         * check/elements/fakesrc.c (event_func): No stream lock, the core
14889         takes it.
14890
14891         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14892         stream lock taking, yay.
14893
14894         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14895         ensure that core takes the stream lock.
14896
14897         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14898         lock name change.
14899
14900         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14901         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14902         it already. For the flush start we do take it though so we get the
14903         right preroll state change messages.
14904
14905         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14906         the stream lock here, the core does it for us.
14907
14908         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14909         GST_STREAM_GET_LOCK.
14910         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
14911         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
14912         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14913         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14914         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
14915         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14916
14917         * gst/gstpad.c: Update for stream lock name change.
14918
14919         * gst/base/gstbasesink.c: Update for preroll lock name change.
14920
14921 2005-11-21  Wim Taymans  <wim@fluendo.com>
14922
14923         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14924         (gst_clock_get_master):
14925         * gst/gstclock.h:
14926         * gst/gstsystemclock.c: (gst_system_clock_init):
14927         Convert Clock flags to object flags.
14928         Added methods to manage master/slave clocks.
14929
14930 2005-11-21  Wim Taymans  <wim@fluendo.com>
14931
14932         * check/gst/gstsegment.c: (GST_START_TEST):
14933         * docs/design/part-TODO.txt:
14934         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14935         (gst_base_sink_event), (gst_base_sink_do_sync),
14936         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14937         (gst_base_sink_query), (gst_base_sink_change_state):
14938         * gst/base/gstbasesink.h:
14939         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14940         (gst_base_src_default_newsegment),
14941         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14942         (gst_base_src_get_range), (gst_base_src_loop),
14943         (gst_base_src_change_state):
14944         * gst/base/gstbasesrc.h:
14945         * gst/base/gstbasetransform.c:
14946         (gst_base_transform_prepare_output_buf),
14947         (gst_base_transform_event), (gst_base_transform_change_state):
14948         * gst/base/gstbasetransform.h:
14949         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14950         (gst_collect_pads_event):
14951         * gst/base/gstcollectpads.h:
14952         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14953         (gst_fake_src_create):
14954         * gst/elements/gstfakesrc.h:
14955         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14956         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14957         (gst_segment_set_last_stop), (gst_segment_set_seek),
14958         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14959         (gst_segment_to_running_time), (gst_segment_clip):
14960         * gst/gstsegment.h:
14961         More segment updates, replace code in plugins with segment
14962         helper functions.
14963
14964 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14965
14966         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14967         Don't ignore sscanf results
14968
14969 2005-11-21  Andy Wingo  <wingo@pobox.com>
14970
14971         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14972
14973         * *.h:
14974         * *.c: Ran scripts/update-macros. Oh yes.
14975
14976         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14977         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14978         GST_GET_LOCK, etc.
14979
14980         * scripts/update-macros: New script. Run it on your files to
14981         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14982         well.
14983
14984 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14985
14986         * docs/gst/Makefile.am:
14987         * docs/gst/gstreamer-docs.sgml:
14988         * docs/gst/gstreamer-sections.txt:
14989         * docs/gst/gstreamer.types:
14990         * gst/gstinfo.h:
14991           more docs fixes, add new api to the docs
14992
14993 2005-11-21  Andy Wingo  <wingo@pobox.com>
14994
14995         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14996         state_broadcast call.
14997
14998         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14999
15000 2005-11-21  Julien MOUTTE  <julien@moutte.net>
15001
15002         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
15003         function calls for arrays.
15004
15005 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15006
15007         * docs/random/ensonic/media-device-daemon.txt:
15008           wild idea, can this be done?
15009         * docs/gst/gstreamer-sections.txt:
15010         * gst/gsterror.h:
15011         * gst/gstfilter.c:
15012         * gst/gstfilter.h:
15013         * gst/gstplugin.h:
15014         * gst/gstpluginfeature.c:
15015         * gst/gsttrace.c:
15016         * gst/gstvalue.c:
15017         * gst/gstvalue.h:
15018           doc fixes and additions
15019
15020 2005-11-21  Andy Wingo  <wingo@pobox.com>
15021
15022         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
15023         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
15024         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
15025         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
15026         private to the basesrc implementation.
15027
15028         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
15029         behalf of event function if necessary. It should no longer be
15030         necessary to take the stream lock in pad's event functions. Fixes
15031         #320299.
15032
15033 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15034         * docs/gst/gstreamer-sections.txt:
15035         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
15036         (gst_structure_fixate_field_nearest_double),
15037         (gst_structure_fixate_field_boolean):
15038         * gst/gststructure.h:
15039         * win32/common/libgstreamer.def:
15040         * win32/gstreamer.def:
15041
15042         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
15043         (#322027)
15044
15045 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15046
15047         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
15048         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
15049         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
15050         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
15051         (gst_fdsrc_uri_handler_init):
15052         * gst/elements/gstfdsrc.h:
15053           Port fd:// URI handler from 0.8 to fdsrc
15054
15055 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15056
15057         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
15058         (gst_value_serialize_fourcc):
15059         * gst/gstvalue.h:
15060           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
15061           consistent with our other format defines (#320324).
15062
15063 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15064
15065         * gst/gstvalue.c: (gst_value_is_fixed):
15066           Revert previous commit. Value lists are by definition
15067           not fixed, as they are a list of possible values.
15068
15069 2005-11-21  Andy Wingo  <wingo@pobox.com>
15070
15071         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
15072         during the stable series if we need it. Fixes #319178.
15073
15074         * gst/gstevent.c (gst_event_new_filler): Removed.
15075
15076         * check/gst/gstevent.c: Update comment about filler events.
15077
15078 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15079
15080         * gst/gstvalue.c: (gst_value_is_fixed):
15081           Should handle both value arrays and value lists.
15082
15083 2005-11-21  Andy Wingo  <wingo@pobox.com>
15084
15085         patch by: Alessandro Dessina <alessandro nnva org>
15086
15087         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
15088         functions to access arrays. Fixes #321962.
15089
15090 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15091
15092         * docs/gst/gstreamer.types:
15093           gst_collectpads_get_type => gst_collect_pads_get_type.
15094           
15095         * gst/base/gstbasetransform.c:
15096           Remove unused SIGNAL_HANDOFF enum.
15097
15098 2005-11-21  Andy Wingo  <wingo@pobox.com>
15099
15100         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
15101         the event type (upstream, downstream, serialized). Renamed
15102         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
15103         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
15104         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
15105
15106         * gst/gstevent.c: Update for new CUSTOM event names.
15107
15108         * check/gst/gstevent.c: Update check for new CUSTOM event names.
15109
15110         * gst/gstevent.h:
15111         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
15112         bug #319392.
15113
15114 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15115
15116         * docs/gst/gstreamer-sections.txt:
15117         * win32/common/libgstbase.def:
15118         * win32/libgstbase.def:
15119         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15120         (gst_collect_pads_class_init), (gst_collect_pads_init),
15121         (gst_collect_pads_finalize), (gst_collect_pads_new),
15122         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
15123         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
15124         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
15125         (gst_collect_pads_start), (gst_collect_pads_stop),
15126         (gst_collect_pads_peek), (gst_collect_pads_pop),
15127         (gst_collect_pads_available), (gst_collect_pads_read),
15128         (gst_collect_pads_flush), (gst_collect_pads_event),
15129         (gst_collect_pads_chain):
15130         * gst/base/gstcollectpads.h:
15131           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
15132           unimplemented functions as unimplemented. Add padding to
15133           GstCollectData. (#320766, #320423)
15134
15135 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15136
15137         * gst/gstmessage.c:
15138           Improve docs for DURATION message (usage of duration parameter)
15139           (#320113)
15140
15141 2005-11-20  Wim Taymans  <wim@fluendo.com>
15142
15143         * check/Makefile.am:
15144         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
15145         (main):
15146         * gst/Makefile.am:
15147         * gst/gst.h:
15148         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15149         (gst_segment_set_seek), (gst_segment_set_newsegment),
15150         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15151         (gst_segment_clip):
15152         * gst/gstsegment.h:
15153         Added segment helper structure and methods. Not fully implemented
15154         yet.
15155         Added segment check.
15156
15157 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
15158
15159         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15160           Add a deserialisation test for fractions
15161         * examples/metadata/read-metadata.c: (message_loop),
15162         (make_pipeline), (main):
15163           Fix up metadata reading sample.
15164         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15165           Debug format fix
15166         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15167           Don't try and fixate empty caps
15168         * gst/gst_private.h:
15169           Wrap in G_BEGIN_DECLS/G_END_DECLS
15170         * gst/gstvalue.c: (gst_value_collect_fraction),
15171         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
15172         (gst_value_transform_string_fraction),
15173         (gst_value_compare_fraction):
15174           Add some extra guards to ensure that we don't end up 
15175           with an invalid denominator of 0 in a gstfraction and
15176           that fractions always get reduced.
15177
15178 2005-11-20  Wim Taymans  <wim@fluendo.com>
15179
15180         * docs/gst/gstreamer-sections.txt:
15181         * gst/gstbuffer.h:
15182         * gst/gstelement.c:
15183         * gst/gstformat.c:
15184         * gst/gstformat.h:
15185         * gst/gstindex.h:
15186         * gst/gstquery.c:
15187         * gst/gstquery.h:
15188         * gst/gstvalue.c:
15189         Doc fixes.
15190
15191 2005-11-20  Wim Taymans  <wim@fluendo.com>
15192
15193         * docs/design/part-TODO.txt:
15194         * gst/gstcaps.h:
15195         Make a proper enum of the flag.
15196
15197 2005-11-19  Wim Taymans  <wim@fluendo.com>
15198
15199         * docs/design/part-TODO.txt:
15200         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
15201         (gst_format_to_quark), (gst_format_register):
15202         * gst/gstformat.h:
15203         * gst/gstquery.c: (_gst_query_initialize),
15204         (gst_query_type_get_name), (gst_query_type_to_quark),
15205         (gst_query_type_register):
15206         * gst/gstquery.h:
15207         Add type to quark and type to string conversions.
15208
15209 2005-11-19  Andy Wingo  <wingo@pobox.com>
15210
15211         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
15212         #320097.
15213
15214 2005-11-19  Wim Taymans  <wim@fluendo.com>
15215
15216         * docs/design/part-TODO.txt:
15217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15218         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
15219         (gst_bin_handle_message_func):
15220         * gst/gstbin.h:
15221         Make message handling overridable.
15222
15223 2005-11-19  Andy Wingo  <wingo@pobox.com>
15224
15225         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
15226
15227         * gst/gstclock.h:
15228         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
15229         be a GstClockTime.
15230         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
15231         is a GstClockTime. Fixes #321710.
15232
15233         * gst/gstclock.h (GstClock): Remove offset property. Add
15234         internal_calibration and external_calibration. Fix padding. Pad
15235         also by GstClockTime so we don't run into problems.
15236
15237         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
15238         (gst_clock_get_rate_offset): Remove.
15239         (gst_clock_set_time_adjust): Remove. Fixes #321712.
15240
15241         * gst/gstutils.h:
15242         * gst/gstutils.c (g_static_rec_cond_wait)
15243         (g_static_rec_cond_timed_wait): Removed, no longer needed.
15244
15245         * gst/gstbin.c: Remove terrible continue_state prototype.
15246
15247         * gst/gstelement.h (gst_element_continue_state): Make public.
15248
15249         * gst/gstelement.h:
15250         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
15251         by continue_state. Fixes #319389.
15252
15253         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
15254         Really fixes #168438. However I don't see anywhere where the
15255         filter function is called... stupid GStreamer...
15256         
15257         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
15258         don't have a dispose function, so it won't get called when the
15259         object is unreffed, but oh well!
15260
15261         * gst/gstindex.c (gst_index_set_filter_full): New API function,
15262         allows a destroy function to be set so user_data can be freed.
15263         Fixes #168438.
15264         (gst_index_set_filter): Call gst_index_set_filter_full.
15265
15266         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
15267
15268         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
15269         string should produce an error, given the lack of a way to
15270         represent NULL strings. Fixes #165650.
15271         
15272         * gst/gstvalue.h: 
15273         * gst/gstvalue.c (gst_value_array_append_value) 
15274         (gst_value_array_prepend_value, gst_value_array_get_size) 
15275         (gst_value_array_get_value): New API, copied from
15276         gst_value_list_*, only operates on arrays.
15277         (gst_value_list_append_value, gst_value_list_prepend_value) 
15278         (gst_value_list_concat, gst_value_list_get_size) 
15279         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
15280
15281         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
15282         init_list, because it works on both.
15283         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
15284         (gst_value_copy_list_or_array): Renamed from copy_list.
15285         (gst_value_free_list_or_array): Renamed from free_list.
15286         (gst_value_collect_list_or_array): Renamed from collect_list.
15287         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
15288         (gst_value_list_or_array_peek_pointer): Renamed from
15289         list_peek_pointer.
15290         (_gst_value_array_value_table, _gst_value_list_value_table):
15291         Update value table functions.
15292         (gst_value_compare_list_or_array): Renamed from compare_list.
15293
15294         * gsttaglist.h: Whoops, foreach function returns void. Also fix
15295         some constness.
15296
15297         * gst/gsttaglist.c:
15298         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
15299         GstTagList*. Fixes #143472.
15300
15301         * gst/gststructure.h: Clarify what the foreach/map functions can
15302         or can't do to their arguments.
15303
15304 2005-11-18  Wim Taymans  <wim@fluendo.com>
15305
15306         * gst/gstclock.c: (gst_clock_set_calibration),
15307         (gst_clock_get_calibration):
15308         Doc and API fixes.
15309         Calibration can be set with internal time equal to current
15310         internal time too.
15311
15312 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15313
15314         * gst/gsterror.c:
15315         * gst/gsterror.h:
15316           document
15317
15318 2005-11-18  Andy Wingo  <wingo@pobox.com>
15319
15320         * configure.ac: 
15321         * pkgconfig/gstreamer-net.pc.in:
15322         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15323         * pkgconfig/Makefile.am: Add net pkgconfig files.
15324
15325 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
15326
15327         * gst/gstcaps.c:
15328         * gst/gstghostpad.c:
15329         * gst/gsttrace.c:
15330         * gst/gstvalue.c:
15331         * gst/gstvalue.h:
15332           docs fixes
15333
15334 2005-11-18  Andy Wingo  <wingo@pobox.com>
15335
15336         * gst/net/gstnetclientclock.c: Turn off debugging.
15337
15338         * check/net/gstnetclientclock.c (test_functioning): Assert that the
15339         times connverge somewhat. Can't make a real test.
15340
15341         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
15342         integer arithmetic. Return the minimum of the domain, which can be
15343         set as "internal" for gst_clock_set_calibration.
15344         (gst_net_client_clock_observe_times): Call _set_calibration.
15345         (gst_net_client_clock_new): Call _set_calibration instead of
15346         rate_offset.
15347
15348         * check/net/gstnetclientclock.c (test_functioning): Use the right
15349         adjustment api.
15350
15351         * gst/gstclock.h:
15352         * gst/gstclock.c (gst_clock_get_calibration) 
15353         (gst_clock_set_calibration): New functions, obsolete the ones I
15354         added yesterday. Doh. Precision issues mean we have to extrapolate
15355         from a point in the more recent past than 1970.
15356         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
15357         obsolete.
15358         (gst_clock_adjust_unlocked): Use the right calibration data.
15359
15360 2005-11-18  Edward Hervey  <edward@fluendo.com>
15361
15362         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
15363         Also reset the ->current_* values in READY->PAUSED
15364
15365 2005-11-18  Andy Wingo  <wingo@pobox.com>
15366
15367         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
15368         Whoops, check the right fd. Also add some debugging.
15369         (gst_net_client_clock_observe_times): Adjust for int64 offset.
15370         (do_linear_regression): Add a crapload of debugging. Subtract off
15371         the minimum values from the input series to discard unneeded bits.
15372         Use only int arithmetic. There is still double arithmetic when
15373         calculating the intercept that needs fixing. Return boolean to
15374         indicate success; FALSE would mean the domain or range is too
15375         great. Still needs fixes.
15376
15377 2005-11-18  Wim Taymans  <wim@fluendo.com>
15378
15379         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15380         For the current position in stream time, we need to subtract
15381         accumulated time.
15382         
15383         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15384         Release lock before calling the callback function of async
15385         entries.
15386
15387 2005-11-18  Andy Wingo  <wingo@pobox.com>
15388
15389         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
15390         Port goes all the way to MAXUINT16.
15391
15392         * gst/net/gstnettimeprovider.c: Make the port range the same as
15393         for the kernel: 0 assigns, otherwise ports are less than
15394         MAXUINT16.
15395
15396         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
15397         port change.
15398
15399         * check/net/gstnetclientclock.c (test_functioning): Add the start
15400         of another test. 
15401
15402 2005-11-18  Wim Taymans  <wim@fluendo.com>
15403
15404         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15405         (gst_bin_remove_func), (bin_bus_handler):
15406         * gst/gstbin.h:
15407         Removing a clock provider from a bin, triggers a clock lost message
15408         so that a new clock will be selected.
15409         Adding a clock to a bin triggers a clock provider message.
15410         Make sure we reselect a clock when we received a clock lost message.
15411         Keep a reference to the element that provided the clock.
15412
15413 2005-11-18  Andy Wingo  <wingo@pobox.com>
15414
15415         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
15416         the clock initially so it produces values around the base time.
15417         (gst_net_client_clock_class_init): Typo fix.
15418         (gst_net_client_clock_thread): Add note on when the socket gets
15419         closed.
15420
15421 2005-11-17  Wim Taymans  <wim@fluendo.com>
15422
15423         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
15424         Free remote and local time arrays.
15425
15426 2005-11-17  Wim Taymans  <wim@fluendo.com>
15427
15428         * gst/net/gstnetclientclock.c: (do_linear_regression),
15429         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
15430         Fix compilation, uninitialized vars and a forgotten continue.
15431
15432 2005-11-17  Andy Wingo  <wingo@pobox.com>
15433
15434         * check/Makefile.am (check_PROGRAMS): 
15435         * check/net/gstnetclientclock.c: Add a most minimal test for the
15436         net client clock. More to come later.
15437
15438         * gst/net/gstnet.h: 
15439         * gst/net/Makefile.am: Add netclientclock.
15440
15441         * gst/net/gstnetclientclock.h:
15442         * gst/net/gstnetclientclock.c: New files, implement an untested
15443         GstClock that takes its time from a network time provider.
15444         Implements the algorithm in network-clock.scm.
15445
15446         * tests/network-clock.scm (*window-size*): Rename from
15447         *queue-length*.
15448         * tests/network-clock.scm (network-time): 
15449         * tests/network-clock-utils.scm (q-push): Update callers.
15450
15451 2005-11-17  Wim Taymans  <wim@fluendo.com>
15452
15453         * gst/gstbin.c: (gst_bin_provide_clock_func),
15454         (gst_bin_sort_iterator_new):
15455         And unref the child too..
15456
15457 2005-11-17  Wim Taymans  <wim@fluendo.com>
15458
15459         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15460         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15461         Refactor the sort iterator so it can be used while holding the
15462         LOCK too.
15463         Make clock selection select a clock closest to the source.
15464
15465 2005-11-17  Michael Smith <msmith@fluendo.com>
15466
15467         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15468         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15469         * gst/gstclock.h:
15470           Anonymous structs are a gcc (and some other compilers) extension, so
15471           don't use them. Since this is only for ABI-compatibility, and our
15472           API/ABI freeze is over in a few days, this whole thing will only
15473           last a few days, so don't bother trying to think up a meaningful
15474           name for the struct.
15475
15476 2005-11-17  Andy Wingo  <wingo@pobox.com>
15477
15478         * gst/gstclock.h (GstClock): Add rate and offset properties,
15479         preserving ABI stability. Add rate/offset accessors. Will file bug
15480         for the freeze break.
15481
15482         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15483         and offset, trying to keep precision and avoiding
15484         underflow/overflow.
15485         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15486         functions. Make gst_clock_set_time_adjust obsolete.
15487         (gst_clock_set_time_adjust): Note that this function is obsolete.
15488         Will file bug soon.
15489
15490         * gst/base/gstbasetransform.h: Make the ABI-stability hack
15491         greppable by using GST_PADDING-1+1.
15492
15493 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
15494
15495         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15496
15497         * gst/gstmessage.c: (gst_message_parse_clock_lost):
15498           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15499
15500         * gst/gstpadtemplate.h:
15501         * gst/gstpluginfeature.h:
15502           Don't use c++ style comments in headers (#321638).
15503
15504 2005-11-16  Andy Wingo  <wingo@pobox.com>
15505
15506         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15507         buffer.
15508
15509         * check/net/gstnettimeprovider.c: Check to see that the time
15510         provider actually provides times. Works, yo!
15511
15512 2005-11-16  Wim Taymans  <wim@fluendo.com>
15513
15514         * check/Makefile.am:
15515         Enable more tests.
15516
15517         * check/elements/fakesrc.c: (GST_START_TEST):
15518         Set element to NULL before disposing it.
15519
15520 2005-11-16  Andy Wingo  <wingo@pobox.com>
15521
15522         * gst/net/Makefile.am:
15523         * gst/net/gstnet.h:
15524         * gst/net/gstnettimeprovider.c: 
15525         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15526         provider, include it from gstnet.h, and add it to the build.
15527
15528         * gst/net/gstnettimepacket.h: 
15529         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15530         sending and receiving.
15531
15532 2005-11-16  Wim Taymans  <wim@fluendo.com>
15533
15534         * check/Makefile.am:
15535         Enable valgrind check.
15536
15537         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15538         (gst_fake_src_alloc_buffer):
15539         Fix memleak.
15540
15541 2005-11-16  Wim Taymans  <wim@fluendo.com>
15542
15543         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15544         Call parent finalize too.
15545
15546 2005-11-16  Wim Taymans  <wim@fluendo.com>
15547
15548         * check/Makefile.am:
15549         Enable valgrind check that should work fine now.
15550
15551         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15552         * gst/gstqueue.c: (gst_queue_init):
15553         Fix memleaks in pad allocation.
15554
15555 2005-11-16  Andy Wingo  <wingo@pobox.com>
15556
15557         * gst/net/Makefile.am:
15558         * gst/net/gstnet.h: New part of core to hold network elements and
15559         objects. Put in core because it exposes API that applications want
15560         to use. The library is named libgstnet-tempname right now because
15561         of the existing libgstnet in gst-plugins-base. Solution is
15562         probably to rename the one in plugins-base; will file a bug for
15563         the freeze break.
15564
15565         * gst/net/gstnettimeprovider.c: 
15566         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15567         get_time call over the network.
15568
15569         * configure.ac: 
15570         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15571
15572         * check/Makefile.am:
15573         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15574         get additions shortly.
15575
15576 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15577
15578         * gst/gstpad.c: (gst_pad_new_from_static_template):
15579         * gst/gstpad.h:
15580           add gst_pad_new_from_static_template functions
15581         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15582         (gst_check_setup_sink_pad):
15583         * gst/elements/gsttee.c: (gst_tee_init):
15584           and use them
15585
15586 2005-11-16  Wim Taymans  <wim@fluendo.com>
15587
15588         * gst/gstpad.c: (gst_pad_pause_task):
15589         Removed warning, it's not really an error either.
15590
15591 2005-11-16  Wim Taymans  <wim@fluendo.com>
15592
15593         * gst/base/gstbasetransform.c:
15594         (gst_base_transform_prepare_output_buf),
15595         (gst_base_transform_event):
15596         Check if the caps are NULL, this can happen if the element
15597         is shutting down and the pad caps are set to NULL.
15598
15599 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15600
15601         * gst/elements/gsttee.c: (gst_tee_init):
15602           fix pad template leak in tee
15603
15604 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15605
15606         * gst/glib-compat.c: (g_value_dup_gst_object):
15607         * gst/glib-compat.h:
15608         * gst/gstpad.c: (gst_pad_set_property):
15609           use gst_object_ref when setting the pad template; this will
15610           trigger the pad template leaks on GLib 2.6 and the slaves
15611
15612 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15613
15614         * gst/glib-compat.c: (gst_flags_get_first_value):
15615         * gst/glib-compat.h:
15616         * gst/gstregistryxml.c:
15617           remove functions copied from GLib 2.6
15618
15619 2005-11-16  Michael Smith <msmith@fluendo.com>
15620
15621         * gst/Makefile.am:
15622           Don't link against VALGRIND_LIBS. That was always the wrong thing to
15623           do, but only breaks with newer valgrind versions. We're not a
15624           valgrind tool, we have no link-time dependencies on libcoregrind.
15625
15626 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15627
15628         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15629           some debug changes
15630         * gst/gstmessage.h:
15631           typo fixes
15632
15633 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15634
15635         * gst/base/gstbasesrc.c: (gst_base_src_init):
15636         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15637         * gst/gstqueue.c: (gst_queue_init):
15638         * gst/gstregistryxml.c: (load_feature):
15639           Revert all these unrefs, they don't even pass make check !
15640
15641 2005-11-15  Johan Dahlin  <johan@gnome.org>
15642
15643         * gst/base/gstbasesrc.c: (gst_base_src_init):
15644         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15645         * gst/gstqueue.c: (gst_queue_init): 
15646         Free pad templates, fixes a couple of leaks.
15647
15648 2005-11-15  Daniel Fischer  <dan at f3c dot com>
15649
15650         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15651
15652         * gst/gstpad.c: (gst_pad_get_property):
15653           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15654           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15655           (#321452)
15656
15657 2005-11-15  Wim Taymans  <wim@fluendo.com>
15658
15659         * gst/gstevent.c:
15660         Small doc update.
15661
15662 2005-11-15  Andy Wingo  <wingo@pobox.com>
15663
15664         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15665
15666         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15667         using GST_CLOCK_TIME_NONE to disable base time management.
15668         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15669         time if it was NONE before.
15670         (gst_pipeline_change_state): Only munge the base time if
15671         stream_time != GST_CLOCK_TIME_NONE.
15672
15673         * check/gst/gstpipeline.c (test_base_time): Punt around the
15674         problem of the probe not being called, because that's not the
15675         issue I'm looking at. Add a check that setting stream_time to NONE
15676         disables base time management.
15677         
15678 2005-11-15  Wim Taymans  <wim@fluendo.com>
15679
15680         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15681         segment_stop == -1 at startup.
15682
15683         * gst/base/gstbasetransform.c: (gst_base_transform_event),
15684         (gst_base_transform_change_state):
15685         Init segment values at start.
15686
15687 2005-11-15  Wim Taymans  <wim@fluendo.com>
15688
15689         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15690         0 segment values are 0 in any format.
15691
15692         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15693         * gst/base/gstbasetransform.h:
15694         Parse newsegment correctly in basetransform
15695
15696         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15697         Sync to clock using updated segment values.
15698
15699 2005-11-15  Andy Wingo  <wingo@pobox.com>
15700
15701         * check/gst/gstpipeline.c (test_base_time): Add check that the
15702         base time and stream time are reset correctly.
15703
15704 2005-11-15  Wim Taymans  <wim@fluendo.com>
15705
15706         * docs/design/part-TODO.txt:
15707         Some more TODO items.
15708
15709 2005-11-15  Andy Wingo  <wingo@pobox.com>
15710
15711         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15712         error if the user selected "no clock" as the clocking method.
15713
15714         * check/gst/gstpipeline.c (test_base_time): New test for buffer
15715         timestamps with live capture.
15716
15717         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15718         is 0 but we are a live source, timestamp the buffers using the
15719         element's clock.
15720
15721 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15722
15723         * docs/gst/gstreamer-sections.txt:
15724         * gst/gsterror.c:
15725         * gst/gstghostpad.c:
15726         * gst/gstobject.h:
15727         * gst/gstxml.c:
15728           more section docs
15729
15730 2005-11-14  Wim Taymans  <wim@fluendo.com>
15731
15732         * common/gst.supp:
15733           add suppressions from Wim's Debian machine
15734
15735 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15736
15737         * common/gst.supp:
15738           add suppressions from Andy's AMD64 Ubuntu machine
15739
15740 2005-11-14  Andy Wingo  <wingo@pobox.com>
15741
15742         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15743         STATE_LOCK not necessary. Fixes #311489.
15744
15745         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15746         #305291.
15747
15748         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15749         this function is not implemented.
15750
15751 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15752
15753         * gst/base/gstbasetransform.c:
15754         (gst_base_transform_prepare_output_buf):
15755         Ref the source pad caps while we need them.
15756         Fixes (#321386)
15757
15758 2005-11-11  Wim Taymans  <wim@fluendo.com>
15759
15760         * docs/gst/gstreamer-sections.txt:
15761         Added some docs for GstCollectData.
15762
15763         * gst/base/gstadapter.c:
15764         Some small code example fix.
15765
15766         * gst/base/gstcollectpads.c:
15767         * gst/base/gstcollectpads.h:
15768         Document some more.
15769
15770 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15771
15772         * configure.ac: back to HEAD
15773
15774 === release 0.9.5 ===
15775
15776 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15777
15778         * configure.ac:
15779           releasing 0.9.5, "Bike Lunch Day"
15780
15781 2005-11-11  Wim Taymans  <wim@fluendo.com>
15782
15783         * gst/gstbuffer.c: (_gst_buffer_copy):
15784         Copy more flags.
15785
15786         * gst/gstcaps.c: (gst_caps_is_equal):
15787         Fix some docs.
15788         Make _is_equal fast in the trivial cases.
15789
15790         * gst/gstminiobject.c:
15791         * gst/gstminiobject.h:
15792         More docs. Spifify .h file.
15793
15794         * gst/gstutils.c:
15795         Small doc update.
15796
15797 2005-11-11  Wim Taymans  <wim@fluendo.com>
15798
15799         * gst/base/gstbasetransform.c:
15800         (gst_base_transform_prepare_output_buf),
15801         (gst_base_transform_handle_buffer):
15802         Small cleanups.
15803         If we're processing a buffer and need to allocate an output
15804         buffer, we cannot accept a format change. If we did get a 
15805         format change, we have to alloc a buffer ourselves of the 
15806         right size.
15807
15808 2005-11-11  Wim Taymans  <wim@fluendo.com>
15809
15810         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15811         While checking the flag for reentrancy in the gstcaps function
15812         is nice to detect recursive invocations, it also makes it 
15813         impossible to call getcaps from multiple threads, which must be
15814         possible. So, checking for recursive calls has to go.
15815
15816 2005-11-11  Michael Smith <msmith@fluendo.com>
15817
15818         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15819           Don't sync on buffers that fall partially outside our current
15820           segment. Prevents an assertion failure/abort playing some files.
15821
15822 2005-11-10  Andy Wingo  <wingo@pobox.com>
15823
15824         * check/gst/gstbin.c (test_message_state_changed_children): Style
15825         fix..
15826
15827         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15828         gst_bus_poll with the signal watch. Ensures that poll and a signal
15829         watch see the same messages.
15830
15831         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15832         a poll and a watch at the same time get the same messages.
15833
15834 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15835
15836         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15837         * gst/gstcaps.c: (gst_caps_intersect):
15838           Don't call gst_caps_do_simplify - it doesn't respect order of caps
15839           and it's not needed.
15840
15841 2005-11-10  Wim Taymans  <wim@fluendo.com>
15842
15843         * docs/design/part-TODO.txt:
15844         Updated todo.
15845
15846 2005-11-10  Wim Taymans  <wim@fluendo.com>
15847
15848         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15849         * gst/base/gstbasesrc.c: (gst_base_src_wait),
15850         (gst_base_src_do_sync), (gst_base_src_get_range):
15851         Implement clock sync in base class.
15852
15853 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15854
15855         patch by: Tim-Philipp Müller <tim at centricular dot net>
15856
15857         * gst/gststructure.c: (gst_structure_parse_field),
15858         (gst_structure_from_string):
15859           Forward-port a 0.8 patch to handle escaped spaces in structure string,
15860           so that gst_parse_launch() can deal with spaces in filtered link
15861           caps (fixes #164479)
15862         * check/gst/capslist.h:
15863         * check/gst/gststructure.c: (GST_START_TEST):
15864           add unit tests for this change
15865
15866 2005-11-10  Wim Taymans  <wim@fluendo.com>
15867
15868         * docs/gst/gstreamer-sections.txt:
15869         * gst/gstelement.c:
15870         * gst/gstelement.h:
15871         Fix docs, move some STATE macros to private.
15872
15873 2005-11-10  Wim Taymans  <wim@fluendo.com>
15874
15875         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15876         Added check for bug #317341
15877
15878         * gst/gstbuffer.c:
15879         * gst/gstbuffer.h:
15880         Some more spiffifying.
15881
15882         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15883         Call peer linkfunction if we are a source pad. Totally fixes
15884         #317341
15885
15886         * gst/gstpad.c:
15887         Update docs, source pads should call the peer linkfunction
15888         so they can atomically perform the pad link.
15889
15890 2005-11-09  Wim Taymans  <wim@fluendo.com>
15891
15892         * gst/gstbuffer.c:
15893         * gst/gstbuffer.h:
15894         Uber-spiffy-spiffify some more.
15895
15896 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
15897
15898         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15899         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15900         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15901         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15902         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15903         * gst/gstpad.c: (gst_pad_init):
15904           Use GST_DEBUG_FUNCPTR() more extensively.
15905
15906 2005-11-09  Wim Taymans  <wim@fluendo.com>
15907
15908         * gst/gstobject.c: (gst_object_class_init):
15909         * gst/gstobject.h:
15910         Documentation fixes.
15911
15912 2005-11-09  Edward Hervey  <edward@fluendo.com>
15913
15914         * gst/gsttypefindfactory.c:
15915         Fix docs.
15916         
15917 2005-11-09  Edward Hervey  <edward@fluendo.com>
15918
15919         * gst/base/gsttypefindhelper.c:
15920         * gst/gsttypefind.c:
15921         * gst/gsttypefind.h:
15922         Fix docs.
15923
15924 2005-11-09  Wim Taymans  <wim@fluendo.com>
15925
15926         * gst/gstiterator.c:
15927         Fix revision data.
15928
15929         * gst/gsttask.c:
15930         * gst/gsttask.h:
15931         Fix docs.
15932
15933 2005-11-09  Wim Taymans  <wim@fluendo.com>
15934
15935         * gst/gstevent.h:
15936         * gst/gsturi.h:
15937         Fix docs.
15938
15939 2005-11-09  Wim Taymans  <wim@fluendo.com>
15940
15941         * docs/gst/gstreamer-sections.txt:
15942         Moved the message async delivery private lock and cond
15943         to the private section.
15944
15945         * gst/gstmessage.c:
15946         * gst/gstmessage.h:
15947         Fixed docs.
15948
15949 2005-11-09  Edward Hervey  <edward@fluendo.com>
15950
15951         * docs/gst/gstreamer-sections.txt:
15952         * gst/gsturi.c:
15953         * gst/gsturi.h:
15954         Document GstURIHandler
15955
15956 2005-11-09  Wim Taymans  <wim@fluendo.com>
15957
15958         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15959         (gst_iterator_find_custom):
15960         * gst/gstiterator.h:
15961         Fix iterator docs.
15962
15963 2005-11-09  Wim Taymans  <wim@fluendo.com>
15964
15965         * gst/gstbin.h:
15966         Document another field.
15967
15968         * gst/gststructure.c:
15969         * gst/gststructure.h:
15970         Document.
15971
15972 2005-11-09  Wim Taymans  <wim@fluendo.com>
15973
15974         * gst/gstbin.h:
15975         Documented structs.
15976
15977 2005-11-09  Wim Taymans  <wim@fluendo.com>
15978
15979         * docs/gst/gstreamer-sections.txt:
15980         Added some new macros.
15981
15982         * gst/gstclock.c:
15983         * gst/gstclock.h:
15984         * gst/gstobject.h:
15985         Docs updates.
15986
15987 2005-11-09  Wim Taymans  <wim@fluendo.com>
15988
15989         * docs/design/part-TODO.txt:
15990         Some more items for the TODO
15991
15992         * gst/gstcaps.c:
15993         * gst/gstcaps.h:
15994         Document GstCaps.
15995
15996 2005-11-09  Andy Wingo  <wingo@pobox.com>
15997
15998         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15999         to work on something else now tho...
16000
16001         * gst/base/gstadapter.c: More adapter docs.
16002
16003         * gst/elements/gstfilesink.c (gst_file_sink_start) 
16004         (gst_file_sink_stop): New functions, replace the state change
16005         handler.
16006         (gst_file_sink_class_init): Hook up the start and stop functions.
16007         (gst_file_sink_base_init): Don't set the state change handler any
16008         more. It was a bit ugly too, being set from here...
16009         (gst_file_sink_get_property, gst_file_sink_set_property):
16010         Cleanups...
16011         (gst_file_sink_set_location): More robust check that doesn't call
16012         GST_STATE. Ugggggg.
16013
16014 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
16015
16016         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16017           Hold STREAM_LOCK while pushing newsegment or tag events as well.
16018
16019 2005-11-08  Wim Taymans  <wim@fluendo.com>
16020
16021         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16022         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16023         (gst_base_sink_chain), (gst_base_sink_change_state):
16024         * gst/base/gstbasesink.h:
16025         * gst/base/gstbasesrc.h:
16026         * gst/gstelement.h:
16027         * gst/gstevent.h:
16028         Avoid excessive typechecking in macros.
16029
16030         * gst/gstminiobject.c: (gst_mini_object_get_type),
16031         (gst_mini_object_init), (gst_mini_object_new),
16032         (gst_mini_object_free):
16033         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16034         (gst_object_finalize):
16035         Remove cruft code, optimize alloc_trace.
16036
16037 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16038
16039         * docs/faq/gst-uninstalled:
16040           fix up PS1 for systems that try to reset it
16041
16042 2005-11-07  Wim Taymans  <wim@fluendo.com>
16043
16044         * gst/base/gstbasesrc.c: (gst_base_src_init),
16045         (gst_base_src_get_range):
16046         Set the segment_end to -1 initially. Fixed typefind.
16047
16048 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
16049
16050         * gst/base/gstadapter.c:
16051           Debug category should be 'adapter', not 'GstAdapter'.
16052           
16053         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
16054         (gst_collectpads_class_init), (gst_collectpads_init),
16055         (gst_collectpads_peek), (gst_collectpads_pop),
16056         (gst_collectpads_event), (gst_collectpads_chain):
16057           Add debug category and some debugging output. Use boilerplate
16058           macros. Remove some extraneous words from docs.
16059
16060 2005-11-05  Andy Wingo  <wingo@pobox.com>
16061
16062         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
16063         macro.
16064
16065 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16066
16067         * docs/gst/gstreamer-sections.txt:
16068         * gst/gstcaps.h:
16069         * gst/gstinfo.c:
16070         * gst/gstminiobject.h:
16071         * gst/gstobject.h:
16072         * gst/gstutils.h:
16073           more docs added
16074
16075 2005-11-04  Wim Taymans  <wim@fluendo.com>
16076
16077         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16078         Small update to stop at the configured segment_end
16079         position.
16080
16081 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16082
16083         * gst/gstregistry.c:
16084         * gst/gstregistry.h:
16085           added missing docs
16086
16087 2005-11-04  Edward Hervey  <edward@fluendo.com>
16088
16089         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16090         Check if we are doing a segment seek and have arrived at the
16091         end of that segment.
16092
16093 2005-11-04  Wim Taymans  <wim@fluendo.com>
16094
16095         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
16096         Don't leak a mutex unlock in case of an error.
16097
16098         * gst/gstbus.h:
16099         Doc fixes.
16100
16101 2005-11-04  Wim Taymans  <wim@fluendo.com>
16102
16103         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
16104         (gst_bus_post):
16105         Get the context to wake up only once.
16106
16107 2005-11-03  Wim Taymans  <wim@fluendo.com>
16108
16109         * check/states/sinks.c: (GST_START_TEST):
16110         Uncomment fixed check.
16111
16112         * docs/design/part-TODO.txt:
16113         Updated TODO.
16114
16115         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16116         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16117         (gst_base_sink_get_position):
16118         If we are going to PLAYING, post the right pending state
16119         when we post the intermediate paused message.
16120
16121         * gst/gstelement.c: (gst_element_continue_state),
16122         (gst_element_set_state_func), (gst_element_change_state):
16123         Don't post state changes that were between the same state
16124         and were not ASYNC.
16125
16126 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16127
16128         * docs/gst/gstreamer-sections.txt:
16129         * gst/gstcaps.h:
16130         * gst/gstinfo.c:
16131         * gst/gstminiobject.h:
16132         * gst/gstobject.h:
16133         * gst/gstutils.h:
16134           more docs and doc style fixes
16135
16136 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16137
16138         * docs/gst/gstreamer-sections.txt:
16139         * gst/gstelement.c:
16140         * gst/gstminiobject.c:
16141         doc fixes
16142
16143 2005-11-03  Andy Wingo  <wingo@pobox.com>
16144
16145         * check/states/sinks.c (test_livesrc_sink): Add checks that the
16146         state-changed messages actually have the right order and the right
16147         values.
16148
16149 2005-11-03  Wim Taymans  <wim@fluendo.com>
16150
16151         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16152         Added some more checks. Specifically the case where NO_PREROLL
16153         elements are in the pipeline.
16154
16155         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16156         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16157         (gst_base_sink_get_position):
16158         Post READY->PAUSED state change messages too.
16159         Fix bug where VOID was posted as pending state...
16160
16161         * gst/gstbin.c: (gst_bin_recalc_state):
16162         use _element_continue_state() to continue the state change.
16163
16164         * gst/gstelement.c: (gst_element_continue_state),
16165         (gst_element_commit_state), (gst_element_set_state_func),
16166         (gst_element_change_state), (gst_element_change_state_func):
16167         Lots of state change cleanups, assign the STATE_RETURN in
16168         a new continue_state() function that also propagates the
16169         last return value from a state change to the app.
16170         Update some debug statements with proper category.
16171
16172 2005-11-03  Wim Taymans  <wim@fluendo.com>
16173
16174         * docs/design/part-events.txt:
16175         * docs/design/part-gstpipeline.txt:
16176         * docs/design/part-messages.txt:
16177         * docs/design/part-overview.txt:
16178         * docs/design/part-seeking.txt:
16179         * docs/design/part-states.txt:
16180         * docs/design/part-trickmodes.txt:
16181         * docs/manual/advanced-position.xml:
16182         Small docs updates.
16183
16184         * gst/gstobject.h:
16185         People think !! is ugly, this looks better.
16186
16187         * gst/gstpad.c: (gst_pad_set_blocked_async):
16188         Remove !! since it's fixed elsewhere now.
16189
16190 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16191
16192         * gst/gstminiobject.h:
16193         * gst/gstobject.h:
16194           Add !! to _FLAG_IS_SET macros to make the result boolean.
16195
16196 2005-11-03  Edward Hervey  <edward@fluendo.com>
16197
16198         * gst/gstpad.c: (gst_pad_set_blocked_async):
16199         comparing a flag and a gboolean rarely returns coherent results...
16200         Added two characters (!!) to make that work correctly.
16201         
16202 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16203
16204         * gst/gstbus.c: (gst_bus_class_init):
16205           Fix some typos.
16206           
16207         * gst/gstqueue.c: (gst_queue_loop):
16208           Don't assume a miniobject that isn't a buffer is an
16209           event (it could be that there is a refcounting
16210           problem somewhere and the pointer is stale and
16211           refers to an already destroyed miniobject).
16212
16213 2005-11-03  Julien MOUTTE  <julien@moutte.net>
16214
16215         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
16216
16217 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16218
16219         * docs/manual/advanced-position.xml:
16220           Update seek example and explanations to current 0.9 API.
16221
16222         * gst/elements/gsttypefindelement.c:
16223         (gst_type_find_element_activate):
16224           Remove FIXME comment now that the found caps
16225           are unreffed.
16226
16227 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16228
16229         * gst/gstregistryxml.c: (load_feature):
16230           Add another GST_STR_NULL instance
16231
16232 2005-11-02  Edward Hervey  <edward@fluendo.com>
16233
16234         * gst/gstpad.c: (handle_pad_block):
16235         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
16236         
16237 2005-11-02  Wim Taymans  <wim@fluendo.com>
16238
16239         * gst/gstbin.c:
16240         Fix typo in docs.
16241
16242         * gst/gstelement.c: (gst_element_commit_state):
16243         Remove unused value.
16244
16245         * gst/gstiterator.c:
16246         Mention that the returned element is reffed in the docs.
16247
16248 2005-11-02  Wim Taymans  <wim@fluendo.com>
16249
16250         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
16251         (gst_pad_push), (gst_pad_push_event):
16252         Unlock blocked pads when they are flushed.
16253
16254 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16255
16256         * docs/README:
16257         * docs/gst/gstreamer-sections.txt:
16258         * gst/gstbin.c:
16259           doc updates
16260         * gst/gstregistry.c: (gst_registry_scan_path_level):
16261           fix for a nasty little missed situation where an installed plug-in
16262           which was in the cache did not get overridden by an uninstalled one
16263           which was earlier in the plugin path because the newly created plugin
16264           for the uninstalled one (not in the registry) didn't get its
16265           ->registered set to TRUE
16266
16267 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16268
16269         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
16270         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
16271         (gst_collectpads_is_active), (gst_collectpads_collect),
16272         (gst_collectpads_collect_range), (gst_collectpads_start),
16273         (gst_collectpads_stop), (gst_collectpads_peek),
16274         (gst_collectpads_pop), (gst_collectpads_available),
16275         (gst_collectpads_read), (gst_collectpads_flush):
16276           Guard public API with assertions.
16277         
16278         * gst/gstpad.c:
16279           Fix docs for gst_pad_set_link_function().
16280
16281 2005-11-02  Johan Dahlin  <johan@gnome.org>
16282
16283         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
16284         Unref found_caps after we used it.
16285
16286 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16287
16288         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
16289           Don't try to ref NULL.
16290
16291 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16292
16293         * win32/common/config.h.in:
16294           provide a GST_FUNCTION that just gives a string for now
16295
16296 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16297
16298         * win32/common/gstenumtypes.c: (register_gst_object_flags),
16299         (gst_object_flags_get_type), (register_gst_bin_flags),
16300         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16301         (gst_buffer_flag_get_type), (register_gst_bus_flags),
16302         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16303         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
16304         (gst_clock_return_get_type), (register_gst_clock_entry_type),
16305         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16306         (gst_clock_flags_get_type), (register_gst_state),
16307         (gst_state_get_type), (register_gst_state_change_return),
16308         (gst_state_change_return_get_type), (register_gst_state_change),
16309         (gst_state_change_get_type), (register_gst_element_flags),
16310         (gst_element_flags_get_type), (register_gst_core_error),
16311         (gst_core_error_get_type), (register_gst_library_error),
16312         (gst_library_error_get_type), (register_gst_resource_error),
16313         (gst_resource_error_get_type), (register_gst_stream_error),
16314         (gst_stream_error_get_type), (register_gst_event_type),
16315         (gst_event_type_get_type), (register_gst_seek_type),
16316         (gst_seek_type_get_type), (register_gst_seek_flags),
16317         (gst_seek_flags_get_type), (register_gst_format),
16318         (gst_format_get_type), (register_gst_index_certainty),
16319         (gst_index_certainty_get_type), (register_gst_index_entry_type),
16320         (gst_index_entry_type_get_type),
16321         (register_gst_index_lookup_method),
16322         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16323         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16324         (gst_index_resolver_method_get_type), (register_gst_index_flags),
16325         (gst_index_flags_get_type), (register_gst_debug_level),
16326         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16327         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16328         (gst_iterator_result_get_type), (register_gst_iterator_item),
16329         (gst_iterator_item_get_type), (register_gst_message_type),
16330         (gst_message_type_get_type), (register_gst_mini_object_flags),
16331         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16332         (gst_pad_link_return_get_type), (register_gst_flow_return),
16333         (gst_flow_return_get_type), (register_gst_activate_mode),
16334         (gst_activate_mode_get_type), (register_gst_pad_direction),
16335         (gst_pad_direction_get_type), (register_gst_pad_flags),
16336         (gst_pad_flags_get_type), (register_gst_pad_presence),
16337         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16338         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16339         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16340         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16341         (gst_plugin_flags_get_type), (register_gst_rank),
16342         (gst_rank_get_type), (register_gst_query_type),
16343         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16344         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16345         (gst_tag_flag_get_type), (register_gst_task_state),
16346         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16347         (gst_alloc_trace_flags_get_type),
16348         (register_gst_type_find_probability),
16349         (gst_type_find_probability_get_type), (register_gst_uri_type),
16350         (gst_uri_type_get_type), (register_gst_parse_error),
16351         (gst_parse_error_get_type):
16352         * win32/common/gstversion.h:
16353           update win32 copies
16354
16355 2005-11-01  Luca Ognibene  <luogni@tin.it>
16356
16357         * gst/gst.c:
16358           fix docs. popt is dead, long live GOption.
16359
16360 2005-10-31  Wim Taymans  <wim@fluendo.com>
16361
16362         * gst/gstbuffer.h:
16363         Small doc fix.
16364
16365 2005-10-31  Andy Wingo  <wingo@pobox.com>
16366
16367         * Boo!
16368
16369         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
16370
16371         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
16372         need to serialize property notifications on GLib 2.8. GLib 2.6 has
16373         the possibility of deadlocks here if code calling notify() or
16374         set() has a lock that can be taken in another notify handler (ABBA
16375         with class lock and e.g. python GIL state lock).
16376
16377 2005-10-28  Julien MOUTTE  <julien@moutte.net>
16378
16379         * gst/gstbus.c: Doc updates.
16380
16381 2005-10-28  Wim Taymans  <wim@fluendo.com>
16382
16383         * docs/design/part-TODO.txt:
16384         * gst/gstiterator.c:
16385         * gst/gstsystemclock.c:
16386         * gst/gstsystemclock.h:
16387         Doc updates.
16388
16389 2005-10-28  Edward Hervey  <edward@fluendo.com>
16390
16391         * docs/gst/gstreamer-docs.sgml:
16392         * docs/gst/gstreamer-sections.txt:
16393         the GstURIType documentation page is private, it only defines GstURIType
16394         which should be defined in the GstURIHandler page
16395         
16396 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16397
16398         * gst/gstbin.c: (gst_bin_class_init):
16399         * gst/gstbin.h:
16400         * gst/gstutils.c:
16401         Documentation updates.
16402
16403 2005-10-28  Wim Taymans  <wim@fluendo.com>
16404
16405         * docs/gst/gstreamer-sections.txt:
16406         * gst/gstclock.c:
16407         * gst/gstclock.h:
16408         Documented the clocks.
16409
16410 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
16411
16412         * docs/gst/gstreamer-sections.txt:
16413           move some macros to private sections
16414         * gst/gstminiobject.c:
16415         * gst/gstminiobject.h:
16416           add descriptions provided by ds and some more
16417         * gst/gstpad.h:
16418           mark macro as to be removed
16419
16420 2005-10-28  Wim Taymans  <wim@fluendo.com>
16421
16422         * docs/design/part-TODO.txt:
16423         Add an item to TODO.
16424
16425         * gst/gstiterator.c: (gst_iterator_fold),
16426         (gst_iterator_find_custom):
16427         * gst/gstiterator.h:
16428         Add iterator docs.
16429
16430 2005-10-28  Wim Taymans  <wim@fluendo.com>
16431
16432         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16433         (gst_base_transform_init):
16434         Don't leak class.
16435
16436         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
16437         An EOS event marks the queue as completely filled.
16438
16439 2005-10-27  Wim Taymans  <wim@fluendo.com>
16440
16441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16442         (gst_base_sink_do_sync), (gst_base_sink_get_position):
16443         Some more debugging.
16444
16445         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
16446         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
16447         (gst_base_transform_event), (gst_base_transform_getrange),
16448         (gst_base_transform_chain):
16449         * gst/base/gstbasetransform.h:
16450         Fix debugging,
16451         Protect transform and concurrent buffer alloc with a new lock.
16452         Try not to break ABI/API.
16453
16454 2005-10-27  Wim Taymans  <wim@fluendo.com>
16455
16456         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16457         (gst_base_src_init), (gst_base_src_query),
16458         (gst_base_src_default_newsegment),
16459         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16460         (gst_base_src_send_event), (gst_base_src_event_handler),
16461         (gst_base_src_pad_get_range), (gst_base_src_loop),
16462         (gst_base_src_unlock), (gst_base_src_default_negotiate),
16463         (gst_base_src_start), (gst_base_src_deactivate),
16464         (gst_base_src_activate_push), (gst_base_src_change_state):
16465         Move some stuff around and cleanup things.
16466
16467 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
16468
16469         * gst/base/gstbasesrc.c: (gst_base_src_query):
16470           Add missing break statements.
16471
16472 2005-10-27  Wim Taymans  <wim@fluendo.com>
16473
16474         * check/gst/gstbin.c: (GST_START_TEST):
16475         An extra refcount is taken in basesrc.
16476
16477         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16478         (gst_base_src_get_range), (gst_base_src_pad_get_range),
16479         (gst_base_src_loop):
16480         Small cleanups, check for flushing after being unlocked from the 
16481         LIVE_LOCK. take refcounts correctly (not yet everywhere).
16482         Don't send out EOS when going to READY.
16483
16484 2005-10-27  Wim Taymans  <wim@fluendo.com>
16485
16486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16487         (gst_base_sink_get_position):
16488         Some more debug.
16489
16490         * gst/gstbin.c: (message_check), (bin_replace_message),
16491         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16492         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16493         (bin_query_duration_init), (bin_query_duration_fold),
16494         (bin_query_duration_done), (bin_query_generic_fold),
16495         (gst_bin_query):
16496         * tools/gst-launch.c: (main):
16497         Remove old option.
16498
16499 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
16500
16501         * examples/controller/audio-example.c: (main):
16502         * examples/queue/queue.c: (event_loop):
16503         * gst/base/gstbasetransform.h:
16504         * gst/gstelement.c: (gst_element_send_event):
16505         * gst/gstevent.h:
16506         * gst/gstpad.c: (gst_pad_send_event):
16507           fixing examples
16508           fixing docs typos
16509           changing log priority in error situations
16510
16511 2005-10-25  Wim Taymans  <wim@fluendo.com>
16512
16513         * gst/gstbin.c: (message_check), (bin_replace_message),
16514         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16515         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16516         (bin_query_duration_init), (bin_query_duration_fold),
16517         (bin_query_duration_done), (bin_query_generic_fold),
16518         (gst_bin_query):
16519         Some doc and debug updates.
16520         Cache previously requested query DURATION for speed. invalidate
16521         cached duration if element posts a DURATION message.
16522
16523 2005-10-25  Wim Taymans  <wim@fluendo.com>
16524
16525         * docs/design/part-TODO.txt:
16526         Update TODO.
16527
16528         * gst/gstbin.c: (message_check), (bin_replace_message),
16529         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16530         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16531         (bin_query_duration_init), (bin_query_duration_fold),
16532         (bin_query_duration_done), (bin_query_generic_fold),
16533         (gst_bin_query):
16534         Handle SEGMENT_START/DONE messages correctly.
16535         More evolved query algorithm that handles duration queries
16536         correctly.
16537
16538         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16539         (gst_element_get_state_func), (gst_element_abort_state),
16540         (gst_element_commit_state), (gst_element_lost_state):
16541         Some more debugging.
16542
16543         * gst/gstmessage.h:
16544         Added doc.
16545
16546 2005-10-25  Wim Taymans  <wim@fluendo.com>
16547
16548         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16549         Don't use invalid stream_time.
16550
16551         * gst/gstevent.c: (gst_event_new_newsegment):
16552         stream_time in newsegment cannot be undefined.
16553
16554 2005-10-24  Wim Taymans  <wim@fluendo.com>
16555
16556         * gst/gstbus.c:
16557         Doc fix.
16558
16559         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16560         (gst_queue_loop):
16561         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16562
16563 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16564
16565         * docs/libs/tmpl/gstdparam.sgml:
16566         * docs/libs/tmpl/gstdplinint.sgml:
16567         * docs/libs/tmpl/gstdpman.sgml:
16568         * docs/libs/tmpl/gstdpsmooth.sgml:
16569         * docs/libs/tmpl/gstunitconvert.sgml:
16570           these are obsolete
16571
16572 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16573
16574         * configure.ac:
16575           back to HEAD
16576
16577 === release 0.9.4 ===
16578
16579 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16580
16581         * configure.ac:
16582           releasing 0.9.4, "Tyrannosaurus Rex"
16583
16584 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
16585
16586         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16587         (gst_file_sink_get_current_offset):
16588           Use fseeko() and ftello() if available. When falling back on
16589           lseek() to get the current offset, fflush() first to make sure
16590           everything is up-to-date and we get the right offset.
16591
16592 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16593
16594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16595         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16596         * gst/gsterror.c: (_gst_stream_errors_init):
16597         * gst/gsterror.h:
16598         * gst/gstqueue.c: (gst_queue_loop):
16599         * po/POTFILES.in:
16600           remove prematurely added error category and clean up the instances
16601
16602 2005-10-21  Wim Taymans  <wim@fluendo.com>
16603
16604         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16605         (gst_base_sink_get_position), (gst_base_sink_query),
16606         (gst_base_sink_change_state):
16607         Simply set the right flag when going to playing, that's all
16608         we need to do instead of calling a function inside the object
16609         lock (that could take the lock as well and deadlock)
16610
16611 2005-10-21  Wim Taymans  <wim@fluendo.com>
16612
16613         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16614         (gst_base_src_loop):
16615         Don't warn, the peer element knows what to do best when
16616         the seek failed, it might try something else.
16617
16618 2005-10-21  Wim Taymans  <wim@fluendo.com>
16619
16620         * gst/base/gstbasesrc.c: (gst_base_src_init),
16621         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16622         Fix seeking.
16623
16624 2005-10-21  Wim Taymans  <wim@fluendo.com>
16625
16626         * docs/design/part-segments.txt:
16627         More docs.
16628
16629         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16630         Correctly set caps, even on the subbufer.
16631
16632 2005-10-21  Wim Taymans  <wim@fluendo.com>
16633
16634         * docs/gst/gstreamer-docs.sgml:
16635         * docs/gst/gstreamer-sections.txt:
16636         * gst/gstelement.h:
16637         * gst/gstevent.c:
16638         * gst/gstevent.h:
16639         * gst/gstmessage.h:
16640         * gst/gstpad.h:
16641         * gst/gstparse.h:
16642         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16643         * gst/gsttask.h:
16644         * gst/gstutils.c:
16645         * gst/gstutils.h:
16646         And 2% more doc coverage.
16647
16648 2005-10-21  Andy Wingo  <wingo@pobox.com>
16649
16650         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16651         position reporting.
16652
16653 2005-10-20  Wim Taymans  <wim@fluendo.com>
16654
16655         * gst/gsterror.c: (gst_error_get_message):
16656         * gst/gstparse.h:
16657         * gst/gstquery.h:
16658         * gst/gststructure.c:
16659         * gst/gsttrace.c:
16660         * gst/gstutils.c:
16661         More docs.
16662
16663 2005-10-20  Wim Taymans  <wim@fluendo.com>
16664
16665         * gst/gstbuffer.h:
16666         * gst/gstpad.c:
16667         * gst/gstparse.c:
16668         Another 1% more coverage.
16669
16670 2005-10-20  Wim Taymans  <wim@fluendo.com>
16671
16672         * docs/gst/gstreamer-sections.txt:
16673         * gst/gstelement.c: (gst_element_get_state_func),
16674         (gst_element_abort_state), (gst_element_commit_state),
16675         (gst_element_lost_state):
16676         * gst/gstevent.h:
16677         * gst/gstquery.c: (gst_query_set_position),
16678         (gst_query_parse_position), (gst_query_set_duration),
16679         (gst_query_parse_duration), (gst_query_new_convert):
16680         * gst/gstutils.c:
16681         Yay! 1% more docs coverage.
16682
16683 2005-10-20  Wim Taymans  <wim@fluendo.com>
16684
16685         * gst/gstpad.h:
16686         * gst/gstquery.c: (gst_query_set_position),
16687         (gst_query_parse_position), (gst_query_set_duration),
16688         (gst_query_parse_duration), (gst_query_new_convert):
16689         * gst/gstquery.h:
16690         * gst/gstutils.c: (gst_element_query_convert):
16691         * gst/gstutils.h:
16692         Docs and consistency fixes.
16693
16694 2005-10-20  Wim Taymans  <wim@fluendo.com>
16695
16696         * gst/gsttask.c:
16697         * gst/gsttask.h:
16698         More docs.
16699
16700 2005-10-20  Wim Taymans  <wim@fluendo.com>
16701
16702         * gst/gstbin.c: (message_check), (bin_replace_message),
16703         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16704         (update_degree), (gst_bin_sort_iterator_next),
16705         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16706         Reworked the message handling a bit, cache the messages instead of
16707         only the senders. alows us to do more in the future.
16708
16709 2005-10-20  Wim Taymans  <wim@fluendo.com>
16710
16711         * docs/design/part-TODO.txt:
16712         Update TODO
16713
16714         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16715         (gst_base_sink_query):
16716         Don't use clock time to report position when in EOS.
16717
16718 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16719
16720         * tools/gst-inspect.c: (print_interfaces),
16721         (print_element_properties_info), (print_element_info):
16722           Fix interface output with gst-inspect -a; don't print
16723           newlines after double/float properties.
16724
16725 2005-10-20  Wim Taymans  <wim@fluendo.com>
16726
16727         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16728         (gst_base_sink_query):
16729         Speed up current position calculation.
16730
16731         * gst/base/gstbasesrc.c: (gst_base_src_query),
16732         (gst_base_src_default_newsegment):
16733         Correctly set stream position in newsegment.
16734
16735         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16736         (update_degree), (gst_bin_sort_iterator_next),
16737         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16738         * gst/gstmessage.c: (gst_message_new_custom):
16739         Clean up debugging info
16740
16741         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16742         (gst_queue_loop), (gst_queue_handle_src_query):
16743         Pause task faster.
16744
16745 2005-10-19  Wim Taymans  <wim@fluendo.com>
16746
16747         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16748         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16749         Fix query handling again.
16750
16751 2005-10-19  Wim Taymans  <wim@fluendo.com>
16752
16753         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16754         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16755         * gst/base/gstbasesrc.c: (gst_base_src_query):
16756         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16757         * gst/elements/gsttypefindelement.c:
16758         (gst_type_find_handle_src_query), (find_element_get_length),
16759         (gst_type_find_element_activate):
16760         API change fix.
16761
16762         * gst/gstquery.c: (gst_query_new_position),
16763         (gst_query_set_position), (gst_query_parse_position),
16764         (gst_query_new_duration), (gst_query_set_duration),
16765         (gst_query_parse_duration), (gst_query_set_segment),
16766         (gst_query_parse_segment):
16767         * gst/gstquery.h:
16768         Bundling query position/duration is not a good idea since duration
16769         does not change much and we don't want to recalculate it for every
16770         position query, so they are separated again..
16771         Base value in segment query is not needed.
16772
16773         * gst/gstqueue.c: (gst_queue_handle_src_query):
16774         * gst/gstutils.c: (gst_element_query_position),
16775         (gst_element_query_duration), (gst_pad_query_position),
16776         (gst_pad_query_duration):
16777         * gst/gstutils.h:
16778         Updates for query API change.
16779         Added some docs here and there.
16780
16781 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16782
16783         * check/gst/gstbin.c: (GST_START_TEST):
16784         * check/gst/gstghostpad.c: (GST_START_TEST):
16785         * check/pipelines/cleanup.c: (GST_START_TEST):
16786           wait on thread to die so we can check refcount correctly
16787
16788 2005-10-18  Wim Taymans  <wim@fluendo.com>
16789
16790         * check/pipelines/stress.c: (GST_START_TEST):
16791         Make check a little more time consuming.
16792
16793 2005-10-18  Wim Taymans  <wim@fluendo.com>
16794
16795         * check/Makefile.am:
16796         * check/pipelines/stress.c: (GST_START_TEST),
16797         (simple_launch_lines_suite), (main):
16798         Small state change torture test.
16799
16800         * docs/design/part-states.txt:
16801         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16802         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16803         (gst_base_sink_change_state):
16804         Never take state lock from streaming thread, clean up ugly
16805         hacks. Unfortunatly core does not yet support nice ways to
16806         async commit state.
16807         
16808         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16809         (bin_bus_handler):
16810         Start state recalc if a STATE_DIRTY message is posted, but only
16811         on the toplevel bin.
16812
16813         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16814         (gst_element_get_state_func), (gst_element_abort_state),
16815         (gst_element_commit_state), (gst_element_lost_state),
16816         (gst_element_set_state_func), (gst_element_change_state):
16817         * gst/gstelement.h:
16818         State variables are now protected with the LOCK, the state
16819         lock is only used to serialize _set_state().
16820
16821 2005-10-18  Wim Taymans  <wim@fluendo.com>
16822
16823         * check/gst/gstbin.c: (GST_START_TEST):
16824         * check/gst/gstmessage.c: (GST_START_TEST):
16825         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16826         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16827         (bin_bus_handler):
16828         * gst/gstelement.c: (gst_element_abort_state),
16829         (gst_element_commit_state), (gst_element_lost_state):
16830         * gst/gstmessage.c: (gst_message_new_state_changed),
16831         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16832         (gst_message_new_segment_done), (gst_message_new_duration),
16833         (gst_message_parse_state_changed),
16834         (gst_message_parse_segment_start),
16835         (gst_message_parse_segment_done), (gst_message_parse_duration):
16836         * gst/gstmessage.h:
16837         * tools/gst-launch.c: (event_loop):
16838         Seriously, this is better than a previous commit as we only need
16839         to notify the fact that an element changed state in a streaming
16840         thread, marking the state of the parents dirty, hence the 
16841         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16842         message.
16843
16844 2005-10-18  Wim Taymans  <wim@fluendo.com>
16845
16846         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16847         (gst_bin_recalc_func):
16848         * gst/gstelement.c: (gst_element_set_clock),
16849         (gst_element_abort_state), (gst_element_lost_state):
16850         Cleanups, prepare for state change fixes.
16851
16852 2005-10-18  Wim Taymans  <wim@fluendo.com>
16853
16854         * gst/gstbin.h:
16855         * gst/gstelement.c: (gst_element_class_init),
16856         (gst_element_set_state), (gst_element_set_state_func):
16857         * gst/gstelement.h:
16858         Pending ABI changes.
16859         GThreadPool in GstBinClass to monitor async state changes.
16860         state_cookie in GstElement to detect concurrent gst/set state.
16861         set_state is now virtual too in case a very complicated element
16862         has to be constructed.
16863
16864 2005-10-18  Wim Taymans  <wim@fluendo.com>
16865
16866         * check/gst/gstbin.c: (GST_START_TEST):
16867         * check/gst/gstmessage.c: (GST_START_TEST):
16868         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16869         * gst/gstbin.c: (bin_bus_handler):
16870         * gst/gstelement.c: (gst_element_commit_state),
16871         (gst_element_lost_state):
16872         * gst/gstmessage.c: (gst_message_new_state_changed),
16873         (gst_message_new_segment_start), (gst_message_new_segment_done),
16874         (gst_message_new_duration), (gst_message_parse_state_changed),
16875         (gst_message_parse_segment_start),
16876         (gst_message_parse_segment_done), (gst_message_parse_duration):
16877         * gst/gstmessage.h:
16878         * tools/gst-launch.c: (event_loop):
16879         Make messages future proof.
16880         state-change gets a flag if it was a message comming from the
16881         streaming thread.
16882         segment-start/stop can also be specified in other formats.
16883         A message to notify an app that a pipeline changed playback 
16884         duration.
16885         Also fix a GstMessage leak in -launch
16886
16887 2005-10-18  Andy Wingo  <wingo@pobox.com>
16888
16889         * gst/gstelement.c (gst_element_dispose): More helpful message.
16890
16891 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16892
16893         reviewed by: <delete if not using a buddy>
16894
16895         * common/gtk-doc.mak:
16896
16897 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16898
16899         * gst/gstregistry.c: (gst_registry_scan_path_level):
16900           unref a plug-in we get that was already initialized
16901
16902 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
16903
16904         * docs/gst/gstreamer-sections.txt:
16905         * docs/libs/gstreamer-libs-sections.txt:
16906         * gst/gstelement.h:
16907           add new api entries
16908           hide internal macro
16909
16910 2005-10-17  Andy Wingo  <wingo@pobox.com>
16911
16912         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16913         cleanup.
16914
16915         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16916
16917         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16918
16919         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16920         (gst_element_get_state_func): Better debug message.
16921         (gst_element_commit_state): s/INFO/DEBUG/.
16922         (gst_element_lost_state, gst_element_change_state): 
16923
16924         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16925         (gst_message_new_custom): s/INFO/LOG/.
16926
16927 2005-10-17  Michael Smith <msmith@fluendo.com>
16928
16929         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16930           Check if end time is valid using end time, not start time.
16931
16932 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
16933
16934         * check/gst-libs/controller.c: (GST_START_TEST),
16935         (gst_controller_suite):
16936         * libs/gst/controller/gstcontroller.c:
16937         (gst_controlled_property_set_interpolation_mode):
16938         * libs/gst/controller/gstcontroller.h:
16939         * libs/gst/controller/gstinterpolation.c:
16940         * testsuite/controller/.cvsignore:
16941         * testsuite/controller/Makefile.am:
16942         * testsuite/controller/interpolator.c:
16943           merge controller testsuites
16944           fix broken tests
16945           remove mem-chunk from docs
16946
16947 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16948
16949         * gst/gstmemchunk.c:
16950         * gst/gstmemchunk.h:
16951         * gst/gsttrashstack.c:
16952         * gst/gsttrashstack.h:
16953           out.  get out.  you're fired.  to the Attic !
16954
16955 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16956
16957         * gst/gstcaps.c: (gst_caps_intersect):
16958           fix signedness issues in a (hopefully) correct way
16959         * gst/gstelement.c: (gst_element_pads_activate):
16960           some debugging
16961         * gst/gstobject.c: (gst_object_set_parent):
16962           some debugging
16963
16964 2005-10-17  Julien MOUTTE  <julien@moutte.net>
16965
16966         * gst/gstvalue.h: Fix prototypes.
16967
16968 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16969
16970         * docs/gst/gstreamer-sections.txt:
16971         * gst/gst.c: (gst_version_string):
16972         * gst/gst.h:
16973         * gst/gstversion.h.in:
16974         * win32/common/libgstreamer.def:
16975           add gst_version_string ()
16976
16977 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16978
16979         * configure.ac:
16980           clean up further
16981         * gst/gst.c: (init_post):
16982         * win32/common/config.h.in:
16983           it's PLUGINDIR now
16984         * gst/gstcaps.c: (gst_caps_intersect):
16985           use gint64, the range could be bigger than a guint
16986
16987 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16988
16989         * gst/gstclock.h:
16990           document potential problem in 2038
16991
16992 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16993
16994         * gst/gstcaps.c: (gst_caps_intersect):
16995           Fix guint j diving under 0
16996
16997 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16998
16999         * configure.ac:
17000         * win32/common/config.h:
17001         * win32/common/config.h.in:
17002           check for process.h, declares getpid() on Windows
17003         * gst/gstinfo.c:
17004           include process.h if we have it
17005         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
17006         * gst/gstmemchunk.h:
17007           fix signedness issues
17008         * win32/common/libgstreamer.def:
17009           fix get_type's
17010
17011 2005-10-16  Julien MOUTTE  <julien@moutte.net>
17012
17013         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
17014         fix. Because of unsigned ints, caps intersection was going nuts and
17015         trying to access structures with G_MAXUINT index. That fixes
17016         videotestsrc ! ffmpegcolorspace ! fakesink
17017         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
17018         consistency.
17019
17020 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17021
17022         * configure.ac:
17023           use the gettext macro
17024         * gst/elements/gstelements.c:
17025         * gst/gst.c:
17026         * gst/indexers/gstindexers.c:
17027           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
17028         * win32/common/config.h:
17029           updated config.h
17030         * win32/common/config.h.in:
17031           add the template to generate config.h
17032         * win32/common/gstenumtypes.c:
17033         * win32/common/gstversion.h:
17034           updated copies
17035
17036 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17037
17038         * gst/gst.c: (gst_version):
17039         * gst/gstversion.h.in:
17040           add the nano
17041
17042 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17043
17044         * gst/gstevent.h:
17045           Oops, add missing closing bracket.
17046
17047 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17048
17049         * configure.ac:
17050           use common m4's for argument checking
17051
17052 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17053
17054         * docs/gst/gstreamer-sections.txt:
17055         * gst/gstevent.h:
17056           Add GST_EVENT_TYPE_NAME() macro.
17057
17058 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17059
17060         * gst/gstinfo.c:
17061         * gst/gstpluginfeature.c:
17062         * gst/gsttask.c:
17063           privatize more symbols
17064
17065 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17066
17067         * configure.ac:
17068           add srcdir, builddir includes to GST_ALL_CFLAGS, since
17069           everything that uses GStreamer API should have the includes
17070
17071 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17072
17073         * docs/gst/gstreamer-sections.txt:
17074         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
17075         * gst/gstvalue.h:
17076           give each value a _get_type, removes the DATA exports
17077
17078 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17079
17080         * gst/gst.c:
17081         * gst/gst.h:
17082           remove _gst_registry_auto_load, not used anymore
17083         * gst/gstbin.c: (gst_bin_get_type):
17084         * gst/gstbin.h:
17085         * gst/gstelement.c: (gst_element_get_type):
17086         * gst/gstelement.h:
17087         * gst/gstobject.c: (gst_object_get_type):
17088         * gst/gstobject.h:
17089         * gst/gstpad.c: (gst_pad_get_type):
17090         * gst/gstpad.h:
17091           make _get_type functions similar, fixes data export from library
17092
17093 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17094
17095         * configure.ac:
17096           correctly make conditionals
17097         * gst/elements/Makefile.am:
17098         * gst/elements/gstelements.c:
17099           fix typo causing fdsrc not to build
17100
17101 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17102
17103         * testsuite/Makefile.am:
17104         * testsuite/bytestream/.cvsignore:
17105         * testsuite/bytestream/Makefile.am:
17106         * testsuite/bytestream/filepadsink.c:
17107         * testsuite/bytestream/gstbstest.c:
17108         * testsuite/bytestream/test1.c:
17109         * testsuite/bytestream/testfile1:
17110         * testsuite/caps/normalisation.c:
17111         * testsuite/caps/random.c: (main):
17112         * testsuite/cleanup/.cvsignore:
17113         * testsuite/cleanup/Makefile.am:
17114         * testsuite/cleanup/cleanup1.c:
17115         * testsuite/cleanup/cleanup2.c:
17116         * testsuite/cleanup/cleanup3.c:
17117         * testsuite/cleanup/cleanup4.c:
17118         * testsuite/cleanup/cleanup5.c:
17119         * testsuite/controller/interpolator.c:
17120         * testsuite/debug/printf_extension.c: (main):
17121         * testsuite/elements/tee.c:
17122         * testsuite/negotiation/.cvsignore:
17123         * testsuite/negotiation/Makefile.am:
17124         * testsuite/negotiation/pad_link.c:
17125         * testsuite/pad/Makefile.am:
17126         * testsuite/pad/chainnopull.c:
17127         * testsuite/pad/getnopush.c:
17128         * testsuite/pad/link.c:
17129         * testsuite/refcounting/sched.c: (create_pipeline):
17130         * testsuite/registry/Makefile.am:
17131         * testsuite/registry/gst-print-formats.c:
17132         * testsuite/schedulers/.cvsignore:
17133         * testsuite/schedulers/142183-2.c:
17134         * testsuite/schedulers/142183.c:
17135         * testsuite/schedulers/143777-2.c:
17136         * testsuite/schedulers/143777.c:
17137         * testsuite/schedulers/147713.c:
17138         * testsuite/schedulers/147819.c:
17139         * testsuite/schedulers/147894-2.c:
17140         * testsuite/schedulers/147894.c:
17141         * testsuite/schedulers/Makefile.am:
17142         * testsuite/schedulers/group_link.c:
17143         * testsuite/schedulers/queue_link.c:
17144         * testsuite/schedulers/relink.c:
17145         * testsuite/schedulers/unlink.c:
17146         * testsuite/schedulers/unref.c:
17147         * testsuite/schedulers/useless_iteration.c:
17148         * testsuite/states/bin.c:
17149           clean out/remove some stuff from the testsuite directories
17150
17151 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17152
17153         * configure.ac:
17154           check for some headers
17155         * gst/elements/Makefile.am:
17156         * gst/elements/gstelements.c:
17157           don't compile fdsrc without sys/socket.h
17158         * gst/indexers/Makefile.am:
17159         * gst/indexers/gstindexers.c: (plugin_init):
17160           don't compile fileindex without mmap
17161
17162 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17163
17164         * configure.ac:
17165           reorganize
17166           clean up
17167           document more
17168           remove cruft
17169         * check/Makefile.am:
17170         * docs/gst/Makefile.am:
17171         * examples/helloworld/Makefile.am:
17172         * gst/Makefile.am:
17173         * gst/base/Makefile.am:
17174         * gst/check/Makefile.am:
17175         * gst/elements/Makefile.am:
17176         * gst/indexers/Makefile.am:
17177         * gst/parse/Makefile.am:
17178         * libs/gst/controller/Makefile.am:
17179         * libs/gst/dataprotocol/Makefile.am:
17180         * examples/helloworld/helloworld.c: (event_loop):
17181           compile fixes, though it's not being compiled currently
17182
17183 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17184
17185         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
17186           Add some simple tests for the new taglist date API.
17187
17188 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17189
17190         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
17191         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
17192           Beautify 'last-message' output: print 'none' for buffer timestamps
17193           and durations if none is set; improve alignment with next messages.
17194
17195 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17196
17197         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
17198         * gst/gstpluginfeature.h:
17199         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
17200         * gst/gstregistry.h:
17201         * docs/gst/gstreamer-sections.txt:
17202           Add new API to check plugin feature version requirements.
17203
17204         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
17205           Some basic tests for the above.         
17206
17207 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17208
17209         * gst/gststructure.c: (gst_structure_to_string):
17210           guard against NULL printf - happens when for example
17211           a message structure with GstClock gets serialized
17212
17213 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17214
17215         * gst/base/gstcollectpads.c: (gst_collectpads_event):
17216           Fix presumable copy'n'pasto.
17217
17218 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17219
17220         * gst/elements/gstfakesrc.h:
17221         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
17222         * gst/elements/gsttypefindelement.c:
17223           fix some signedness
17224         * gst/elements/gstfilesink.c: (gst_file_sink_render):
17225           I wonder if this could actually write +2GB files before
17226
17227 2005-10-13  Andy Wingo  <wingo@pobox.com>
17228
17229         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
17230         Fix Timmeke Waymans bug.
17231         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
17232         string of the proper length to gst_caps_from_string. There's a
17233         potential for, before this fix, that this could cause someone
17234         connecting over the network to cause a segfault if the payload is
17235         not NUL-terminated.
17236
17237 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17238
17239         * docs/design/draft-push-pull.txt:
17240         * docs/design/part-overview.txt:
17241         * docs/random/TODO-pre-0.9:
17242         * docs/random/old/ChangeLog.gstreamer:
17243         * gst/base/gstpushsrc.c:
17244         * gst/gstclock.c:
17245           fixed typos
17246
17247 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17248
17249         * gst/glib-compat.c: (gst_flags_get_first_value):
17250         * gst/glib-compat.h:
17251         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
17252         (gst_value_compare_double), (gst_value_serialize_flags):
17253           GLib 2.6 g_flags_get_first_value has a bug that triggers an
17254           infinite loop
17255
17256 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17257
17258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17259         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17260           fix up debugging
17261         * tools/gst-launch.c: (event_loop):
17262           print out clock nicely
17263
17264 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17265
17266         * docs/gst/gstreamer-sections.txt:
17267         * gst/gsttaglist.h:
17268         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
17269         (gst_tag_list_get_date_index):
17270           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
17271           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
17272
17273 2005-10-13  Julien MOUTTE  <julien@moutte.net>
17274
17275         * gst/base/gstcollectpads.c: (gst_collectpads_event),
17276         (gst_collectpads_chain):
17277         * gst/base/gstcollectpads.h: Handle newsegment and store informations
17278         in CollectData.
17279
17280 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17281
17282         * docs/gst/gstreamer-sections.txt:
17283         * gst/gst.c:
17284         * gst/gsterror.h:
17285         * tools/gst-inspect.c: (main):
17286         * tools/gst-launch.c: (main):
17287         * tools/gst-run.c: (main):
17288         * tools/gst-xmlinspect.c: (main):
17289           fix GOption context leaks
17290           doc fixes
17291
17292 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17293
17294         * gst/gstbus.c:
17295           use HAVE_UNISTD_H
17296         * win32/common/config.h:
17297           update config
17298         * win32/vs6/grammar.dsp:
17299         * win32/vs6/libgstelements.dsp:
17300         * win32/vs6/libgstreamer.dsp:
17301           update vs6 files
17302
17303 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17304
17305         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17306         * gst/base/gstbasesrc.c: (gst_base_src_query):
17307           fix more guint64<->gdouble conversions
17308
17309 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17310
17311         * Makefile.am:
17312           add win32-update target
17313         * win32/common/gstconfig.h:
17314         * win32/common/gstenumtypes.c:
17315         * win32/common/gstenumtypes.h:
17316         * win32/common/gstversion.h:
17317           add files that visual studio can't generate
17318
17319 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17320
17321         * Makefile.am:
17322           add a win32-update target
17323         * configure.ac:
17324
17325 2005-10-12  Wim Taymans  <wim@fluendo.com>
17326
17327         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17328         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
17329         * gst/gstelement.c: (gst_element_commit_state),
17330         (gst_element_set_state):
17331         Protect flags with proper lock.
17332         unref provided cached clock in dispose.
17333
17334 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17335
17336         * gst/gst.c:
17337         * gst/gstminiobject.h:
17338         * gst/gstpad.h:
17339         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
17340           removed unused flags from miniobject
17341           doc fixes
17342
17343 2005-10-12  Wim Taymans  <wim@fluendo.com>
17344
17345         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17346         (gst_file_sink_event), (gst_file_sink_render):
17347         Flush before seeking.
17348
17349 2005-10-12  Andy Wingo  <wingo@pobox.com>
17350
17351         * gst/gst.c (gst_init_check): Ignore unknown options, as has
17352         always been the case.
17353
17354 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17355
17356         * check/gst/gstbin.c: (GST_START_TEST):
17357         * docs/gst/gstreamer-sections.txt:
17358         * gst/base/gstbasesink.c: (gst_base_sink_init):
17359         * gst/base/gstbasesrc.c: (gst_base_src_init),
17360         (gst_base_src_get_range), (gst_base_src_check_get_range),
17361         (gst_base_src_start), (gst_base_src_stop):
17362         * gst/base/gstbasesrc.h:
17363         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
17364         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17365         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
17366         (bin_bus_handler):
17367         * gst/gstbin.h:
17368         * gst/gstbuffer.h:
17369         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
17370         * gst/gstbus.h:
17371         * gst/gstelement.c: (gst_element_is_locked_state),
17372         (gst_element_set_locked_state), (gst_element_commit_state),
17373         (gst_element_set_state):
17374         * gst/gstelement.h:
17375         * gst/gstindex.c: (gst_index_init):
17376         * gst/gstindex.h:
17377         * gst/gstminiobject.h:
17378         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
17379         (gst_object_set_parent):
17380         * gst/gstobject.h:
17381         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
17382         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
17383         * gst/gstpad.h:
17384         * gst/gstpadtemplate.h:
17385         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
17386         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
17387         * gst/gstpipeline.h:
17388         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17389         (gst_file_index_commit):
17390         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
17391         * testsuite/pad/link.c: (gst_test_src_init),
17392         (gst_test_filter_init), (gst_test_sink_init):
17393         * testsuite/states/locked.c: (main):
17394           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
17395           moved bitshift from macro to enum definition
17396
17397 2005-10-12  Wim Taymans  <wim@fluendo.com>
17398
17399         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
17400         * gst/elements/gstfilesink.c: (gst_file_sink_event),
17401         (gst_file_sink_render):
17402         Some more debugging info.
17403
17404 2005-10-12  Wim Taymans  <wim@fluendo.com>
17405
17406         * docs/design/part-states.txt:
17407         * tools/gst-launch.c: (main):
17408         Some doc updates.
17409         Revert non-intentional change.
17410
17411 2005-10-12  Wim Taymans  <wim@fluendo.com>
17412
17413         * check/gst/gstbin.c: (GST_START_TEST):
17414         * check/gst/gstelement.c: (GST_START_TEST):
17415         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
17416         * check/gst/gstghostpad.c: (GST_START_TEST):
17417         * check/gst/gstpipeline.c: (GST_START_TEST):
17418         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17419         * check/states/sinks.c: (GST_START_TEST):
17420         * gst/elements/gsttypefindelement.c: (stop_typefinding):
17421         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17422         (gst_bin_remove_func), (gst_bin_get_state_func),
17423         (gst_bin_recalc_state), (gst_bin_change_state_func),
17424         (bin_bus_handler):
17425         * gst/gstelement.c: (gst_element_get_state_func),
17426         (gst_element_get_state), (gst_element_abort_state),
17427         (gst_element_commit_state), (gst_element_set_state),
17428         (gst_element_change_state), (gst_element_change_state_func):
17429         * gst/gstelement.h:
17430         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
17431         (gst_pipeline_provide_clock_func):
17432         * gst/gstutils.c: (gst_element_link_pads_filtered):
17433         * tools/gst-launch.c: (main):
17434         * tools/gst-typefind.c: (main):
17435         Use GstClockTime in _get_state() instead of GTimeVal.
17436         Remove old code in gstutils.c
17437
17438 2005-10-12  Andy Wingo  <wingo@pobox.com>
17439
17440         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
17441         removed.
17442
17443         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
17444         there is no task. Shouldn't affect any code, as nothing in our
17445         plugins checks this return value.
17446         (gst_pad_stop_task): Also take the stream lock if the pad has no
17447         task. Docs updated.
17448
17449 2005-10-12  Wim Taymans  <wim@fluendo.com>
17450
17451         * gst/gstpad.c: (pre_activate), (post_activate),
17452         (gst_pad_activate_pull), (gst_pad_activate_push):
17453         Cleanup activation code. Reset old state if
17454         activation failed.
17455
17456 2005-10-12  Wim Taymans  <wim@fluendo.com>
17457
17458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17459         (gst_base_sink_change_state):
17460         No need to prerol after receiving EOS.
17461
17462         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17463         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17464         * gst/elements/gstidentity.c: (gst_identity_event):
17465         Print events more verbosely.
17466
17467 2005-10-12  Wim Taymans  <wim@fluendo.com>
17468
17469         * check/Makefile.am:
17470         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17471         * check/states/sinks2.c:
17472         Moved sinks2 testcode in sinks check.
17473
17474         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17475         (gst_bin_remove_func), (gst_bin_recalc_state),
17476         (gst_bin_change_state_func), (bin_bus_handler):
17477         Fix potential race condition when _get_state() iterated over an
17478         ASYNC element right before it posted a state completion.
17479
17480         * gst/gstclock.h:
17481         Do proper cast here.
17482
17483         * gst/gstevent.c: (gst_event_new_newsegment),
17484         (gst_event_parse_newsegment):
17485         A playback rate of 0.0 is not allowed.
17486
17487 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17488
17489         * win32/common/config.h:
17490         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17491         (_trewinddir), (_ttelldir), (_tseekdir):
17492         * win32/common/dirent.h:
17493         * win32/common/gtchar.h:
17494         * win32/common/libgstbase.def:
17495         * win32/common/libgstreamer.def:
17496         * win32/vs6/grammar.dsp:
17497         * win32/vs6/gst_inspect.dsp:
17498         * win32/vs6/gst_launch.dsp:
17499         * win32/vs6/gstreamer.dsw:
17500         * win32/vs6/libgstbase.dsp:
17501         * win32/vs6/libgstelements.dsp:
17502         * win32/vs6/libgstreamer.dsp:
17503           Visual Studio 6 project files, and a new common directory.
17504           Phear.
17505
17506 2005-10-11  Wim Taymans  <wim@fluendo.com>
17507
17508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17509         (gst_base_sink_do_sync), (gst_base_sink_query),
17510         (gst_base_sink_change_state):
17511         * gst/base/gstbasesink.h:
17512         Correctly parse newsegment info.
17513
17514 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17515
17516         * gst/gst.c: (init_post):
17517           split plugin paths correctly
17518
17519 2005-10-11  Wim Taymans  <wim@fluendo.com>
17520
17521         * check/gst/gstevent.c: (GST_START_TEST):
17522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17523         (gst_base_sink_change_state):
17524         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17525         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17526         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17527         * gst/gstevent.c: (gst_event_new_newsegment),
17528         (gst_event_parse_newsegment):
17529         * gst/gstevent.h:
17530         Added extra flag to newsegment for future API freeze.
17531         Updated check and base elements.
17532
17533 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17534
17535         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17536         (gst_collectpads_add_pad), (gst_collectpads_pop),
17537         (gst_collectpads_event), (gst_collectpads_chain):
17538         * gst/base/gstcollectpads.h: Handle EOS correctly.
17539
17540 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17541
17542         * tools/gst-launch.c: (main):
17543           more null protecting
17544
17545 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17546
17547         * gst/gst-i18n-lib.h:
17548           check for ENABLE_NLS, not GETTEXT_PACKAGE
17549         * gst/gstregistry.c: (gst_registry_add_plugin),
17550         (gst_registry_scan_path_level),
17551         (_gst_registry_remove_cache_plugins):
17552           protect possibly NULL strings
17553         * gst/parse/types.h:
17554           config.h already included before
17555         * tools/gst-inspect.c: (main):
17556           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17557           check for ENABLE_NLS, not GETTEXT_PACKAGE
17558         * tools/gst-launch.c: (main):
17559           check for ENABLE_NLS, not GETTEXT_PACKAGE
17560
17561 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17562
17563         * configure.ac:
17564           if we don't have glib, fail before testing 2.8
17565         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17566           fix a leak, should fix plugins-base testsuite
17567
17568 2005-10-11  Andy Wingo  <wingo@pobox.com>
17569
17570         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17571         take the mode we're going to as an arg. Go head and set the mode
17572         and flushing flags now, so that if the activate function starts a
17573         thread all the flags will be in the right state.
17574         (post_activate): Renamed also. Just handle making sure streaming
17575         finishes for the deactivation case, and setting the deactivated
17576         mode.
17577         (gst_pad_set_active): Complain loudly if deactivation fails.
17578         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17579         (gst_pad_activate_push): Adapt to pre/post_activate changes,
17580         remove the terrible hack.
17581
17582 2005-10-11  Wim Taymans  <wim@fluendo.com>
17583
17584         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17585         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17586         (gst_bin_recalc_state), (gst_bin_change_state_func),
17587         (gst_bin_dispose), (bin_bus_handler):
17588         * gst/gstbin.h:
17589         Prepare to make current EOS message queue more generic.
17590         Fix some typos.
17591
17592         * gst/gstevent.c: (gst_event_new_newsegment),
17593         (gst_event_parse_newsegment):
17594         * gst/gstevent.h:
17595         Rename base to stream_time.
17596
17597         * gst/gstmessage.h:
17598         Fix typo in docs.
17599
17600 2005-10-11  Wim Taymans  <wim@fluendo.com>
17601
17602         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17603         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17604         (gst_bin_change_state_func), (bin_bus_handler):
17605         * gst/gstbin.h:
17606         Work on proper clock selection.
17607
17608 2005-10-11  Edward Hervey  <edward@fluendo.com>
17609
17610         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
17611         * libs/gst/controller/gstcontroller.h:
17612         Added GList* version of _remove_properties() in order to be able to wrap
17613         it in bindings.
17614
17615 2005-10-11  Wim Taymans  <wim@fluendo.com>
17616
17617         * docs/design/part-states.txt:
17618         Some more docs.
17619
17620         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17621         (gst_bin_change_state_func), (bin_bus_handler):
17622         Doc updates. Don't distribute the same clock over and over again.
17623
17624         * gst/gstclock.c:
17625         * gst/gstclock.h:
17626         Doc updates.
17627
17628         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17629         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17630         (gst_pad_send_event):
17631         * gst/gstpad.h:
17632         Make probe emission threadsafe again.
17633         Register quarks and move _get_name() from utils.
17634         Doc updates.
17635
17636         * gst/gstpipeline.c: (gst_pipeline_class_init),
17637         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17638         Only redistribute the clock of it changed.
17639
17640         * gst/gstsystemclock.h:
17641         Doc updates. 
17642
17643         * gst/gstutils.c:
17644         * gst/gstutils.h:
17645         Moved the _flow_get_name() to GstPad.
17646
17647 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17648
17649         * check/gst-libs/gdp.c: (GST_START_TEST):
17650         * check/gst/gstcaps.c: (GST_START_TEST):
17651         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17652         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17653         (gst_dp_packet_from_caps):
17654           fix more valgrind warnings before turning up the heat
17655
17656 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17657
17658         * gst/parse/grammar.y:
17659           some cleanup before the hacking
17660
17661 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17662
17663         * gst/base/gstbasesrc.c: (gst_base_src_query):
17664           use conversions
17665         * gst/gstutils.c: (gst_guint64_to_gdouble),
17666         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17667         * gst/gstutils.h:
17668           externalize, basesrc uses it
17669           obviously the implementation needs testing
17670
17671 2005-10-10  Wim Taymans  <wim@fluendo.com>
17672
17673         * tests/sched/Makefile.am:
17674         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17675         (make_pipeline3), (make_pipeline4), (print_elem), (main):
17676
17677 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17678
17679         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17680           apparently converting from guint64 to double is not implemented
17681           on MSVC
17682
17683 2005-10-10  Wim Taymans  <wim@fluendo.com>
17684
17685         * check/Makefile.am:
17686         * check/generic/states.c: (GST_START_TEST):
17687         * check/gst/gstbin.c: (GST_START_TEST):
17688         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17689         * check/states/sinks.c: (GST_START_TEST):
17690         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17691         (main):
17692         Check fixes, use API as stated in design docs, remove hacks.
17693
17694         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17695         (gst_base_sink_change_state):
17696         Catch stopping our task while we're shutting down.
17697
17698         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17699         (gst_bin_remove_func), (gst_bin_get_state_func),
17700         (gst_bin_recalc_state), (gst_bin_change_state_func),
17701         (bin_bus_handler):
17702         * gst/gstbin.h:
17703         * gst/gstelement.c: (gst_element_init),
17704         (gst_element_get_state_func), (gst_element_abort_state),
17705         (gst_element_commit_state), (gst_element_lost_state),
17706         (gst_element_set_state), (gst_element_change_state),
17707         (gst_element_change_state_func):
17708         * gst/gstelement.h:
17709         New state change algorithm (see #318116)
17710
17711         * gst/gstpipeline.c: (gst_pipeline_class_init),
17712         (gst_pipeline_init), (gst_pipeline_set_property),
17713         (gst_pipeline_get_property), (do_pipeline_seek),
17714         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17715         * gst/gstpipeline.h:
17716         Remove crude state change hacks.
17717
17718         * gst/gstutils.h:
17719         Remove crude hacks.
17720
17721         * tools/gst-launch.c: (main):
17722         Fixes for state change. Needs some more work to fully use the
17723         new stuff.
17724
17725 2005-10-10  Andy Wingo  <wingo@pobox.com>
17726
17727         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17728
17729         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17730         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17731         issue.
17732
17733 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17734
17735         * gst/gstiterator.c: (gst_iterator_new):
17736           Fix my previous commit: GTypes passed to gst_iterator_new()
17737           can be fundamental types.
17738
17739 2005-10-10  Wim Taymans  <wim@fluendo.com>
17740
17741         * gst/gstelement.c: (gst_element_iterate_pad_list),
17742         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17743         (gst_element_iterate_sink_pads):
17744         Use src/sink pads lists for the respective iterators instead
17745         of filtering.
17746
17747 2005-10-10  Andy Wingo  <wingo@pobox.com>
17748
17749         Merged in popt removal + GOption addition patch from Ronald, bug
17750         #169772.
17751
17752         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17753         GstElement macros around, remove popt-related symbols, add goption
17754         stuff.
17755
17756         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17757         
17758         * docs/gst/Makefile.am:
17759         * docs/libs/Makefile.am: No POPT_CFLAGS.
17760         
17761         * examples/manual/Makefile.am:
17762         * docs/manual/basics-init.xml: Doc updates with an example.
17763         
17764         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17765         (gst_init), (parse_one_option), (parse_goption_arg):
17766         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17767         bit of hand merging and debugging to get the GOption stuff working
17768         tho.
17769         
17770         * tests/Makefile.am:
17771         * tools/Makefile.am:
17772         * tools/gst-inspect.c: (main):
17773         * tools/gst-launch.c: (main):
17774         * tools/gst-run.c: (main):
17775         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17776
17777 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17778
17779         * gst/gstiterator.c: (gst_iterator_new):
17780           Add assertions to make sure passed GType is likely to really
17781           be a GType (as the compiler won't catch it if the size and
17782           GType arguments get mixed up, see #318447).
17783
17784 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17785
17786         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17787
17788         * gst/gstbin.c: (gst_bin_iterate_sorted):
17789           Pass GType and size arguments to gst_iterator_new() in the right
17790           order (maybe we should make _new() take the GType as first argument
17791           just like _new_list()?) (#318447).
17792           
17793
17794 2005-10-10  Wim Taymans  <wim@fluendo.com>
17795
17796         * gst/gstelement.c: (gst_element_finalize):
17797         And free the GStaticRecMutex too
17798
17799 2005-10-10  Andy Wingo  <wingo@pobox.com>
17800
17801         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17802         Allocate and free the mutex properly.
17803
17804         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17805         New macros.
17806         (GstElement): The state_lock is now recursive. Rebuild your
17807         plugins, suckers. Old macros adapted.
17808
17809         * docs/gst/gstreamer-sections.txt: Doc updates.
17810
17811         * gst/gstutils.h:
17812         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17813         (g_static_rec_cond_wait): Ported from state changes patch, while
17814         we wait on bug #317802 to be solved in a well-distributed GLib.
17815
17816         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17817         gst_element_change_state, variable name changes.
17818         (gst_element_change_state): Split out of gst_element_set_state in
17819         preparation for the state change merge. Doesn't pay attention to
17820         the 'transition' argument.
17821         (gst_element_set_state): Updates, hopefully purely cosmetic.
17822         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17823         state change patch.
17824         (gst_element_get_state_func): Renamed from get_state, cosmetic
17825         changes.
17826
17827 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17828
17829         * gst/elements/gstelements.c:
17830         * win32/GStreamer.vcproj:
17831         * win32/config.h:
17832         * win32/dirent.c: (_tseekdir):
17833         * win32/gst-inspect.vcproj:
17834         * win32/gst-launch.vcproj:
17835         * win32/gstconfig.h:
17836         * win32/gstelements.vcproj:
17837         * win32/gstenumtypes.c: (gst_object_flags_get_type):
17838         * win32/gstreamer.def:
17839         * win32/msvc71.sln:
17840           updates for the win32 build (patch from Sebastien Moutte)
17841
17842 2005-10-10  Andy Wingo  <wingo@pobox.com>
17843
17844         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17845         gst_bin_get_state, cleaned up (but no logic changes).
17846         (bin_element_is_sink): Comment updates.
17847         (sink_iterator_filter): Remove needless cast.
17848         (gst_bin_iterate_sinks): Doc update.
17849         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17850         cleaned up (but no logic changes).
17851
17852         * check/states/sinks.c (test_src_sink): Cleanups from the state
17853         change patch.
17854         (test_livesrc_sink): Sync on the state.
17855
17856         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17857         the state change patch.
17858
17859         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17860         change patch.
17861
17862         * check/gst/gstbin.c: Merge in some style fixes and additional
17863         checks from Wim's state change patch.
17864
17865 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17866
17867         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17868         (gst_type_find_helper):
17869           Check whether we have the requested data already in our list of
17870           cached buffers before pulling a new buffer; also make the buffer
17871           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17872
17873 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17874
17875         * gst/gstcaps.c:
17876         * gst/gstevent.c:
17877           doc updates
17878         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17879           don't use long long, it's not portable.  Replacing with
17880           gint64 seems to work; let's hope no skeletons fall out of the closet.
17881
17882 2005-10-10  Andy Wingo  <wingo@pobox.com>
17883
17884         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17885
17886 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
17887
17888         * docs/gst/gstreamer-sections.txt:
17889         * gst/gstevent.c:
17890         * gst/gstevent.h:
17891         * gst/gstinfo.c:
17892         * gst/gstinfo.h:
17893         * gst/gstmessage.c: (gst_message_parse_state_changed):
17894         * gst/gstpad.c:
17895         * gst/gstpad.h:
17896           more docs, fix compilation
17897
17898 2005-10-09  Philippe Khalaf <burger@speedy.org>
17899         * gst/gstmessage.c:
17900           Fixed a few forgotten variables on previous commit
17901
17902 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
17903
17904         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17905           Fix evil typefind crasher: getrange() might return a short
17906           buffer at the end of a file, but gst_type_find_peek() must
17907           either return the full data as requested or NULL, but
17908           never a short buffer.
17909
17910 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17911
17912         * gst/gstmessage.c: (gst_message_new_state_changed),
17913         (gst_message_parse_state_changed):
17914         * gst/gstmessage.h:
17915           don't use "new", it's a C++ keyword
17916
17917 2005-10-08  Wim Taymans  <wim@fluendo.com>
17918
17919         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17920         * gst/gstelement.c: (gst_element_post_message):
17921         * gst/gstpipeline.c: (gst_pipeline_change_state):
17922         Small docs and debug updates.
17923
17924 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17925
17926         * docs/gst/gstreamer-sections.txt:
17927         * gst/gstelementfactory.c:
17928         * gst/gstevent.c:
17929         * gst/gsttaglist.c:
17930           more docs
17931
17932 2005-10-08  Wim Taymans  <wim@fluendo.com>
17933
17934         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17935         (gst_bin_dispose), (bin_bus_handler):
17936         Fix typos, add comments.
17937         Clear EOS list when going to PAUSED from any direction and do it
17938         in a threadsafe way.
17939         Get base time in a threadsafe way too.
17940         Fix confusing debug in the change_state function.
17941         Various other small cleanups.
17942         
17943         * gst/gstelement.c: (gst_element_post_message):
17944         Fix very verbose bus posting code.
17945
17946         * gst/gstpipeline.c: (gst_pipeline_class_init),
17947         (gst_pipeline_set_property), (gst_pipeline_get_property),
17948         (gst_pipeline_change_state):
17949         Small ARG_ -> PROP_ cleanup
17950
17951 2005-10-08  Wim Taymans  <wim@fluendo.com>
17952
17953         * gst/gstbin.c: (is_eos), (bin_bus_handler):
17954         Do a less CPU demanding EOS check because we can.
17955
17956 2005-10-08  Wim Taymans  <wim@fluendo.com>
17957
17958         * libs/gst/dataprotocol/dataprotocol.c:
17959         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17960         (gst_dp_packet_from_event):
17961         * libs/gst/dataprotocol/dataprotocol.h:
17962         * libs/gst/dataprotocol/dp-private.h:
17963         It's about time we bump the version number.
17964         Since event types don't fit in the guint8 anymore describing
17965         the payload type, make payload type 16 bits wide.
17966
17967 2005-10-08  Wim Taymans  <wim@fluendo.com>
17968
17969         * docs/design/part-TODO.txt:
17970         * docs/design/part-clocks.txt:
17971         * docs/design/part-events.txt:
17972         * docs/design/part-gstbin.txt:
17973         * docs/design/part-gstelement.txt:
17974         * docs/design/part-gstpipeline.txt:
17975         * docs/design/part-live-source.txt:
17976         * docs/design/part-messages.txt:
17977         * docs/design/part-overview.txt:
17978         * docs/design/part-states.txt:
17979         Many doc updates.
17980
17981 2005-10-08  Wim Taymans  <wim@fluendo.com>
17982
17983         * gst/gstevent.c:
17984         * gst/gstevent.h:
17985         Fix event quark registration.
17986         Add some space between events so we can insert them in the
17987         right groups.
17988
17989 2005-10-08  Wim Taymans  <wim@fluendo.com>
17990
17991         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17992         (gst_base_sink_handle_buffer):
17993         Better log message.
17994
17995         * gst/gstbus.h:
17996         * gst/gstelement.h:
17997         More docs.
17998
17999         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18000         (gst_queue_set_property), (gst_queue_get_property):
18001         * gst/gstqueue.h:
18002         Remove old unused properties.
18003
18004 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18005         * docs/gst/gstreamer-sections.txt:
18006         * gst/gstmessage.c:
18007         * gst/gstmessage.h:
18008         * gst/gstminiobject.c:
18009         * gst/gstminiobject.h:
18010         * gst/gstobject.h:
18011         * gst/gstpad.h:
18012         * gst/gstutils.h:
18013           lots of new docs and doc fixes
18014
18015 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18016
18017         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
18018         * gst/gstplugin.h:
18019         * gst/gstregistry.c: (gst_registry_lookup_locked),
18020         (gst_registry_scan_path_level):
18021         * gst/gstregistryxml.c: (load_plugin):
18022           Only ever load one plugin for a given plugin basename.
18023           This ensures correct overriding of GST_PLUGIN_PATH over
18024           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
18025           system installed plugins.
18026
18027 2005-10-08  Wim Taymans  <wim@fluendo.com>
18028
18029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18030         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
18031         Prepare for doing QOS.
18032
18033 2005-10-08  Wim Taymans  <wim@fluendo.com>
18034
18035         * check/gst/gstbin.c: (GST_START_TEST):
18036         * check/pipelines/cleanup.c: (GST_START_TEST):
18037         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18038         Allow new clock message too.
18039
18040 2005-10-08  Wim Taymans  <wim@fluendo.com>
18041
18042         * gst/gstmessage.c: (gst_message_new_error),
18043         (gst_message_new_warning), (gst_message_new_tag),
18044         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18045         (gst_message_new_clock_lost), (gst_message_new_new_clock),
18046         (gst_message_new_segment_start), (gst_message_new_segment_done),
18047         (gst_message_parse_state_changed),
18048         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
18049         (gst_message_parse_new_clock):
18050         * gst/gstmessage.h:
18051         Also carry the clock in question.
18052
18053 2005-10-08  Wim Taymans  <wim@fluendo.com>
18054
18055         * gst/gstmessage.c: (gst_message_new_custom),
18056         (gst_message_new_eos), (gst_message_new_error),
18057         (gst_message_new_warning), (gst_message_new_tag),
18058         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18059         (gst_message_new_new_clock), (gst_message_new_segment_start),
18060         (gst_message_new_segment_done), (gst_message_parse_state_changed),
18061         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
18062         * gst/gstmessage.h:
18063         Clean up.
18064         Added clock related messages.
18065
18066         * gst/gstpipeline.c: (gst_pipeline_change_state):
18067         Post message when the clock changed.
18068
18069         * tools/gst-launch.c: (event_loop):
18070         Print new clock.
18071
18072 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
18073
18074         * tools/gst-inspect.c: (print_element_properties_info):
18075           Can't pass NULL strings to g_print() on windows.
18076
18077 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18078
18079         * docs/Makefile.am:
18080         * docs/gst/Makefile.am:
18081         * docs/gst/gstreamer-docs.sgml:
18082         * docs/gst/running.xml:
18083         * docs/version.entities.in:
18084           add a chapter on running GStreamer.
18085           document GST_DEBUG and GST_PLUGIN* env vars
18086
18087 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18088
18089         * Makefile.am:
18090           remove include dir
18091         * configure.ac:
18092           remove PLUGINS_BUILDDIR stuff
18093         * gst/gst.c: (init_post):
18094           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
18095         * idiottest.mak:
18096           remove, it was condescending and not needed
18097
18098 2005-10-08  Wim Taymans  <wim@fluendo.com>
18099
18100         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
18101         (gst_base_sink_handle_object), (gst_base_sink_event),
18102         (gst_base_sink_wait), (gst_base_sink_handle_event),
18103         (gst_base_sink_change_state):
18104         * gst/base/gstbasesink.h:
18105         Repost EOS message while going to PLAYING if still EOS.
18106         Make sure that when receiving a FLUSH_START we don't attempt
18107         to sync on the clock anymore.
18108
18109 2005-10-08  Wim Taymans  <wim@fluendo.com>
18110
18111         * tools/gst-launch.c: (event_loop):
18112         Better message printout.
18113
18114 2005-10-08  Wim Taymans  <wim@fluendo.com>
18115
18116         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
18117         (gst_bin_child_proxy_get_children_count):
18118         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18119         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
18120         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
18121         (gst_child_proxy_set_valist):
18122         * gst/parse/grammar.y:
18123         Make ChildProxy threadsafe and fix mem leaks.
18124
18125 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18126
18127         * gst/gst.c: (init_post):
18128           debug the GST_PLUGIN_ env vars
18129
18130 2005-10-08  Wim Taymans  <wim@fluendo.com>
18131
18132         * check/gst/gstbin.c: (GST_START_TEST):
18133         * check/gst/gstmessage.c: (GST_START_TEST):
18134         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18135         * gst/gstelement.c: (gst_element_commit_state),
18136         (gst_element_lost_state):
18137         * gst/gstmessage.c: (gst_message_new_state_changed),
18138         (gst_message_parse_state_changed):
18139         * gst/gstmessage.h:
18140         * tools/gst-launch.c: (event_loop):
18141         Added extra field to STATE_CHANGE message with the pending
18142         state, which will be different from the new state soon.
18143
18144 2005-10-08  Wim Taymans  <wim@fluendo.com>
18145
18146         * gst/gstbus.c: (gst_bus_pop):
18147         * gst/gstclock.c:
18148         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18149         Small cleanups and doc updates.
18150
18151 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18152
18153         * gst/gst.c: (init_pre):
18154         * gst/gstbin.c: (gst_bin_add_func):
18155           log distributing clocks and base time
18156         * gst/gstregistry.c: (gst_registry_add_plugin),
18157         (gst_registry_scan_path_level), (gst_registry_scan_path):
18158           clean up the debugging output a little
18159         * gst/gstutils.c: (gst_element_state_get_name):
18160           warn about a memleak (I've actually seen this be used, though
18161           it was probably a bug)
18162
18163 2005-10-07  Wim Taymans  <wim@fluendo.com>
18164
18165         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18166         (gst_base_src_init), (gst_base_src_default_newsegment),
18167         (gst_base_src_newsegment), (gst_base_src_do_seek),
18168         (gst_base_src_loop), (gst_base_src_start):
18169         * gst/base/gstbasesrc.h:
18170         Make the newsegment event customizable by subclasses.
18171
18172 2005-10-07  Wim Taymans  <wim@fluendo.com>
18173
18174         * gst/gstevent.c: (gst_event_new_buffersize),
18175         (gst_event_parse_buffersize):
18176         * gst/gstevent.h:
18177         New event for future idea.
18178
18179 2005-10-07  Andy Wingo  <wingo@pobox.com>
18180
18181         * gst/gstelement.c (gst_element_post_message): Doc update.
18182
18183         * docs/gst/gstreamer-sections.txt: Update.
18184
18185         * gst/gstmessage.c (gst_message_new_application): Made into a
18186         function like honest API calls.
18187         (gst_message_new_element): New message type.
18188
18189         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
18190
18191         * check/elements/fakesrc.c (test_no_preroll): New check, checks
18192         that setting a live fakesrc to PAUSED returns NO_PREROLL both
18193         times.
18194
18195         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
18196         NO_PREROLL from gst_element_change_state to fall through.
18197
18198 2005-10-07  Wim Taymans  <wim@fluendo.com>
18199
18200         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
18201         (gst_ghost_pad_do_activate_push):
18202         Activating a ghostpad with no internal pad in push mode
18203         is ok.
18204
18205 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18206
18207         * gst/gstobject.h:
18208           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
18209           Fixes compilation on Windows.
18210
18211 2005-10-07  Michael Smith <msmith@fluendo.com>
18212
18213         * tools/gst-inspect.c:
18214           Print out feature and plugin count at the end when printing out
18215           all features.
18216
18217 2005-10-04  Michael Smith <msmith@fluendo.com>
18218
18219         * gst/gsterror.c: (_gst_stream_errors_init):
18220           Add another error string used in a few existing plugins.
18221
18222         * gst/gstplugin.c:
18223         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18224         * tools/gst-inspect.c: (print_element_info):
18225           When a feature disappears from a plugin (and the feature exists in
18226           the cached registry file), things went horribly wrong. This isn't a
18227           complete fix, we should actually be removing the 'missing' features
18228           from the features list when we load the actual plugin. That's not
18229           yet implemented. 
18230
18231 2005-10-04  Johan Dahlin  <johan@gnome.org>
18232
18233         * check/gst/gstiterator.c: (GST_START_TEST):
18234         * gst/gstbin.c: (gst_bin_iterate_elements),
18235         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
18236         * gst/gstelement.c: (gst_element_iterate_pads):
18237         * gst/gstformat.c: (gst_format_iterate_definitions):
18238         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18239         (gst_iterator_new_list), (gst_iterator_filter):
18240         * gst/gstiterator.h:
18241         * gst/gstquery.c: (gst_query_type_iterate_definitions):
18242         Add a GType to GstIterator, update callsites and tests.
18243
18244 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18245
18246         * gst/gstpad.c: (gst_pad_event_default_dispatch):
18247           give events a chance to be handled by event probes when the pad
18248           is not linked
18249
18250 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18251
18252         * gst/gstevent.c: (gst_event_type_get_name),
18253         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
18254         * gst/gstevent.h:
18255           add string representations for event types
18256
18257 2005-10-06  Wim Taymans  <wim@fluendo.com>
18258
18259         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
18260         Don't use NULL pointers.
18261
18262 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18263
18264         * gst/gst_private.h:
18265         * gst/gstbus.c:
18266         * gst/gstelement.c:
18267         * gst/gstinfo.c:
18268         * gst/gstpluginfeature.c:
18269           widen the debug category in output to fit the biggest one we have
18270           add a bus category and use it
18271           play with the colors
18272           fix up some categories
18273
18274 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18275
18276         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
18277           add push activation of sink ghost pads.
18278           Andye, please verify
18279
18280 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18281
18282         * gst/gstutils.c: (gst_element_link_pads):
18283           fix a bug in the case where neither element has a pad
18284         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18285           add a test for that case
18286
18287 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18288
18289         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
18290           emit have-data before checking for peers.  This allows
18291           for probe handlers to connect elements.  This helps autopluggers.
18292         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
18293         (gst_pad_suite):
18294           add six checks, linked/unlinked with no/true/false probe
18295
18296 2005-10-04  Wim Taymans  <wim@fluendo.com>
18297
18298         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
18299         (gst_fake_sink_event), (gst_fake_sink_preroll),
18300         (gst_fake_sink_render), (gst_fake_sink_change_state):
18301         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
18302         (gst_fake_src_get_property), (gst_fake_src_create),
18303         (gst_fake_src_stop):
18304         * gst/elements/gstidentity.c: (gst_identity_stop):
18305         Protect last_message with lock.
18306
18307 2005-10-04  Edward Hervey  <edward@fluendo.com>
18308
18309         * gst/gstformat.h: 
18310         Added precision in the comments for GST_FORMAT_DEFAULT
18311
18312 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
18313
18314         * tools/gst-launch.c: (main):
18315           Don't try to run erroneous pipelines.
18316
18317 2005-10-04  Julien MOUTTE  <julien@moutte.net>
18318
18319         * gst/gstbus.c: We don't need this header.
18320
18321 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18322
18323         * configure.ac:
18324           back to development
18325
18326 === release 0.9.3 ===
18327
18328 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18329
18330         * README:
18331         * configure.ac:
18332           Releasing 0.9.3, "Unregistered"
18333
18334 2005-10-03  Andy Wingo  <wingo@pobox.com>
18335
18336         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
18337         whereby calling a pad's activatepush() function can start a thread
18338         that starts to push or pull before the pad gets the FLUSHING flag
18339         unset. Hack around it by holding the stream lock until the flag is
18340         set. Need to replace this with a proper solution. Together with
18341         the ghost pad fixes, this fixes mp3 playing/tagreading.
18342
18343         * docs/design/part-gstghostpad.txt: Add a note about activation of
18344         proxy pads outside of ghost pads.
18345
18346         * gst/gstghostpad.c: Implement the ghost pad activation design.
18347
18348 2005-10-02  Andy Wingo  <wingo@pobox.com>
18349
18350         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
18351         It is volatile, after all.
18352
18353         * docs/design/part-gstghostpad.txt: Flesh out activation with
18354         ghost pads.
18355
18356         * gst/base/gstbasesrc.c (gst_base_src_init): Use
18357         GST_DEBUG_FUNCPTR.
18358
18359 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
18360
18361         * configure.ac:
18362           Fix (unused) AM_CONDITIONAL tests.
18363
18364 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
18365
18366         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18367
18368         * gst/gstutils.c: (gst_pad_query_convert):
18369           Add assertion that makes sure src_val is >=0, just like
18370           gst_query_new_convert() has. (#315895)
18371
18372 2005-09-30  Edward Hervey  <edward@fluendo.com>
18373
18374         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
18375         Let's not iterate pads we're not interested in, it avoids getting 
18376         sky-high refcounts on sinkpad.
18377
18378 2005-09-30  Wim Taymans  <wim@fluendo.com>
18379
18380         * gst/gstelement.c: (gst_element_set_state),
18381         (gst_element_change_state):
18382         Small tweak, element in ASYNC remains ASYNC.
18383
18384 2005-09-30  Wim Taymans  <wim@fluendo.com>
18385
18386         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18387         Only error is an error.
18388
18389         * gst/gstbin.c: (gst_bin_change_state):
18390         Better debugging.
18391
18392         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
18393         Also call pad_block in pad alloc.
18394
18395         * gst/gstutils.c: (gst_flow_get_name):
18396         Better debugging.
18397
18398 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18399
18400         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18401         (gst_base_src_get_range):
18402           Fix documentation typos. Add some more debug info.
18403
18404 2005-09-29  David Schleef  <ds@schleef.org>
18405
18406         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
18407           more end-user friendly.
18408         * tools/gst-inspect.c: (main): Check if command-line argument is
18409           a file and attempt to load that file as a plugin.
18410
18411 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18412
18413         * check/gst/gstbin.c:
18414         * check/states/sinks.c:
18415           fix tests for the new warning
18416         * check/gst/gstpipeline.c:
18417           add a test for pipeline and bus interaction
18418         * gst/gstelement.c:
18419           elements should be NULL if they get disposed; add a warning if not
18420
18421 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18422
18423         * gst/gstobject.c:
18424           for 2.6 refcounting, make debug log more correct by printing
18425           the actual refcounts at the time of swap (Wim)
18426
18427 2005-09-29  Andy Wingo  <wingo@pobox.com>
18428
18429         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
18430         removes signal watches previously added via
18431         gst_bus_add_signal_watch.
18432         (gst_bus_add_signal_watch): Don't return the source id, just store
18433         it on the bus if there wasn't an id already.
18434
18435         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
18436         add_signal_watch and remove_signal_watch.
18437
18438 2005-09-29  Edward Hervey  <edward@fluendo.com>
18439
18440         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
18441         Better if we actually iterate the list :)
18442
18443 2005-09-29  Wim Taymans  <wim@fluendo.com>
18444
18445         * check/gst/gstbin.c: (GST_START_TEST):
18446         Change for new bus API.
18447
18448         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18449         (send_messages), (GST_START_TEST), (gstbus_suite):
18450         Change for new bus signal API.
18451
18452         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
18453         (gst_bus_source_prepare), (gst_bus_source_check),
18454         (gst_bus_create_watch), (gst_bus_add_watch_full),
18455         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18456         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18457         * gst/gstbus.h:
18458         Remove support for multiple GSources operating on different
18459         message types as it is too complex and unneeded when using
18460         signals.
18461         Added support for receiving signals from the bus.
18462
18463 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18464
18465         * docs/libs/tmpl/gstdataprotocol.sgml:
18466         * docs/manual/advanced-dataaccess.xml:
18467         * gst/elements/gstcapsfilter.c:
18468         * gst/gstutils.c:
18469           rename filter-caps to caps property
18470
18471 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18472
18473         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18474           More robust fraction string parsing.
18475
18476         * docs/pwg/appendix-porting.xml:
18477           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18478
18479 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18480
18481         * gst/gstcaps.c: (gst_caps_do_simplify):
18482           Thou shalt not free a structure and then continue using it
18483           in the next loop iteration.
18484
18485         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18486         (gst_caps_suite):
18487           Add test case for caps simplification.
18488
18489 2005-09-29  Wim Taymans  <wim@fluendo.com>
18490
18491         * check/gst/gstbin.c: (GST_START_TEST):
18492         Oops.
18493
18494 2005-09-29  Wim Taymans  <wim@fluendo.com>
18495
18496         * check/gst/gstbin.c: (GST_START_TEST):
18497         Add bus to bin.
18498
18499         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18500         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18501         (find_element), (gst_bin_sort_iterator_next),
18502         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18503         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18504         (gst_bin_change_state), (gst_bin_dispose):
18505         A bin does not have a bus, it gets the bus from the parent.
18506
18507         * gst/gstelement.c: (gst_element_requires_clock),
18508         (gst_element_provides_clock), (gst_element_is_indexable),
18509         (gst_element_is_locked_state), (gst_element_change_state),
18510         (gst_element_set_bus_func):
18511         Small cleanups.
18512
18513         * gst/gstpipeline.c: (gst_pipeline_class_init),
18514         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18515         The pipeline provides a bus.
18516
18517 2005-09-28  Johan Dahlin  <johan@gnome.org>
18518
18519         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18520         gst_structure_get_enum instead of gst_structure_get_int
18521
18522         * gst/gststructure.c (gst_structure_get_enum): Impl.
18523
18524         * gst/gststructure.h (gst_structure_get_enum): Add
18525
18526         * docs/gst/gstreamer-sections.txt: Ditto
18527
18528         * gst/gstmessage.c (gst_message_new_state_changed): Use
18529         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18530         which does introspection.
18531         Reviewed by Christian Schaller
18532
18533 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18534
18535         * gst/gstinfo.c: (gst_debug_log_default):
18536           don't do dummy g_strdup()s
18537         * libs/gst/controller/gstcontroller.c:
18538         (on_object_controlled_property_changed),
18539         (gst_controlled_property_new), (gst_controller_new_valist),
18540         (gst_controller_new_list),
18541         (gst_controller_remove_properties_valist), (gst_controller_set),
18542         (gst_controller_get), (gst_controller_sync_values),
18543         (gst_controller_get_value_array), (_gst_controller_class_init),
18544         (gst_controller_get_type):
18545         * libs/gst/controller/gstcontroller.h:
18546         * libs/gst/controller/gstinterpolation.c:
18547         (gst_controlled_property_find_timed_value_node):
18548           convert // to /**/ comments
18549
18550 2005-09-28  Wim Taymans  <wim@fluendo.com>
18551
18552         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18553         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18554         (gst_bus_sync_signal_handler):
18555         * gst/gstbus.h:
18556         Added async-message and sync-message signals to the bus.
18557         Added helper BusFunc to emit signals for all posted messages.
18558
18559         * gst/gstmessage.c: (gst_message_type_get_name),
18560         (gst_message_type_to_quark), (gst_message_get_type):
18561         * gst/gstmessage.h:
18562         Register quarks for message names.
18563
18564 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18565
18566         * docs/libs/gstreamer-libs-sections.txt:
18567         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18568         (gst_controller_new_list):
18569         * libs/gst/controller/gstcontroller.h:
18570           added another constructor for language bindings
18571
18572 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18573
18574         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18575           add another check
18576         * gst/gstbus.c:
18577           add some doc
18578         * gst/gstinfo.c: (_gst_debug_init):
18579           slightly more readable color for refcount debugging
18580
18581 2005-09-28  Wim Taymans  <wim@fluendo.com>
18582
18583         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18584         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18585         (find_element), (gst_bin_sort_iterator_next),
18586         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18587         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18588         (gst_bin_change_state), (gst_bin_dispose):
18589         Small doc fixes. get_clock -> provide_clock.
18590
18591         * gst/gstelement.c: (gst_element_class_init),
18592         (gst_element_provides_clock), (gst_element_provide_clock),
18593         (gst_element_get_clock), (gst_element_commit_state),
18594         (gst_element_lost_state):
18595         * gst/gstelement.h:
18596         Make get/set_clock() symetric. Add provide_clock vmethod since
18597         that is actually what this function does.
18598
18599         * gst/gstpipeline.c: (gst_pipeline_class_init),
18600         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18601         (gst_pipeline_get_clock):
18602         get_clock -> provide_clock.
18603
18604 2005-09-28  Andy Wingo  <wingo@pobox.com>
18605
18606         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18607         lieu of real docs...
18608
18609         * gst/elements/gstfdsrc.c: Cleaned up a bit.
18610
18611 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
18612
18613         * gst/elements/gstcapsfilter.c:
18614         * gst/elements/gstfakesink.c:
18615         * gst/elements/gstfakesrc.c:
18616         * gst/elements/gstfdsink.c:
18617         * gst/elements/gstfdsrc.c:
18618         * gst/elements/gstfilesink.c:
18619         * gst/elements/gstfilesrc.c:
18620         * gst/elements/gstidentity.c:
18621         * gst/elements/gsttee.c:
18622         * gst/elements/gsttypefindelement.c:
18623           Make element details static.
18624
18625 2005-09-28  Wim Taymans  <wim@fluendo.com>
18626
18627         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18628         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18629         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18630         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18631         (gst_bin_change_state), (gst_bin_dispose):
18632         Some documentation updates.
18633         Clean up dispose handlers.
18634
18635         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18636         * gst/gstpad.c: (gst_pad_dispose):
18637         Clean up dispose handler.
18638
18639         * gst/gstpipeline.c: (gst_pipeline_change_state):
18640         Removed spurious UNLOCK.
18641
18642 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
18643
18644         * docs/gst/gstreamer-sections.txt:
18645         * gst/base/gstbasesrc.h:
18646         * gst/gstelement.h:
18647         * gst/gstevent.h:
18648         * gst/gstobject.h:
18649         * gst/gstpad.h:
18650         * gst/gstpipeline.c:
18651         * gst/gstpipeline.h:
18652         * gst/gstutils.h:
18653         * gst/gstxml.h:
18654           added two new functions to the docs
18655                 documents all undocumented GstXXXFlags
18656                 completed some incomplete docs 
18657
18658 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18659
18660         * gst/gstbin.c: (gst_bin_dispose):
18661         * gst/gstelement.c: (gst_element_dispose):
18662           remove now useless and leaky resurrection code in dispose
18663         * gst/base/gstbasesrc.c: (gst_base_src_init):
18664         * gst/gstelementfactory.c: (gst_element_factory_create):
18665         * gst/gstobject.c: (gst_object_set_parent):
18666           add some debugging
18667
18668 2005-09-27  Wim Taymans  <wim@fluendo.com>
18669
18670         * docs/design/part-TODO.txt:
18671         Update TODO.
18672
18673         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18674         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18675         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18676         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18677         (gst_bin_change_state):
18678         * gst/gstelement.h:
18679         Remove element variable, we keep element info in the iterator now.
18680
18681 2005-09-27  Andy Wingo  <wingo@pobox.com>
18682
18683         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18684         values.
18685
18686 2005-09-27  Wim Taymans  <wim@fluendo.com>
18687
18688         * check/gst/gstbin.c: (GST_START_TEST):
18689         Enable check that works now.
18690
18691         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18692         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18693         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18694         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18695         (gst_bin_change_state):
18696         * gst/gstbin.h:
18697         Redid the state change algorithm using a topological sort algo.
18698         Handles all cases correctly.
18699         Exposed iterator for state change order.
18700
18701         * gst/gstelement.h:
18702         Temp storage for state changes. Need to get rid of this soon.
18703
18704 2005-09-27  Wim Taymans  <wim@fluendo.com>
18705
18706         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18707         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18708         (link_fold_func), (gst_pad_proxy_setcaps):
18709         Leak fixes, the fold functions need to unref the passed object and
18710         _get_parent_*() returns ref to parent.
18711
18712 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18713
18714         * check/gst/gstbuffer.c: (test_make_writable):
18715           Plug leak in test case and fix 'make check-valgrind'
18716
18717 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18718
18719         * gst/gstbuffer.c: (gst_subbuffer_init):
18720           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18721           works correctly in all circumstances (we could have just copied
18722           the parent buffer's readonly flag, but conceptually it seems
18723           cleaner to mark all subbuffers as read-only). (based on patch
18724           by Alessandro Decina, #314710).
18725         
18726         * check/gst/gstbuffer.c: (create_read_only_buffer),
18727         (test_make_writable), (test_subbuffer_make_writable),
18728         (gst_test_suite):
18729           Add some tests for gst_buffer_make_writable().
18730
18731 2005-09-27  Wim Taymans  <wim@fluendo.com>
18732
18733         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18734         use gst_object_has_ancestor().
18735
18736         * gst/gstobject.c: (gst_object_has_ancestor):
18737         * gst/gstobject.h:
18738         gst_object_has_ancestor() copied from gstbin.c as it is a
18739         useful function.
18740
18741         * tests/instantiate/create.c: (create_all_elements):
18742         * tests/lat.c: (handoff_src), (handoff_sink):
18743         * tests/sched/runxml.c: (main):
18744         * tests/seeking/seeking1.c: (main):
18745         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18746         (main):
18747         Fix compilation of some tests.
18748
18749 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18750
18751         * gst/gsterror.h:
18752           Remove comment. GST_TYPE_G_ERROR is here to stay,
18753           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18754           (#316961, #300610).
18755
18756 2005-09-26  Wim Taymans  <wim@fluendo.com>
18757
18758         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18759         Added check that shows error in state change order.
18760
18761 2005-09-26  Wim Taymans  <wim@fluendo.com>
18762
18763         * gst/gstbin.c: (gst_bin_change_state):
18764         Make state change function use 3 queues again, we were
18765         adding elements in the wrong order.
18766
18767         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18768         Some debug info,
18769
18770         * gst/gstpad.c: (gst_pad_dispose):
18771         Added some debug info first.
18772
18773 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18774
18775         * docs/design/draft-push-pull.txt:
18776         * docs/design/part-events.txt:
18777         * docs/design/part-overview.txt:
18778         * docs/design/part-scheduling.txt:
18779           Replace all _pull_region() with _pull_range()
18780           
18781 2005-09-26  Andy Wingo  <wingo@pobox.com>
18782
18783         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18784
18785         * check/gst-libs/controller.c: Update for controller api change.
18786
18787         * configure.ac: 
18788         * tests/Makefile.am:
18789         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18790         over by GLib bug 118439.
18791         
18792         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18793         routines to a function.
18794
18795         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18796
18797         * libs/gst/controller/gsthelper.c:
18798         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18799         (gst_object_sync_values): Renamed from sink_values. Ugh.
18800
18801         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18802
18803         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18804         Renamed from controller_key, as it is exported.
18805
18806         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18807
18808 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18809
18810         * gst/Makefile.am:
18811         * gst/gst.h:
18812         * gst/gstpad.h:
18813         * gst/gstpadtemplate.h:
18814         * gst/gstquery.c:
18815         * gst/gstquery.h:
18816         * gst/gstqueryutils.c:
18817         * gst/gstqueryutils.h:
18818           remove queryutils headers after moving the two used functions
18819           to gstquery.  also fixes build problem for gstsiddec
18820
18821 2005-09-26  Michael Smith <msmith@fluendo.com>
18822
18823         * tools/gst-launch.1.in:
18824         Correct documentation in manpage of debug syntax
18825
18826 2005-09-26  Wim Taymans  <wim@fluendo.com>
18827
18828         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18829         (gst_base_src_is_seekable), (gst_base_src_change_state):
18830         Some more debugging info.
18831
18832 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18833
18834         * docs/gst/gstreamer-sections.txt:
18835         * gst/base/gstbasetransform.h:
18836         * gst/gstindex.h:
18837           added more docs
18838
18839 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18840
18841         * docs/gst/.cvsignore:
18842         * docs/gst/tmpl/.cvsignore:
18843         * docs/gst/tmpl/gstpipeline.sgml:
18844         * docs/gst/tmpl/gstplugin.sgml:
18845         * gst/gstpipeline.c:
18846         * gst/gstplugin.c:
18847         * gst/gstplugin.h:
18848           inlined the last two docs files
18849           removed the tmpl directory from cvs (no more conflicts here!)
18850
18851 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18852
18853         * docs/gst/gstreamer-sections.txt:
18854         * docs/gst/tmpl/.cvsignore:
18855         * docs/gst/tmpl/gstpad.sgml:
18856         * docs/gst/tmpl/gstpadtemplate.sgml:
18857         * gst/Makefile.am:
18858         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18859         (gst_pad_finalize), (gst_pad_set_pad_template):
18860         * gst/gstpad.h:
18861         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18862         (gst_pad_template_class_init), (gst_pad_template_init),
18863         (gst_pad_template_dispose), (name_is_valid),
18864         (gst_static_pad_template_get), (gst_pad_template_new),
18865         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18866         (gst_pad_template_pad_created):
18867         * gst/gstpadtemplate.h:
18868           inlined two more docs
18869           factored gstpadtemplate out of gstpad
18870
18871 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
18872
18873         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18874         (test_children_state_change_order_semi_sink):
18875           Fix test case: we can't rely on a fixed state change order when
18876           going from READY => PAUSED because the sink might commit its 
18877           new state first when the first buffer created by the source 
18878           reaches the sink before the source has finished its change state.
18879           (Test case still fails at times, see #316856, comment 5 onwards)
18880
18881 2005-09-24  Wim Taymans  <wim@fluendo.com>
18882
18883         * docs/design/part-events.txt:
18884         * docs/design/part-gstbus.txt:
18885         * docs/design/part-gstpipeline.txt:
18886         * docs/design/part-messages.txt:
18887         * docs/design/part-overview.txt:
18888         * docs/design/part-segments.txt:
18889         * gst/gstbin.c:
18890         * gst/gstbuffer.c:
18891         * gst/gstclock.c:
18892         * gst/gstelement.c:
18893         * gst/gstevent.c:
18894         * gst/gstfilter.c:
18895         * gst/gstiterator.c:
18896         Various documentation updates.
18897
18898 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18899
18900         * gst/gstclock.h:
18901           Well, that's embarassing.  Luckily we weren't using
18902           GST_CLOCK_DIFF anywhere.
18903
18904 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18905
18906         * common/gtk-doc.mak:
18907           don't fail on building XML, FC4 slave shows a bunch of doc
18908           missing bits that I don't get
18909         * gst/gstpad.c:
18910         * gst/gstpipeline.c:
18911         * gst/gststructure.c:
18912           some doc updates
18913
18914 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18915
18916         * docs/design/part-gstbin.txt:
18917         * docs/design/part-gstbus.txt:
18918         * gst/gstbus.c:
18919           Add blurb about how the bus goes into flushing mode and
18920           drops all messages when its bin goes from READY into NULL 
18921           state.
18922
18923 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18924
18925         * docs/gst/gstreamer-sections.txt:
18926         * gst/gststructure.c: (gst_structure_get_clock_time):
18927         * gst/gststructure.h:
18928           add a method to get a GstClockTime out of a structure
18929
18930 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18931
18932         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18933         (test_children_state_change_order_semi_sink), (gst_bin_suite):
18934           Added test to check state change order in bins (can still be made
18935           to fail here under heavy disk load; bails out with 'Push on pad
18936           fakesink:sink0, but it was not activated in push mode').
18937
18938         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18939           Fix state change order when there is only a semi sink (#316856)
18940
18941         * gst/gstbus.c: (gst_bus_class_init):
18942           Use _class_peek_parent(), not _class_ref(); fix docs to say
18943           'default main context' instead of 'mainloop' where that is
18944           what's meant.
18945
18946         * gst/gstelement.c: (gst_element_commit_state),
18947         (gst_element_set_state):
18948           Fix typos in debug messages
18949
18950 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18951
18952         * docs/README:
18953         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18954         * gst/gstpluginfeature.c:
18955         * gst/gstutils.c:
18956           various doc updates
18957         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18958           change an assert into an error until it gets fixed properly
18959
18960 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
18961
18962         * docs/gst/gstreamer-sections.txt:
18963         * docs/gst/tmpl/.cvsignore:
18964         * docs/gst/tmpl/gstelement.sgml:
18965         * docs/gst/tmpl/gstinfo.sgml:
18966         * docs/gst/tmpl/gstobject.sgml:
18967         * gst/gstelement.c:
18968         * gst/gstelement.h:
18969         * gst/gstinfo.c:
18970         * gst/gstinfo.h:
18971         * gst/gstobject.c: (gst_object_class_init):
18972         * gst/gstobject.h:
18973           inlined 3 more biiiig doc files and added some missing docs on the fly
18974
18975 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18976
18977         * check/gst/.cvsignore:
18978         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18979         * gst/gstregistryxml.c: (load_plugin),
18980         (gst_registry_xml_save_plugin):
18981           put back source in registry.  add checks for find_plugin.
18982         * testsuite/states/bin.c: (assert_state), (empty_bin),
18983         (test_adding_one_element), (main):
18984         * testsuite/states/locked.c: (main):
18985           some compile/run fixes
18986
18987 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18988
18989         * check/gst/gstvalue.c: (GST_START_TEST):
18990           fix leaks in the test itself
18991
18992 2005-09-22  Wim Taymans  <wim@fluendo.com>
18993
18994         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18995         (gst_base_sink_send_event), (gst_base_sink_peer_query),
18996         (gst_base_sink_query):
18997         Prepare for more accurate position reporting and query
18998         handling.
18999
19000         * gst/gstelement.c: (gst_element_send_event),
19001         (gst_element_set_state):
19002         Add some comment.
19003
19004 2005-09-22  Wim Taymans  <wim@fluendo.com>
19005
19006         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
19007         (gst_query_parse_segment):
19008         * gst/gstquery.h:
19009         More documentation.
19010         Add segment query for future use.
19011
19012 2005-09-22  Wim Taymans  <wim@fluendo.com>
19013
19014         * gst/gstbin.c: (gst_bin_add_func):
19015         Some more debug info.
19016
19017         * gst/gstelement.c: (gst_element_send_event):
19018         Simplify send_event
19019
19020         * gst/gstelement.h:
19021         Don't know how flags got broken.
19022
19023         * gst/gstquery.h:
19024         Added new query.
19025
19026 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19027
19028         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
19029           Add simplistic test suite for GST_TYPE_DATE serialisation and
19030           deserialisation.
19031
19032 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19033
19034         * docs/gst/gstreamer-sections.txt:
19035         * gst/gststructure.c: (gst_structure_set_valist),
19036         (gst_structure_get_date):
19037         * gst/gststructure.h:
19038         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
19039         (gst_date_copy), (gst_value_compare_date),
19040         (gst_value_serialize_date), (gst_value_deserialize_date),
19041         (gst_value_transform_date_string),
19042         (gst_value_transform_string_date), (_gst_value_initialize):
19043         * gst/gstvalue.h:
19044           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
19045           bunch of utility functions along with a hack that checks that
19046           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
19047           is required. Part of the grand scheme in #170777.
19048
19049 2005-09-22  Andy Wingo  <wingo@pobox.com>
19050
19051         * gst/gstconfig.h.in: Psych out gtk-doc.
19052
19053         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
19054
19055         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
19056
19057         * tools/gst-inspect.c (print_element_list): Plug some
19058         inconsequential leaks.
19059
19060         * gst/gstregistry.c (gst_registry_get_default): Doc.
19061
19062         * check/gst/gstplugin.c: 
19063         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
19064         * gst/gstelementfactory.c (gst_element_factory_create): 
19065         * gst/gstindexfactory.c (gst_index_factory_create): Update for
19066         refcount changes.
19067
19068         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
19069         (gst_plugin_feature_load): Doc, don't eat refs.
19070
19071         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
19072         (gst_plugin_list_free): Doc.
19073         (gst_plugin_load_file): Doc updates.
19074
19075         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
19076         accessors returning refcounted objects, return a ref.
19077
19078         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
19079         accessor for caps. IDEMPOTENCE. Oh yes.
19080
19081 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
19082
19083         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19084
19085         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19086         (_gst_debug_register_funcptr):
19087           Add mutex to serialise access to the hash table with
19088           the function pointer => function name string mapping;
19089           make that hash table static scope (#316809).
19090
19091         * gst/registries/.cvsignore:
19092           Remove left-over file.
19093
19094 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19095
19096         * docs/pwg/appendix-porting.xml:
19097           And something about newsegment events and caps-on-buffers to
19098           the porting guide (feel free to improve).
19099
19100 2005-09-21  Andy Wingo  <wingo@pobox.com>
19101
19102         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
19103         data and event probes on the same pad.
19104         (test_buffer_probe_once): Test that removing probes from within
19105         the probe functions works.
19106
19107 2005-09-21  Andy Wingo  <wingo@pobox.com>
19108
19109         * check/gst/gstutils.c: New file.
19110         (test_buffer_probe_n_times): A simple buffer probe test. More to
19111         come, foolios.
19112
19113         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
19114         have-data::buffer, not have-data.
19115         (gst_pad_add_event_probe): Likewise for have-data::event.
19116         (gst_pad_add_data_probe): More docs. The part about 'resolving the
19117         peer' isn't quite right yet though.
19118         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
19119         (gst_pad_remove_data_probe): Change to take the guint handler_id
19120         as their arg, not the function+data, which is more glib-like.
19121
19122         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
19123         the signal emission to indicate if the data is a buffer or an
19124         event.
19125         (gst_pad_get_type): Initialize buffer and event quarks.
19126         (gst_pad_class_init): have-data is now a detailed signal, yes it
19127         is.
19128
19129 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19130
19131         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19132         * gst/gstutils.c: (gst_util_set_value_from_string),
19133         (gst_util_set_object_arg):
19134           Don't put functional code in g_return_if_fail() or
19135           g_return_val_if_fail() statements, otherwise things will 
19136           break when G_DISABLE_CHECKS is defined during compilation.
19137
19138 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19139
19140         * docs/gst/tmpl/.cvsignore:
19141         * docs/gst/tmpl/gstvalue.sgml:
19142         * gst/gstvalue.c:
19143         * gst/gstvalue.h:
19144           inlied another one and added  some obvious docs
19145
19146 2005-09-21  Wim Taymans  <wim@fluendo.com>
19147
19148         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19149         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
19150         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
19151         (gst_fdsrc_get_property), (gst_fdsrc_create):
19152         * gst/elements/gstfdsrc.h:
19153         Properly implement fdsrc. Removed signal and timeout,
19154         better implemented somewhere else.
19155
19156 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19157
19158         * docs/gst/tmpl/.cvsignore:
19159         * docs/gst/tmpl/gstimplementsinterface.sgml:
19160         * gst/gstinterface.c:
19161           inlined more docs
19162
19163 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19164
19165         * docs/gst/gstreamer-sections.txt:
19166         * docs/gst/tmpl/.cvsignore:
19167         * docs/gst/tmpl/gstenumtypes.sgml:
19168           remove obsolete doc file
19169
19170 2005-09-21  David Schleef  <ds@schleef.org>
19171
19172         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
19173         little beer, fix a little leak.
19174
19175 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19176
19177         * docs/gst/gstreamer-docs.sgml:
19178         * docs/gst/gstreamer-sections.txt:
19179         * docs/gst/tmpl/.cvsignore:
19180         * gst/Makefile.am:
19181         * gst/gst.h:
19182         * gst/gstbin.c:
19183         * gst/gstelement.h:
19184         * gst/gstindex.c: (gst_index_class_init):
19185         * gst/gstindex.h:
19186         * gst/gstindexfactory.c: (gst_index_factory_get_type),
19187         (gst_index_factory_class_init), (gst_index_factory_init),
19188         (gst_index_factory_finalize), (gst_index_factory_new),
19189         (gst_index_factory_destroy), (gst_index_factory_find),
19190         (gst_index_factory_create), (gst_index_factory_make):
19191         * gst/gstindexfactory.h:
19192         * gst/gstpluginfeature.c:
19193         * gst/gstpluginfeature.h:
19194         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19195           more docs inlined, splitted gstindex.{c,h}
19196
19197 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19198
19199         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19200           fix a leak
19201
19202 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19203
19204         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19205           Set sync to FALSE by default.
19206
19207 2005-09-20  Wim Taymans  <wim@fluendo.com>
19208
19209         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19210         (gst_base_sink_init):
19211         Make sync property settable from subclass.
19212
19213         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19214         (gst_fake_sink_change_state):
19215         Set sync to FALSE by default.
19216
19217 2005-09-20  Wim Taymans  <wim@fluendo.com>
19218
19219         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
19220         * tools/gst-launch.c: (main):
19221         The timeout handler should have lower priority than the source
19222         so we don't timeout before popping a message with 0 timeout.
19223         Dump error messages after failed state change.
19224
19225 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19226
19227         * tools/gst-inspect.c: (print_element_properties_info):
19228           Fix two typos.
19229
19230 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19231
19232         * check/gst/gstevent.c:
19233         * gst/elements/gstfakesink.c:
19234         * gst/elements/gstfakesink.h:
19235           remove the sync property from fakesink.
19236           has the side effect of setting sync TRUE
19237           for fakesink, which is a change.  Anyone who knows how
19238           to fix this nicely in a GObject-y way, feel free.
19239
19240 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19241
19242         * docs/gst/gstreamer-docs.sgml:
19243           remove probe refsection
19244
19245 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19246
19247         * check/Makefile.am:
19248           disable valgrinding the controller test again
19249         * docs/gst/gstreamer-sections.txt:
19250           update for api-changes
19251
19252 2005-09-20  Wim Taymans  <wim@fluendo.com>
19253
19254         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19255         (gst_base_sink_set_property), (gst_base_sink_get_property),
19256         (gst_base_sink_do_sync):
19257         * gst/base/gstbasesink.h:
19258         Added sync property to basesink to disable clock sync.
19259
19260 2005-09-20  Andy Wingo  <wingo@pobox.com>
19261
19262         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
19263         eating the caller's refcount.
19264
19265         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
19266         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
19267         refcount.
19268
19269         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
19270         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
19271         of GLib 2.8 public, so we can know which refcount to check in
19272         tests.
19273
19274         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
19275         (gst_object_init): Only set the gst refcount if we're going ahead
19276         with the refcount hack.
19277
19278 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19279
19280         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19281         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19282           more leaks plumbed, added more debug-logging
19283         * gst/gstmacros.h:
19284           whitespace fix
19285
19286 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19287
19288         * gst/gstmessage.c:
19289           remove include of gstmemchunk.h
19290
19291 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19292
19293         * gst/gstclock.c: (_gst_clock_id_free):
19294           Commit from the Political Party For More Atomic CVS Commits,
19295           so that people don't waste too much of their day fishing
19296           out obvious leaks out of massive commits.
19297           Oh, and fix a pretty damn obvious leak in the memchunk
19298           removal code.
19299
19300 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19301
19302         * check/Makefile.am:
19303         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19304           plug mem-leak, re-add to valgrindable tests
19305
19306 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19307
19308         * gst/gstplugin.h:
19309           unbreak the build for those who have chronic arthritis
19310           and typing "make check" is just too taxing on the hands
19311
19312 2005-09-20  Andy Wingo  <wingo@pobox.com>
19313
19314         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
19315         really want it out, you should fix plugins at the same time.
19316
19317 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
19318
19319         * configure.ac:
19320         * docs/gst/gstreamer-sections.txt:
19321         * gst/gstobject.c:
19322           added missing symbols to api docs
19323           disable ref-count hack if we have glib >= 2.8
19324
19325 2005-09-19  David Schleef  <ds@schleef.org>
19326
19327         * docs/gst/Makefile.am: Ignore a few more internal headers
19328         * docs/gst/gstreamer-docs.sgml: Remove old sections
19329         * docs/gst/gstreamer-sections.txt: Remove old sections
19330         * docs/gst/tmpl/gstobject.sgml: update
19331         * docs/gst/tmpl/gstplugin.sgml: update
19332         * docs/gst/tmpl/gstpluginfeature.sgml: update
19333         * docs/random/ds/0.9-suggested-changes: update.
19334         * gst/Makefile.am: remove memchunk and trashstack, since they're
19335           not used.
19336         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
19337         * gst/gst.h: don't include some headers
19338         * gst/gstchildproxy.c: add gstmarshal.h
19339         * gst/gstclock.c: Don't use memchunks
19340         * gst/gstminiobject.c: Add some docs
19341         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
19342         * gst/gstobject.h: same
19343         * gst/gstplugin.c: include gstmacros.h
19344         * gst/gstplugin.h: don't include gstmacros.h, since it's private
19345         * gst/gstquery.c: don't use memchunks
19346         * gst/gstregistry.c: rename gst_registry_deinit()
19347         * gst/gstregistry.h: same
19348
19349 2005-09-19  David Schleef  <ds@schleef.org>
19350
19351         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
19352         * docs/libs/gstreamer-libs-sections.txt:
19353         * docs/libs/tmpl/gstgetbits.sgml:
19354         * docs/libs/tmpl/gstputbits.sgml:
19355
19356 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
19357
19358         * win32/gstenumtypes.c:
19359         * win32/gstenumtypes.h:
19360           Update.
19361
19362 2005-09-19  Wim Taymans  <wim@fluendo.com>
19363
19364         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
19365         Automatically PAUSE and RESUME a pipeline when a flushing seek
19366         is performed.
19367
19368 2005-09-19  Andy Wingo  <wingo@pobox.com>
19369
19370         * gst/gstregistry.h: Spacing fixen.
19371
19372 2005-09-19  Wim Taymans  <wim@fluendo.com>
19373
19374         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
19375         Handle state change failure more correctly.
19376
19377 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19378
19379         * check/Makefile.am:
19380         * check/pipelines/cleanup.c: (run_pipeline):
19381         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19382         (GST_START_TEST):
19383           enable cleanup again after fixing the leak
19384         * docs/README:
19385           some more info on docs
19386
19387 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19388
19389         * check/Makefile.am:
19390           re-enable tests now that leaks are plugged
19391         * check/gst/gst.c:
19392         * check/gst/gstbin.c:
19393         * check/gst/gstpipeline.c:
19394           add some more tests while fixing leaks
19395         * common/check.mak:
19396           make sure binaries are uptodate when valgrinding/gdbing
19397         * gst/gst.c:
19398         * gst/gstelementfactory.c:
19399           remove a ref too many, and add a FIXME for when we get
19400           round to disposing of classes
19401         * gst/gstplugin.c:
19402           fix the refcounting when loading a plugin from a file and
19403           the code pretends that the pointer is the same even though
19404           of course it can change
19405         * gst/gstpluginfeature.c:
19406           unref plugins marked cached (a bit confusing as a name)
19407           as the docs state should be done
19408           various doc additions to explain refcounting
19409         * gst/gstregistry.c:
19410         * gst/gstregistryxml.c:
19411           debugging
19412
19413 2005-09-19  Wim Taymans  <wim@fluendo.com>
19414
19415         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19416         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19417         (send_messages), (GST_START_TEST), (gstbus_suite):
19418         * check/gst/gstpipeline.c: (GST_START_TEST):
19419         * check/pipelines/cleanup.c: (run_pipeline):
19420         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19421         (GST_START_TEST):
19422         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
19423         (gst_bus_source_check), (gst_bus_source_dispatch),
19424         (gst_bus_create_watch), (gst_bus_add_watch_full),
19425         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
19426         * gst/gstbus.h:
19427         * tools/gst-launch.c: (event_loop):
19428         * tools/gst-md5sum.c: (event_loop):
19429         GstBusHandler -> GstBusFunc, return value has the same meaning as
19430         any other GSource (FALSE == remove source).
19431         _add_watch() and _add_watch_full() now take a MessageType mask to
19432         only handle specific types of messages.
19433         _poll() returns the GstMessage instead of the message type to avoid
19434         race conditions.
19435         _have_pending() takes a MessageType mask now too.
19436         Added testsuite for multiple bus watches.
19437         Fix testsuites and applications for new bus API.
19438
19439 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19440
19441         * check/Makefile.am:
19442           mark a bunch of the tests as to fix until we fix them
19443
19444 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19445
19446         * common/check.mak:
19447           use GST_PLUGIN settings for valgrind tests as well, so we're
19448           valgrinding the correct thing
19449         * gst/gst.c: (init_post):
19450           plug another leak
19451
19452 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19453
19454         * gst/gst.c: (init_post), (gst_deinit):
19455         * gst/gstelementfactory.c: (gst_element_factory_class_init),
19456         (gst_element_factory_finalize), (gst_element_factory_cleanup):
19457         * gst/gstindex.c: (gst_index_factory_class_init),
19458         (gst_index_factory_finalize):
19459         * gst/gstobject.c: (gst_object_dispose):
19460         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19461         (gst_plugin_load_file), (gst_plugin_desc_free):
19462         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19463         (gst_plugin_feature_finalize):
19464         * gst/gstregistry.c: (gst_registry_class_init),
19465         (gst_registry_init), (gst_registry_finalize),
19466         (gst_registry_get_default), (gst_registry_deinit):
19467         * gst/gstregistry.h:
19468         * gst/gstregistryxml.c: (load_feature), (load_plugin):
19469           various cleanups and memleak plugging.  make valgrind is happy now.
19470
19471 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19472
19473         * common/check.mak:
19474           add a check-valgrind target
19475
19476 2005-09-18  David Schleef  <ds@schleef.org>
19477
19478         * tools/gst-inspect.c: Revert the GOption code.
19479
19480 2005-09-17  David Schleef  <ds@schleef.org>
19481
19482         * check/Makefile.am: Fix environment variables.
19483         * check/gst/gstplugin.c: Fix for API changes.
19484         * tools/gst-inspect.c: Fix for API changes.
19485         * tools/gst-xmlinspect.c: Fix for API changes.
19486         * gst/gstelementfactory.c:
19487         * gst/gstplugin.c:
19488         * gst/gstplugin.h:
19489         * gst/gstpluginfeature.c:
19490         * gst/gstpluginfeature.h:
19491         * gst/gstregistry.c:
19492         * gst/gstregistry.h:
19493         * gst/gstregistryxml.c:
19494         * gst/gsttypefind.c:
19495         * gst/gsttypefindfactory.c:
19496         * gst/indexers/gstfileindex.c:
19497         * gst/indexers/gstmemindex.c:
19498         * gst/schedulers/Makefile.am:
19499           Change registry to keep track of both plugins and features,
19500           removing the feature tracking from plugins themselves.
19501
19502 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19503
19504         * check/Makefile.am:
19505         * tools/gst-register.1.in:
19506           remove gst-register
19507
19508 2005-09-15  David Schleef  <ds@schleef.org>
19509
19510         * check/gst/gstplugin.c:
19511         * gst/gstelementfactory.c:
19512         * gst/gstplugin.c:
19513         * gst/gstpluginfeature.c:
19514         * gst/gstregistry.c:
19515           Getting tired of debugging.  Disabled all the unreffing of
19516           plugins and features, which fixes the segfaults, but of
19517           course leaks like crazy.  At least playbin works.
19518
19519 2005-09-15  David Schleef  <ds@schleef.org>
19520
19521         * check/gst/gstplugin.c: (register_check_elements),
19522         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19523         More testing
19524         * gst/elements/gsttypefindelement.c: Fix refcounting.
19525         * gst/gsttypefind.c:
19526         * gst/gsttypefindfactory.c:
19527         * gst/gsttypefindfactory.h:
19528
19529 2005-09-15  David Schleef  <ds@schleef.org>
19530
19531         * gst/gstindex.c: get refcounting correct.
19532         * gst/gstregistry.c: Handle the case where a feature/plugin is
19533           not found.
19534
19535 2005-09-15  David Schleef  <ds@schleef.org>
19536
19537         * check/Makefile.am:
19538         * check/gst/gstplugin.c: Add test
19539         * gst/gstplugin.c: Fix problems noticed by testsuite
19540         * gst/gstplugin.h:
19541         * gst/gstregistry.c: 
19542         * gst/gstregistry.h:
19543
19544 2005-09-15  David Schleef  <ds@schleef.org>
19545
19546         * gst/gstplugin.c: Implement semi-decent recounting and locking
19547           in plugins and plugin features.
19548         * gst/gstplugin.h:
19549         * gst/gstpluginfeature.c:
19550         * gst/gstpluginfeature.h:
19551         * gst/gstregistry.c:
19552
19553 2005-09-15  Michael Smith <msmith@fluendo.com>
19554
19555         * gst/gstregistry.c: (gst_registry_get_feature_list):
19556           Implement this. Makes oggdemux work; decodebin still broken.
19557
19558 2005-09-14  David Schleef  <ds@schleef.org>
19559
19560         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19561           #316076)
19562         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19563         * gst/check/Makefile.am:
19564         * libs/gst/controller/Makefile.am:
19565         * libs/gst/dataprotocol/Makefile.am:
19566
19567 2005-09-14  David Schleef  <ds@schleef.org>
19568
19569         * configure.ac: Remove getbits library.  Nothing uses it, and
19570           it should be in something like liboil if someone did want
19571           to use it.
19572         * libs/gst/Makefile.am:
19573         * libs/gst/getbits/Makefile.am:
19574         * libs/gst/getbits/gbtest.c:
19575         * libs/gst/getbits/getbits.c:
19576         * libs/gst/getbits/getbits.h:
19577         * libs/gst/getbits/gstgetbits_generic.c:
19578         * libs/gst/getbits/gstgetbits_i386.s:
19579         * libs/gst/getbits/gstgetbits_inl.h:
19580
19581 2005-09-14  David Schleef  <ds@schleef.org>
19582
19583         * gst/Makefile.am: Dist glib-compat.h
19584
19585 2005-09-14  David Schleef  <ds@schleef.org>
19586
19587         * configure.ac: Remove gst/registries, since it's no longer used.
19588         * gst/registries/Makefile.am:
19589         * gst/registries/gstlibxmlregistry.c:
19590         * gst/registries/gstlibxmlregistry.h:
19591         * gst/registries/gstxmlregistry.c:
19592         * gst/registries/gstxmlregistry.h:
19593         * gst/registries/registrytest.c:
19594
19595 2005-09-14  David Schleef  <ds@schleef.org>
19596
19597         * gst/glib-compat.h:
19598         * gst/gstregistryxml.c:
19599           Convergence is near.  Seriously.
19600
19601 2005-09-14  David Schleef  <ds@schleef.org>
19602
19603         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19604         * gst/glib-compat.h:
19605           Attempt #4 to appease the buildbots.
19606
19607 2005-09-14  David Schleef  <ds@schleef.org>
19608
19609         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19610           Attempt #3.
19611
19612 2005-09-14  David Schleef  <ds@schleef.org>
19613
19614         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19615         Attempt #2.
19616
19617 2005-09-14  David Schleef  <ds@schleef.org>
19618
19619         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19620           the new functions.
19621
19622 2005-09-14  David Schleef  <ds@schleef.org>
19623
19624         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19625         * gst/glib-compat.h: Add some functions that are in newer versions
19626           of glib than we care to require.
19627         * gst/gstregistryxml.c: Use them.
19628
19629 2005-09-14  David Schleef  <ds@schleef.org>
19630
19631         * po/POTFILES.in: remove gst-register.c
19632
19633 2005-09-14  David Schleef  <ds@schleef.org>
19634
19635         * docs/gst/gstreamer-docs.sgml:
19636         * docs/gst/gstreamer-sections.txt:
19637         * docs/gst/gstreamer.types:
19638         * docs/gst/tmpl/gstelement.sgml:
19639         * docs/gst/tmpl/gstplugin.sgml:
19640         * docs/gst/tmpl/gstpluginfeature.sgml:
19641           Documentation updates for registry changes.
19642
19643 2005-09-14  David Schleef  <ds@schleef.org>
19644
19645         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19646           because we don't require glib-2.8.
19647
19648 2005-09-14  David Schleef  <ds@schleef.org>
19649
19650         * gst/gstregistryxml.c: Added.  Essentially moved out of the
19651           registries directory.
19652
19653 2005-09-14  David Schleef  <ds@schleef.org>
19654
19655         * check/Makefile.am:
19656         * check/generic/states.c:
19657         * gst/Makefile.am:
19658         * gst/gst.c:
19659         * gst/gst.h:
19660         * gst/gst_private.h:
19661         * gst/gstelementfactory.c:
19662         * gst/gstindex.c:
19663         * gst/gstinfo.c:
19664         * gst/gstplugin.c:
19665         * gst/gstplugin.h:
19666         * gst/gstpluginfeature.c:
19667         * gst/gstpluginfeature.h:
19668         * gst/gstregistry.c:
19669         * gst/gstregistry.h:
19670         * gst/gstregistrypool.c: remove
19671         * gst/gstregistrypool.h: remove
19672         * gst/gsttypefind.c:
19673         * gst/gsttypefindfactory.c:
19674         * gst/gsturi.c:
19675         * tools/Makefile.am:
19676         * tools/gst-compprep.c:
19677         * tools/gst-inspect.c:
19678         * tools/gst-register.c: remove
19679         * tools/gst-xmlinspect.c:
19680           Registry rewrite.  Changes registry from being a file created
19681           by a tool into a simple cache file created automatically by 
19682           libgstreamer.  Removed gst-register (because it's no longer
19683           needed).  Remove registry pools, because we only have one
19684           registry implementation (XML).  Fix up other subsystems as
19685           necessary.
19686
19687 2005-09-13  Michael Smith <msmith@fluendo.com>
19688
19689         * gst/gstconfig.h.in:
19690           Don't Use windows linking attributes for MinGW. Fixes #316157
19691
19692 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19693
19694         * gst/gstutils.c: (set_state_async_thread_func),
19695         (gst_element_set_state_async):
19696           Apparently people think it's better if this function doesn't
19697           try to set the state to whatever state was asked for on the first
19698           call to this function for any object.  Seriously.
19699
19700 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19701
19702         * check/gst/gstpipeline.c: (GST_START_TEST):
19703         * docs/gst/gstreamer-sections.txt:
19704         * gst/gstutils.c: (set_state_async_thread_func),
19705         (gst_element_set_state_async):
19706         * gst/gstutils.h:
19707           add a "gst_element_set_state_async" method that
19708           sets the state and starts a thread to make sure the state
19709           change completes as best as it can
19710
19711 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19712
19713         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19714           codify design+behaviour in testsuite after discussion
19715
19716 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19717
19718         * docs/gst/tmpl/gstelement.sgml:
19719         * docs/manual/appendix-quotes.xml:
19720           add a quote
19721         * gst/gstelement.c: (gst_element_set_state):
19722           add some debug
19723
19724 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19725
19726         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19727         (gst_base_transform_prepare_output_buf),
19728         (gst_base_transform_handle_buffer):
19729         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19730         (gst_capsfilter_prepare_buf):
19731           Remove the requirement for sub-classes to call the parent
19732           implementation of prepare_output_buffer with a wrapper function.
19733           
19734         * gst/gsttaglist.h:
19735         * gst/gsttagsetter.h:
19736           Fix #define wrapper
19737
19738 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19739
19740         * docs/gst/gstreamer-sections.txt:
19741           more doc cleanups
19742
19743 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19744
19745         * docs/gst/gstreamer-sections.txt:
19746         * docs/gst/tmpl/gstelement.sgml:
19747         * docs/gst/tmpl/gstplugin.sgml:
19748         * gst/gstminiobject.c:
19749         * gst/gstvalue.h:
19750           docs now stop throwing warnings
19751
19752 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19753
19754         * docs/gst/gstreamer-sections.txt:
19755         * docs/gst/gstreamer.types:
19756         * docs/gst/tmpl/gstpad.sgml:
19757         * docs/gst/tmpl/gsttypes.sgml:
19758         * gst/base/gstadapter.h:
19759         * gst/base/gstbasesink.h:
19760         * gst/base/gstbasesrc.h:
19761         * gst/gstbin.h:
19762         * gst/gstbuffer.h:
19763         * gst/gstbus.h:
19764         * gst/gstcaps.h:
19765         * gst/gstclock.h:
19766         * gst/gstelement.h:
19767         * gst/gstevent.h:
19768         * gst/gstmessage.h:
19769         * gst/gstpad.h:
19770         * gst/gststructure.c:
19771         * gst/registries/gstlibxmlregistry.h:
19772           various documentation fixes
19773
19774 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19775
19776         * docs/gst/gstreamer-sections.txt:
19777         * docs/gst/tmpl/gstvalue.sgml:
19778           rearrange gstvalue section
19779         * gst/gstutils.c: (gst_element_state_get_name):
19780           NONE -> VOID
19781         * gst/gstvalue.c: (_gst_value_initialize):
19782         * gst/gstvalue.h:
19783           doc updates
19784
19785 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19786
19787         * check/gst-libs/controller.c:
19788           Header include fix.
19789         * gst/base/gstbasetransform.c:
19790         (gst_base_transform_default_prepare_buf),
19791         (gst_base_transform_handle_buffer):
19792         * gst/base/gstbasetransform.h:
19793           Some more basetransform changes and fixes to enable sub-classes
19794           that modify buffer metadata only.
19795         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19796         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19797         (gst_capsfilter_prepare_buf):
19798           If the output pad has fixed allowed caps and input buffers 
19799           don't have any, set the fixed caps on outgoing buffers.
19800
19801 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19802         * check/elements/identity.c: (GST_START_TEST):
19803           Make the error a little clearer when the test fails because
19804           identity made a copy of the buffer.
19805         * docs/gst/gstreamer-sections.txt:
19806           New symbols in gstbasetransform.h
19807         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19808         (gst_base_transform_init), (gst_base_transform_transform_size),
19809         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19810         (gst_base_transform_default_prepare_buf),
19811         (gst_base_transform_get_unit_size),
19812         (gst_base_transform_buffer_alloc),
19813         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19814         (gst_base_transform_change_state),
19815         (gst_base_transform_set_passthrough),
19816         (gst_base_transform_set_in_place),
19817         (gst_base_transform_is_in_place):
19818         * gst/base/gstbasetransform.h:
19819           Change BaseTransform to separate in_place operate from same_caps
19820           output. in_place implies that the element can perform the transform
19821           on incoming buffers in-place, even if the caps on the output are
19822           different.
19823           Sub-class elements can now implement special buffer allocation
19824           methods for outgoing buffers if they wish to.
19825           Big documentation addition.
19826         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19827         * gst/elements/gstelements.c:
19828           Changes for basetransform modifications.
19829         * gst/elements/Makefile.am:
19830         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19831           Compile fix. Extra debug output.
19832
19833 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19834
19835         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19836         (gst_pad_suite):
19837           add tests for valid pad naming
19838         * gst/check/gstcheck.c: (gst_check_log_message_func),
19839         (gst_check_log_critical_func):
19840           add ASSERT_WARNING
19841           remove printing of code, it is fragile when the code contains
19842           % and the line number is enough info
19843         * gst/check/gstcheck.h:
19844         * gst/gstpad.c: (gst_pad_template_new):
19845           fix memleaks
19846
19847 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19848
19849         * configure.ac:
19850           say what CHECK flags we use
19851         * docs/libs/gstreamer-libs.types:
19852         * libs/gst/controller/Makefile.am:
19853         * libs/gst/controller/gst-controller.c:
19854         * libs/gst/controller/gst-controller.h:
19855         * libs/gst/controller/gst-helper.c:
19856         * libs/gst/controller/gst-interpolation.c:
19857         * libs/gst/controller/gstcontroller.c:
19858         * libs/gst/controller/gsthelper.c:
19859         * libs/gst/controller/gstinterpolation.c:
19860         * tools/gst-inspect.c: (print_plugin_info):
19861           we don't use dashes in header names
19862
19863 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19864
19865         * check/Makefile.am:
19866         * check/gst/.cvsignore:
19867         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19868         (gst_pipeline_suite), (main):
19869           adding a test for pipelines and state changes
19870         * gst/gstutils.c: (get_state_func):
19871           add some debugging
19872         * gstreamer.spec.in:
19873           fix up spec file
19874
19875 2005-09-08  Michael Smith <msmith@fluendo.com>
19876
19877         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19878         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19879         (gst_file_src_is_seekable), (gst_file_src_get_size),
19880         (gst_file_src_start):
19881         * gst/elements/gstfilesrc.h:
19882           Various fixes for unseekable, unmmapable, and non-normal files, so
19883           that fallback to read() rather than mmap() works.
19884         * gst/gstevent.c: (gst_event_new_newsegment):
19885           Allow newsegment events with segment_start == segment_end, as will
19886           correctly happen if you use filesrc on a zero-size file, for
19887           example.
19888
19889 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19890
19891         * gst/gstplugin.c: (gst_plugin_load_file):
19892           Call g_module_close when we don't load the module
19893
19894         * gst/registries/gstlibxmlregistry.c:
19895         (gst_xml_registry_get_property):
19896           Port leak fix from 0.8
19897
19898 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19899
19900         * docs/gst/gstreamer-docs.sgml:
19901         * docs/gst/tmpl/.cvsignore:
19902         * docs/gst/tmpl/gsttrace.sgml:
19903         * docs/gst/tmpl/gsttrashstack.sgml:
19904         * gst/Makefile.am:
19905         * gst/gst.h:
19906         * gst/gstelement.h:
19907         * gst/gstevent.h:
19908         * gst/gstmessage.c:
19909         * gst/gstmessage.h:
19910         * gst/gsttag.c:
19911         * gst/gsttag.h:
19912         * gst/gsttaginterface.c:
19913         * gst/gsttaginterface.h:
19914         * gst/gsttaglist.c:
19915         * gst/gsttaglist.h:
19916         * gst/gsttagsetter.c:
19917         * gst/gsttagsetter.h:
19918         * gst/gsttrace.c:
19919         * gst/gsttrace.h:
19920         * gst/gsttrashstack.c:
19921           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19922           inlined docs for gsttrace, gsttrashstack
19923
19924 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19925
19926         * gst/Makefile.am:
19927         * gst/elements/gstbufferstore.h:
19928         * gst/elements/gsttypefindelement.c:
19929         * gst/elements/gsttypefindelement.h:
19930         * gst/gst.h:
19931         * gst/gsttypefind.c:
19932         * gst/gsttypefind.h:
19933         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19934         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19935         (gst_type_find_factory_dispose),
19936         (gst_type_find_factory_unload_thyself),
19937         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19938         (gst_type_find_factory_get_caps),
19939         (gst_type_find_factory_get_extensions),
19940         (gst_type_find_factory_call_function):
19941         * gst/gsttypefindfactory.h:
19942         * gst/registries/gstlibxmlregistry.c:
19943         * gst/registries/gstxmlregistry.c:
19944           splitted gsttypefind into gsttypefind, gsttypefindfactory
19945
19946 2005-09-07  Andy Wingo  <wingo@pobox.com>
19947
19948         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19949         condition whereby the pad's task function is entered before the
19950         pad_mode variable was set.
19951
19952 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19953
19954         * gst/gstpad.c: (gst_pad_alloc_buffer):
19955           Catch misbehaving pad_alloc functions that don't
19956           set up caps and do it for them.
19957
19958 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19959
19960         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19961           test for pipe!=NULL
19962         * docs/gst/tmpl/.cvsignore:
19963         * docs/gst/tmpl/gstmemchunk.sgml:
19964         * docs/gst/tmpl/gstparse.sgml:
19965         * docs/gst/tmpl/gsttaglist.sgml:
19966         * docs/gst/tmpl/gsttagsetter.sgml:
19967         * docs/gst/tmpl/gsttypefind.sgml:
19968         * docs/gst/tmpl/gsttypefindfactory.sgml:
19969         * gst/gstmemchunk.c:
19970         * gst/gstparse.c:
19971         * gst/gsttag.c:
19972         * gst/gsttaginterface.c:
19973         * gst/gsttypefind.c:
19974         * gst/gsttypefind.h:
19975           inlined more docs
19976
19977 === release 0.9.2 ===
19978
19979 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19980
19981         * NEWS:
19982         * RELEASE:
19983         * configure.ac:
19984           releasing 0.9.2, "South"
19985
19986 2005-09-05  Andy Wingo  <wingo@pobox.com>
19987
19988         * gst/registries/gstxmlregistry.h:
19989         * gst/registries/gstxmlregistry.c: Um... resurrect...
19990         
19991         * gst/registries/gstxmlregistry.h:
19992         * gst/registries/gstxmlregistry.c: and update to newer API.
19993         Incidentally they should be a bit faster now that they don't have
19994         to parse the caps.
19995         
19996 2005-09-05  Andy Wingo  <wingo@pobox.com>
19997
19998         * gst/registries/gstxmlregistry.h:
19999         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
20000         replaced by the libxml registry a while back
20001
20002 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20003
20004         * docs/gst/tmpl/gstplugin.sgml:
20005         * gst/elements/gstelements.c:
20006         * gst/gst.c:
20007         * gst/gstplugin.c: (gst_plugin_register_func),
20008         (gst_plugin_desc_copy), (gst_plugin_desc_free),
20009         (gst_plugin_get_source):
20010         * gst/gstplugin.h:
20011         * gst/registries/gstlibxmlregistry.c: (load_plugin),
20012         (gst_xml_registry_save_plugin):
20013         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
20014         (gst_xml_registry_save_plugin):
20015         * tools/gst-inspect.c: (print_plugin_info):
20016           add a "source" plugin description field, to represent the source
20017           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
20018           will set it to PACKAGE, which is automake's idea of the name of
20019           the source project.
20020
20021 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20022
20023         * Makefile.am:
20024         * autogen.sh:
20025         * configure.ac:
20026         * docs/Makefile.am:
20027         * docs/faq/Makefile.am:
20028         * docs/gst/tmpl/gstelement.sgml:
20029         * docs/gst/tmpl/gsttypes.sgml:
20030         * docs/htmlinstall.mak:
20031         * docs/manual/Makefile.am:
20032         * docs/pwg/Makefile.am:
20033           reorganize doc build a little
20034           split out docbook and gtk-doc stuff
20035           have two separate --enable's and enable them through autogen
20036           but disable by default in configure (to be similar to other
20037           projects)
20038         * gstreamer.spec.in:
20039           clean up docs install
20040         * po/af.po:
20041         * po/az.po:
20042         * po/ca.po:
20043         * po/cs.po:
20044         * po/de.po:
20045         * po/en_GB.po:
20046         * po/fr.po:
20047         * po/it.po:
20048         * po/nb.po:
20049         * po/nl.po:
20050         * po/ru.po:
20051         * po/sq.po:
20052         * po/sr.po:
20053         * po/sv.po:
20054         * po/tr.po:
20055         * po/uk.po:
20056         * po/vi.po:
20057           translation updates
20058
20059 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
20060
20061         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
20062           Add comment.
20063           
20064         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20065         (gst_fake_sink_change_state):
20066           Make state change function thread-safe.
20067           
20068         * gst/gstpad.c: (gst_pad_alloc_buffer):
20069           Set offset on generic buffer allocated by fallback.
20070
20071 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
20072
20073         * docs/gst/gstreamer-sections.txt:
20074         * docs/gst/tmpl/gstelement.sgml:
20075         * gst/gstpad.c:
20076         * libs/gst/controller/gst-controller.c:
20077         (gst_controlled_property_set_interpolation_mode),
20078         (gst_controlled_property_new),
20079         (gst_controller_find_controlled_property):
20080          run the wingo-magic script against the docs
20081
20082 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20083
20084         * docs/gst/gstreamer-docs.sgml:
20085         * docs/gst/gstreamer-sections.txt:
20086         * docs/gst/tmpl/.cvsignore:
20087         * docs/gst/tmpl/gstelementdetails.sgml:
20088         * docs/gst/tmpl/gstelementfactory.sgml:
20089         * gst/gst.c:
20090         * gst/gstbus.c:
20091         * gst/gstelementfactory.c:
20092         * gst/gstelementfactory.h:
20093           merged elementdetails docs into elementfactory docs
20094           inlined both
20095
20096 2005-09-02  Andy Wingo  <wingo@pobox.com>
20097
20098         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
20099         consider this enum an enum and not a flags.
20100
20101 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20102
20103         * docs/gst/gstreamer-docs.sgml:
20104         * docs/gst/tmpl/.cvsignore:
20105         * docs/gst/tmpl/gstghostpad.sgml:
20106         * docs/gst/tmpl/gstiterator.sgml:
20107         * docs/gst/tmpl/gstmacros.sgml:
20108         * docs/gst/tmpl/gstrealpad.sgml:
20109         * docs/gst/tmpl/gstregistry.sgml:
20110         * docs/gst/tmpl/gstregistrypool.sgml:
20111         * docs/gst/tmpl/gststructure.sgml:
20112         * docs/gst/tmpl/gstsystemclock.sgml:
20113         * docs/gst/tmpl/gsttrace.sgml:
20114         * gst/gstghostpad.c:
20115         * gst/gstmacros.h:
20116         * gst/gstmemchunk.c:
20117         * gst/gstmemchunk.h:
20118         * gst/gstqueue.c:
20119         * gst/gstregistry.c:
20120         * gst/gstregistrypool.c:
20121         * gst/gststructure.c:
20122         * gst/gstsystemclock.c:
20123           more docs inlined
20124
20125 2005-09-02  Andy Wingo  <wingo@pobox.com>
20126
20127         * gst/gstelement.h (GstState): Renamed from GstElementState,
20128         changed to be a normal enum instead of flags.
20129         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
20130         munged to be GST_STATE_CHANGE_*.
20131         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
20132         work with the new state representation.
20133         (GstStateChange): New enumeration of possible state transitions.
20134         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
20135         (GstElementClass::change_state): Pass the GstStateChange along as
20136         an argument. Helps language bindings, so they don't have to use
20137         tricky lock-needing macros like GST_STATE_CHANGE ().
20138
20139         * scripts/update-states (file): New script. Run it on a file to
20140         update it for state naming and API changes. Updates files in
20141         place.
20142
20143         * All files updated for the new API.
20144
20145 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20146
20147         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
20148         * gst/gstutils.c: (gst_util_set_value_from_string),
20149         (gst_util_set_object_arg):
20150           fix a bunch of unchecked return values
20151         * tools/gst-complete.c: (main):
20152         * gstreamer.spec.in:
20153           clean up a little
20154
20155 2005-09-01  Wim Taymans  <wim@fluendo.com>
20156
20157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20158         (gst_base_sink_event), (gst_base_sink_do_sync),
20159         (gst_base_sink_handle_event):
20160         * gst/base/gstbasesink.h:
20161         Handle newsegments more correctly.
20162
20163         * gst/gstbus.c:
20164         Fix docs.
20165
20166         * gst/gstevent.c: (gst_event_new_newsegment):
20167         A newsegment cannot have a start_time of -1
20168
20169 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
20170
20171         * win32/gstenumtypes.c:
20172         * win32/gstenumtypes.h:
20173           Update
20174
20175 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20176
20177         * libs/gst/controller/gst-controller.c:
20178         (gst_controlled_property_set_interpolation_mode),
20179         (gst_controlled_property_new):
20180          fixed boolean again
20181
20182 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
20183
20184         * docs/faq/gst-uninstalled:
20185           add -good
20186         * gst/gstevent.c:
20187         * gst/gstevent.h:
20188           remove wrong docs
20189         * gst/gstutils.c: (gst_element_link_filtered):
20190         * gst/gstutils.h:
20191           add gst_element_link_filtered
20192
20193 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20194
20195         * docs/gst/gstreamer-docs.sgml:
20196         * docs/gst/gstreamer-sections.txt:
20197         * docs/gst/tmpl/.cvsignore:
20198         * docs/gst/tmpl/gsterror.sgml:
20199         * docs/gst/tmpl/gstfilter.sgml:
20200         * docs/gst/tmpl/gsturihandler.sgml:
20201         * docs/gst/tmpl/gsturitype.sgml:
20202         * docs/gst/tmpl/gstutils.sgml:
20203         * docs/gst/tmpl/gstxml.sgml:
20204         * gst/gsterror.c:
20205         * gst/gsterror.h:
20206         * gst/gstfilter.c:
20207         * gst/gsturi.c:
20208         * gst/gsturitype.c:
20209         * gst/gstutils.c:
20210         * gst/gstxml.c:
20211           inlined more docs, fixed double id-ref
20212
20213 2005-08-31  Wim Taymans  <wim@fluendo.com>
20214
20215         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20216         (gst_base_transform_handle_buffer):
20217         Passthrough elements don't need the caps as they don't care.
20218
20219 2005-08-31  Wim Taymans  <wim@fluendo.com>
20220
20221         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20222         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
20223         Don't leak refcounts on buffers.
20224
20225 2005-08-31  Wim Taymans  <wim@fluendo.com>
20226
20227         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
20228         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
20229         (gst_base_transform_chain), (gst_base_transform_change_state):
20230         * gst/base/gstbasetransform.h:
20231         Handle the case where we are not negotiated more gracefully.
20232
20233 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
20234
20235         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
20236         (gst_file_src_map_region):
20237           Set READONLY flag on mmap'ed buffers, otherwise
20238           gst_buffer_make_writable() won't work properly (#314708).
20239
20240 2005-08-31  Wim Taymans  <wim@fluendo.com>
20241
20242         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
20243         passthrough elements can even do inplace on non writable
20244         buffers (as they don't touch them).
20245
20246 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20247
20248         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20249         (gst_test_mono_source_set_property),
20250         (gst_test_mono_source_class_init), (GST_START_TEST),
20251         (gst_controller_suite):
20252           more tests (hehe I have the most)
20253         * gst/gstbus.c:
20254           describe popping messages whenusing mulltiple sources
20255         * libs/gst/controller/gst-controller.c:
20256         (gst_controlled_property_set_interpolation_mode),
20257         (gst_controlled_property_new):
20258         * libs/gst/controller/gst-controller.h:
20259         * libs/gst/controller/gst-interpolation.c:
20260           implement boolean properties
20261
20262 2005-08-31  Wim Taymans  <wim@fluendo.com>
20263
20264         * gst/gstminiobject.c: (gst_mini_object_ref):
20265         Cannot assert that the refcount has to be positive
20266         since a disposed object can be resurrected.
20267
20268 2005-08-31  Wim Taymans  <wim@fluendo.com>
20269
20270         * gst/gstpad.c: (gst_pad_init):
20271         Revert change, need to first fix badly behaving 
20272         apps.
20273
20274 2005-08-30  Wim Taymans  <wim@fluendo.com>
20275
20276         * check/elements/fakesrc.c: (setup_fakesrc):
20277         * check/elements/identity.c: (setup_identity):
20278         Activate pads before using them.
20279
20280 2005-08-30  Wim Taymans  <wim@fluendo.com>
20281
20282         * gst/base/gstadapter.c: (gst_adapter_flush):
20283         Flushing out 0 bytes is ok for this function.
20284
20285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20286         no newsegment gives a warning and sets the start/stop to 
20287         invalid.
20288
20289         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
20290         (gst_base_transform_set_passthrough):
20291         Some debug info.
20292
20293         * gst/gstminiobject.c: (gst_mini_object_ref):
20294         Check refcount here too.
20295
20296         * gst/gstpad.c: (gst_pad_init):
20297         Pads are initially flushing and refusing data.
20298
20299         * gst/gstutils.c: (gst_element_link_pads_filtered):
20300         When adding a capsfilter element make sure it has the
20301         same state as the parent bin.
20302
20303 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20304
20305         * docs/gst/tmpl/.cvsignore:
20306         * docs/gst/tmpl/gstformat.sgml:
20307         * docs/gst/tmpl/gstversion.sgml:
20308         * gst/gstbus.h:
20309         * gst/gstformat.c:
20310         * gst/gstformat.h:
20311         * gst/gstversion.h.in:
20312           more docs and two more inlined
20313
20314 2005-08-30  Wim Taymans  <wim@fluendo.com>
20315
20316         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
20317         Don't sync to clock.
20318
20319 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20320
20321         * docs/gst/gstreamer-sections.txt:
20322           ultral33t func10ns deserve to appear in the docs actually
20323         * docs/gst/tmpl/.cvsignore:
20324         * docs/gst/tmpl/gstcompat.sgml:
20325         * docs/gst/tmpl/gstconfig.sgml:
20326         * gst/check/gstcheck.c:
20327         * gst/gstcompat.h:
20328         * gst/gstconfig.h.in:
20329           inlined more docs
20330
20331 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20332
20333         * docs/gst/tmpl/.cvsignore:
20334         * docs/gst/tmpl/gstquery.sgml:
20335         * docs/gst/tmpl/gstutils.sgml:
20336         * gst/gstquery.c:
20337         * gst/gstquery.h:
20338           inlined and extended docs
20339
20340 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20341
20342         * check/gst-libs/controller.c: (GST_START_TEST),
20343         (gst_controller_suite):
20344           more tests
20345         * docs/gst/tmpl/gstutils.sgml:
20346         * docs/libs/gstreamer-libs-sections.txt:
20347         * docs/libs/tmpl/gstdataprotocol.sgml:
20348           include path fixes
20349         * examples/controller/audio-example.c: (main):
20350           controller example works now
20351         * gst/gstclock.h:
20352           doc fixes
20353         * tools/gst-inspect.c: (print_element_properties_info):
20354           show param spec flags
20355
20356 2005-08-29  Andy Wingo  <wingo@pobox.com>
20357
20358         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
20359
20360 2005-08-28  Andy Wingo  <wingo@pobox.com>
20361
20362         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
20363         as having two arguments instead of just one. Allows superclasses
20364         to access information on subclasses -- see the terrible for() loop
20365         in gtype.c:g_type_create_instance for the reason why. All callers
20366         changed.
20367
20368 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20369
20370         * docs/design/part-messages.txt:
20371           update info
20372         * docs/gst/tmpl/.cvsignore:
20373         * docs/gst/tmpl/gstcaps.sgml:
20374         * docs/gst/tmpl/gstclock.sgml:
20375         * gst/gstbus.c:
20376         * gst/gstcaps.c:
20377         * gst/gstcaps.h:
20378         * gst/gstclock.c:
20379         * gst/gstclock.h:
20380         * gst/gstmessage.c:
20381           added descriptions for bus and message
20382           inline caps and clock docs
20383
20384 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20385
20386         * gst/gstmessage.c:
20387         * gst/gstmessage.h:
20388           doc fixes
20389
20390 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20391
20392         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20393           fix div-by-zero
20394
20395 2005-08-26  Andy Wingo  <wingo@pobox.com>
20396
20397         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
20398         element_set_state's return val.
20399         (test_2_elements): Add test that's been disabled for months.
20400
20401         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
20402         can-activate-pull properties.
20403
20404         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
20405         can-activate-pull properties. Implement is_seekable so fakesrc can
20406         operate in pull mode.
20407
20408         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
20409         properties.
20410         (gst_base_sink_activate, gst_base_sink_activate_pull)
20411         (gst_base_sink_activate_push): Make activation mode choosing work.
20412         Cleanups.
20413         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20414         is right. Make pull mode work. Post an eos before pausing in pull
20415         mode.
20416         (gst_base_sink_change_state): Pay attention to the core's
20417         change_state() return val.
20418         
20419         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
20420         has-getrange properties. Cleanups.
20421         
20422         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
20423         has_getrange and replace with can_activate_pull and
20424         can_activate_push.
20425
20426         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
20427         locking comments. Remove has_loop, has_chain and replace with
20428         can_activate_pull and can_activate_push.
20429
20430 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
20431
20432         * configure.ac:
20433         * examples/Makefile.am:
20434         * examples/metadata/Makefile.am:
20435         * examples/metadata/read-metadata.c: (message_loop),
20436         (have_pad_handler), (make_pipeline), (print_tag), (main):
20437           Add metadata reading example that loops over a list of filenames,
20438           dumping any tags found.
20439
20440         * gst/gstbus.c: (gst_bus_dispose):
20441         * gst/gstelement.c: (gst_element_dispose):
20442           Release a few potentially-held references in dispose.
20443
20444 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20445
20446         * docs/gst/tmpl/gstminiobject.sgml:
20447           do *not* add tmpl/*.sgml files to CVS!
20448
20449 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20450
20451         * libs/gst/bytestream/.cvsignore:
20452         * libs/gst/bytestream/Makefile.am:
20453         * libs/gst/bytestream/adapter.c:
20454         * libs/gst/bytestream/adapter.h:
20455         * libs/gst/bytestream/bytestream.c:
20456         * libs/gst/bytestream/bytestream.h:
20457         * libs/gst/bytestream/filepad.c:
20458         * libs/gst/bytestream/filepad.h:
20459           removing obsolete files
20460
20461 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20462
20463         * docs/gst/gstreamer-docs.sgml:
20464         * docs/libs/gstreamer-libs-docs.sgml:
20465           disabed additional index entries again, as this makes docs-gen just
20466           slow and they aren't useful yet
20467         * docs/libs/gstreamer-libs-sections.txt:
20468           little -section.txt cleanup for libs
20469
20470 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20471
20472         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20473         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20474           fix up some debugging
20475         (gst_base_transform_get_unit_size),
20476         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20477         (gst_base_transform_handle_buffer):
20478         * gst/base/gstbasetransform.h:
20479           handle and store timed NEWSEGMENT events so that subclasses that
20480           calculate time by counting samples have a segment_start time they
20481           need to add to their timestamps - see audioresample
20482
20483 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20484
20485         * gst/gstbin.h:
20486           removed ';' from the end of macro defs
20487         * docs/gst/gstreamer-docs.sgml:
20488         * docs/gst/gstreamer-sections.txt:
20489         * docs/gst/tmpl/.cvsignore:
20490         * gst/gstbus.h:
20491         * gst/gstelement.c: (gst_element_class_init),
20492         (gst_element_set_state), (activate_pads),
20493         (gst_element_save_thyself):
20494         * gst/gstevent.c: (gst_event_new_newsegment):
20495         * gst/gstevent.h:
20496         * gst/gstiterator.c:
20497         * gst/gstiterator.h:
20498         * gst/gstpad.c:
20499         * gst/gstprobe.h:
20500         * gst/gstutils.c: (gst_pad_query_convert):
20501         * gst/gstutils.h:
20502           fixed parameter name mismatches between source, header and docs
20503           added some more docs, resolved the last batch of unused elements in
20504           docs (now someone needs to doc them)
20505
20506 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20507
20508         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20509         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20510           don't walk through the plugins backwards.  Where is all this
20511           reversed logic coming from ?
20512
20513 2005-08-25  Wim Taymans  <wim@fluendo.com>
20514
20515         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20516         (gst_base_transform_transform_size),
20517         (gst_base_transform_configure_caps),
20518         (gst_base_transform_get_unit_size),
20519         (gst_base_transform_buffer_alloc),
20520         (gst_base_transform_change_state):
20521         * gst/base/gstbasetransform.h:
20522         Cache caps unit_size.
20523         Make sure we cannot negotiate up and downstream at the
20524         same time.
20525
20526 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20527
20528         * gst/gst.c: (init_pre), (init_post):
20529           register the installed plugin path after the env var
20530         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20531         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20532           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20533           directories, so the tests can prefer uninstalled over installed
20534
20535 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20536
20537         * gst/base/gstbasetransform.h:
20538           comment
20539         * gst/gstpad.c:
20540           add to docs
20541
20542 2005-08-25  Wim Taymans  <wim@fluendo.com>
20543
20544         * gst/gstbin.c: (bin_bus_handler):
20545         Be a bit more conservative about the posted message.
20546         
20547         * gst/gstbus.c: (gst_bus_post):
20548         Some cleanups, warn wrong return values.
20549
20550 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20551
20552         * check/gst/gstbin.c: (GST_START_TEST):
20553         * gst/gstbin.c: (bin_bus_handler):
20554         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20555         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20556         (gst_message_new_warning), (gst_message_new_tag),
20557         (gst_message_new_state_changed), (gst_message_new_segment_start),
20558         (gst_message_new_segment_done), (gst_message_new_custom):
20559         * gst/gstmessage.h:
20560         * tools/gst-launch.c: (event_loop):
20561         * tools/gst-md5sum.c: (event_loop):
20562           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20563
20564 2005-08-25  Wim Taymans  <wim@fluendo.com>
20565
20566         * check/generic/states.c: (GST_START_TEST):
20567         Cleanup can be done at the end.
20568
20569         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20570         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20571         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20572         Oh boy.. Thanks for finding this, Thomas. 
20573
20574 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20575
20576         * docs/gst/gstreamer.types:
20577           added missing types
20578
20579 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20580
20581         * docs/gst/gstreamer-docs.sgml:
20582         * docs/gst/gstreamer-sections.txt:
20583         * docs/gst/tmpl/.cvsignore:
20584         * gst/gstbin.c:
20585         * gst/gstiterator.c:
20586         * gst/gstutils.c:
20587         * gst/registries/gstxmlregistry.h:
20588           added missing classes and symbols (123 more to go)
20589           removed removed symbols from section file
20590           fixed many doc-comments
20591
20592 2005-08-24  Wim Taymans  <wim@fluendo.com>
20593
20594         * check/generic/states.c: (GST_START_TEST):
20595         Make sure all tasks are stopped.
20596
20597         * check/gst/gstbin.c: (GST_START_TEST):
20598         Unref after usage for proper valgrinding.
20599
20600         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20601         Really wait for the task to stop before destroying the
20602         mutex.
20603
20604         * gst/gstqueue.c: (gst_queue_sink_activate_push),
20605         (gst_queue_src_activate_push):
20606         Small cleanups. Don't stop the task when we did not start
20607         it.
20608
20609         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20610         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20611         (gst_task_get_state), (gst_task_start), (gst_task_pause),
20612         (gst_task_join):
20613         * gst/gsttask.h:
20614         Protect the stream lock with the object lock.
20615         Disallow setting the stream lock when running.
20616         Add cleanup_all to wait for the threadpool to finish.
20617         Remove code to autoallocate a mutex if none was provided.
20618         Add _join() to wait for a task to stop.
20619         Protect the thread pool with a global lock.
20620
20621 2005-08-24  Wim Taymans  <wim@fluendo.com>
20622
20623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20624         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20625         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20626         * gst/base/gstbasesink.h:
20627         Handle newsegment events correctly.
20628         Drop buffers out of the segment range.
20629
20630 2005-08-22  Andy Wingo  <wingo@pobox.com>
20631
20632         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20633         macro, implements an interface and gstimplementsinterface for a
20634         new type.
20635
20636 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20637
20638         * check/Makefile.am:
20639         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20640           add a test that does a bunch of state changes on elements
20641           needs some fixing for valgrind
20642         * check/states/sinks.c: (gst_object_suite):
20643           whitespace
20644         * gst/gstcaps.h:
20645           add prototype for gst_caps_is_equal_fixed
20646         * gst/gstplugin.c:
20647         * gst/gstregistrypool.c:
20648           doc fixes
20649
20650 2005-08-24  Andy Wingo  <wingo@pobox.com>
20651
20652         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20653         convert a negative value. Doesn't make much sense. Mostly this is
20654         here to force callers to ensure -1 maps to -1.
20655
20656 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20657
20658         * docs/pwg/advanced-types.xml:
20659           Well done to Michael for catching my deliberate introduction
20660           of this spelling mistake. 
20661         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20662         * gst/gstelement.h:
20663           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20664           unlink pads before removing the element from the bin.
20665
20666 2005-08-24  Andy Wingo  <wingo@pobox.com>
20667
20668         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20669         the same thing as GST_DEBUG=*:4.
20670         (parse_debug_level, parse_debug_category): New helper parsers.
20671
20672 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20673
20674         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20675         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20676         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20677         (gst_base_transform_buffer_alloc),
20678         (gst_base_transform_handle_buffer):
20679           use gboolean return values and pointers to size so we can use the
20680           full GST_BUFFER_SIZE range (guint) for buffer sizes
20681           use GstPadDirection for transform_caps
20682         * gst/base/gstbasetransform.h:
20683           rename get_size to get_unit_size since that's what it is
20684         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20685           use GstPadDirection for transform_caps
20686         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20687         * gst/gstutils.h:
20688           cleanup and debugging
20689
20690 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20691
20692         * gst/gstelement.c: (gst_element_class_init),
20693         (gst_element_set_state), (activate_pads),
20694         (gst_element_save_thyself):
20695         * tools/gst-compprep.c: (main):
20696         * tools/gst-inspect.c: (print_element_properties_info):
20697         * tools/gst-xmlinspect.c: (print_element_properties):
20698           Fixed long standing mem-leak
20699
20700 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20701
20702         * check/gst/gstbin.c: (GST_START_TEST):
20703         * gst/gstbin.c: (bin_bus_handler):
20704         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20705         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20706         (gst_message_new_warning), (gst_message_new_tag),
20707         (gst_message_new_state_changed), (gst_message_new_segment_start),
20708         (gst_message_new_segment_done), (gst_message_new_custom):
20709         * gst/gstmessage.h:
20710         * tools/gst-launch.c: (event_loop):
20711         * tools/gst-md5sum.c: (event_loop):
20712           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20713           that applications can sensibly post custom messages with references
20714           to their own objects.
20715
20716 2005-08-24  Andy Wingo  <wingo@pobox.com>
20717
20718         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20719         already.
20720
20721 2005-08-24  Wim Taymans  <wim@fluendo.com>
20722
20723         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20724         (gst_base_transform_transform_caps),
20725         (gst_base_transform_transform_size),
20726         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20727         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20728         (gst_base_transform_handle_buffer):
20729         * gst/base/gstbasetransform.h:
20730         Many fixes and new features added by Thomas. Can now also do
20731         transforms with variable sizes and a custom fixate_caps function.
20732
20733 2005-08-24  Wim Taymans  <wim@fluendo.com>
20734
20735         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20736         Some debugging.
20737
20738         * gst/gstclock.h:
20739         Cast to ClockTime before formatting to time.
20740
20741         * gst/gstutils.h:
20742         Cleanups.
20743
20744 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20745
20746         * check/gst-libs/controller.c: (GST_START_TEST),
20747         (gst_controller_suite):
20748         * docs/gst/tmpl/gstcaps.sgml:
20749         * docs/gst/tmpl/gstghostpad.sgml:
20750         * docs/gst/tmpl/gstquery.sgml:
20751         * docs/gst/tmpl/gstutils.sgml:
20752         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20753         (gst_object_sink_values), (gst_object_get_value_arrays),
20754         (gst_object_get_value_array):
20755           gracefully handle helper method calls to objects that are not beeing
20756           controlled, added test case for that          
20757
20758 2005-08-23  Wim Taymans  <wim@fluendo.com>
20759
20760         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20761         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20762         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20763         (gst_event_parse_qos), (gst_event_new_seek),
20764         (gst_event_parse_seek):
20765         * gst/gstevent.h:
20766         Some more debugging output and doc cleanups.
20767
20768         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20769         Fix possible deadlock.
20770
20771 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20772
20773         * docs/gst/gstreamer-docs.sgml:
20774         * docs/gst/gstreamer-sections.txt:
20775         * docs/gst/gstreamer.types:
20776         * docs/gst/tmpl/.cvsignore:
20777         * gst/gstbin.h:
20778         * gst/gstbus.c:
20779         * gst/gstelement.c:
20780         * gst/gstevent.h:
20781           added 100 symbols from gstreamer-unused.txt to the right sections
20782           fixed more broken comments
20783           added GstBus to docs
20784
20785 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20786
20787         * docs/gst/gstreamer-sections.txt:
20788         * docs/gst/tmpl/.cvsignore:
20789         * docs/gst/tmpl/gstbin.sgml:
20790         * docs/gst/tmpl/gstbuffer.sgml:
20791         * gst/base/gstbasesrc.c:
20792         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20793         * gst/gstbuffer.c:
20794         * gst/gstbuffer.h:
20795         * tools/gst-launch.1.in:
20796           inlined more doc comments, added missing comments and fixed comments
20797           fixed typos
20798
20799 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20800
20801         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20802           some debugging
20803         * gst/gstcaps.h:
20804           whitespace fixes
20805         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20806           more debugging
20807         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20808         * gst/gststructure.h:
20809           add a fixate function for booleans; add a FIXME that these func
20810           names should probably be gst_structure_fixate_*
20811
20812 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20813
20814         * docs/gst/gstreamer-docs.sgml:
20815         * docs/gst/gstreamer-sections.txt:
20816         * gst/Makefile.am:
20817         * gst/gstbin.c: (gst_bin_get_type),
20818         (gst_bin_child_proxy_get_child_by_index),
20819         (gst_bin_child_proxy_get_children_count),
20820         (gst_bin_child_proxy_init):
20821         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20822         (gst_child_proxy_get_child_by_index),
20823         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20824         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20825         (gst_child_proxy_get), (gst_child_proxy_set_property),
20826         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20827         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20828         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20829         * gst/gstchildproxy.h:
20830         * gst/parse/grammar.y:
20831         * tools/gst-inspect.c: (print_interfaces),
20832         (print_element_properties_info), (print_element_info):
20833           ported gstchildproxy over from 0.8
20834           ported gst-inspect fixes and enhancements over from 0.8
20835
20836 2005-08-22  Wim Taymans  <wim@fluendo.com>
20837
20838         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20839         (gst_base_transform_handle_buffer):
20840         Also call the transform function if we have ANY caps.
20841
20842         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20843         Fix debug info.
20844
20845 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20846
20847         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20848           Don't pretend to handle seek events if the source is not seekable
20849
20850 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20851
20852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20853           Remove extra parameter to debug output
20854
20855         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20856         (gst_base_src_do_seek), (gst_base_src_activate_push):
20857           Fix seek event handling.
20858
20859         * gst/gstpipeline.c: (gst_pipeline_change_state):
20860         * gst/gstqueue.c: (gst_queue_handle_sink_event),
20861         (gst_queue_src_activate_push):
20862           Don't start the src pad task on FLUSH_STOP if the pad
20863           isn't linked.
20864           Debug changes.
20865
20866 2005-08-22  Wim Taymans  <wim@fluendo.com>
20867
20868         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20869         Added check for gst_static_caps_get() refcounting.
20870
20871 2005-08-22  Wim Taymans  <wim@fluendo.com>
20872
20873         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20874         Make _static_caps_get() refcounting sane.
20875         
20876         * gst/gstelement.c: (gst_element_set_state):
20877         Add g_return_val_if_fail() to protect against segfaults.
20878
20879 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
20880
20881         * docs/gst/tmpl/gstevent.sgml:
20882         * gst/gstevent.c:
20883         * gst/gstevent.h:
20884           inlined remaining docs, added missing doc comments
20885
20886 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20887
20888         * check/gst/gstbin.c: (GST_START_TEST):
20889           since we don't know when preroll is done, use refcount range
20890           check for the sink
20891         * gst/check/gstcheck.h:
20892           add macro for checking refcount range
20893
20894 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20895
20896         * check/Makefile.am:
20897           clean up environment for when registry gets built versus
20898           when actual tests are run; valgrind seems to not report
20899           leaks if GST_PLUGIN_PATH is set to some specific values
20900         * check/gst/gstbin.c: (GST_START_TEST):
20901           add more refcounting checks; maybe this exposes a
20902           preroll lock bug ?
20903         * common/check.mak:
20904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20905         * gst/check/gstcheck.h:
20906         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20907         (gst_bin_change_state):
20908         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20909           add/fix debugging/whitespace
20910
20911 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20912
20913         * check/gst/gstevent.c: (event_probe), (test_event),
20914         (GST_START_TEST):
20915          Er, don't call gst_bin_watch_for_state_change you idiot.
20916
20917 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20918
20919         * check/Makefile.am:
20920           Use CHECK_CFLAGS and CHECK_LIBS
20921         * check/gst/gstevent.c: (event_probe), (test_event),
20922         (GST_START_TEST):
20923           Don't leak events.
20924         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20925         (gst_base_src_start), (gst_base_src_stop),
20926         (gst_base_src_activate_push), (gst_base_src_activate_pull),
20927         (gst_base_src_change_state):
20928           Sprinkle gst_base_src_stop liberally around error paths to fix
20929           problems reusing a source after failed state changes.
20930         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20931         (helper_find_suggest), (gst_type_find_helper):
20932           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20933         * gst/gstevent.h:
20934         * docs/gst/tmpl/gstevent.sgml:
20935           Migrate part of the docs from the SGML file. Wait for ensonic to
20936           tell me how I did it wrong ;)
20937         * tools/gst-typefind.c: (main):
20938           Extra robustness to state changes between files.
20939
20940 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20941
20942         * check/Makefile.am:
20943           don't valgrind the controller test - it's leaking - Stefan, HELP
20944         * gst/check/gstcheck.c: (gst_check_message_error),
20945         (gst_check_chain_func), (gst_check_setup_element),
20946         (gst_check_teardown_element), (gst_check_setup_src_pad),
20947         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20948         (gst_check_teardown_sink_pad):
20949         * gst/check/gstcheck.h:
20950           add a bunch of methods to set up elements, and src and sink pads
20951         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20952         * check/elements/identity.c: (setup_identity), (cleanup_identity),
20953         (GST_START_TEST):
20954           use them
20955         * gst/gstmessage.c:
20956         * gst/gsttag.h:
20957           whitespace/doc fixes
20958
20959 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20960
20961         * gst/gstelement.h:
20962           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20963           be handled by the application and not always printed as well
20964
20965 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20966
20967         * check/Makefile.am:
20968           set GST_TOOLS_DIR
20969         * gst/check/gstcheck.c: (gst_check_message_error):
20970         * gst/check/gstcheck.h:
20971           add a fail_unless_equals_int
20972           add fail_unless for error messages
20973
20974 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20975
20976         * check/Makefile.am:
20977         * check/gst.supp:
20978         * common/Makefile.am:
20979         * common/check.mak:
20980         * common/gst.supp:
20981           factor out some of the common stuff so we can use it
20982
20983 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20984
20985         * check/Makefile.am:
20986         * check/gst/gstiterator.c: (GST_START_TEST):
20987         * check/gst/gstsystemclock.c: (GST_START_TEST),
20988         (gst_systemclock_suite):
20989         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20990         * gst/gstclock.c:
20991           valgrind more tests
20992
20993 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20994
20995         * check/elements/.cvsignore:
20996         * check/elements/gstfakesrc.c:
20997           rename to name of element
20998         * check/elements/identity.c: (chain_func), (event_func),
20999         (setup_identity), (cleanup_identity), (GST_START_TEST),
21000         (identity_suite), (main):
21001           add a test for identity
21002         * check/Makefile.am:
21003         * pkgconfig/Makefile.am:
21004         * pkgconfig/gstreamer-check.pc.in:
21005         * pkgconfig/gstreamer-check-uninstalled.pc.in:
21006         * gst/check:
21007         * gst/Makefile.am:
21008         * configure.ac:
21009           move the check stuff to a library that gets installed
21010         * check/gst-libs/controller.c: (GST_START_TEST):
21011         * check/gst-libs/gdp.c:
21012         * check/gst/gst.c: (GST_START_TEST):
21013         * check/gst/gstbin.c:
21014         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21015         * check/gst/gstbus.c:
21016         * check/gst/gstcaps.c: (GST_START_TEST):
21017         * check/gst/gstelement.c:
21018         * check/gst/gstghostpad.c:
21019         * check/gst/gstiterator.c:
21020         * check/gst/gstmessage.c:
21021         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
21022         * check/gst/gstobject.c:
21023         * check/gst/gstpad.c: (GST_START_TEST):
21024         * check/gst/gststructure.c: (GST_START_TEST):
21025         * check/gst/gstsystemclock.c: (GST_START_TEST),
21026         (gst_systemclock_suite):
21027         * check/gst/gsttag.c: (gst_tag_suite):
21028         * check/gst/gstvalue.c:
21029         * check/pipelines/cleanup.c:
21030         * check/pipelines/simple_launch_lines.c:
21031         * check/states/sinks.c:
21032           change include statement
21033
21034         * docs/gst/gstreamer-sections.txt:
21035         * docs/gst/tmpl/gstpad.sgml:
21036           document more pad stuff
21037         * gst/gstminiobject.c: (gst_mini_object_ref),
21038         (gst_mini_object_unref):
21039           debug refcounting
21040
21041 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
21042
21043         * docs/gst/tmpl/gst.sgml:
21044         * gst/gst.c:
21045           eliminate another tmpl file, fix spelling in the long-description
21046
21047 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21048
21049         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21050         (test_event), (timediff), (gstevents_suite):
21051           Should fix build on 64-bit arch's
21052
21053 2005-08-18  Andy Wingo  <wingo@pobox.com>
21054
21055         Make sure that when a pipeline goes to PLAYING, that data has
21056         actually hit the sink.
21057
21058         * check/states/sinks.c (test_sink): A sink that doesn't get any
21059         data shouldn't return SUCCESS for going to either PLAYING or
21060         PAUSED. Test also the return values on the way back down.
21061
21062         * gst/gstelement.c (gst_element_set_state): When changing the
21063         state of an element currently changing state asynchronously, go to
21064         lost-state after commiting the pending state. Makes future calls
21065         to get_state continue to return ASYNC.
21066
21067         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
21068         ASYNC when going to PLAYING if we still don't have preroll, as can
21069         happen with live sources.
21070
21071 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21072
21073         * docs/pwg/advanced-types.xml:
21074           Hack long paragraph into 2 chunks as a workaround for buggy
21075           jadetex version in sid and breezy that loops infinitely and
21076           eats all RAM.
21077
21078 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21079
21080         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21081         (test_event), (timediff), (gstevents_suite):
21082           Provide more error margin in clock measurements to allow for 
21083           g_get_current_time inaccuracies.
21084
21085 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21086
21087         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21088         (test_event), (timediff), (gstevents_suite):
21089            Fix error message output so I might be able to tell why the
21090            test works here but fails on the build farm.
21091
21092 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21093
21094         * check/Makefile.am:
21095         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21096         (test_event), (timediff), (gstevents_suite), (main):
21097           I wrote a test!
21098
21099         * docs/design/part-seeking.txt:
21100           Spelling correction
21101
21102         * docs/gst/tmpl/gstevent.sgml:
21103         * docs/gst/tmpl/gstfakesrc.sgml:
21104           Docs updates.
21105
21106         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21107           Treat a buffer-without-newsegment the same as a receiving 
21108           a newsegment not in time format, and disable syncing to the clock
21109           with a warning.
21110
21111         * gst/gstbus.c: (gst_bus_set_sync_handler):
21112           Assert if anyone tries to replace the existing sync_handler for bus, 
21113           as only the owner should be setting it.
21114
21115         * gst/gstevent.h:
21116           Have a fixed set of custom event enums with events identified by
21117           their structure name (as in 0.8), rather than a free-for-all
21118           allowing collisions between enum values from different plugins.
21119
21120         * gst/gstpad.c: (gst_pad_class_init):
21121           Docs change.
21122           
21123         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21124           Handle out-of-band downstream events from the sending thread.
21125
21126 2005-08-17  Andy Wingo  <wingo@pobox.com>
21127
21128         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
21129         play-timeout==0 to mean no timeout at all. In that case, don't
21130         bother with a get_state or a warning, just return directly, even
21131         if it's ASYNC.
21132
21133         * gst/base/gstbasetransform.c: Debug changes.
21134
21135         * gst/gstutils.h:
21136         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
21137         ensure bins post state change messages. A bit of a hack but I can't
21138         think of a way to avoid it.
21139
21140         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
21141
21142 2005-08-16  Andy Wingo  <wingo@pobox.com>
21143
21144         * gst/base/gstadapter.h:
21145         * gst/base/gstadapter.c (gst_adapter_take): New function, like
21146         peek() but you own the data. Not terribly efficient atm.
21147
21148 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21149
21150         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
21151         (gst_element_found_tags):
21152         * gst/gstutils.h:
21153           Add two utility functions for tag handling.
21154
21155 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21156
21157         * docs/manual/advanced-dataaccess.xml:
21158         * docs/manual/basics-helloworld.xml:
21159           Fix docs to use _bin_add() before _link(), which fixes the examples
21160           with recent core versions (reported by Madhan Raj M
21161           <raj_madan@rediffmail.com>, #313199).
21162
21163 2005-08-16  Wim Taymans  <wim@fluendo.com>
21164
21165         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21166         Added subtract checks.
21167
21168         * docs/design/part-events.txt:
21169         Some more docs about newsegment
21170
21171         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
21172         Fix FIXME
21173
21174         * gst/gstcaps.c: (gst_caps_to_string):
21175         Add comments, cleanups.
21176         
21177         * gst/gstelement.c: (gst_element_save_thyself):
21178         cleanups
21179         
21180         * gst/gstvalue.c: (gst_value_collect_int_range),
21181         (gst_string_unwrap), (gst_value_union_int_int_range),
21182         (gst_value_union_int_range_int_range),
21183         (gst_value_intersect_int_int_range),
21184         (gst_value_intersect_int_range_int_range),
21185         (gst_value_intersect_double_double_range),
21186         (gst_value_intersect_double_range_double_range),
21187         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
21188         (gst_value_subtract_int_range_int),
21189         (gst_value_subtract_double_range_double),
21190         (gst_value_subtract_double_range_double_range),
21191         (gst_value_subtract_from_list), (gst_value_subtract_list),
21192         (gst_value_can_compare), (gst_value_compare_fraction):
21193         Cleanups, add comments, remove unneeded asserts.
21194
21195 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21196
21197         * tools/gst-launch.c: (event_loop):
21198           don't convert NULL structures to strings
21199
21200 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
21201
21202         * docs/gst/gstreamer-sections.txt:
21203           made some defines private
21204         * docs/gst/tmpl/gstconfig.sgml:
21205         * docs/gst/tmpl/gstqueue.sgml:
21206         * docs/gst/tmpl/gsttaglist.sgml:
21207         * docs/gst/tmpl/gsttypes.sgml:
21208         * docs/gst/tmpl/gstutils.sgml:
21209         * docs/pwg/appendix-porting.xml:
21210         * gst/base/gstbasesink.h:
21211         * gst/base/gstbasesrc.c:
21212         * gst/base/gstbasesrc.h:
21213         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
21214         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
21215         * gst/gstelement.c: (gst_element_class_init):
21216         * gst/gstpad.c: (gst_pad_class_init):
21217         * gst/gstqueue.c: (gst_queue_class_init):
21218         * gst/gstxml.c: (gst_xml_class_init):
21219           documented all undocumented signal inline
21220         * libs/gst/controller/gst-controller.h:
21221           added padding
21222
21223 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21224
21225         * docs/pwg/appendix-porting.xml:
21226           Document _set_link_function -> _set_setcaps_function.
21227
21228 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21229
21230         * check/Makefile.am:
21231           add a .check target for running the check
21232         * check/gst-libs/controller.c: (GST_START_TEST):
21233           cosmetic fixups
21234         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21235           complete checks for gstbuffer; would be nice if I could get the
21236           gcov stuff to work so I can see if I actually completed gstbuffer.c
21237         * check/gstcheck.h:
21238           add ASSERT_BUFFER_REFCOUNT
21239
21240 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
21241
21242         * docs/gst/gstreamer-sections.txt:
21243         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
21244         * gst/gsttag.h:
21245           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
21246           spew out a warning if a tag that is already registered
21247           is re-registered, unless it is re-registered with a 
21248           different type (#308438).
21249
21250 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
21251
21252         * docs/pwg/appendix-porting.xml:
21253         * docs/pwg/building-state.xml:
21254           Add some paragraphs about state changes in 0.9 to the PWG
21255           and the porting guide, in particular about the new meaning
21256           of GST_STATE_PAUSED and how to write state change functions
21257           with concurrent access by multiple threads in mind.
21258
21259 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
21260
21261         * docs/gst/gstreamer-docs.sgml:
21262         * docs/libs/gstreamer-libs-docs.sgml:
21263           added deprecation and since indexes
21264         * libs/gst/controller/gst-controller.c:
21265         * libs/gst/controller/gst-helper.c:
21266           added since tags
21267
21268
21269 2005-08-11  Wim Taymans  <wim@fluendo.com>
21270
21271         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
21272         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
21273         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
21274         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
21275         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
21276         (gst_ghost_pad_set_target):
21277         Actually implement (re)setting the target on a ghostpad
21278         as described in the docs.
21279
21280 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21281
21282         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
21283           Check whether GST_DEBUG_NO_COLOR environment variable is
21284           set and disable coloured debug output if that is the case.
21285
21286 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21287
21288         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21289         (gst_type_find_helper):
21290           The memory returned by gst_type_find_peek() needs to
21291           stay valid until the end of a typefind function, and
21292           typefind functions may keep results from different 
21293           offsets around, so we can't just unref the buffer from
21294           the previous _peek(), but have to save all buffers 
21295           returned by _peek() until typefinding is done and only
21296           free them then.
21297
21298 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
21299
21300         * docs/gst/gstreamer-sections.txt:
21301         * gst/gstutils.h:
21302           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
21303
21304 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21305
21306         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
21307           Fix a pretty good memleak.
21308
21309 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21310
21311         * gst/gstiterator.h:
21312           Fix wrong include and 'make distcheck'.
21313
21314 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21315
21316         * gst/gstbin.c: (bin_bus_handler):
21317           Use gst_element_post_message() instead.
21318
21319 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21320
21321         * gst/base/gstadapter.h:
21322         * gst/base/gstbasesink.h:
21323         * gst/base/gstbasesrc.h:
21324         * gst/base/gstbasetransform.h:
21325         * gst/base/gstcollectpads.h:
21326         * gst/base/gstpushsrc.h:
21327         * gst/gstiterator.h:
21328           Add padding to our base elements' class and instance structs and
21329           to GstIterator (you will need to rebuild all plugins and apps!)
21330
21331 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21332
21333         * gst/gstbin.c: (bin_bus_handler):
21334           Make default message forwarding from child->bus to bin->bus
21335           threadsafe and make it not emit warnings if the parent has no bus.
21336
21337 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21338
21339         * gst/gstelement.c: (activate_pads):
21340           On paused->ready, set pad->caps to NULL, as is the documented
21341           behaviour in this state change. Fixes playback of series of
21342           media files when visualization is enabled in Totem.
21343
21344 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21345
21346         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21347           Allow NULL as filter-caps (which means "any").
21348
21349 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21350
21351         * docs/libs/gstreamer-libs-sections.txt:
21352         * libs/gst/controller/gst-controller.c:
21353         * libs/gst/controller/gst-controller.h:
21354         * libs/gst/controller/gst-helper.c:
21355           adding more entries to the docs and fix small doc-bugs
21356
21357 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21358
21359         * docs/gst/gstreamer-docs.sgml:
21360         * docs/gst/gstreamer-sections.txt:
21361         * docs/gst/gstreamer.types:
21362         * docs/gst/tmpl/gstbasesink.sgml:
21363         * docs/gst/tmpl/gstbasesrc.sgml:
21364         * docs/gst/tmpl/gstbasetransform.sgml:
21365         * docs/gst/tmpl/gstfakesrc.sgml:
21366         * gst/base/gstcollectpads.c:
21367         * gst/base/gstcollectpads.h:
21368         * libs/gst/controller/gst-controller.c:
21369         * libs/gst/controller/gst-controller.h:
21370         * libs/gst/controller/gst-helper.c:
21371         * libs/gst/controller/gst-interpolation.c:
21372         * libs/gst/controller/lib.c:
21373           added long/short desc for controller docs
21374           added collectpads base class docs
21375           added correct includes to base-class docs
21376
21377 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21378
21379         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21380         (gst_test_mono_source_set_property),
21381         (gst_test_mono_source_class_init), (GST_START_TEST),
21382         (gst_controller_suite):
21383         * docs/gst/gstreamer-docs.sgml:
21384         * docs/gst/gstreamer-sections.txt:
21385         * docs/gst/gstreamer.types:
21386         * docs/libs/gstreamer-libs-docs.sgml:
21387         * docs/libs/gstreamer-libs-sections.txt:
21388         * gst/base/gstadapter.c:
21389         * libs/gst/controller/gst-controller.c:
21390         (gst_controlled_property_new), (gst_controlled_property_free),
21391         (gst_controller_new_valist),
21392         (gst_controller_remove_properties_valist),
21393         (gst_controller_sink_values), (_gst_controller_finalize):
21394         * libs/gst/controller/gst-controller.h:
21395         * libs/gst/controller/gst-helper.c:
21396         (gst_object_control_properties), (gst_object_uncontrol_properties),
21397         (gst_object_get_controller), (gst_object_set_controller),
21398         (gst_object_sink_values), (gst_object_get_value_arrays),
21399         (gst_object_get_value_array):
21400           more tests (and fixes) for the controller
21401           more docs for the controller
21402           integrated companies docs for the adapter 
21403
21404 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21405
21406         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
21407         (GST_START_TEST), (fakesrc_suite):
21408           add tests for sizetype
21409
21410 2005-08-04  Andy Wingo  <wingo@pobox.com>
21411
21412         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
21413         fixes buffer_alloc proxying among other things.
21414
21415         * gst/base/gstbasetransform.c:
21416         * gst/base/gstbasetransform.h:
21417         Revert patch to gstbasetransform from 7-28 removing
21418         delay_configure.
21419
21420         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
21421         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
21422         Semantics changed, should return not the size of the output buffer
21423         but the byte size of a buffer with a given caps.
21424
21425         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
21426         debug object.
21427         (gst_base_transform_configure_caps): Don't set out_size here: (in,
21428         out) are not the pad caps until setcaps finishes.
21429         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
21430         not-in-place case as well. Deal with changing from in-place to
21431         not-in-place within calling pad_alloc_buffer. Still a bit
21432         concerned about the overhead here...
21433
21434 2005-08-03  Andy Wingo  <wingo@pobox.com>
21435
21436         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
21437         fixating is an error.
21438
21439 2005-08-04  Edward Hervey  <edward@fluendo.com>
21440
21441         * gst/base/gstadapter.h: 
21442         Added gst_adapter_get_type() to the header
21443
21444 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21445
21446         * check/Makefile.am:
21447         * check/gst-libs/controller.c:
21448         * libs/gst/controller/gst-controller.c:
21449         (gst_controller_new_valist):
21450           added check test suite for the controller
21451         * gst/base/gstpushsrc.c:
21452           fixed a doc typo
21453
21454 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21455
21456         * docs/gst/Makefile.am:
21457         * docs/gst/gstreamer-docs.sgml:
21458         * docs/gst/gstreamer-sections.txt:
21459         * docs/gst/gstreamer.types:
21460         * docs/gst/tmpl/gstfakesrc.sgml:
21461         * gst/base/README:
21462         * gst/base/gstbasesink.c:
21463         * gst/base/gstbasesink.h:
21464         * gst/base/gstbasesrc.c:
21465         * gst/base/gstbasesrc.h:
21466         * gst/base/gstbasetransform.c:
21467         * gst/base/gstpushsrc.c:
21468         * gst/base/gstpushsrc.h:
21469           add short/long description docs to base classes
21470           add pushsrc to the docs
21471           remove consolidated doc fragments
21472
21473 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21474
21475         * configure.ac:
21476         * docs/libs/Makefile.am:
21477         * docs/libs/gstreamer-libs-docs.sgml:
21478         * docs/libs/gstreamer-libs-sections.txt:
21479         * docs/libs/gstreamer-libs.types:
21480         * examples/Makefile.am:
21481         * examples/controller/.cvsignore:
21482         * examples/controller/Makefile.am:
21483         * examples/controller/audio-example.c: (main):
21484         * libs/gst/Makefile.am:
21485         * libs/gst/controller/.cvsignore:
21486         * libs/gst/controller/Makefile.am:
21487         * libs/gst/controller/gst-controller.c:
21488         (on_object_controlled_property_changed), (gst_timed_value_compare),
21489         (gst_timed_value_find),
21490         (gst_controlled_property_set_interpolation_mode),
21491         (gst_controlled_property_new), (gst_controlled_property_free),
21492         (gst_controller_find_controlled_property),
21493         (gst_controller_new_valist), (gst_controller_new),
21494         (gst_controller_remove_properties_valist),
21495         (gst_controller_remove_properties), (gst_controller_set),
21496         (gst_controller_set_from_list), (gst_controller_unset),
21497         (gst_controller_get), (gst_controller_get_all),
21498         (gst_controller_sink_values), (gst_controller_get_value_arrays),
21499         (gst_controller_get_value_array),
21500         (gst_controller_set_interpolation_mode),
21501         (_gst_controller_finalize), (_gst_controller_init),
21502         (_gst_controller_class_init), (gst_controller_get_type):
21503         * libs/gst/controller/gst-controller.h:
21504         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21505         (g_object_uncontrol_properties), (g_object_get_controller),
21506         (g_object_set_controller), (g_object_sink_values),
21507         (g_object_get_value_arrays), (g_object_get_value_array):
21508         * libs/gst/controller/gst-interpolation.c:
21509         (gst_controlled_property_find_timed_value_node),
21510         (interpolate_none_get), (interpolate_trigger_get),
21511         (interpolate_trigger_get_value_array):
21512         * libs/gst/controller/lib.c: (gst_controller_init):
21513         * pkgconfig/Makefile.am:
21514         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21515         * pkgconfig/gstreamer-control.pc.in:
21516         * testsuite/Makefile.am:
21517         * testsuite/controller/.cvsignore:
21518         * testsuite/controller/Makefile.am:
21519         * testsuite/controller/interpolator.c: (main):
21520           added controller code
21521           removed dparam pc files
21522
21523 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21524         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21525         (gst_collectpads_stop):
21526           Broadcast the condition when shutting down, to make sure we wake all
21527           threads up. Shut down pads on finalize, for safety.
21528
21529 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21530         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21531         (gst_base_transform_handle_buffer),
21532         (gst_base_transform_change_state):
21533           Handle PAUSED->READY->PAUSED transition after negotiation
21534           occurred already.
21535         * gst/gstmessage.c: (gst_message_init):
21536           Extra piece of debug for new messages.
21537
21538 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21539
21540         * configure.ac:
21541         * docs/gst/tmpl/gstbasesrc.sgml:
21542         * docs/gst/tmpl/gstelement.sgml:
21543         * docs/gst/tmpl/gstevent.sgml:
21544         * docs/gst/tmpl/gstfakesrc.sgml:
21545         * docs/gst/tmpl/gstformat.sgml:
21546         * docs/gst/tmpl/gstghostpad.sgml:
21547         * docs/gst/tmpl/gstpad.sgml:
21548         * docs/gst/tmpl/gstquery.sgml:
21549         * docs/gst/tmpl/gststructure.sgml:
21550         * docs/gst/tmpl/gsttaglist.sgml:
21551         * docs/gst/tmpl/gstvalue.sgml:
21552         * docs/libs/gstreamer-libs-docs.sgml:
21553         * docs/libs/gstreamer-libs-sections.txt:
21554         * docs/libs/gstreamer-libs.types:
21555         * libs/gst/Makefile.am:
21556         * libs/gst/control/.cvsignore:
21557         * libs/gst/control/Makefile.am:
21558         * libs/gst/control/control.c:
21559         * libs/gst/control/control.h:
21560         * libs/gst/control/dparam.c:
21561         * libs/gst/control/dparam.h:
21562         * libs/gst/control/dparam_smooth.c:
21563         * libs/gst/control/dparam_smooth.h:
21564         * libs/gst/control/dparamcommon.h:
21565         * libs/gst/control/dparammanager.c:
21566         * libs/gst/control/dparammanager.h:
21567         * libs/gst/control/dplinearinterp.c:
21568         * libs/gst/control/dplinearinterp.h:
21569         * libs/gst/control/unitconvert.c:
21570         * libs/gst/control/unitconvert.h:
21571         * testsuite/Makefile.am:
21572         * testsuite/dynparams/.cvsignore:
21573         * testsuite/dynparams/Makefile.am:
21574         * testsuite/dynparams/dparamstest.c:
21575         * tools/Makefile.am:
21576         * tools/gst-inspect.c: (print_element_info), (main):
21577         * tools/gst-xmlinspect.c: (print_element_info), (main):
21578           deactivate and remove dparams (libgstcontrol)
21579
21580 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21581
21582         * gst/elements/gsttypefindelement.c:
21583         (gst_type_find_element_have_type), (gst_type_find_element_init),
21584         (stop_typefinding), (gst_type_find_element_handle_event),
21585         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21586         * gst/elements/gsttypefindelement.h:
21587           Set caps on all outgoing buffers, not just the first one.
21588
21589 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21590
21591         * gst/elements/gsttypefindelement.c:
21592         (gst_type_find_element_have_type),
21593         (gst_type_find_element_check_set_buffer_caps),
21594         (gst_type_find_element_init), (stop_typefinding),
21595         (gst_type_find_element_handle_event),
21596         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21597         * gst/elements/gsttypefindelement.h:
21598           Set caps on first outgoing buffer when we've found the type.
21599
21600 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21601
21602         * docs/gst/gstreamer-docs.sgml:
21603         * docs/gst/gstreamer-sections.txt:
21604         * docs/gst/tmpl/gstscheduler.sgml:
21605         * docs/gst/tmpl/gstschedulerfactory.sgml:
21606           Remove some old cruft from docs.
21607
21608 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
21609
21610         * gst/gstpad.h:
21611           Fix inline docs for GstPadLinkReturn.
21612           
21613         * gst/gststructure.c: (gst_structure_has_name):
21614         * gst/gststructure.h:
21615         * docs/gst/gstreamer-sections.txt:
21616           New API: gst_structure_has_name().
21617
21618 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
21619
21620         * configure.ac:
21621           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21622           and _LARGEFILE_SOURCE in config.h as required. Do not 
21623           export those flags in our .pc files any longer (#142209).
21624
21625           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21626
21627         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21628         (gst_file_sink_do_seek), (gst_file_sink_event),
21629         (gst_file_sink_get_current_offset), (gst_file_sink_render):
21630           Redo seek/tell calls with large file support in mind; add some
21631           debugging messages; add log message that tells us when large
21632           file support is unavailable or not enabled for some reason.
21633
21634         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21635           Add log message that tells us when large file support 
21636           is unavailable or not enabled for some reason.
21637
21638 2005-07-29  Wim Taymans  <wim@fluendo.com>
21639
21640         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21641         Added test for removing an element with ghostpad from a bin.
21642         Fixed test as current implementation does the right thing.
21643
21644         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21645         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21646         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21647         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21648         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21649         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21650         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21651         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21652         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21653         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21654         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21655         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21656         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21657         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21658         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21659         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21660         * gst/gstghostpad.h:
21661         Clean up ghostpads, remove properties for internal stuff.
21662         Make threadsafe.
21663         Fix refcounting.
21664         Prepare for switching targets, not all use cases work yet.
21665
21666 2005-07-29  Wim Taymans  <wim@fluendo.com>
21667
21668         * docs/design/part-gstghostpad.txt:
21669         Small update.
21670
21671         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21672         (gst_bin_remove_func):
21673         Unlinking pads while holding the bin LOCK is not a good
21674         idea.
21675
21676         * gst/gstpad.c: (gst_pad_class_init),
21677         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21678         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21679         No prob setting template after creating the pad.
21680
21681 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
21682
21683         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21684         (gst_bus_peek), (gst_bus_source_dispatch),
21685         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21686         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21687           gst_bus_poll may be called from other threads. Handle
21688           this nicely by not making poll_data disappear off the
21689           stack once gst_bus_poll returns.
21690           gst_bus_peek now increments the refcount on the returned
21691           message.
21692
21693 2005-07-29  Wim Taymans  <wim@fluendo.com>
21694
21695         * docs/design/part-gstghostpad.txt:
21696         Overview of current GhostPad datastructures and use
21697         cases for changing the target.
21698
21699 2005-07-28  Wim Taymans  <wim@fluendo.com>
21700
21701         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21702         Added checks for hierarchy consistency whan adding linked
21703         elements to bins.
21704
21705         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21706         Added check to test element scheduling without bin/pipeline.
21707
21708         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21709         First add elements to bin, then link.
21710         
21711         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21712         (gst_bin_remove_func):
21713         Unlink pads from elements added/removed from bin to maintain
21714         hierarchy consistency.
21715
21716 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21717
21718         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21719         (gst_base_transform_handle_buffer):
21720         * gst/base/gstbasetransform.h:
21721           Remove broken delay_configure (fixes renegotiation of software
21722           scaling pipelines); remove some leftover printf()s.
21723
21724 2005-07-28  Wim Taymans  <wim@fluendo.com>
21725
21726         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21727         Added some more tests for wrong hierarchy
21728
21729         * docs/design/part-overview.txt:
21730         Some updates.
21731
21732         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21733         Cleanups.
21734
21735         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21736         (gst_element_dispose):
21737         Some more cleanups.
21738
21739         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21740         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21741         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21742         (gst_pad_set_caps), (gst_pad_send_event):
21743         Check for correct hierarchy when linking pads. Moving to
21744         strict requirement for ghostpads when linking elements in
21745         different bins.
21746
21747         * gst/gstpad.h:
21748         Clean ups. Added WRONG_HIERARCHY return value.
21749
21750 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21751
21752         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21753           Better debug if no transform is possible.
21754
21755 2005-07-27  Wim Taymans  <wim@fluendo.com>
21756
21757         * docs/random/wtay/network-transp:
21758         Some old doc I had.
21759
21760 2005-07-27  Wim Taymans  <wim@fluendo.com>
21761
21762         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21763         (gst_dp_event_from_packet):
21764         Fix serialization of seek events.
21765
21766 2005-07-27  Wim Taymans  <wim@fluendo.com>
21767
21768         * check/gst-libs/gdp.c: (GST_START_TEST):
21769         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21770         Fix compilation and fix event serialization.
21771
21772 2005-07-27  Wim Taymans  <wim@fluendo.com>
21773
21774         * CHANGES-0.9:
21775         * docs/design/part-TODO.txt:
21776         * docs/design/part-events.txt:
21777         Some docs updates
21778
21779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21780         (gst_base_sink_event), (gst_base_sink_do_sync),
21781         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21782         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21783         (gst_base_src_do_seek), (gst_base_src_event_handler),
21784         (gst_base_src_loop):
21785         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21786         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21787         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21788         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21789         (gst_base_transform_set_passthrough),
21790         (gst_base_transform_is_passthrough):
21791         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21792         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21793         Event updates.
21794
21795         * gst/gstbuffer.h:
21796         Use faster casts.
21797
21798         * gst/gstelement.c: (gst_element_seek):
21799         * gst/gstelement.h:
21800         Update gst_element_seek.
21801
21802         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21803         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21804         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21805         (gst_event_new_eos), (gst_event_new_newsegment),
21806         (gst_event_parse_newsegment), (gst_event_new_tag),
21807         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21808         (gst_event_parse_qos), (gst_event_new_seek),
21809         (gst_event_parse_seek), (gst_event_new_navigation):
21810         * gst/gstevent.h:
21811         Make GstEvent use GstStructure. Add parsing code, make sure the
21812         API is sufficiently generic.
21813         Mark possible directions of events and serialization.
21814
21815         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21816         (_gst_message_copy), (gst_message_new_segment_start),
21817         (gst_message_new_segment_done), (gst_message_new_custom),
21818         (gst_message_parse_segment_start),
21819         (gst_message_parse_segment_done):
21820         Small cleanups.
21821
21822         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21823         (gst_pad_set_caps), (gst_pad_send_event):
21824         Update for new events. 
21825         Catch events sent in wrong directions.
21826
21827         * gst/gstqueue.c: (gst_queue_link_src),
21828         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21829         (gst_queue_handle_src_query):
21830         Event updates.
21831
21832         * gst/gsttag.c:
21833         * gst/gsttag.h:
21834         Remove event code from this file.
21835
21836         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21837         (gst_dp_event_from_packet):
21838         Event updates.
21839
21840 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21841
21842         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21843         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21844         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21845           Make debugging actually useful.
21846
21847 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21848
21849         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21850         (gst_pad_fixate_caps):
21851           Implement default fixation once again, so that gst_pad_fixate()
21852           actually does anything at all. This probably needs to be some
21853           sort of a last resort, and use profile-based fixation first, but
21854           since that doesn't exist yet, this is the best we have. Fixes
21855           visualization in Totem.
21856
21857 2005-07-22  Wim Taymans  <wim@fluendo.com>
21858
21859         * docs/design/part-events.txt:
21860         Small update.
21861
21862         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21863         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21864         (gst_base_sink_activate_pull):
21865         Some more comments.
21866
21867         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21868         (gst_fake_src_create):
21869         Fix handoff marshall.
21870
21871         * gst/elements/gstidentity.c: (gst_identity_class_init),
21872         (gst_identity_transform_ip):
21873         We're a real inplace element.
21874
21875         * gst/gstbus.c: (gst_bus_post):
21876         Added some comments.
21877
21878         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21879         * tests/muxing/case1.c: (main):
21880         * tests/sched/dynamic-pipeline.c: (main):
21881         * tests/sched/interrupt1.c: (main):
21882         * tests/sched/interrupt2.c: (main):
21883         * tests/sched/interrupt3.c: (main):
21884         * tests/sched/runxml.c: (main):
21885         * tests/sched/sched-stress.c: (main):
21886         * tests/seeking/seeking1.c: (event_received), (main):
21887         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21888         (main):
21889         * tests/threadstate/threadstate3.c: (main):
21890         * tests/threadstate/threadstate4.c: (main):
21891         * tests/threadstate/threadstate5.c: (main):
21892         Fix the tests.
21893
21894 2005-07-21  Wim Taymans  <wim@fluendo.com>
21895
21896         * docs/design/part-seeking.txt:
21897         Some small additions.
21898
21899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21900         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21901         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21902         * gst/base/gstbasesink.h:
21903         discont values are gint64, handle the math correctly.
21904
21905         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21906         Make the basesrc report error if the source pad is not linked.
21907
21908         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21909         (gst_queue_loop), (gst_queue_handle_src_query),
21910         (gst_queue_src_activate_push):
21911         Make queue collect data even if the srcpad is not linked.
21912         Start pushing out data as soon as it is linked.
21913
21914         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21915         * gst/gstutils.h:
21916         Added gst_flow_get_name() to ease error reporting.
21917
21918 2005-07-20  Wim Taymans  <wim@fluendo.com>
21919
21920         * gst/gstmessage.c: (gst_message_new_segment_start),
21921         (gst_message_new_segment_done), (gst_message_parse_segment_start),
21922         (gst_message_parse_segment_done):
21923         * gst/gstmessage.h:
21924         Added a bunch of messages for advanced seeking.
21925
21926         * gst/parse/grammar.y:
21927         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21928         (gst_dpman_state_changed):
21929         Fix some new-pad -> pad-added signals
21930
21931 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21932
21933         * docs/manual/appendix-porting.xml:
21934         * docs/pwg/appendix-porting.xml:
21935           Document new-pad/state-change signal renames and the FixedList
21936           type rename.
21937
21938 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21939
21940         * docs/manual/advanced-autoplugging.xml:
21941         * docs/manual/basics-helloworld.xml:
21942         * docs/manual/basics-pads.xml:
21943         * docs/random/ds/0.9-suggested-changes:
21944         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21945         * gst/gstelement.h:
21946         * gst/gstevent.h:
21947         * gst/gstformat.h:
21948         * gst/gstquery.h:
21949         * gst/gststructure.c: (gst_structure_value_get_generic_type),
21950         (gst_structure_parse_array), (gst_structure_parse_value):
21951         * gst/gstvalue.c: (gst_type_is_fixed),
21952         (gst_value_list_prepend_value), (gst_value_list_append_value),
21953         (gst_value_list_get_size), (gst_value_list_get_value),
21954         (gst_value_transform_array_string), (gst_value_serialize_array),
21955         (gst_value_deserialize_array), (gst_value_intersect_array),
21956         (gst_value_is_fixed), (_gst_value_initialize):
21957         * gst/gstvalue.h:
21958           GstElement::new-pad -> pad-added, GstElement::state-change ->
21959           state-changed, GstValueFixedList -> GstValueArray, add format and
21960           flags as their own arguments in gst_element_seek() (should improve
21961           "bindeability"), remove function generators since they don't work
21962           under a whole bunch of compilers (they were deprecated already
21963           anyway).
21964
21965 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21966
21967         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21968         (_gst_debug_register_funcptr):
21969         * gst/gstinfo.h:
21970           Fix illegal cast on some platforms (#309253).
21971
21972 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21973
21974         * gst/gstmessage.c: (gst_message_new_custom):
21975         * gst/gstmessage.h:
21976           Add _new_custom, make _new_application a macro to _new_custom.
21977
21978 2005-07-20  Wim Taymans  <wim@fluendo.com>
21979
21980         * gst/base/gstbasesrc.c: (gst_base_src_init),
21981         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21982         * gst/base/gstbasesrc.h:
21983         Add a gboolean to decide when to push out a discont.
21984
21985         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21986         (gst_queue_loop), (gst_queue_handle_src_query),
21987         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21988         (gst_queue_set_property), (gst_queue_get_property):
21989         Some cleanups.
21990
21991         * tests/threadstate/threadstate1.c: (main):
21992         Make a thread test compile and run... very silly..
21993
21994
21995 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21996
21997         * docs/manual/appendix-porting.xml:
21998           Mention removal of libgstgconf-0.9.la and existence of gconf
21999           elements.
22000
22001 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22002
22003         * docs/pwg/advanced-clock.xml:
22004         * docs/pwg/appendix-porting.xml:
22005         * docs/pwg/intro-preface.xml:
22006         * docs/pwg/other-base.xml:
22007         * docs/pwg/other-manager.xml:
22008         * docs/pwg/other-nton.xml:
22009         * docs/pwg/other-ntoone.xml:
22010         * docs/pwg/other-oneton.xml:
22011         * docs/pwg/pwg.xml:
22012           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
22013           demuxer), remove n-to-n (was never written), fix some code examples
22014           and links and update the porting section to include all this.
22015
22016 2005-07-19  Wim Taymans  <wim@fluendo.com>
22017
22018         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
22019         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
22020         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
22021         (gst_queue_src_activate_push), (gst_queue_change_state),
22022         (gst_queue_get_property):
22023         * gst/gstqueue.h:
22024         Propagate GstFlowReturn more intelligently upstream and output
22025         an ERROR/EOS when streaming stopped due to fatal error.
22026
22027 2005-07-19  Wim Taymans  <wim@fluendo.com>
22028
22029         * tools/gst-launch.c: (check_intr), (event_loop), (main):
22030         Don't block forever for the state change to complete, the
22031         pipeline already did with a sensible timeout.
22032
22033 2005-07-19  Wim Taymans  <wim@fluendo.com>
22034
22035         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22036         Make sure we never call the create function is we
22037         got deactivated.
22038
22039 2005-07-19  Andy Wingo  <wingo@pobox.com>
22040
22041         * gst/parse/parse.l: Attempt to solve bug #172815.
22042
22043 2005-07-19  Wim Taymans  <wim@fluendo.com>
22044
22045         * docs/design/part-clocks.txt:
22046         * docs/design/part-events.txt:
22047         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
22048         Small docs updates.
22049         Only update the seeking values when we are not
22050         busy streaming.
22051
22052 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22053
22054         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22055           Oops, ignore the result of gst_pad_push_event here.
22056
22057 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22058
22059         * gst/base/gstbasesrc.c: (gst_base_src_loop),
22060         (gst_base_src_activate_push):
22061           Send discont event from the loop function, as pads
22062           aren't activated yet in the activate_push handler.
22063
22064         * gst/gstbin.c: (bin_bus_handler):
22065           Don't leak element name.
22066
22067 2005-07-18  Andy Wingo  <wingo@pobox.com>
22068
22069         * configure.ac: Use AS_LIBTOOL_TAGS.
22070
22071 2005-07-18  Wim Taymans  <wim@fluendo.com>
22072
22073         * docs/gst/gstreamer.types:
22074         Remove deleted types.
22075
22076 2005-07-18  Wim Taymans  <wim@fluendo.com>
22077
22078         * check/elements/gstfakesrc.c: (GST_START_TEST):
22079         * configure.ac:
22080         * gst/Makefile.am:
22081         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
22082         (init_popt_callback):
22083         * gst/gst.h:
22084         * gst/gst_private.h:
22085         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
22086         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
22087         * gst/gstbin.h:
22088         * gst/gstbus.h:
22089         * gst/gstconfig.h.in:
22090         * gst/gstelement.c: (gst_element_class_init),
22091         (gst_element_set_base_time), (gst_element_get_base_time),
22092         (iterator_fold_with_resync), (gst_element_change_state),
22093         (gst_element_dispose), (gst_element_get_bus):
22094         * gst/gstelement.h:
22095         * gst/gstelementfactory.h:
22096         * gst/gsterror.c: (_gst_core_errors_init):
22097         * gst/gsterror.h:
22098         * gst/gstevent.h:
22099         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22100         * gst/gstindex.c:
22101         * gst/gstinfo.c: (_gst_debug_init):
22102         * gst/gstmessage.c: (_gst_message_copy):
22103         * gst/gstmessage.h:
22104         * gst/gstminiobject.h:
22105         * gst/gstobject.c:
22106         * gst/gstobject.h:
22107         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22108         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
22109         * gst/gstpad.h:
22110         * gst/gstparse.h:
22111         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22112         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22113         (gst_pipeline_get_last_stream_time):
22114         * gst/gstpipeline.h:
22115         * gst/gstpluginfeature.h:
22116         * gst/gstquery.h:
22117         * gst/gstscheduler.c:
22118         * gst/gstscheduler.h:
22119         * gst/gststructure.h:
22120         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22121         (gst_task_finalize), (gst_task_func), (gst_task_create),
22122         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
22123         (gst_task_stop), (gst_task_pause):
22124         * gst/gsttask.h:
22125         * gst/gsttypefind.h:
22126         * gst/gsttypes.h:
22127         * gst/registries/gstlibxmlregistry.c: (load_feature),
22128         (gst_xml_registry_load), (gst_xml_registry_save_feature):
22129         * gst/registries/gstxmlregistry.c:
22130         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
22131         * gst/schedulers/threadscheduler.c:
22132         * libs/gst/control/dparammanager.h:
22133         * tools/gst-inspect.c: (print_element_list),
22134         (print_plugin_features), (print_element_features):
22135         * tools/gst-xmlinspect.c: (print_element_list),
22136         (print_plugin_info), (main):
22137         Removed plugable schedulers.
22138         Removed Scheduler/Manager from elements.
22139         Removed gsttypes.h, rearranged includes.
22140         Removed dependency pad<->element, element<>pipeline, and
22141         various others,  fix includes.
22142         implement gst_pad_get_parent() with gst_object_get_parent()
22143         Make GstTask sefcontained.
22144         Fix _get_state() on GstBin, it did not return ASYNC with a 0
22145         timeout.
22146         Fix endless loop in iterator_fold_with_resync.
22147
22148
22149 2005-07-18  Wim Taymans  <wim@fluendo.com>
22150
22151         * gst/Makefile.am:
22152         * gst/gstarch.h:
22153         Remove old file.
22154
22155 2005-07-18  Wim Taymans  <wim@fluendo.com>
22156
22157         * gst/Makefile.am:
22158         No more cothreads.h
22159
22160 2005-07-18  Wim Taymans  <wim@fluendo.com>
22161
22162         * gst/cothreads.c:
22163         * gst/cothreads.h:
22164         Let's remove these.
22165
22166 2005-07-18  Wim Taymans  <wim@fluendo.com>
22167
22168         * docs/design/part-dynamic.txt:
22169         * docs/design/part-events.txt:
22170         * docs/design/part-seeking.txt:
22171         Some more docs in the works.
22172
22173         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22174         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
22175         (gst_base_transform_setcaps), (gst_base_transform_get_size),
22176         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22177         (gst_base_transform_handle_buffer),
22178         (gst_base_transform_sink_activate_push),
22179         (gst_base_transform_src_activate_pull),
22180         (gst_base_transform_set_passthrough),
22181         (gst_base_transform_is_passthrough):
22182         Refcounting fixes.
22183
22184         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
22185         Cleanups.
22186
22187         * gst/gstevent.c: (gst_event_finalize):
22188         Set SRC to NULL.
22189
22190         * gst/gstutils.c: (gst_element_unlink),
22191         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
22192         (gst_pad_proxy_setcaps):
22193         * gst/gstutils.h:
22194         Add _get_parent_element() to get a pads parent as an element.
22195
22196 2005-07-18  Wim Taymans  <wim@fluendo.com>
22197
22198         * check/gst/gstbin.c: (GST_START_TEST):
22199         Remove bogus test.
22200
22201 2005-07-18  Wim Taymans  <wim@fluendo.com>
22202
22203         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22204         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22205         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22206         (gst_base_sink_event), (gst_base_sink_do_sync),
22207         (gst_base_sink_chain), (gst_base_sink_loop),
22208         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
22209         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
22210         Refcounting fixes.
22211         Fix logic for returning ASYNC when not prerolled.
22212
22213 2005-07-18  Wim Taymans  <wim@fluendo.com>
22214
22215         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22216         Fix nasty refcount bug.
22217
22218 2005-07-16 Philippe Khalaf <burger@speedy.org>
22219
22220         * gst/elements/gstfdsrc.c:
22221         * gst/elements/gstfdsrc.h:
22222         * gst/elements/gstelements.c:
22223         * gst/elements/Makefile.am:
22224         Ported fdsrc to 0.9.
22225
22226 2005-07-16  Wim Taymans  <wim@fluendo.com>
22227
22228         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22229         (gst_base_sink_do_sync):
22230         Fix compile error.
22231
22232 2005-07-16  Wim Taymans  <wim@fluendo.com>
22233
22234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22235         (gst_base_sink_event), (gst_base_sink_get_times),
22236         (gst_base_sink_do_sync), (gst_base_sink_change_state):
22237         * gst/base/gstbasesink.h:
22238         Store and use discont values when syncing buffers as described
22239         in design docs.
22240         
22241         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22242         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
22243         (gst_base_src_activate_push):
22244         Push discont event when starting.
22245
22246         * gst/elements/gstidentity.c: (gst_identity_transform):
22247         Small cleanups.
22248
22249         * gst/gstbin.c: (gst_bin_change_state):
22250         Small cleanups in base_time  distribution.
22251
22252         * gst/gstelement.c: (gst_element_set_base_time),
22253         (gst_element_get_base_time), (gst_element_change_state):
22254         * gst/gstelement.h:
22255         Added methods for the base_time of the element.
22256         Some MT fixes.
22257
22258         * gst/gstpipeline.c: (gst_pipeline_send_event),
22259         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22260         (gst_pipeline_get_last_stream_time):
22261         * gst/gstpipeline.h:
22262         MT fixes.
22263         Handle seeking as described in design doc, remove stream_time
22264         hack.
22265         Cleanups clock and stream_time selection code. Added accessors
22266         for the stream_time.
22267         
22268
22269 2005-07-16  Andy Wingo  <wingo@pobox.com>
22270
22271         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
22272         (#305291).
22273
22274 2005-07-16  Wim Taymans  <wim@fluendo.com>
22275
22276         * check/gst/gstbin.c: (GST_START_TEST):
22277         Make elements silent as the deep_notify refs the
22278         parent, which might make the test fail.
22279
22280         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22281         Don't hold the lock for too long.
22282
22283 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
22284
22285         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
22286           Don't unref the caps we passed to gst_caps_make_writable() after
22287           passing them. gst_caps_make_writable() will do that for us.
22288
22289 2005-07-15  Andy Wingo  <wingo@pobox.com>
22290
22291         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
22292         (#157311).
22293
22294         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
22295         own marshalling function for the handoff signal. Properly type the
22296         buffer as a buffer. Fixes some warnings. Should do a more general
22297         solution.
22298         (gst_identity_class_init): Plug into the right marshaller.
22299
22300 2005-07-15  Wim Taymans  <wim@fluendo.com>
22301
22302         * docs/design/part-TODO.txt:
22303         * docs/design/part-clocks.txt:
22304         * docs/design/part-element-sink.txt:
22305         * docs/design/part-events.txt:
22306         * docs/design/part-gstpipeline.txt:
22307         Updated docs, mostly DISCONT related.
22308
22309 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
22310
22311         * docs/pwg/building-pads.xml:
22312           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
22313
22314 2005-07-15  Andy Wingo  <wingo@pobox.com>
22315
22316         * tools/gst-typefind.c: Update, add copyright block.
22317
22318         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
22319         Normalize and truncate caps before fixation.
22320
22321         * gst/gstcaps.h:
22322         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
22323         discards all but the first structure from its argument.
22324
22325 2005-07-15  Wim Taymans  <wim@fluendo.com>
22326
22327         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22328         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
22329         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22330         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22331         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
22332         (gst_base_transform_chain), (gst_base_transform_change_state),
22333         (gst_base_transform_set_passthrough),
22334         (gst_base_transform_is_passthrough):
22335         * gst/base/gstbasetransform.h:
22336         Make passthrough work using the bufferpools.
22337         Changed API a bit, subclasses have to write into a buffer
22338         provided by the base class.
22339         More debug info in nego functions.
22340         
22341         * gst/elements/gstidentity.c: (gst_identity_init),
22342         (gst_identity_transform):
22343         Port to new base class.
22344
22345 2005-07-15  Wim Taymans  <wim@fluendo.com>
22346
22347         * gst/gstmessage.c: (gst_message_new_state_changed):
22348         * tools/gst-launch.c: (event_loop), (main):
22349         Totally dump messages in -launch with the -m option.
22350         Fix message name for State messages,
22351
22352 2005-07-14  Wim Taymans  <wim@fluendo.com>
22353
22354         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22355         Post error messages on errors.
22356
22357 2005-07-14  Wim Taymans  <wim@fluendo.com>
22358
22359         * gst/gstcaps.c: (gst_caps_do_simplify):
22360         Remove debug info.
22361
22362         * gst/gsterror.h:
22363         Define error for stream stopped.
22364
22365         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22366         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
22367         Do proper return values.
22368
22369         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22370         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
22371         (gst_pad_get_range):
22372         Better return values.
22373
22374         * gst/gstpad.h:
22375         Reorganise return values, add macro to check for fatal errors.
22376
22377         * gst/gstqueue.c: (gst_queue_chain):
22378         Return proper GstFlowReturn values,
22379
22380 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
22381
22382         * docs/gst/gstreamer-sections.txt:
22383         * docs/gst/gstreamer.types:
22384         * docs/gst/tmpl/gst.sgml:
22385         * docs/gst/tmpl/gstbasesink.sgml:
22386         * docs/gst/tmpl/gstbasesrc.sgml:
22387         * docs/gst/tmpl/gstbasetransform.sgml:
22388         * docs/gst/tmpl/gstbin.sgml:
22389         * docs/gst/tmpl/gstbuffer.sgml:
22390         * docs/gst/tmpl/gstcaps.sgml:
22391         * docs/gst/tmpl/gstclock.sgml:
22392         * docs/gst/tmpl/gstcompat.sgml:
22393         * docs/gst/tmpl/gstconfig.sgml:
22394         * docs/gst/tmpl/gstelement.sgml:
22395         * docs/gst/tmpl/gstelementdetails.sgml:
22396         * docs/gst/tmpl/gstelementfactory.sgml:
22397         * docs/gst/tmpl/gstenumtypes.sgml:
22398         * docs/gst/tmpl/gsterror.sgml:
22399         * docs/gst/tmpl/gstevent.sgml:
22400         * docs/gst/tmpl/gstfakesink.sgml:
22401         * docs/gst/tmpl/gstfakesrc.sgml:
22402         * docs/gst/tmpl/gstfilesink.sgml:
22403         * docs/gst/tmpl/gstfilesrc.sgml:
22404         * docs/gst/tmpl/gstfilter.sgml:
22405         * docs/gst/tmpl/gstformat.sgml:
22406         * docs/gst/tmpl/gstghostpad.sgml:
22407         * docs/gst/tmpl/gstimplementsinterface.sgml:
22408         * docs/gst/tmpl/gstindex.sgml:
22409         * docs/gst/tmpl/gstindexfactory.sgml:
22410         * docs/gst/tmpl/gstinfo.sgml:
22411         * docs/gst/tmpl/gstiterator.sgml:
22412         * docs/gst/tmpl/gstmacros.sgml:
22413         * docs/gst/tmpl/gstmemchunk.sgml:
22414         * docs/gst/tmpl/gstminiobject.sgml:
22415         * docs/gst/tmpl/gstobject.sgml:
22416         * docs/gst/tmpl/gstpad.sgml:
22417         * docs/gst/tmpl/gstpadtemplate.sgml:
22418         * docs/gst/tmpl/gstparse.sgml:
22419         * docs/gst/tmpl/gstpipeline.sgml:
22420         * docs/gst/tmpl/gstplugin.sgml:
22421         * docs/gst/tmpl/gstpluginfeature.sgml:
22422         * docs/gst/tmpl/gstquery.sgml:
22423         * docs/gst/tmpl/gstqueue.sgml:
22424         * docs/gst/tmpl/gstregistry.sgml:
22425         * docs/gst/tmpl/gstregistrypool.sgml:
22426         * docs/gst/tmpl/gstscheduler.sgml:
22427         * docs/gst/tmpl/gstschedulerfactory.sgml:
22428         * docs/gst/tmpl/gststructure.sgml:
22429         * docs/gst/tmpl/gstsystemclock.sgml:
22430         * docs/gst/tmpl/gsttaglist.sgml:
22431         * docs/gst/tmpl/gsttagsetter.sgml:
22432         * docs/gst/tmpl/gsttrace.sgml:
22433         * docs/gst/tmpl/gsttrashstack.sgml:
22434         * docs/gst/tmpl/gsttypefind.sgml:
22435         * docs/gst/tmpl/gsttypefindfactory.sgml:
22436         * docs/gst/tmpl/gsttypes.sgml:
22437         * docs/gst/tmpl/gsturihandler.sgml:
22438         * docs/gst/tmpl/gsturitype.sgml:
22439         * docs/gst/tmpl/gstutils.sgml:
22440         * docs/gst/tmpl/gstvalue.sgml:
22441         * docs/gst/tmpl/gstversion.sgml:
22442         * docs/gst/tmpl/gstxml.sgml:
22443         * docs/libs/tmpl/gstcontrol.sgml:
22444         * docs/libs/tmpl/gstdataprotocol.sgml:
22445         * docs/libs/tmpl/gstdparam.sgml:
22446         * docs/libs/tmpl/gstdplinint.sgml:
22447         * docs/libs/tmpl/gstdpman.sgml:
22448         * docs/libs/tmpl/gstdpsmooth.sgml:
22449         * docs/libs/tmpl/gstgetbits.sgml:
22450         * docs/libs/tmpl/gstunitconvert.sgml:
22451         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
22452         (gst_push_src_base_init), (gst_push_src_class_init),
22453         (gst_push_src_init), (gst_push_src_create):
22454         * gst/base/gstpushsrc.h:
22455         * gst/elements/gstelements.c:
22456         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22457         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22458         (gst_fake_sink_init), (gst_fake_sink_set_property),
22459         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22460         (gst_fake_sink_event), (gst_fake_sink_preroll),
22461         (gst_fake_sink_render), (gst_fake_sink_change_state):
22462         * gst/elements/gstfakesink.h:
22463         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22464         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22465         (gst_fake_src_base_init), (gst_fake_src_class_init),
22466         (gst_fake_src_init), (gst_fake_src_event_handler),
22467         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22468         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22469         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22470         (gst_fake_src_create_buffer), (gst_fake_src_create),
22471         (gst_fake_src_start), (gst_fake_src_stop):
22472         * gst/elements/gstfakesrc.h:
22473         * gst/elements/gstfilesink.c: (_do_init),
22474         (gst_file_sink_base_init), (gst_file_sink_class_init),
22475         (gst_file_sink_init), (gst_file_sink_dispose),
22476         (gst_file_sink_set_location), (gst_file_sink_set_property),
22477         (gst_file_sink_get_property), (gst_file_sink_open_file),
22478         (gst_file_sink_close_file), (gst_file_sink_query),
22479         (gst_file_sink_event), (gst_file_sink_render),
22480         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22481         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22482         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22483         * gst/elements/gstfilesink.h:
22484         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22485         (gst_file_src_class_init), (gst_file_src_init),
22486         (gst_file_src_finalize), (gst_file_src_set_location),
22487         (gst_file_src_set_property), (gst_file_src_get_property),
22488         (gst_file_src_map_region), (gst_file_src_map_small_region),
22489         (gst_file_src_create_mmap), (gst_file_src_create_read),
22490         (gst_file_src_create), (gst_file_src_is_seekable),
22491         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22492         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22493         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22494         (gst_file_src_uri_handler_init):
22495         * gst/elements/gstfilesrc.h:
22496           more autistic cleanliness in functions/names/defines
22497
22498 2005-07-13  Andy Wingo  <wingo@pobox.com>
22499
22500         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22501         source couldn't negotiate.
22502
22503         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22504         connections again.
22505
22506         * gst/gstutils.h:
22507         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22508         function. I am channeling Hades. Put your boots on suckers!!!
22509
22510 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22511
22512         * testsuite/caps/Makefile.am:
22513         * testsuite/caps/value_compare.c:
22514         * testsuite/caps/value_intersect.c:
22515         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22516           move two testsuite apps over to the check dir
22517
22518 2005-07-12  Wim Taymans  <wim@fluendo.com>
22519
22520         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22521         Added more debug info in the negotiate process.
22522
22523         * gst/gstmessage.h:
22524         Prepare for segment playback.
22525
22526         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22527         Better debugging.
22528
22529         * gst/gstutils.c:
22530         Some more docs.
22531
22532         * tools/gst-launch.c: (main):
22533         NULL pipeline on errors.
22534
22535 2005-07-12  Andy Wingo  <wingo@pobox.com>
22536
22537         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22538         not it comes from a malloc region. Make sure our copy gets freed.
22539
22540 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22541
22542         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22543         * check/gst/gstmessage.c: (GST_START_TEST):
22544         * check/gst/gststructure.c: (GST_START_TEST),
22545         (gst_structure_suite), (main):
22546           more testing
22547         * gst/gstelement.c: (gst_element_message_full):
22548           clean up GError and debug string now that they get copied
22549         * gst/gstmessage.c: (gst_message_new_error),
22550         (gst_message_new_warning), (gst_message_parse_error),
22551         (gst_message_parse_warning):
22552           use GST_TYPE_G_ERROR for structure_new, and take copies of
22553           arguments, so that we don't mess up refcounting
22554
22555 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22556
22557         * check/Makefile.am:
22558           add per-test valgrind targets
22559         * check/gst-libs/gdp.c: (GST_START_TEST),
22560         (gst_data_protocol_suite), (main):
22561           clean up
22562
22563 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22564
22565         * check/Makefile.am:
22566           instate more valgrindable tests
22567         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22568         (GST_START_TEST), (fakesrc_suite):
22569         * check/gst/gstpad.c: (GST_START_TEST):
22570         * check/gst/gststructure.c: (GST_START_TEST):
22571           fix test leaks
22572         * docs/gst/tmpl/gstminiobject.sgml:
22573         * gst/gstpad.c: (gst_pad_finalize):
22574           fix the static mutex leak
22575
22576 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22577
22578         * check/Makefile.am:
22579           add two more tests for valgrinding
22580         * check/gst/gstvalue.c: (GST_START_TEST):
22581           test refcount of deserialized buffer, found a leak
22582         * docs/gst/gstreamer-docs.sgml:
22583         * docs/gst/gstreamer-sections.txt:
22584         * docs/gst/gstreamer.types:
22585         * docs/gst/tmpl/gstminiobject.sgml:
22586           add miniobject to docs
22587         * gst/gstminiobject.c:
22588           add some docs
22589         * gst/gstvalue.c: (gst_value_deserialize_buffer),
22590         (gst_string_unwrap):
22591           fix a hard-to-find invalid write for one of the tests
22592           fix a leak for deserialized buffers
22593
22594 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22595
22596         * docs/pwg/advanced-events.xml:
22597         * docs/pwg/advanced-request.xml:
22598         * docs/pwg/advanced-scheduling.xml:
22599         * docs/pwg/appendix-porting.xml:
22600         * docs/pwg/building-boiler.xml:
22601         * docs/pwg/intro-preface.xml:
22602         * docs/pwg/other-ntoone.xml:
22603           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22604           of example code and explanation for pad activation, loop() and
22605           getrange() functions and a bit more. Remove old comments pointing
22606           to loop-functions.
22607         * examples/pwg/Makefile.am:
22608           Add loop/getrange examples.
22609
22610 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22611
22612         * configure.ac:
22613           check for valgrind binary + some fixes
22614         * check/gst.supp:
22615           valgrind suppressions for the tests
22616         * check/Makefile.am:
22617           add a valgrind: target that valgrinds the unit tests
22618         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22619         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22620         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22621         * check/gst/gstghostpad.c:
22622           added some cleanup
22623         * check/gst/gstdata.c:
22624           removed
22625         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22626         (thread_unref), (gst_mini_object_suite), (main):
22627           added
22628         * gst/gst.c: (gst_deinit):
22629         * gst/gst.h:
22630           add a method to clean up.
22631         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22632         (gst_system_clock_obtain):
22633           allow for disposing the system clock.
22634         * tools/gst-launch.c: (main):
22635           deinit
22636
22637 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22638
22639         * docs/gst/tmpl/gstbasesrc.sgml:
22640         * docs/gst/tmpl/gstfakesrc.sgml:
22641         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22642         (gst_base_src_init), (gst_base_src_set_property),
22643         (gst_base_src_get_property), (gst_base_src_get_range),
22644         (gst_base_src_start):
22645         * gst/base/gstbasesrc.h:
22646           add num-buffers property
22647         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22648         (gst_fakesrc_init), (gst_fakesrc_set_property),
22649         (gst_fakesrc_get_property), (gst_fakesrc_create),
22650         (gst_fakesrc_start):
22651           remove num-buffers property
22652
22653 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22654
22655         * docs/gst/gstreamer-sections.txt:
22656         * docs/gst/tmpl/gstbasesink.sgml:
22657         * docs/gst/tmpl/gstbasesrc.sgml:
22658         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22659         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22660         (gst_base_sink_finalize), (gst_base_sink_set_clock),
22661         (gst_base_sink_set_property), (gst_base_sink_get_property),
22662         (gst_base_sink_handle_object), (gst_base_sink_event),
22663         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22664         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22665         (gst_base_sink_loop), (gst_base_sink_deactivate),
22666         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22667         (gst_base_sink_change_state):
22668         * gst/base/gstbasesink.h:
22669         * gst/base/gstbasesrc.h:
22670         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22671         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22672         (gst_filesink_init):
22673           more macro splitting
22674
22675 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22676
22677         * gst/gstelement.c: (gst_element_get_bus):
22678           add debug
22679         * tools/gst-launch.c: (check_intr), (event_loop):
22680           fix bus leaks
22681
22682 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22683
22684         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22685           fix a caps leak
22686
22687 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22688
22689         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22690         (gst_base_src_finalize):
22691           add finalize method and clean up properly
22692         * gst/gstpipeline.c: (gst_pipeline_dispose):
22693           add debug
22694
22695 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22696
22697         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22698         (gst_bin_suite):
22699           add more things to check
22700         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22701         * gst/gstelement.c:
22702           more debug
22703
22704 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22705
22706         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22707         (GST_START_TEST), (fakesrc_suite):
22708         * check/gst-libs/gdp.c: (GST_START_TEST):
22709         * check/gst/gst.c: (GST_START_TEST):
22710         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22711         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22712         * check/gst/gstbus.c: (GST_START_TEST):
22713         * check/gst/gstcaps.c: (GST_START_TEST):
22714         * check/gst/gstdata.c: (GST_START_TEST):
22715         * check/gst/gstelement.c: (GST_START_TEST):
22716         * check/gst/gstghostpad.c: (GST_START_TEST):
22717         * check/gst/gstiterator.c: (GST_START_TEST):
22718         * check/gst/gstmessage.c: (GST_START_TEST):
22719         * check/gst/gstobject.c: (GST_START_TEST):
22720         * check/gst/gstpad.c: (GST_START_TEST):
22721         * check/gst/gststructure.c: (GST_START_TEST):
22722         * check/gst/gstsystemclock.c: (GST_START_TEST),
22723         (gst_systemclock_suite):
22724         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22725         * check/gst/gstvalue.c: (GST_START_TEST):
22726         * check/pipelines/cleanup.c: (GST_START_TEST):
22727         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22728         * check/states/sinks.c: (GST_START_TEST):
22729         * check/gstcheck.c: (gst_check_init):
22730         * check/gstcheck.h:
22731           add debugging category
22732           use GST_START_TEST now, so we add a debug line
22733
22734 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22735
22736         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22737           add test for state change message on a bin
22738         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22739           add another test
22740         * gst/gstbin.c: (gst_bin_init):
22741         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22742         * gst/gstelement.c: (gst_element_post_message),
22743         (gst_element_set_state):
22744         * gst/gstelementfactory.c: (gst_element_factory_create):
22745         * gst/gstmessage.c: (gst_message_new):
22746         * gst/gstscheduler.c:
22747           various debugging additions and cleanups
22748
22749 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22750
22751         * check/Makefile.am:
22752         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22753         (main):
22754           adding tests for elements
22755         * gst/gstelement.c: (gst_element_dispose):
22756
22757 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22758
22759         * gst/registries/gstlibxmlregistry.c: (load_feature):
22760           plug more leaks.  A simple gst_init() now is leakfree, yay.
22761
22762 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22763
22764         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22765         (gst_xml_registry_load):
22766           plug another memleak
22767
22768 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22769
22770         * configure.ac:
22771           use GST_SET_ERROR_CFLAGS
22772         * docs/faq/cvs.xml:
22773           change to ERROR_CFLAGS
22774
22775 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22776
22777         * configure.ac:
22778           make GST_ERROR_CFLAGS overridable and re-enable Werror
22779         * docs/faq/cvs.xml:
22780           add a note about error CFLAGS
22781         * docs/gst/tmpl/gstfakesrc.sgml:
22782         * gst/elements/gstfakesrc.c:
22783           comment out some unused code
22784         * gst/gst.c: (split_and_iterate):
22785         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22786         (load_feature):
22787           plug some memleaks
22788
22789 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22790
22791         * common/Makefile.am:
22792         * common/gtk-doc.mak:
22793         * docs/gst/Makefile.am:
22794           factor out gtk-doc.mak
22795
22796 2005-07-07  Wim Taymans  <wim@fluendo.com>
22797
22798         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22799         (gst_thread_scheduler_dispose):
22800         Unlock the STREAM_LOCK completely.
22801
22802 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22803
22804         * check/Makefile.am:
22805         * check/elements/.cvsignore:
22806         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22807         (START_TEST), (fakesrc_suite), (main):
22808         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22809         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22810         (gst_fakesrc_create), (gst_fakesrc_start):
22811         * gst/elements/gstfakesrc.h:
22812           adding a first element test
22813
22814 2005-07-07  Andy Wingo  <wingo@pobox.com>
22815
22816         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22817         debug message.
22818
22819 2005-07-07  Wim Taymans  <wim@fluendo.com>
22820
22821         * gst/gstquery.c:
22822         * gst/gstquery.h:
22823         Remove old types
22824
22825 2005-07-07  Wim Taymans  <wim@fluendo.com>
22826
22827         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22828         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22829         Allow subclasses to implement their own negotiation.
22830
22831 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22832
22833         * docs/design/part-gstbin.txt:
22834         * docs/design/part-gstpipeline.txt:
22835           Update design notes to reflect the movement of
22836           responsibility for bus handling from GstPipeline to
22837           GstBin
22838
22839 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22840
22841         * configure.ac:
22842           Remove unnecessary queue2/3/4 examples.
22843
22844 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22845
22846         * examples/Makefile.am:
22847         * examples/helloworld/helloworld.c: (event_loop), (main):
22848         * examples/queue/queue.c: (event_loop), (main):
22849         * examples/queue2/queue2.c: (main):
22850           Update a couple of the examples to work again.
22851
22852         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22853         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22854          Spelling corrections and extra debug.
22855         
22856         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22857         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22858         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22859         * gst/gstbin.h:
22860         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22861         (gst_pipeline_change_state):
22862         * gst/gstpipeline.h:
22863           Move the bus handler for children to the GstBin, and create a
22864           separate bus for receiving messages from children to the one the
22865           bus sends 'upwards' on.
22866
22867 2005-07-06  Wim Taymans  <wim@fluendo.com>
22868
22869         * gst/base/README:
22870         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22871         (gst_base_sink_handle_object), (gst_base_sink_loop),
22872         (gst_base_sink_change_state):
22873         * gst/base/gstbasesink.h:
22874         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22875         (gst_base_src_init), (gst_base_src_setcaps),
22876         (gst_base_src_getcaps), (gst_base_src_loop),
22877         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22878         (gst_base_src_start), (gst_base_src_change_state):
22879         * gst/base/gstbasesrc.h:
22880         Make basesrc negotiate.
22881         Handle the case where preroll fails in basesink.
22882         Update README.
22883
22884 2005-07-06  Wim Taymans  <wim@fluendo.com>
22885
22886         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22887         Implement the fixate function.
22888         Clean up acceptcaps.
22889
22890 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22891
22892         * docs/pwg/building-filterfactory.xml:
22893         * docs/pwg/pwg.xml:
22894           Remove never-written filter-factory chapter; I'll add the various
22895           base classes to part 4 ("other element types") later on.
22896
22897 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22898
22899         * docs/pwg/advanced-negotiation.xml:
22900         * docs/pwg/building-boiler.xml:
22901         * docs/pwg/building-pads.xml:
22902         * docs/pwg/pwg.xml:
22903         * examples/pwg/Makefile.am:
22904           Add a chapter on caps negotiation, simplify the original code
22905           samples a bit w.r.t. caps negotiation, add link to the advanced
22906           section. Add a bunch of examples showing different use cases of
22907           different types of caps negotiation. Upstream renegotiation isn't
22908           fully documented yet since nobody knows how that works.
22909
22910 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22911
22912         * check/gst/gstpad.c:
22913         * check/gstcheck.c:
22914         * gst/gstpad.c: (gst_pad_get_internal_links_default):
22915           if pad has no parent, return NULL as list of internal links
22916
22917 2005-07-05  Andy Wingo  <wingo@pobox.com>
22918
22919         * gst/elements/gstfilesrc.c:
22920         * gst/elements/gstfakesrc.c: 
22921         * gst/base/gstpushsrc.c:
22922         * gst/base/gstbasesrc.h: 
22923         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22924         
22925 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
22926
22927         * Makefile.am:
22928           better report generation target (lcov needs a patch)
22929
22930 2005-07-05  Andy Wingo  <wingo@pobox.com>
22931
22932         * gst/elements, testsuite: Null if we got it...
22933
22934 2005-07-05  Wim Taymans  <wim@fluendo.com>
22935
22936         * configure.ac:
22937         * libs/gst/dataprotocol/Makefile.am:
22938         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22939         * libs/gst/dataprotocol/dataprotocol.h:
22940         * pkgconfig/Makefile.am:
22941         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22942         * pkgconfig/gstreamer-dataprotocol.pc.in:
22943         Ported dataprotol to 0.9. 
22944         Added pkgconfig files.
22945
22946 2005-07-05  Andy Wingo  <wingo@pobox.com>
22947
22948         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22949         Default to returning TRUE for the case when tranform_caps returns
22950         a fixed caps, like for identity or volume.
22951
22952         * check/gst/gstbus.c (pound_bus_with_messages): 
22953         * check/gst/gstmessage.c (START_TEST): 
22954         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22955         message API change.
22956
22957         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22958         logic weaks here: always run transform_caps, trying passthrough
22959         operation only if the original caps intersects with the transform.
22960
22961         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22962         source and sink caps.
22963
22964         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22965         Intersect the peer caps with the pad template before going into
22966         transform_caps.
22967         (gst_base_transform_transform_caps): More debugging.
22968
22969         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22970         src argument.
22971
22972 2005-07-04  Edward Hervey  <edward@fluendo.com>
22973
22974         * gst/gstutils.c:
22975         * gst/gstutils.h:
22976         (gst_pad_add_*_probe): now returns the signal id for better wrapping
22977         in bindings.
22978
22979 2005-07-04  Andy Wingo  <wingo@pobox.com>
22980
22981         * check/gst/gstpad.c: Only set explicit caps on pads.
22982
22983 2005-07-01  Andy Wingo  <wingo@pobox.com>
22984
22985         * tests/network-clock.scm: Commentary update.
22986
22987         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22988         Didn't really make sense, not implementable with basetransform,
22989         etc.
22990         (gst_identity_transform): Unref inbuf via make_writable. Feeble
22991         attempt at implementing the sync property, needs an unlock method.
22992
22993         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22994         New func, by default returns the same caps (the identity
22995         transformation).
22996         (gst_base_transform_getcaps): Uses transform_caps to return
22997         something sensible.
22998         (gst_base_transform_setcaps): Complicated logic to get caps on
22999         both pads, even if they are different, and to call set_caps once
23000         for every time both pads get their caps set.
23001         (gst_base_transform_handle_buffer): Give the ref to the transform
23002         function. Allows in-place modification of the buffer.
23003
23004         * gst/base/gstbasetransform.h (transform_caps): New class method.
23005         Given caps on one side, what can I do on the other.
23006         (set_caps): Take two caps, one for each side of the element.
23007
23008         * gst/gstpad.h:
23009         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
23010         caps in place. This is safe because we can check the mutability of
23011         the caps, and a good idea because fixate functions are just called
23012         as a matter of last resort. (Not actually implemented.)
23013         (gst_pad_set_caps): If the caps we're setting is actually the same
23014         as the existing pad caps, just update the pointer without calling
23015         setcaps. Assert that caps is either NULL or fixed, as per the
23016         docs.
23017
23018         * gst/gstghostpad.c: Update for fixate changes.
23019
23020 2005-07-02  Andy Wingo  <wingo@pobox.com>
23021
23022         * gst/gstcaps.c:
23023         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
23024         two refcounts makes it immutable, which is enough. Doc more.
23025
23026 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
23027
23028         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
23029           Put the mini_object into GValue as a mini_object,
23030           not a gpointer, since that's how we declared
23031           the signal.
23032
23033 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23034
23035         * examples/pwg/Makefile.am:
23036           Fix buildbot again.
23037
23038 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23039
23040         * docs/pwg/building-testapp.xml:
23041           Add extra check.
23042         * examples/pwg/Makefile.am:
23043           Fix buildbot.
23044
23045 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23046
23047         * configure.ac:
23048         * examples/Makefile.am:
23049         * examples/pwg/Makefile.am:
23050         * examples/pwg/extract.pl:
23051           Enable building the PWG examples.
23052         * docs/pwg/advanced-interfaces.xml:
23053           Add URI interface stub.
23054         * docs/pwg/advanced-types.xml:
23055         * docs/pwg/other-autoplugger.xml:
23056         * docs/pwg/appendix-porting.xml:
23057         * docs/pwg/pwg.xml:
23058           Add porting guide (mostly stubs), remove autoplugging (see ADM).
23059         * docs/pwg/building-boiler.xml:
23060         * docs/pwg/building-chainfn.xml:
23061         * docs/pwg/building-pads.xml:
23062         * docs/pwg/building-props.xml:
23063         * docs/pwg/building-state.xml:
23064         * docs/pwg/building-testapp.xml:
23065           Update the building-*.xml parts for 0.9 changes. All examples
23066           code blocks compile in examples/pwg/*.
23067
23068 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23069
23070         * docs/manual/advanced-autoplugging.xml:
23071         * docs/manual/appendix-checklist.xml:
23072         * docs/manual/appendix-integration.xml:
23073         * docs/manual/highlevel-components.xml:
23074           Fix playbin/decodebin examples, update docs a bit, mention bus
23075           instead of signals in various places, mention kmplayer and
23076           kaffeine since they have a working GStreamer backend in the KDE
23077           section.
23078
23079 2005-06-30  Wim Taymans  <wim@fluendo.com>
23080
23081         * CHANGES-0.9:
23082         * docs/design/draft-ghostpads.txt:
23083         * docs/design/draft-push-pull.txt:
23084         * docs/design/draft-query.txt:
23085         * docs/design/part-TODO.txt:
23086         * docs/design/part-query.txt:
23087         Added CHANGES-0.9 doc, updated status of other docs.
23088         
23089         * gst/gstquery.h:
23090         Remove "hmm" macro
23091
23092 2005-06-30  Wim Taymans  <wim@fluendo.com>
23093
23094         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23095         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23096         (gst_base_sink_change_state):
23097         * gst/base/gstbasesink.h:
23098         Some tweaks, only EOS and a buffer complete a preroll.
23099
23100 2005-06-30  Andy Wingo  <wingo@pobox.com>
23101
23102         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
23103         activate_push down to the internal pad as well.
23104
23105 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
23106
23107         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23108
23109         * gst/gsttaginterface.c:
23110           Some documentation fixes (#307394 and #307397).
23111
23112 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
23113
23114         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23115
23116         * gst/gstvalue.c: (gst_value_intersect_list):
23117           Fix memleak (#309125).
23118
23119 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23120
23121         * docs/manual/advanced-dataaccess.xml:
23122           Fix fakesrc example to compile; doesn't work, bug somewhere...?
23123         * docs/manual/basics-pads.xml:
23124           Add reference for filtered caps to above chapter.
23125
23126 2005-06-30  Wim Taymans  <wim@fluendo.com>
23127
23128         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
23129         (gst_bin_change_state):
23130         Probes are gone.
23131         Lame attempt at making the state change function a bit
23132         more readable.
23133
23134 2005-06-30  Wim Taymans  <wim@fluendo.com>
23135
23136         * docs/design/part-clocks.txt:
23137         * docs/design/part-element-sink.txt:
23138         * docs/design/part-events.txt:
23139         * docs/design/part-preroll.txt:
23140         * docs/design/part-states.txt:
23141         Some more tweeks and additions to the docs.
23142
23143 2005-06-30  Wim Taymans  <wim@fluendo.com>
23144
23145         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23146         (default_have_data), (gst_pad_class_init), (gst_pad_init),
23147         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23148         (gst_pad_check_pull_range), (gst_pad_get_range),
23149         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
23150         * gst/gstpad.h:
23151         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
23152         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23153         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23154         (gst_pad_remove_buffer_probe):
23155         Removed atomic operations, use existing LOCK.
23156         Move exception handling out of main code path.
23157
23158 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23159
23160         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23161         (silly_return_true_function), (gst_pad_class_init),
23162         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23163         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
23164         (gst_pad_send_event):
23165           Fix accumulator, add default value by using _emitv() instead
23166           of _emit() for signal emission.
23167
23168 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23169
23170         * docs/manual/advanced-dataaccess.xml:
23171         * examples/manual/Makefile.am:
23172           Add probe example.
23173         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
23174           Make work (??).
23175
23176 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
23177
23178         * gst/elements/gstfilesink.c: (gst_filesink_render):
23179           Simplify code so that we don't have to handle short
23180           writes and return GST_FLOW_ERROR if an error occured.
23181
23182 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23183
23184         * docs/gst/gstreamer-docs.sgml:
23185           Remove probes more.
23186
23187 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23188
23189         * docs/gst/gstreamer-sections.txt:
23190         * docs/gst/tmpl/gstpad.sgml:
23191         * docs/gst/tmpl/gstprobe.sgml:
23192         * gst/Makefile.am:
23193         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23194         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
23195         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23196         (gst_pad_push_event), (gst_pad_send_event):
23197         * gst/gstpad.h:
23198         * gst/gstutils.c: (gst_pad_add_data_probe),
23199         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23200         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23201         (gst_pad_remove_buffer_probe):
23202         * gst/gstutils.h:
23203           Remove old probes, add new g-signal-based probes and some utility
23204           functions.
23205
23206 2005-06-29  Edward Hervey  <edward@fluendo.com>
23207
23208         * gst/gstelementfactory.c:
23209         * gst/gstutils.h:
23210         * gst/gstutils.c:
23211         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
23212         the definition to the header file.
23213
23214 2005-06-29  Andy Wingo  <wingo@pobox.com>
23215
23216         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
23217         plugins from the source directory.
23218
23219 2005-06-29  Wim Taymans  <wim@fluendo.com>
23220
23221         * docs/gst/tmpl/gstbuffer.sgml:
23222         * docs/gst/tmpl/gstclock.sgml:
23223         Some fixings for blantently wrong text.
23224
23225 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23226
23227         * check/Makefile.am:
23228         * gst/gst.c: (add_path_func), (init_pre):
23229         * gst/gstregistry.c: (gst_registry_add_path):
23230           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
23231           only scan the GST_PLUGIN_PATH locations, and not add
23232           system locations
23233
23234 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23235
23236         * docs/gst/gstreamer-sections.txt:
23237         * docs/gst/tmpl/gstbasesrc.sgml:
23238         * gst/gstelement.c:
23239         * gst/gstelement.h:
23240         * gst/gstevent.c:
23241         * gst/gstutils.c:
23242           doc fixes
23243
23244 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23245
23246         * docs/manual/advanced-autoplugging.xml:
23247           Fix autoplugging example.
23248
23249 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23250
23251         * docs/manual/advanced-autoplugging.xml:
23252         * docs/manual/mime-world.fig:
23253           Try to get autoplugging working, fix type detection. Fix text
23254           in hello-world image.
23255
23256 2005-06-29  Wim Taymans  <wim@fluendo.com>
23257
23258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23259         (gst_base_sink_change_state):
23260         Small debug line.
23261
23262         * gst/gstclock.h:
23263         map SIGNAL and BROADCAST to the right function.
23264
23265         * gst/gstobject.h:
23266         Remove redundant braces.
23267
23268         * gst/gstpad.c: (gst_pad_set_caps):
23269         Don't call setcaps function when reseting caps to NULL.
23270
23271         * gst/gstsystemclock.c: (gst_system_clock_dispose),
23272         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
23273         (gst_system_clock_id_unschedule):
23274         Use BROADCAST as this is what we do.
23275
23276 2005-06-29  Wim Taymans  <wim@fluendo.com>
23277
23278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23279         We are actually prerolling before commiting the state
23280         change. 
23281
23282 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23283
23284         * docs/manual/advanced-clocks.xml:
23285         * docs/manual/advanced-interfaces.xml:
23286         * docs/manual/advanced-metadata.xml:
23287         * docs/manual/advanced-position.xml:
23288         * docs/manual/advanced-schedulers.xml:
23289         * docs/manual/advanced-threads.xml:
23290         * docs/manual/appendix-porting.xml:
23291         * docs/manual/basics-bins.xml:
23292         * docs/manual/basics-bus.xml:
23293         * docs/manual/basics-elements.xml:
23294         * docs/manual/basics-helloworld.xml:
23295         * docs/manual/basics-pads.xml:
23296         * docs/manual/highlevel-components.xml:
23297         * docs/manual/manual.xml:
23298         * docs/manual/thread.fig:
23299           Update (until threads/scheduling) Application Development Manual;
23300           remove GstThread, add GstBus, add simple porting checklist, add
23301           documentation for tag writing, clocks, make all examples until this
23302           part compile and run.
23303         * examples/manual/Makefile.am:
23304           Update from changes to Application Development Manual; add bus
23305           example, remove thread example.
23306
23307 2005-06-28  Wim Taymans  <wim@fluendo.com>
23308
23309         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
23310         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
23311         (gst_bus_source_dispatch):
23312         Add debugging messages.
23313         Make internal methods static.
23314         Handle the case where the bus is flushed in the handler.
23315         
23316         * gst/gstelement.c: (gst_element_get_bus):
23317         Fix refcount in _get_bus();
23318
23319         * gst/gstpipeline.c: (gst_pipeline_change_state),
23320         (gst_pipeline_get_clock_func):
23321         Clock refcounting fixes.
23322         Handle the case where preroll timed out more gracefully.
23323         
23324         * gst/gstsystemclock.c: (gst_system_clock_dispose):
23325         Clean up the internal thread in dispose. This is needed
23326         for subclasses that actually get disposed.
23327         
23328         * gst/schedulers/threadscheduler.c:
23329         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23330         (gst_thread_scheduler_dispose):
23331         Free thread pool in dispose.
23332
23333 2005-06-28  Andy Wingo  <wingo@pobox.com>
23334
23335         * tests/network-clock-utils.scm (debug, print-event): New utils.
23336
23337         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
23338         (*packet-loss*): Unified loss probability.
23339         (network-time): Report out-of-band events.
23340
23341         * tests/plot-data: Add support for out-of-band events. Hack it
23342         into this script instead of passing it down the pipe; should fix
23343         this later.
23344
23345 2005-06-28  Wim Taymans  <wim@fluendo.com>
23346
23347         * docs/gst/gstreamer.types:
23348         * docs/gst/tmpl/gstbasesrc.sgml:
23349         * docs/gst/tmpl/gstpad.sgml:
23350         Docs fixes.
23351
23352 2005-06-28  Wim Taymans  <wim@fluendo.com>
23353
23354         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23355         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
23356         (gst_proxy_pad_do_fixatecaps):
23357         Correctly proxy the check_pull_range function.
23358
23359 2005-06-28  Andy Wingo  <wingo@pobox.com>
23360
23361         * tests/network-clock.scm: Removed need for slib.
23362         
23363 2005-06-28  Wim Taymans  <wim@fluendo.com>
23364
23365         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
23366         (gst_basesink_preroll_queue_flush):
23367         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
23368         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
23369         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23370         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23371         (gst_proxy_pad_set_property):
23372         * gst/gstpad.c:
23373         * gst/gstpad.h:
23374         * gst/gstqueue.c: (gst_queue_init):
23375         The deprecated pad loop function is removed now.
23376
23377 2005-06-28  Andy Wingo  <wingo@pobox.com>
23378
23379         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
23380         New parameters, simulate network packet loss.
23381
23382         * tests/network-clock-utils.scm: Initialize the RNG.
23383
23384 2005-06-28  Wim Taymans  <wim@fluendo.com>
23385
23386         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
23387         (gst_basesink_event), (gst_basesink_deactivate):
23388         Flushing the preroll queue always needs to unlock the waiters.
23389
23390 2005-06-28  Edward Hervey  <edward@fluendo.com>
23391
23392         * gst/gstpipeline.c: (gst_pipeline_send_event): 
23393         Wheen a seek was successful on a pipeline, set the stream_time to the
23394         seek offset in order to have a synchronized stream_time.
23395
23396 2005-06-28  Wim Taymans  <wim@fluendo.com>
23397
23398         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23399         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
23400         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
23401         (gst_proxy_pad_do_fixatecaps):
23402         Call wrapper function instead of just calling the function
23403         pointers. This takes care of any locking and whatmore.
23404
23405 2005-06-28  Wim Taymans  <wim@fluendo.com>
23406
23407         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
23408         (gst_pad_pull_range):
23409         * gst/gstpad.h:
23410         CONNECTED -> LINKED.
23411
23412 2005-06-28  Andy Wingo  <wingo@pobox.com>
23413
23414         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
23415         source-munging commit!!!
23416
23417         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
23418         (gst_object_sink): Take gpointer arguments, not GstObject --
23419         avoids casts. Like GLib.
23420
23421         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
23422         activate.
23423
23424 2005-06-27  Andy Wingo  <wingo@pobox.com>
23425
23426         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
23427         remaining buffer.
23428
23429         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
23430         returns a sorted copy of the trace list.
23431         (gst_alloc_trace_print_live): New API, only prints traces with
23432         live objects. Sort the list.
23433         (gst_alloc_trace_print_all): Sort the list.
23434         (gst_alloc_trace_print): Align columns.
23435
23436         * gst/elements/gstttypefindelement.c:
23437         * gst/elements/gsttee.c:
23438         * gst/base/gstbasesrc.c:
23439         * gst/base/gstbasesink.c:
23440         * gst/base/gstbasetransform.c:
23441         * gst/gstqueue.c: Adapt for pad activation changes.
23442
23443         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
23444         sched.
23445         (gst_pipeline_dispose): Drop ref on sched.
23446
23447         * gst/gstpad.c (gst_pad_init): Set the default activate func.
23448         (gst_pad_activate_default): Push mode by default.
23449         (pre_activate_switch, post_activate_switch): New stubs, things to
23450         do before and after switching activation modes on pads.
23451         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
23452         the pad's activate function to choose which mode to activate.
23453         Shortcut on deactivation and call the right function directly.
23454         (gst_pad_activate_pull): New API, (de)activates a pad in pull
23455         mode.
23456         (gst_pad_activate_push): New API, same for push mode.
23457         (gst_pad_set_activate_function) 
23458         (gst_pad_set_activatepull_function) 
23459         (gst_pad_set_activatepush_function): Setters for new API.
23460
23461         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23462         Trace all miniobjects.
23463         (gst_mini_object_make_writable): Unref the arg if we copy, like
23464         gst_caps_make_writable.
23465
23466         * gst/gstmessage.c (_gst_message_initialize): No trace init.
23467
23468         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
23469         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23470         Adapt for new pad API.
23471
23472         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23473
23474         * gst/gstelement.h:
23475         * gst/gstelement.c (gst_element_iterate_src_pads) 
23476         (gst_element_iterate_sink_pads): New API functions.
23477         
23478         * gst/gstelement.c (iterator_fold_with_resync): New utility,
23479         should fold into gstiterator.c in some form.
23480         (gst_element_pads_activate): Simplified via use of fold and
23481         delegation of decisions to gstpad->activate.
23482
23483         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23484         help in debugging.
23485
23486         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23487         class once in init, like gstmessage. Didn't run into this issue
23488         but it seems correct. Don't initialize a trace, gstminiobject does
23489         that.
23490
23491         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23492         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23493         to the bus.
23494         (assert_live_count): New util function, uses alloc traces to check
23495         cleanup.
23496
23497         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23498         To be modified when unlink drops the internal pad.
23499
23500 2005-06-27  Wim Taymans  <wim@fluendo.com>
23501
23502         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23503         (gst_bin_change_state):
23504         Cleanup the get_state() function a little, make sure it
23505         iterates the same set of elements.
23506         Added stub iterate_state_order().
23507
23508 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23509
23510         * docs/gst/gstreamer-docs.sgml:
23511         * docs/gst/gstreamer-sections.txt:
23512         * docs/gst/gstreamer.types:
23513         * docs/gst/tmpl/gstbasesink.sgml:
23514         * docs/gst/tmpl/gstbasesrc.sgml:
23515         * docs/gst/tmpl/gstbasetransform.sgml:
23516         * docs/gst/tmpl/gstelement.sgml:
23517         * docs/gst/tmpl/gstiterator.sgml:
23518         * gst/base/gstbasesrc.c:
23519         * gst/base/gstbasesrc.h:
23520         * gst/base/gstbasetransform.h:
23521         * gst/gstelement.c:
23522         * gst/gstiterator.h:
23523           adding basetransform and iterator docs
23524
23525 2005-06-27  Andy Wingo  <wingo@pobox.com>
23526
23527         * docs/design/part-activation.txt: Notes on how activation should
23528         work -- not quite implemented yet.
23529
23530 2005-06-25  Wim Taymans  <wim@fluendo.com>
23531
23532         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23533         At least get the chain function correct, needs more
23534         fixing.
23535
23536 2005-06-25  Wim Taymans  <wim@fluendo.com>
23537
23538         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23539         (gst_basesink_handle_object), (gst_basesink_event),
23540         (gst_basesink_do_sync), (gst_basesink_handle_event),
23541         (gst_basesink_change_state):
23542         * gst/gsttask.h:
23543         Right, two problems here: ghostpads don't take locks and
23544         glib _rec_mutex_lock_full() with depth==0 still locks.
23545         Catch illegal locking and g_warn them.
23546
23547 2005-06-25  Wim Taymans  <wim@fluendo.com>
23548
23549         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23550         Have to check for completion now...
23551
23552 2005-06-25  Wim Taymans  <wim@fluendo.com>
23553
23554         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23555         (gst_basesink_handle_object), (gst_basesink_event),
23556         (gst_basesink_do_sync), (gst_basesink_handle_event),
23557         (gst_basesink_change_state):
23558         * gst/gstpad.h:
23559         Unlock STREAM_LOCK whatever the recursion was.
23560
23561 2005-06-25  Wim Taymans  <wim@fluendo.com>
23562
23563         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23564         (gst_basesink_preroll_queue_empty),
23565         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23566         (gst_basesink_event), (gst_basesink_do_sync),
23567         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23568         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23569         (gst_basesink_change_state):
23570         Reworked the base sink, handle event and buffer serialisation
23571         correctly and removed possible deadlock.
23572         Handle EOS correctly.
23573
23574 2005-06-25  Wim Taymans  <wim@fluendo.com>
23575
23576         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23577         (gst_pipeline_change_state):
23578         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23579         Allow elements to post EOS in the state change function.
23580         Fix up -launch, make it exit the poll loop when the
23581         pipeline actually changed state.
23582         Fix up warning parsing in -launch.
23583
23584 2005-06-25  Wim Taymans  <wim@fluendo.com>
23585
23586         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23587         (gst_tee_sink_activate):
23588         Core takes STREAM_LOCK for us now.
23589
23590 2005-06-25  Wim Taymans  <wim@fluendo.com>
23591
23592         * gst/gstelement.c: (gst_element_get_state_func),
23593         (gst_element_set_state):
23594         * gst/gstelement.h:
23595         * gst/gstmessage.c: (gst_message_parse_error),
23596         (gst_message_parse_warning):
23597         Keep track of current target state while performing a state
23598         change so that subclasses can do something interesting.
23599         Fix parsing of warning/error messages when GError is NULL.
23600
23601 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23602
23603         * docs/gst/Makefile.am:
23604         * docs/gst/gstreamer-docs.sgml:
23605         * docs/gst/gstreamer-sections.txt:
23606         * docs/gst/gstreamer.types:
23607         * docs/gst/tmpl/gstbasesink.sgml:
23608         * docs/gst/tmpl/gstbasesrc.sgml:
23609         * docs/gst/tmpl/gstbin.sgml:
23610         * docs/gst/tmpl/gstcompat.sgml:
23611         * docs/gst/tmpl/gstfakesink.sgml:
23612         * docs/gst/tmpl/gstfakesrc.sgml:
23613         * docs/gst/tmpl/gstfilesink.sgml:
23614         * docs/gst/tmpl/gstfilesrc.sgml:
23615         * docs/gst/tmpl/gstindex.sgml:
23616         * docs/manual/appendix-quotes.xml:
23617         * gst/base/gstbasesrc.h:
23618         * gst/elements/gstfakesrc.h:
23619         * gst/gstmessage.h:
23620           start pulling in base classes and elements in our docs
23621
23622 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
23623
23624         * docs/gst/Makefile.am:
23625         * docs/libs/Makefile.am:
23626           fixed make distcheck with gtk-doc 1.3
23627
23628 2005-06-23  Wim Taymans  <wim@fluendo.com>
23629
23630         * gst/gstelement.c: (gst_element_get_state_func),
23631         (gst_element_set_state), (gst_element_change_state):
23632         When the state did not change, also report NO_PREROLL
23633         when it matters.
23634
23635 2005-06-23  Wim Taymans  <wim@fluendo.com>
23636
23637         * gst/gstpad.c: (gst_pad_event_default):
23638         * gst/gstqueue.c: (gst_queue_loop):
23639         No unsafe task pausing please.
23640
23641 2005-06-23  Wim Taymans  <wim@fluendo.com>
23642
23643         * gst/schedulers/threadscheduler.c:
23644         (gst_thread_scheduler_task_start),
23645         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23646         Ref the task before pushing it on the threadpool. This
23647         makes sure that we have a ref when the threadfunction is
23648         actually called.
23649
23650 2005-06-23  Andy Wingo  <wingo@pobox.com>
23651
23652         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23653         offset is greater than the file's size.
23654
23655         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
23656         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23657         * gst/gstobject.c (gst_object_class_init): Make the class lock
23658         recursive. Wim won't let me drop deep_notify. Decodebin works
23659         again, whoopdy doo.
23660
23661         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23662         internal pad, and hacks accordingly. Doesn't do it on the target
23663         pad because we change its caps. Probably catches all cases of
23664         interest tho.
23665         (gst_ghost_pad_set_property): Connect to notify::caps as
23666         appropritate.
23667
23668         * tests/network-clock.scm (plot-simulation): Pipe data to the
23669         elite python skript.
23670
23671         * tests/network-clock-utils.scm (define-parameter): New macro,
23672         defines a parameter that can be set via the command line.
23673         (set-parameter!, parse-parameter-arguments): Command line args
23674         parser.
23675
23676         * tests/plot-data: Simple matplotlib-based plotter, takes input on
23677         stdin.
23678
23679 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
23680
23681         * gst/elements/gsttypefindelement.c:
23682         (gst_type_find_element_handle_event):
23683           Don't restart typefinding on a discont.
23684         * gst/gstelement.c: (gst_element_set_state):
23685           Debug spelling fix.
23686         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23687           Allow changing mode of an active pad.
23688           Debug output fixes.
23689         * gst/registries/gstlibxmlregistry.c: (load_feature):
23690           Don't cast a static pad template to a normal pad template.
23691
23692 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23693
23694         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23695         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23696           remove gst_strtoll completely, since it didn't actually do
23697           anything more than what g_ascii_strtoull already does.
23698           check for range errors when deserializing
23699           do a cast for the unsigned cases; but further fixing needs
23700           a decision on what the interpretation of "(int)" and
23701           deserialization should be for values that fall outside the
23702           type's boundaries (ie, refuse, or interpret as casting)
23703
23704 2005-06-23  Wim Taymans  <wim@fluendo.com>
23705
23706         * check/Makefile.am:
23707         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23708         * docs/design/part-live-source.txt:
23709         * docs/design/part-states.txt:
23710         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23711         (gst_basesrc_set_live), (gst_basesrc_is_live),
23712         (gst_basesrc_get_range), (gst_basesrc_activate),
23713         (gst_basesrc_change_state):
23714         * gst/base/gstbasesrc.h:
23715         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23716         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23717         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23718         * gst/gstelement.c: (gst_element_get_state_func),
23719         (gst_element_set_state):
23720         * gst/gstelement.h:
23721         * gst/gsttypes.h:
23722         * tools/gst-launch.c: (event_loop), (main):
23723         Added support for live sources and other elements that
23724         cannot do preroll.
23725         Updated design docs, added live-source design doc.
23726         Implemented live source functionality in basesrc
23727         Fix error condition in _bin_get_state()
23728         Implement live source handling in -launch.
23729         Added check for live sources.
23730         Fixed case in GstBin where elements were changed state
23731         multiple times.
23732
23733
23734 2005-06-23  Andy Wingo  <wingo@pobox.com>
23735
23736         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23737         borken refcounting.
23738
23739         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23740         gst_caps_replace takes care of this for us.
23741
23742         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23743         gst_pad_set_caps on the target, not just its setcaps() function.
23744
23745         * tests/network-clock.scm: 
23746         * tests/network-clock-utils.scm: A network clock simulator.
23747         Something of an algorithmic testbed before doing something in C.
23748
23749 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23750
23751         * check/Makefile.am:
23752         * check/gst/capslist.h:
23753           copy over from 0.8, and add two with bitmasks specified with
23754           (int) 0xFF...
23755         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23756           add test to parse everything from capslist.h
23757         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23758         (main):
23759           add test for structure deserialization
23760         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23761           add tests for deserialization of strings to int types
23762         * gst/gststructure.c: (gst_structure_nth_field_name):
23763         * gst/gststructure.h:
23764           add a way to get the name of a field referenced by index
23765         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23766           instead of checking if the resulting long long lies between
23767           min and max, we check if the long long would fit into
23768           a number of bytes for the final type.
23769           This fixes cases where a string represents 2^32 - 1, which
23770           when cast to int would be the (valid) -1, but is bigger than
23771           G_MAXINT
23772
23773 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23774
23775         * gst/parse/grammar.y:
23776           add a log line for type deserialization
23777
23778 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23779
23780         * check/gst/gstvalue.c: (START_TEST):
23781         * gst/gstvalue.c: (gst_value_deserialize):
23782           return long long, not int, so gint64 deserialization actually
23783           works.  Is there any flag that makes the compiler check this ?
23784           Fixes #308559
23785
23786 2005-06-22  Wim Taymans  <wim@fluendo.com>
23787
23788         * gst/gstbuffer.h:
23789         Added convenience macros for setting buffers in GValue.
23790
23791 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23792
23793         * check/gst/.cvsignore:
23794         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23795           add a test deserializing int64, and comment part out because
23796           it fails, yay !
23797
23798 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23799
23800         * check/Makefile.am:
23801         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23802         * testsuite/Makefile.am:
23803         * testsuite/caps/Makefile.am:
23804         * testsuite/caps/value_serialize.c:
23805         * testsuite/test_gst_init.c:
23806           move a value_serialize test over
23807
23808 2005-06-20  Wim Taymans  <wim@fluendo.com>
23809
23810         * gst/gstpad.c:
23811         Small doc updates.
23812         
23813         * gst/gstvalue.c: (gst_value_compare_buffer),
23814         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23815         (gst_value_compare_flags), (gst_value_serialize_flags),
23816         (gst_value_deserialize_flags), (_gst_value_initialize):
23817         Fix serialisation of buffers, they are not boxed types anymore
23818
23819 2005-06-20  Wim Taymans  <wim@fluendo.com>
23820
23821         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23822         Testcase to show error in buffer-on-caps serialisation.
23823
23824 2005-06-20  Andy Wingo  <wingo@pobox.com>
23825
23826         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23827         will be adding to later.
23828
23829         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23830         if its socks fill with rocks.
23831         (gst_system_clock_obtain): Set the name on object construction.
23832         Avoid double-checked locking.
23833
23834 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
23835
23836         * gst/gsturi.c: (gst_element_make_from_uri):
23837           Fix potential endless loop.
23838
23839 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23840
23841         * check/Makefile.am:
23842           add gsttag
23843         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23844         (main):
23845           move over from testsuite dir and clean up
23846         * configure.ac:
23847         * gst/gsttag.c:
23848         * testsuite/Makefile.am:
23849         * testsuite/tags/.cvsignore:
23850         * testsuite/tags/Makefile.am:
23851         * testsuite/tags/merge.c:
23852           remove testsuite/tags
23853
23854 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23855
23856         * docs/gst/gstreamer-sections.txt:
23857         * docs/gst/tmpl/gstenumtypes.sgml:
23858         * win32/gstenumtypes.c:
23859           clean up documentation build a little
23860
23861 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23862
23863         * check/gstcheck.h:
23864           add macros for checking refcounts on objects and caps
23865         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23866           add some more unit tests
23867         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23868         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23869           fix leaked refcounts (I hope :)) so unittest works
23870         * gst/gstpad.h:
23871           whitespace removal
23872
23873 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23874
23875         * configure.ac: back to HEAD
23876
23877 === release 0.9.1 ===
23878
23879 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23880
23881         * NEWS:
23882         * RELEASE:
23883           updated
23884
23885 2005-06-17  Andy Wingo  <wingo@pobox.com>
23886
23887         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23888         assert; it's always possible that the pad gets deactivated in
23889         between the checks in gstpad.c and the implementation. Rely on
23890         finish_preroll() to return a FLUSHING or similar instead of on the
23891         assert.
23892         
23893         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23894         clock and post an EOS message if we come out of finish_preroll in
23895         the playing state.
23896
23897 2005-06-16  David Schleef  <ds@schleef.org>
23898
23899         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23900         (gst_capsfilter_set_property): Allow NULL as possible value
23901         for filter_caps property, indicating GST_CAPS_ANY.
23902
23903 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23904
23905         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23906           fix debug output
23907         * gst/schedulers/Makefile.am:
23908           use libgst prefix
23909         * gstreamer.spec.in:
23910           fix spec for it
23911
23912 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23913
23914         * gstreamer.spec.in:
23915           clean up
23916
23917 2005-06-08  Andy Wingo  <wingo@pobox.com>
23918
23919         * gst/gstutils.c: RPAD fixes all around.
23920         (gst_element_link_pads): Refcounting fixes.
23921
23922         * tools/gst-inspect.c:
23923         * tools/gst-xmlinspect.c:
23924         * parse/grammar.y:
23925         * gst/base/gsttypefindhelper.c:
23926         * gst/base/gstbasesink.c:
23927         * gst/gstqueue.c: RPAD fixes.
23928
23929         * gst/gstghostpad.h:
23930         * gst/gstghostpad.c: New ghost pad implementation as full proxy
23931         pads. The tricky thing is they provide both source and sink
23932         interfaces, since they proxy the internal pad for the external
23933         pad, and vice versa. Implement with lower-level ProxyPad objects,
23934         with the interior proxy pad as a child of the exterior ghost pad.
23935         Should write a doc on this.
23936         
23937         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23938         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23939         gst_object API.
23940         
23941         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23942         pads are real pads. No ghost pads in this file. Not documenting
23943         the myriad s/RPAD/PAD/ and REALIZE fixes.
23944         (gst_pad_class_init): Add properties for "direction" and
23945         "template". Both are construct-only, so they can't change during
23946         the life of the pad. Fixes properly deriving from GstPad.
23947         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23948         derived objects, just set properties when creating the objects via
23949         g_object_new.
23950         (gst_pad_get_parent): Implement as a function, return NULL if the
23951         parent is not an element.
23952         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23953         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23954         
23955         * gst/gstobject.c (gst_object_class_init): Make name a construct
23956         property. Don't set it in the object init.
23957
23958         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23959         with UNKNOWN direction.
23960         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23961         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23962         (gst_element_remove_pad): Remove ghost-pad special cases.
23963         (gst_element_pads_activate): Remove rpad cruft.
23964
23965         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23966         catch the pad's-parent-not-an-element case.
23967
23968         * gst/gst.h: Include gstghostpad.h.
23969
23970         * gst/gst.c (init_post): No more real, ghost pads.
23971
23972         * gst/Makefile.am: Add gstghostpad.[ch].
23973
23974         * check/Makefile.am:
23975         * check/gst/gstbin.c:
23976         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23977         into a bin creates ghost pads, and that the refcounts are right.
23978         Partly moved from gstbin.c.
23979
23980 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23981
23982         * check/gst-libs/.cvsignore:
23983         * check/gst/.cvsignore:
23984         * check/pipelines/.cvsignore:
23985           ignore more
23986         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23987         (START_TEST), (cleanup_suite), (main):
23988           add some tests related to cleanup after running pipelines
23989
23990 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23991
23992         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23993           add a testsuite for GstBuffer
23994
23995 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23996
23997         * gst/gstminiobject.h:
23998           add defines for accessing the refcount
23999
24000 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
24001
24002         * Makefile.am: added support for html unit test coverage reports
24003
24004 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
24005
24006         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24007           Free existing caps if the capsfilter changes. Add a FIXME about
24008           setting those caps on the pads.
24009
24010         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
24011           Before adding a ghost pad to a parent bin, check that there isn't
24012           already one for the element on the bin. Prevents infinite recursion
24013           when using decodebin in parse pipelines. Andy says he'll rewrite the
24014           way this works anyway, so ignore the hack.
24015
24016 2005-06-02  Andy Wingo  <wingo@pobox.com>
24017
24018         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
24019         file size, pass it on to the type find helper.
24020
24021         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
24022         segment_start and segment_end properly according to the seek
24023         method. Segment_end is still a bit flaky because offset can be
24024         negative for CUR and END cases, but it takes -1 as an "unset"
24025         value.
24026
24027 2005-06-02  Wim Taymans  <wim@fluendo.com>
24028
24029         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
24030         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
24031         (gst_basesink_activate):
24032         * gst/base/gstbasesink.h:
24033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24034         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24035         (gst_pad_query), (gst_pad_start_task):
24036         * gst/gstpad.h:
24037         * gst/gstqueue.c: (gst_queue_bufferalloc),
24038         (gst_queue_handle_sink_event), (gst_queue_chain):
24039         Bufferalloc: return GstFlowReturn to more accuratly report
24040         why allocation failed.
24041
24042 2005-06-02  Wim Taymans  <wim@fluendo.com>
24043
24044         * gst/gstpipeline.c: (gst_pipeline_send_event):
24045         Take snapshot of state without blocking.
24046
24047 2005-06-02  Wim Taymans  <wim@fluendo.com>
24048
24049         * docs/design/part-TODO.txt:
24050         * docs/design/part-caps.txt:
24051         * docs/design/part-clocks.txt:
24052         * docs/design/part-negotiation.txt:
24053         * docs/design/part-preroll.txt:
24054         Small doc updates 
24055
24056 2005-05-30  Wim Taymans  <wim@fluendo.com>
24057
24058         * gst/elements/gstidentity.c: (gst_identity_event),
24059         (gst_identity_transform), (gst_identity_get_property):
24060         Protect last_message property as it is accessed from
24061         multiple threads.
24062
24063 2005-05-30  Wim Taymans  <wim@fluendo.com>
24064
24065         * gst/gstelement.c: (gst_element_init),
24066         (gst_element_pads_activate), (gst_element_change_state):
24067         Slicker pad activation code.
24068
24069 2005-05-30  Wim Taymans  <wim@fluendo.com>
24070
24071         * gst/Makefile.am:
24072         * gst/gstelement.h:
24073         * gst/gstelementfactory.h:
24074         * gst/gsttypes.h:
24075         Move elementfactory methods to separate .h file.
24076
24077 2005-05-30  Wim Taymans  <wim@fluendo.com>
24078
24079         * docs/design/part-overview.txt:
24080         * gst/gstsystemclock.h:
24081         Small typo fixes, doc updates.
24082
24083 2005-05-30  Wim Taymans  <wim@fluendo.com>
24084
24085         * gst/gst.c: (gst_init_get_popt_table), (init_post),
24086         (init_popt_callback):
24087         Remove cpu-opt flag.
24088
24089 2005-05-30  Wim Taymans  <wim@fluendo.com>
24090
24091         * gst/gstbuffer.c: (gst_subbuffer_finalize),
24092         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
24093         * gst/gstbuffer.h:
24094         Avoid typechecking in places where not needed.
24095         Added accessor for malloc_data.
24096
24097 2005-05-30  Wim Taymans  <wim@fluendo.com>
24098
24099         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
24100         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
24101         (gst_pad_configure_sink), (gst_pad_configure_src),
24102         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
24103         (gst_pad_start_task):
24104         Propagate errors from _set_caps() in configure_src/sink
24105         functions instead of returning TRUE.
24106         FLUSH events can travel up and downstream
24107
24108
24109 2005-05-30  Wim Taymans  <wim@fluendo.com>
24110
24111         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24112         (gst_basesink_activate):
24113         Handle EOS in preroll.
24114
24115 2005-05-30  Wim Taymans  <wim@fluendo.com>
24116
24117         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24118         (gst_queue_loop), (gst_queue_handle_src_event):
24119         Remove old pieces of code
24120         Flushing the queue in an upstream event is a very bad idea.
24121
24122 2005-05-26  Andy Wingo  <wingo@pobox.com>
24123
24124         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
24125         gst_value_set_mini_object so as to add a ref on the object (which
24126         will be removed when the value is unset).
24127
24128         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
24129         arg type in ::handoff.
24130
24131         * gst/gstelement.c (gst_element_change_state): Also deactivate
24132         pads in READY->NULL, just in case the element didn't make it to
24133         PAUSED. Wingo tested, Wim approved.
24134
24135 2005-05-26  Wim Taymans  <wim@fluendo.com>
24136
24137         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24138         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24139         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
24140         A flushing pad cannot be used to alloc_buffer from.
24141
24142 2005-05-26  Wim Taymans  <wim@fluendo.com>
24143
24144         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
24145         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
24146         (gst_bus_source_dispatch), (gst_bus_source_finalize),
24147         (gst_bus_create_watch), (gst_bus_add_watch_full):
24148         * gst/gstbus.h:
24149         Implement a real GSource and use g_main_context_wakeup() to
24150         signal new messages instead of the socketpair.
24151
24152 2005-05-25  Wim Taymans  <wim@fluendo.com>
24153
24154         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
24155         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
24156         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24157         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24158         (gst_pad_send_event), (gst_pad_start_task):
24159         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
24160         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24161         (gst_queue_sink_activate), (gst_queue_src_activate),
24162         (gst_queue_change_state):
24163         * gst/gstqueue.h:
24164         Fix state changes for non sinks. We now change sinks, then elements
24165         with unconnected srcpads, then the rest.
24166         More efficient queue unlocking in flush and state changes.
24167         Set the pad activate mode even if it does not have an activate
24168         function.
24169
24170 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24171
24172         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
24173           Don't go in pull mode for non-seekable sources.
24174         * gst/elements/gsttypefindelement.h:
24175         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24176         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
24177         (free_entry), (stop_typefinding),
24178         (gst_type_find_element_handle_event), (find_peek),
24179         (gst_type_find_element_chain), (do_pull_typefind),
24180         (gst_type_find_element_change_state):
24181           Allow typefinding (w/o seeking) in push-mode, simplified version
24182           of what was in 0.8.
24183         * gst/gstutils.c: (gst_buffer_join):
24184         * gst/gstutils.h:
24185           gst_buffer_join() from 0.8.
24186
24187 2005-05-25  Wim Taymans  <wim@fluendo.com>
24188
24189         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24190         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24191         (gst_pad_send_event), (gst_pad_start_task):
24192         Disable attempt at mode switching until it is figured out.
24193
24194 2005-05-25  Wim Taymans  <wim@fluendo.com>
24195
24196         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
24197         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24198         (gst_basesink_finish_preroll), (gst_basesink_chain),
24199         (gst_basesink_loop), (gst_basesink_activate),
24200         (gst_basesink_change_state):
24201         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
24202         (gst_basesrc_get_range), (gst_basesrc_loop),
24203         (gst_basesrc_activate):
24204         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24205         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24206         (gst_real_pad_init), (gst_real_pad_set_property),
24207         (gst_real_pad_get_property), (gst_pad_set_active),
24208         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
24209         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
24210         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
24211         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
24212         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24213         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
24214         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
24215         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24216         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
24217         (gst_pad_stop_task):
24218         * gst/gstpad.h:
24219         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24220         (gst_queue_loop), (gst_queue_src_activate):
24221         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
24222         (gst_task_get_state):
24223         * gst/gsttask.h:
24224         * gst/schedulers/threadscheduler.c:
24225         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
24226         Implement gst_pad_pause/start/stop_task(), take STREAM lock
24227         in task function.
24228         Remove ACTIVE pad flag, use FLUSHING everywhere
24229         Added _pad_chain(), _pad_get_range() to call chain/getrange 
24230         functions.
24231         Add locks around IS_FLUSHING when reading.
24232         Take STREAM lock in chain(), get_range() functions so plugins
24233         don't need to take it anymore.
24234         
24235
24236
24237 2005-05-25  Wim Taymans  <wim@fluendo.com>
24238
24239         * tools/gst-launch.c: (event_loop):
24240         Unref message after using its contents instead of
24241         before.
24242
24243 2005-05-24  Wim Taymans  <wim@fluendo.com>
24244
24245         * docs/design/draft-ghostpads.txt:
24246         * docs/design/draft-push-pull.txt:
24247         * docs/design/draft-query.txt:
24248         * docs/design/part-overview.txt:
24249         Docs updates, added general overview doc.
24250
24251 2005-05-21  David Schleef  <ds@schleef.org>
24252
24253         * docs/gst/tmpl/old/GstBin.sgml:
24254         * docs/gst/tmpl/old/GstBuffer.sgml:
24255         * docs/gst/tmpl/old/GstCaps.sgml:
24256         * docs/gst/tmpl/old/GstClock.sgml:
24257         * docs/gst/tmpl/old/GstCompat.sgml:
24258         * docs/gst/tmpl/old/GstData.sgml:
24259         * docs/gst/tmpl/old/GstElement.sgml:
24260         * docs/gst/tmpl/old/GstEvent.sgml:
24261         * docs/gst/tmpl/old/GstIndex.sgml:
24262         * docs/gst/tmpl/old/GstStructure.sgml:
24263         * docs/gst/tmpl/old/GstTag.sgml:
24264         * docs/gst/tmpl/old/cothreads.sgml:
24265         * docs/gst/tmpl/old/cothreads_compat.sgml:
24266         * docs/gst/tmpl/old/gettext.sgml:
24267         * docs/gst/tmpl/old/gobject2gtk.sgml:
24268         * docs/gst/tmpl/old/grammar.tab.sgml:
24269         * docs/gst/tmpl/old/gst-i18n-app.sgml:
24270         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
24271         * docs/gst/tmpl/old/gst_private.sgml:
24272         * docs/gst/tmpl/old/gstaggregator.sgml:
24273         * docs/gst/tmpl/old/gstarch.sgml:
24274         * docs/gst/tmpl/old/gstatomic_impl.sgml:
24275         * docs/gst/tmpl/old/gstbufferstore.sgml:
24276         * docs/gst/tmpl/old/gstdata_private.sgml:
24277         * docs/gst/tmpl/old/gstdisksink.sgml:
24278         * docs/gst/tmpl/old/gstdisksrc.sgml:
24279         * docs/gst/tmpl/old/gstelementfactory.sgml:
24280         * docs/gst/tmpl/old/gstextratypes.sgml:
24281         * docs/gst/tmpl/old/gstfakesink.sgml:
24282         * docs/gst/tmpl/old/gstfakesrc.sgml:
24283         * docs/gst/tmpl/old/gstfdsink.sgml:
24284         * docs/gst/tmpl/old/gstfdsrc.sgml:
24285         * docs/gst/tmpl/old/gstfilesink.sgml:
24286         * docs/gst/tmpl/old/gstfilesrc.sgml:
24287         * docs/gst/tmpl/old/gsthttpsrc.sgml:
24288         * docs/gst/tmpl/old/gstidentity.sgml:
24289         * docs/gst/tmpl/old/gstindexfactory.sgml:
24290         * docs/gst/tmpl/old/gstmarshal.sgml:
24291         * docs/gst/tmpl/old/gstmd5sink.sgml:
24292         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
24293         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
24294         * docs/gst/tmpl/old/gstpadtemplate.sgml:
24295         * docs/gst/tmpl/old/gstpipefilter.sgml:
24296         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
24297         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
24298         * docs/gst/tmpl/old/gstshaper.sgml:
24299         * docs/gst/tmpl/old/gstspider.sgml:
24300         * docs/gst/tmpl/old/gstspideridentity.sgml:
24301         * docs/gst/tmpl/old/gststatistics.sgml:
24302         * docs/gst/tmpl/old/gsttee.sgml:
24303         * docs/gst/tmpl/old/gsttimecache.sgml:
24304         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
24305         * docs/gst/tmpl/old/gstxmlregistry.sgml:
24306         * docs/gst/tmpl/old/gthread-cothreads.sgml:
24307         * docs/gst/tmpl/old/types.sgml:
24308           I didn't intend to add these or check them in.
24309
24310 2005-05-19  David Schleef  <ds@schleef.org>
24311
24312         * configure.ac: Use -no-common everywhere.  In a sane world, it
24313           would be the default in libtool, because without it, you can't
24314           build DLLs on Windows.
24315         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
24316         * docs/gst/gstreamer-sections.txt:
24317         * docs/gst/tmpl/gstcpu.sgml:
24318         * docs/gst/tmpl/gstdata.sgml:
24319         * docs/gst/tmpl/gstthread.sgml:
24320
24321 2005-05-19  David Schleef  <ds@schleef.org>
24322
24323         * gst/gstminiobject.c: (gst_value_set_mini_object),
24324         (gst_value_take_mini_object), (gst_value_get_mini_object):
24325         * gst/gstminiobject.h: Add GValue set/get functions.
24326
24327 2005-05-19  Wim Taymans  <wim@fluendo.com>
24328
24329         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
24330         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
24331         (gst_subbuffer_init), (gst_buffer_is_span_fast):
24332         * gst/gstbuffer.h:
24333         * gst/gstbus.c: (gst_bus_post):
24334         * gst/gstelement.c: (gst_element_get_random_pad):
24335         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
24336         Make subbufer unref the parent in finalize.
24337         some more debugging info.
24338
24339
24340 2005-05-19  Wim Taymans  <wim@fluendo.com>
24341
24342         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24343         (gst_basesink_init), (gst_basesink_finalize),
24344         (gst_basesink_activate), (gst_basesink_change_state):
24345         Don't free preroll queue too early.
24346
24347 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24348
24349         * gst/Makefile.am:
24350         * gst/ROADMAP:
24351           Hi, I'm outdated. Please shoot me.
24352
24353 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24354
24355         * gst/gstpipeline.c: (gst_pipeline_send_event):
24356           Do not access variables after they have been deleted.
24357
24358 2005-05-19  Wim Taymans  <wim@fluendo.com>
24359
24360         * tools/gst-inspect.c: (print_plugin_features):
24361         A plugin feature does unfortunatly not use the
24362         object name yet...
24363
24364 2005-05-18  Wim Taymans  <wim@fluendo.com>
24365
24366         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
24367         Port _span() functions to new subbuffers.
24368
24369 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24370
24371         * gst/gstbin.c: (gst_bin_add_func):
24372           Fix clock settery in bins when adding kids after the clock has
24373           been selected.
24374
24375 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24376
24377         * gst/elements/gstidentity.c: (gst_identity_class_init):
24378           Workaround until signals support GstMiniObject.
24379
24380 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
24381
24382         * gst/gstbuffer.c:
24383         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24384
24385 2005-05-18  Wim Taymans  <wim@fluendo.com>
24386
24387         * gst/base/Makefile.am:
24388         * gst/base/gstadapter.c: (gst_adapter_base_init),
24389         (gst_adapter_class_init), (gst_adapter_init),
24390         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
24391         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
24392         (gst_adapter_flush), (gst_adapter_available),
24393         (gst_adapter_available_fast):
24394         * gst/base/gstadapter.h:
24395         Ported and added adapter to the base classes.
24396
24397 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24398
24399         * gst/gst.c:
24400         * gst/gstmessage.c:
24401           Make sure the class is reffed/unreffed once before threads can be
24402           used.  Fixes #304551.
24403
24404 2005-05-17  Wim Taymans  <wim@fluendo.com>
24405
24406         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
24407         (gst_basesink_chain_unlocked), (gst_basesink_activate):
24408         * gst/gstminiobject.c: (gst_mini_object_get_type),
24409         (gst_mini_object_free):
24410         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
24411         (gst_pad_push), (gst_pad_push_event):
24412         * gst/gstqueue.c: (gst_queue_change_state):
24413         Don't queue buffers in basesink when we are flushing.
24414         Unref buffer when flushing in basesink.
24415         Flush queue when going to READY
24416         Unref buffer when _push() returns an error.
24417         Don't free MiniObject instance when refcount is incremented
24418         in _finalize() so that we can recover objects.
24419
24420 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24421
24422         * docs/manual/advanced-schedulers.xml:
24423         * docs/manual/appendix-checklist.xml:
24424         * docs/pwg/advanced-clock.xml:
24425         * docs/pwg/advanced-interfaces.xml:
24426         * docs/pwg/advanced-request.xml:
24427         * docs/pwg/advanced-types.xml:
24428         * docs/pwg/intro-preface.xml:
24429         * examples/plugins/example.c: (gst_example_get_type),
24430         (gst_example_class_init), (gst_example_chain),
24431         (gst_example_set_property), (gst_example_get_property),
24432         (gst_example_change_state), (plugin_init):
24433         * examples/plugins/example.h:
24434           small doc fixes
24435
24436 2005-05-17  Wim Taymans  <wim@fluendo.com>
24437
24438         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
24439         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
24440         * gst/gstqueue.c: (gst_queue_change_state):
24441         Clear queue when going to READY.
24442         Remove IN_SETCAPS flag too.
24443
24444 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
24445
24446         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
24447           Remove implicit cast from gboolean to GstElementStateReturn;
24448           make sure we still return failure in paused => ready case if
24449           the parent class fails to change state and our own stop 
24450           vfunc succeeds.
24451
24452 2005-05-17  Wim Taymans  <wim@fluendo.com>
24453
24454         * tools/gst-launch.c: (event_loop):
24455         Message was unreffed too soon.
24456
24457 2005-05-16  Andy Wingo  <wingo@pobox.com>
24458
24459         * gst/gstbin.c (sink_iterator_filter): Err... um...
24460
24461         * check/gst/gstbin.c (test_ghost_pads): New test for the
24462         ghosting-if-elements-not-in-same-bin behavior.
24463
24464 2005-05-16  David Schleef  <ds@schleef.org>
24465
24466         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24467         accessing refcount directly.
24468
24469 2005-05-15  David Schleef  <ds@schleef.org>
24470
24471         * check/Makefile.am: remove GstData checks
24472         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24473         * gst/Makefile.am: add miniobject, remove data
24474         * gst/gst.h: add miniobject, remove data
24475         * gst/gstdata.c: remove
24476         * gst/gstdata.h: remove
24477         * gst/gstdata_private.h: remove
24478         * gst/gsttypes.h: remove GstEvent and GstMessage
24479         * gst/gstelement.c: (gst_element_post_message): fix for API changes
24480         * gst/gstmarshal.list: change BOXED -> OBJECT
24481
24482         Implement GstMiniObject.
24483         * gst/gstminiobject.c:
24484         * gst/gstminiobject.h:
24485
24486         Modify to be subclasses of GstMiniObject.
24487         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24488         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24489         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24490         (gst_subbuffer_get_type), (gst_subbuffer_init),
24491         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24492         (gst_buffer_span):
24493         * gst/gstbuffer.h:
24494         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24495         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24496         (_gst_event_copy), (gst_event_new):
24497         * gst/gstevent.h:
24498         * gst/gstmessage.c: (_gst_message_initialize),
24499         (gst_message_get_type), (gst_message_class_init),
24500         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24501         (gst_message_new), (gst_message_new_error),
24502         (gst_message_new_warning), (gst_message_new_tag),
24503         (gst_message_new_state_changed), (gst_message_new_application):
24504         * gst/gstmessage.h:
24505         * gst/gstprobe.c: (gst_probe_perform),
24506         (gst_probe_dispatcher_dispatch):
24507         * gst/gstprobe.h:
24508         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24509         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24510         (_gst_query_copy), (gst_query_new):
24511
24512         Update elements for GstData -> GstMiniObject changes
24513         * gst/gstquery.h:
24514         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24515         (gst_queue_chain), (gst_queue_loop):
24516         * gst/elements/gstbufferstore.c:
24517         (gst_buffer_store_add_buffer_func),
24518         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24519         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24520         (gst_fakesink_render):
24521         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24522         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24523         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24524         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24525         (gst_filesrc_create_read):
24526         * gst/elements/gstidentity.c: (gst_identity_class_init):
24527         * gst/elements/gsttypefindelement.c:
24528         (gst_type_find_element_src_event), (free_entry_buffers),
24529         (gst_type_find_element_handle_event):
24530         * libs/gst/dataprotocol/dataprotocol.c:
24531         (gst_dp_header_from_buffer):
24532         * libs/gst/dataprotocol/dataprotocol.h:
24533         * libs/gst/dataprotocol/dp-private.h:
24534
24535 2005-05-15  David Schleef  <ds@schleef.org>
24536
24537         * gst/elements/gstelements.c: Don't include headers that were
24538         just removed.
24539
24540 2005-05-15  David Schleef  <ds@schleef.org>
24541
24542         * gst/elements/Makefile.am: Remove some elements that don't
24543         need to be in the core (or even exist at all).
24544         * gst/elements/gstaggregator.c:
24545         * gst/elements/gstaggregator.h:
24546         * gst/elements/gstmd5sink.c:
24547         * gst/elements/gstmd5sink.h:
24548         * gst/elements/gstmultifilesrc.c:
24549         * gst/elements/gstmultifilesrc.h:
24550         * gst/elements/gstpipefilter.c:
24551         * gst/elements/gstpipefilter.h:
24552         * gst/elements/gstshaper.c:
24553         * gst/elements/gstshaper.h:
24554         * gst/elements/gststatistics.c:
24555         * gst/elements/gststatistics.h:
24556         * po/POTFILES.in: Remove above files.
24557
24558 2005-05-14  Andy Wingo  <wingo@pobox.com>
24559
24560         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24561         so as to get the refs right.
24562         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24563         unreffing objects that don't pass the filter.
24564
24565         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24566         gst_element_set_bus.
24567         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24568         normal cases, this will destroy the bus.
24569
24570         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24571         object.
24572
24573         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24574         has no sinks.
24575
24576 2005-05-13  Andy Wingo  <wingo@pobox.com>
24577
24578         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24579         gst_pad_link, call pad_link_maybe_ghosting,
24580         (pad_link_maybe_ghosting): Links pads, making sure that the
24581         elements being linked are in the same bin.
24582         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24583         Helpers for pad_link_maybe_ghosting.
24584
24585 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24586
24587         * configure.ac:
24588           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24589
24590 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24591
24592         * docs/design/part-element-source.txt:
24593           Mention GstPushSrc
24594
24595 2005-05-12  Wim Taymans  <wim@fluendo.com>
24596
24597         * gst/base/gstbasesink.c: (gst_basesink_init),
24598         (gst_basesink_activate):
24599         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24600         (gst_basesrc_is_seekable):
24601         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24602         (bin_element_is_sink), (gst_bin_change_state):
24603         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24604         * gst/gstelement.h:
24605         Identify sinks by their flag to avoid overly complicated
24606         checks (fow now).
24607         Do state changes even for elements not reachable from the
24608         sinks.
24609         BaseSink is a sink now :)
24610         Some more debugging info in the basesrc.
24611
24612
24613 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24614
24615         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24616           Implement _query on a bin, similar to _send_event.
24617
24618 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
24619
24620         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24621           Discont event offset format should be GST_FORMAT_BYTES,
24622           not GST_FORMAT_TIME.
24623
24624 2005-05-12  Wim Taymans  <wim@fluendo.com>
24625
24626         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24627         Same fix as Ronald's but without the signal. 
24628
24629 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24630
24631         * gst/gstutils.c: (gst_element_query_position):
24632           No, an element is not a pad.
24633
24634 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24635
24636         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24637         (gst_bin_get_state):
24638           If a child is removed from a bin while we remove the child from
24639           the bin and while we're retrieving its state, signal this to the
24640           get_state function so we abort the wait (instead of waiting for
24641           a timeout) and can immediately re-iterate over all other elements.
24642
24643 2005-05-12  Wim Taymans  <wim@fluendo.com>
24644
24645         * gst/base/Makefile.am:
24646         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24647         (gst_basesrc_start):
24648         * gst/base/gstbasesrc.h:
24649         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24650         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24651         (gst_pushsrc_init), (gst_pushsrc_create):
24652         * gst/base/gstpushsrc.h:
24653         Added is_seekable to BaseSrc
24654         Added simple PushSrc.
24655
24656 2005-05-11  Wim Taymans  <wim@fluendo.com>
24657
24658         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24659         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24660         (gst_element_link_pads), (gst_element_query_position),
24661         (gst_element_query_convert), (intersect_caps_func),
24662         (gst_pad_query_position), (gst_pad_query_convert):
24663         Fix refcounting in utils function.
24664         No point in trying to activate a pad when it's added, it could
24665         be added from the state change function and then we deadlock, the
24666         element has to decide what to do.
24667
24668 2005-05-10  Andy Wingo  <wingo@pobox.com>
24669
24670         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24671         *all* the arguments.
24672
24673         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24674         stream lock if it's a FLUSH_DONE; normal flushes don't get the
24675         lock (according to the docs -- if this is wrong change the docs).
24676
24677         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24678         flush messages in the NULL state.
24679
24680         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24681         message immediately and return.
24682         (gst_bus_set_flushing): New function. If a bus is flushing, it
24683         flushes out any queued messages and immediately unrefs new
24684         messages. This is so when an element goes to NULL, all of the
24685         unhandled messages coming from it can be freed, and their
24686         references to the element dropped. In other words: message source
24687         ref considered harmful :P
24688
24689         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24690         we're finished with it.
24691
24692         * gst/gstmessage.c (gst_message_new_state_changed): 
24693
24694 2005-05-10  Wim Taymans  <wim@fluendo.com>
24695
24696         * gst/gstvalue.c: (gst_value_compare_flags),
24697         (gst_value_serialize_flags), (gst_value_deserialize_flags),
24698         (_gst_value_initialize):
24699         Added flags serialize/deserialize/compare code.
24700
24701 2005-05-09  Andy Wingo  <wingo@pobox.com>
24702
24703         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24704         Intersect the peer's caps with our caps.
24705
24706 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24707
24708         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24709         * gst/elements/gsttypefindelement.c: (find_peek):
24710           Handle negative offsets better. Fixes decodebin.
24711
24712 2005-05-09  Wim Taymans  <wim@fluendo.com>
24713
24714         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24715         (gst_base_transform_event):
24716         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24717         Implement accept_caps.
24718         Fix silly lock/unlock mismatch in base class.
24719
24720 2005-05-09  Wim Taymans  <wim@fluendo.com>
24721
24722         * docs/design/draft-push-pull.txt:
24723         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24724         * gst/elements/gstfilesink.c: (gst_filesink_init),
24725         (gst_filesink_query):
24726         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24727         (gst_type_find_handle_src_query), (find_element_get_length):
24728         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24729         * gst/gstelement.h:
24730         * gst/gstmessage.c:
24731         * gst/gstmessage.h:
24732         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24733         (gst_real_pad_get_caps_unlocked),
24734         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24735         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24736         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24737         (gst_real_pad_dispose), (gst_real_pad_finalize),
24738         (gst_pad_load_and_link), (gst_pad_save_thyself),
24739         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24740         (gst_pad_check_pull_range), (gst_pad_pull_range),
24741         (gst_pad_template_get_type), (gst_pad_template_class_init),
24742         (gst_pad_template_init), (gst_pad_template_dispose),
24743         (name_is_valid), (gst_static_pad_template_get),
24744         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24745         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24746         (gst_pad_get_element_private), (gst_pad_start_task),
24747         (gst_pad_pause_task), (gst_pad_stop_task),
24748         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24749         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24750         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24751         (gst_ghost_pad_new):
24752         * gst/gstpad.h:
24753         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24754         (gst_query_new_position), (gst_query_set_position),
24755         (gst_query_parse_position), (gst_query_new_convert),
24756         (gst_query_set_convert), (gst_query_parse_convert):
24757         * gst/gstquery.h:
24758         * gst/gstqueryutils.c:
24759         * gst/gstqueryutils.h:
24760         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24761         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24762         (gst_queue_handle_src_query):
24763         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24764         (gst_element_query_position), (gst_element_query_convert),
24765         (intersect_caps_func), (gst_pad_query_position),
24766         (gst_pad_query_convert):
24767         * gst/gstutils.h:
24768         * tools/gst-inspect.c: (print_pad_info):
24769         * tools/gst-xmlinspect.c: (print_element_info):
24770         Remove old query functions. Ported old code.
24771         Added position/convert helper functions to gstutils.
24772         Reordered gstpad.c code, grouping relevant things.
24773         Remove gst_message_new(), always need to speficy a specific
24774         message.
24775
24776
24777 2005-05-09  Andy Wingo  <wingo@pobox.com>
24778
24779         * gst/gstiterator.h: Add some includes.
24780
24781         * gst/gstqueryutils.h: Include more headers.
24782
24783         * gst/gstpad.h:
24784         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24785         some uses of gst_pad_query.
24786
24787         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24788         NULL out parameters.
24789         (gst_query_new_position): New proc, allocates a new position
24790         query.
24791
24792         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24793         gstqueryutils.c to the build.
24794
24795         * gst/gststructure.c (gst_structure_set_valist): Implement with
24796         the generic G_VALUE_COLLECT.
24797         
24798 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24799
24800         * gst/Makefile.am: (gst_headers):
24801         Added gstqueryutils.h to the list of headers to install, that was
24802         a 'nachty' move wingo :)
24803
24804 2005-05-06  Andy Wingo  <wingo@pobox.com>
24805
24806         * gst/gstquery.h
24807         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24808         GstData, init a memchunk.
24809         (standard_definitions): Add a few query types, deprecate a few.
24810         (gst_query_get_type): New proc.
24811         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24812         implementation.
24813         (gst_query_new_application, gst_query_get_structure): New public
24814         procs.
24815
24816         * docs/design/draft-query.txt: Removed LINKS from the query types,
24817         because all the rest can be dispatched to other pads -- seemed
24818         ugly to have a query that couldn't be dispatched. internal_links
24819         is fine as a pad method.
24820
24821         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24822         in gstpad.c, but maintain binary compatibility for the moment.
24823         Will fix before 0.9 is out.
24824
24825         * gst/gstqueryutils.c: 
24826         * gst/gstqueryutils.h: New files, implement 3 methods for each
24827         query type: parse_query, parse_response, and set. Probably need an
24828         allocator as well.
24829
24830         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24831
24832         * gst/elements/gstfilesink.c (gst_filesink_query2):
24833         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24834         query_types, and formats methods.
24835
24836         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24837         (gst_pad_set_query2_function): New functions.
24838         (gst_real_pad_init): Set query2_default as the default query2
24839         function. Basically just dispatches to internally linked pads.
24840
24841         Needs review!
24842         
24843         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24844         without using the atomic operations. Only one thread can possibly
24845         be accessing the data at this point. Changed so as to avoid
24846         gst_atomic operations.
24847
24848 2005-05-06  Wim Taymans  <wim@fluendo.com>
24849
24850         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24851         Also set caps if we use the fallback buffer alloc.
24852
24853 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
24854
24855         * docs/gst/Makefile.am:
24856         * docs/gst/gstreamer-docs.sgml:
24857         * docs/gst/gstreamer-sections.txt:
24858         * docs/gst/tmpl/gstatomic.sgml:
24859         * docs/gst/tmpl/gstmemchunk.sgml:
24860         * testsuite/elements/struct_i386.h:
24861         * win32/GStreamer.vcproj:
24862         * win32/Makefile:
24863           Purge GstAtomic stuff from docs and win32 makefiles as well
24864
24865 2005-05-06  Wim Taymans  <wim@fluendo.com>
24866
24867         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24868         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24869         * gst/gstpad.c: (gst_pad_peer_get_caps):
24870         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24871         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24872         (gst_queue_src_activate), (gst_queue_change_state):
24873         * gst/gstqueue.h:
24874         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24875         (intersect_caps_func):
24876         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24877         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24878         Some fixes for the peer_get_caps() change.
24879
24880 2005-05-06  Wim Taymans  <wim@fluendo.com>
24881
24882         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24883         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24884         (gst_basesink_activate):
24885         Actually do something with error codes returned from the push
24886         functions.
24887
24888 2005-05-06  Wim Taymans  <wim@fluendo.com>
24889
24890         * docs/design/part-element-sink.txt:
24891         * docs/design/part-element-source.txt:
24892         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24893         (gst_basesink_event), (gst_basesink_activate):
24894         * gst/base/gstbasesink.h:
24895         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24896         (gst_basesrc_activate):
24897         * gst/base/gstbasesrc.h:
24898         * gst/gstelement.c: (gst_element_pads_activate):
24899         Some more documentation.
24900         Fixed scheduling decision in _pads_activate().
24901
24902 2005-05-05  Andy Wingo  <wingo@pobox.com>
24903
24904         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24905         the test suite.
24906
24907 2005-05-05  Wim Taymans  <wim@fluendo.com>
24908
24909         * gst/base/Makefile.am:
24910         * gst/base/gstbasesink.h:
24911         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24912         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24913         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24914         (gst_collectpads_class_init), (gst_collectpads_init),
24915         (gst_collectpads_finalize), (gst_collectpads_new),
24916         (gst_collectpads_set_function), (gst_collectpads_add_pad),
24917         (find_pad), (gst_collectpads_remove_pad),
24918         (gst_collectpads_is_active), (gst_collectpads_collect),
24919         (gst_collectpads_collect_range), (gst_collectpads_start),
24920         (gst_collectpads_stop), (gst_collectpads_peek),
24921         (gst_collectpads_pop), (gst_collectpads_available),
24922         (gst_collectpads_read), (gst_collectpads_flush),
24923         (gst_collectpads_chain):
24924         * gst/base/gstcollectpads.h:
24925         * gst/elements/Makefile.am:
24926         * gst/elements/gstelements.c:
24927         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24928         (gst_fakesink_get_times), (gst_fakesink_event),
24929         (gst_fakesink_preroll), (gst_fakesink_render):
24930         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24931         (gst_filesink_init), (gst_filesink_set_location),
24932         (gst_filesink_open_file), (gst_filesink_close_file),
24933         (gst_filesink_pad_query), (gst_filesink_event),
24934         (gst_filesink_render), (gst_filesink_change_state):
24935         * gst/elements/gstfilesink.h:
24936         Added object to help in making collect pad based elements.
24937         Ported filesink.
24938         Make event function in sink baseclass return gboolean.
24939
24940 2005-05-05  Wim Taymans  <wim@fluendo.com>
24941
24942         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24943         (gst_bin_get_by_name):
24944         * gst/gstbuffer.h:
24945         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24946         (gst_clock_finalize):
24947         * gst/gstdata.c: (gst_data_replace):
24948         * gst/gstdata.h:
24949         * gst/gstelement.c: (gst_element_request_pad),
24950         (gst_element_pads_activate):
24951         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24952         (gst_object_unref):
24953         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24954         (gst_pad_set_checkgetrange_function),
24955         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24956         (gst_pad_check_pull_range), (gst_pad_pull_range),
24957         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24958         (gst_pad_pause_task), (gst_pad_stop_task):
24959         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24960         (gst_element_request_pad), (gst_pad_proxy_getcaps):
24961         Fix name lookup in GstBin.
24962         Added _data_replace() function and _buffer_replace()
24963         Use finalize method to clean up clock.
24964         Fix refcounting on request pads.
24965         Fix pad schedule mode error.
24966         Some more object refcounting debug info,
24967
24968
24969 2005-05-04  Andy Wingo <wingo@pobox.com>
24970
24971         * check/Makefile.am:
24972         * docs/gst/tmpl/gstatomic.sgml:
24973         * docs/gst/tmpl/gstplugin.sgml:
24974         * gst/base/gstbasesink.c: (gst_basesink_activate):
24975         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24976         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24977         (gst_basesrc_query), (gst_basesrc_set_property),
24978         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24979         (gst_basesrc_activate):
24980         * gst/base/gstbasesrc.h:
24981         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24982         (gst_base_transform_src_activate):
24983         * gst/elements/gstelements.c:
24984         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24985         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24986         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24987         * gst/elements/gsttypefindelement.c: (find_element_get_length),
24988         (gst_type_find_element_checkgetrange),
24989         (gst_type_find_element_activate):
24990         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24991         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24992         (gst_caps_load_thyself):
24993         * gst/gstelement.c: (gst_element_pads_activate),
24994         (gst_element_save_thyself), (gst_element_restore_thyself):
24995         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24996         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24997         * gst/gstpad.h:
24998         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24999         (gst_xml_parse_file), (gst_xml_parse_memory),
25000         (gst_xml_get_element), (gst_xml_make_element):
25001         * gst/indexers/gstfileindex.c: (gst_file_index_load),
25002         (_file_index_id_save_xml), (gst_file_index_commit):
25003         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
25004         (read_enum), (load_pad_template), (load_feature), (load_plugin),
25005         (load_paths):
25006         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
25007         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
25008         * tools/gst-complete.c: (main):
25009         * tools/gst-compprep.c: (main):
25010         * tools/gst-inspect.c: (print_element_properties_info):
25011         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
25012         * tools/gst-xmlinspect.c: (print_element_properties):
25013         GCC 4 fixen.
25014         
25015 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25016
25017         * gst/gstplugin.c: (gst_plugin_check_module),
25018         (gst_plugin_check_file), (gst_plugin_load_file):
25019             apply patch from #172526 to make register work on MacOSX
25020
25021 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25022
25023         * docs/gst/tmpl/gstconfig.sgml:
25024         * gst/gstconfig.h.in:
25025           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
25026         * testsuite/debug/printf_extension.c: (main):
25027           Do not use GST_PTR_FORMAT on pointers to types with
25028           sizeof < sizeof(gpointer).  Fixes test on 64-bit
25029         * testsuite/elements/property.h:
25030           use correct printf format
25031
25032 2005-05-02  Wim Taymans  <wim@fluendo.com>
25033
25034         * docs/design/draft-push-pull.txt:
25035         * docs/design/draft-query.txt:
25036         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
25037         (gst_basesrc_start):
25038         Added draft for new query API.
25039         Added draft for better selecting scheduling methods.
25040         Make basesrc ignore length if the subclass does not support
25041         it.
25042
25043 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25044
25045         * gst/Makefile.am:
25046           possible fixes for automake-1.5 - _LIBADD is reserved
25047
25048 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25049
25050         * docs/faq/Makefile.am:
25051         * docs/manual/Makefile.am:
25052         * docs/manuals.mak:
25053         * docs/pwg/Makefile.am:
25054         * gst/Makefile.am:
25055           possible fixes for automake-1.5
25056
25057 2005-04-28  Wim Taymans  <wim@fluendo.com>
25058
25059         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25060         (gst_basesink_pad_getcaps), (gst_basesink_init),
25061         (gst_basesink_do_sync):
25062         * gst/gstclock.c: (gst_clock_entry_new):
25063         * gst/gstevent.c: (gst_event_discont_get_value):
25064         * gst/gstpipeline.c: (pipeline_bus_handler),
25065         (gst_pipeline_change_state):
25066         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
25067         Better debugging of clocking info.
25068         Allow NULL values when getting discont values.
25069
25070 2005-04-27  Wim Taymans  <wim@fluendo.com>
25071
25072         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25073         * check/gst/gstpad.c: (gst_pad_suite):
25074         Increase timeout for checks.
25075
25076 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25077
25078         * check/Makefile.am:
25079           fix the broken rule for cleanup.  Apparently this rule is
25080           only needed on FC2, so maybe this warrants further autotool
25081           inspection.
25082
25083 2005-04-26  Wim Taymans  <wim@fluendo.com>
25084
25085         * gst/gsttrashstack.h:
25086         Ooohh. a nasty one! After having a failed pop() from the stack,
25087         it's possible that the stack is empty. In that case, don't
25088         follow the NULL pointer.
25089
25090 2005-04-25  Wim Taymans  <wim@fluendo.com>
25091
25092         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25093         (gst_pad_set_checkgetrange_function),
25094         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
25095         (gst_pad_check_pull_range), (gst_pad_pull_range),
25096         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25097         (gst_pad_pause_task), (gst_pad_stop_task):
25098         * gst/gstplugin.c: (gst_plugin_load):
25099         * gst/gstplugin.h:
25100         Remove gst_library_load as it does more harm than good with
25101         the new g_module flags.
25102         Revert bogus caps template check in pad linking, pad caps
25103         are important when linking not the template, which is more
25104         general than the current caps.
25105
25106 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25107
25108         * gst/autoplug/.cvsignore:
25109         * gst/autoplug/Makefile.am:
25110         * gst/autoplug/gstsearchfuncs.c:
25111         * gst/autoplug/gstsearchfuncs.h:
25112         * gst/autoplug/gstspider.c:
25113         * gst/autoplug/gstspider.h:
25114         * gst/autoplug/gstspideridentity.c:
25115         * gst/autoplug/gstspideridentity.h:
25116         * gst/autoplug/spidertest.c:
25117           Die, spider, die.
25118
25119 2005-04-25  Wim Taymans  <wim@fluendo.com>
25120
25121         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25122         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25123         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
25124         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
25125         * gst/gstpad.h:
25126         Added stubs for unimplemented functions. 
25127
25128 2005-04-24  David Schleef  <ds@schleef.org>
25129
25130         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
25131         please fix.
25132
25133 2005-04-24  David Schleef  <ds@schleef.org>
25134
25135         Convert everything from GstAtomicInt to g_atomic_int_*, and
25136         remove gstatomic.
25137         * gst/Makefile.am:
25138         * gst/gstatomic.c:
25139         * gst/gstatomic.h:
25140         * gst/gstatomic_impl.h:
25141         * gst/gstbuffer.c:
25142         * gst/gstcaps.c:
25143         * gst/gstcaps.h:
25144         * gst/gstclock.c:
25145         * gst/gstclock.h:
25146         * gst/gstdata.c:
25147         * gst/gstdata.h:
25148         * gst/gstdata_private.h:
25149         * gst/gstevent.c:
25150         * gst/gstinfo.c:
25151         * gst/gstinfo.h:
25152         * gst/gstmessage.c:
25153         * gst/gstobject.c:
25154         * gst/gstobject.h:
25155         * gst/gststructure.c:
25156         * gst/gststructure.h:
25157         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
25158         * gst/gstutils.h:
25159
25160 2005-04-24  David Schleef  <ds@schleef.org>
25161
25162         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
25163         make the regressions tests work.  Remove some code that is no
25164         longer true.
25165         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
25166         Disable warning for pads without templates.
25167
25168 2005-04-24  David Schleef  <ds@schleef.org>
25169
25170         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
25171         functions that handle filtered links.
25172         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
25173         removed functions.
25174         * gst/gstutils.c: Fix/remove utility functions that handle
25175         filtered caps.
25176         * gst/gstutils.h:
25177         * gst/gstvalue.c: Add serialization/deserialization of caps
25178         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
25179         requires fixing so that the filter caps notation creates
25180         a capsfilter element and sets the filter_caps property.  I
25181         think everyone probably wants to keep the shorthand notation.
25182         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
25183         * docs/gst/tmpl/gstpad.sgml:
25184
25185         * gst/elements/gstelements.c: Register capsfilter element.
25186         * gst/Makefile.am: fix spacing
25187         * docs/random/ds/0.9-suggested-changes: random
25188
25189 2005-04-23  David Schleef  <ds@schleef.org>
25190
25191         * gst/elements/Makefile.am:
25192         * gst/elements/gstcapsfilter.c: New element that acts like an
25193         identity, but filters caps.  Will eventually replace filtered
25194         caps in pad linking.
25195         * gst/gstutils.c: (gst_element_create_all_pads): New function
25196         to create all the ALWAYS pads that are registered with an
25197         element class.  This functionality should eventually be
25198         merged in with GstElement initialization.
25199         * gst/gstutils.h:
25200         * testsuite/trigger/README: part of trigger test code that should
25201         have been checked in a long time ago.
25202
25203 2005-04-23  David Schleef  <ds@schleef.org>
25204
25205         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
25206         needed with new versions of libtool (nobody will confirm this),
25207         and hard to carry around.
25208         * gst/autoplug/Makefile.am:
25209         * gst/base/Makefile.am:
25210         * gst/elements/Makefile.am:
25211         * gst/indexers/Makefile.am:
25212         * gst/schedulers/Makefile.am:
25213         * libs/gst/bytestream/Makefile.am:
25214         * libs/gst/control/Makefile.am:
25215         * libs/gst/dataprotocol/Makefile.am:
25216         * libs/gst/getbits/Makefile.am:
25217
25218 2005-04-21  Wim Taymans  <wim@fluendo.com>
25219
25220         * docs/design/draft-push-pull.txt:
25221         * docs/design/part-MT-refcounting.txt:
25222         * docs/design/part-TODO.txt:
25223         * docs/design/part-caps.txt:
25224         * docs/design/part-events.txt:
25225         * docs/design/part-gstbus.txt:
25226         * docs/design/part-gstpipeline.txt:
25227         * docs/design/part-messages.txt:
25228         * docs/design/part-push-pull.txt:
25229         * docs/design/part-query.txt:
25230         Some more docs.
25231
25232 2005-04-21  Wim Taymans  <wim@fluendo.com>
25233
25234         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
25235         (gst_message_new), (gst_message_new_error),
25236         (gst_message_new_warning), (gst_message_new_tag),
25237         (gst_message_new_state_changed), (gst_message_new_application),
25238         (gst_message_get_structure):
25239         * gst/gstmessage.h:
25240         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25241         (gst_structure_copy_conditional):
25242         Use parent refcount in GstMessage to ensure GstStructure
25243         consistency.
25244         Cleaned up headers a bit.
25245         
25246
25247 2005-04-20  Wim Taymans  <wim@fluendo.com>
25248
25249         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25250         (gst_basesink_pad_getcaps), (gst_basesink_init),
25251         (gst_basesink_chain_unlocked):
25252         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
25253         (gst_type_find_helper):
25254         * gst/elements/gsttypefindelement.c:
25255         (gst_type_find_element_have_type), (gst_type_find_element_init),
25256         (stop_typefinding), (gst_type_find_element_handle_event),
25257         (find_suggest), (gst_type_find_element_chain),
25258         (gst_type_find_element_checkgetrange),
25259         (gst_type_find_element_getrange), (do_typefind),
25260         (gst_type_find_element_activate):
25261         * gst/gstbuffer.c: (_gst_buffer_sub_free),
25262         (gst_buffer_default_free), (gst_buffer_default_copy),
25263         (gst_buffer_set_caps):
25264         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
25265         (gst_caps_replace):
25266         * gst/gstmessage.c: (gst_message_new),
25267         (gst_message_new_state_changed):
25268         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25269         (gst_pad_set_checkgetrange_function),
25270         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
25271         (gst_pad_set_caps), (gst_pad_check_pull_range),
25272         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
25273         * gst/gstpad.h:
25274         * gst/gsttypefind.c: (gst_type_find_register):
25275         Make gst_caps_replace() work like other _replace() functions.
25276         Use _caps_replace() where possible.
25277         Make sure _message_new() initialises its field.
25278         Add gst_static_pad_template_get_caps()
25279
25280
25281 2005-04-18  Andy Wingo  <wingo@pobox.com>
25282
25283         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
25284         on the peer, not the pad. I think that was a typo. Pass an extra
25285         arg to see if random access is possible. Activate the pads as
25286         PULL_RANGE if possible.
25287
25288         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
25289
25290         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
25291         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
25292         to PROP_....
25293
25294 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25295
25296         * docs/faq/using.xml:
25297           Add note on gstreamer-properties (#154996).
25298
25299 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25300
25301         * docs/random/bbb/optional-properties:
25302           Some analysis on optional properties.
25303
25304 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25305
25306         * docs/gst/tmpl/gstelementfactory.sgml:
25307         * gst/gstelement.h:
25308         * gst/gstelementfactory.c: (gst_element_factory_init),
25309         (gst_element_factory_cleanup), (gst_element_register),
25310         (__gst_element_factory_add_static_pad_template),
25311         (gst_element_factory_get_static_pad_templates),
25312         (gst_element_factory_can_src_caps),
25313         (gst_element_factory_can_sink_caps):
25314         * gst/registries/Makefile.am:
25315         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
25316         (gst_xml_registry_class_init), (gst_xml_registry_init),
25317         (gst_xml_registry_new), (gst_xml_registry_set_property),
25318         (gst_xml_registry_get_property), (get_time), (make_dir),
25319         (gst_xml_registry_get_perms_func),
25320         (plugin_times_older_than_recurse), (plugin_times_older_than),
25321         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
25322         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
25323         (add_to_char_array), (read_string), (read_uint), (read_enum),
25324         (load_pad_template), (load_feature), (load_plugin), (load_paths),
25325         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
25326         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
25327         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
25328         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
25329         (gst_xml_registry_rebuild):
25330         * gst/registries/gstlibxmlregistry.h:
25331         * tools/gst-compprep.c: (main):
25332         * tools/gst-inspect.c: (print_pad_templates_info):
25333         * tools/gst-xmlinspect.c: (print_element_info):
25334           Use libxml2 for registry parsing, use staticpadtemplates in
25335           elementfactories. Makes gst_init() +/- 10x faster.
25336
25337 2005-04-12  Wim Taymans  <wim@fluendo.com>
25338
25339         * gst/base/Makefile.am:
25340         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25341         (gst_basesink_pad_getcaps), (gst_basesink_init),
25342         (gst_basesink_event), (gst_basesink_change_state):
25343         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25344         (gst_basesrc_init), (gst_basesrc_query),
25345         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25346         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25347         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25348         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25349         (gst_basesrc_stop), (gst_basesrc_activate),
25350         (gst_basesrc_change_state):
25351         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25352         (helper_find_suggest), (gst_type_find_helper):
25353         * gst/base/gsttypefindhelper.h:
25354         * gst/elements/Makefile.am:
25355         * gst/elements/gstelements.c:
25356         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25357         (gst_fakesink_get_times), (gst_fakesink_event),
25358         (gst_fakesink_preroll), (gst_fakesink_render):
25359         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25360         (gst_fakesrc_init), (gst_fakesrc_event_handler),
25361         (gst_fakesrc_get_property), (gst_fakesrc_create),
25362         (gst_fakesrc_start), (gst_fakesrc_stop):
25363         * gst/elements/gstfakesrc.h:
25364         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
25365         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25366         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25367         (gst_filesrc_create_read), (gst_filesrc_create),
25368         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
25369         (gst_filesrc_start):
25370         * gst/elements/gsttypefindelement.c:
25371         (gst_type_find_element_have_type), (gst_type_find_element_init),
25372         (start_typefinding), (stop_typefinding), (push_buffer_store),
25373         (gst_type_find_element_handle_event),
25374         (gst_type_find_element_chain),
25375         (gst_type_find_element_checkgetrange),
25376         (gst_type_find_element_getrange), (do_typefind),
25377         (gst_type_find_element_activate),
25378         (gst_type_find_element_change_state):
25379         * gst/elements/gsttypefindelement.h:
25380         * gst/gstpipeline.c: (pipeline_bus_handler):
25381         Added typefind helper.
25382         Small preroll fix in the base sink.
25383         Disable typefind code in basesrc.
25384         Crude port of typefindelement.
25385         Fakesrc cleanups.
25386
25387
25388 2005-04-11  Wim Taymans  <wim@fluendo.com>
25389
25390         * check/gst/gstbus.c: (gstbus_suite):
25391         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
25392         * check/gstcheck.h:
25393           Fix up the timeout so that the test does not fail.
25394
25395 2005-04-06  Wim Taymans  <wim@fluendo.com>
25396
25397         * gst/base/README:
25398         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25399         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
25400         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25401         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25402         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25403         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25404         (gst_basesrc_stop), (gst_basesrc_activate),
25405         (gst_basesrc_change_state), (basesrc_find_peek),
25406         (basesrc_find_suggest), (gst_basesrc_type_find):
25407         * gst/base/gstbasesrc.h:
25408         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
25409         (gst_filesrc_class_init), (gst_filesrc_init),
25410         (gst_filesrc_finalize), (gst_filesrc_set_location),
25411         (gst_filesrc_set_property), (gst_filesrc_get_property),
25412         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25413         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25414         (gst_filesrc_create_read), (gst_filesrc_create),
25415         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
25416         * gst/elements/gstfilesrc.h:
25417         * gst/gstelement.c: (gst_element_get_state_func),
25418         (gst_element_lost_state), (gst_element_pads_activate):
25419         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25420         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25421         (gst_pad_pull_range):
25422         * gst/gstpad.h:
25423         More work on the generic source base class, implement seeking,
25424         query.
25425         Make filesrc extend the base source class.
25426         Added gst_pad_set_checkgetrange_function to GstPad.
25427
25428 2005-04-06  Andy Wingo  <wingo@pobox.com>
25429
25430         * pkgconfig/gstreamer-base.pc.in:
25431         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
25432
25433         * pkgconfig/Makefile.am:
25434         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
25435
25436 2005-04-04  Wim Taymans  <wim@fluendo.com>
25437
25438         * gst/base/Makefile.am:
25439         * gst/base/README:
25440         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25441         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25442         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25443         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
25444         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25445         (gst_basesrc_base_init), (gst_basesrc_class_init),
25446         (gst_basesrc_init), (gst_basesrc_get_formats),
25447         (gst_basesrc_get_query_types), (gst_basesrc_query),
25448         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
25449         (gst_basesrc_set_property), (gst_basesrc_get_property),
25450         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
25451         (gst_basesrc_loop), (gst_basesrc_activate),
25452         (gst_basesrc_change_state):
25453         * gst/base/gstbasesrc.h:
25454         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25455         (gst_fakesrc_class_init), (gst_fakesrc_init),
25456         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25457         (gst_fakesrc_get_property), (gst_fakesrc_create):
25458         * gst/elements/gstfakesrc.h:
25459         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25460         (gst_filesrc_open_file), (gst_filesrc_loop),
25461         (gst_filesrc_activate), (filesrc_find_peek),
25462         (gst_filesrc_type_find):
25463         Made base source class, make fakesrc extend it.
25464         Add comments to basesink class.
25465         Some filesrc cleanup.
25466
25467 2005-03-31  David Schleef  <ds@schleef.org>
25468
25469         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25470         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25471         expected to link against libgstreamer.
25472         * gst/base/Makefile.am: link against libgstreamer
25473         * gst/elements/Makefile.am: same
25474
25475 2005-03-31  Andy Wingo  <wingo@pobox.com>
25476
25477         * tests/instantiate/Makefile.am:
25478         * tests/instantiate/caps.c: Add test to test speed of caps copy
25479         and free.
25480
25481         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25482         GMemChunk to be fair.
25483
25484         * gst/gsttrashstack.h: Remove warning about using the fallback
25485         trash stack implementation, it's still faster than malloc.
25486
25487 2005-03-30  Andy Wingo  <wingo@pobox.com>
25488
25489         * tests/complexity.c: Add a copyright.
25490
25491 2005-03-31  Wim Taymans  <wim@fluendo.com>
25492
25493         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25494         (gst_base_transform_class_init), (gst_base_transform_init),
25495         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25496         (gst_base_transform_get_property),
25497         (gst_base_transform_sink_activate),
25498         (gst_base_transform_src_activate),
25499         (gst_base_transform_change_state):
25500         * gst/base/gstbasetransform.h:
25501         * gst/elements/gstidentity.c: (gst_identity_class_init),
25502         (gst_identity_event), (gst_identity_check_perfect),
25503         (gst_identity_transform), (gst_identity_start),
25504         (gst_identity_stop):
25505         Added start/stop methods to transform base class so subclasses 
25506         don't need to deal with state changes even.
25507
25508 2005-03-31  Wim Taymans  <wim@fluendo.com>
25509
25510         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25511         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25512         * gst/gstevent.h:
25513         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25514         (gst_pad_pull_range):
25515         Added rate to the discont event to prepare for variable speed
25516         and reverse playback.
25517
25518 2005-03-29  David Schleef  <ds@schleef.org>
25519
25520         * configure.ac:
25521         * testsuite/trigger/Makefile.am:
25522         * testsuite/trigger/trigger.c: A little example program to show
25523         how trigger-based elements can work.
25524
25525 2005-03-29  Wim Taymans  <wim@fluendo.com>
25526
25527         * gst/base/Makefile.am:
25528         * gst/base/README:
25529         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25530         (gst_basesink_base_init), (gst_basesink_class_init),
25531         (gst_basesink_pad_getcaps), (gst_basesink_init),
25532         (gst_basesink_activate), (gst_basesink_change_state):
25533         * gst/base/gstbasesink.h:
25534         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25535         (gst_base_transform_base_init), (gst_base_transform_finalize),
25536         (gst_base_transform_class_init), (gst_base_transform_init),
25537         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25538         (gst_base_transform_event), (gst_base_transform_getrange),
25539         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25540         (gst_base_transform_set_property),
25541         (gst_base_transform_get_property),
25542         (gst_base_transform_sink_activate),
25543         (gst_base_transform_src_activate),
25544         (gst_base_transform_change_state):
25545         * gst/base/gstbasetransform.h:
25546         * gst/elements/gstidentity.c: (gst_identity_finalize),
25547         (gst_identity_class_init), (gst_identity_init),
25548         (gst_identity_event), (gst_identity_check_perfect),
25549         (gst_identity_transform), (gst_identity_set_property),
25550         (gst_identity_get_property), (gst_identity_change_state):
25551         * gst/elements/gstidentity.h:
25552         * gst/gstelement.c: (gst_element_get_state_func),
25553         (gst_element_lost_state), (gst_element_pads_activate):
25554         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25555         (gst_pad_check_pull_range), (gst_pad_pull_range):
25556         * gst/gstpad.h:
25557         Simplify pad activation.
25558         Added function to check if pull_range can be performed.
25559         Error out when pulling inactive or flushing pads.
25560         Removed const from refcounted types as it does not make sense.
25561         Simplify pad templates in basesink
25562         Added base class for simple 1-to-1 transforms.
25563         Make identity subclass the base transform.
25564
25565 2005-03-29  Andy Wingo  <wingo@pobox.com>
25566
25567         * docs/libs/gstreamer-libs-overrides.txt: 
25568         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25569         really don't understand what's going on, but like whatever. I want
25570         green buildbot!
25571
25572         * docs/gst/Makefile.am:
25573         * docs/libs/Makefile.am: Dist the overrides files.
25574
25575         * check/Makefile.am (clean-local): Remove .libs directories.
25576
25577         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25578         elements to EXTRA_DIST, so po/ files are happy.
25579
25580         * po/POTFILES.in: Er, remove it here.
25581
25582         * po/POTFILES: Remove gstspider.c.
25583
25584         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25585
25586         * docs/libs/gstreamer-libs-docs.sgml: 
25587         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25588         bytestream.
25589
25590         * tests/complexity.c (main): Set the length of the preroll queue
25591         on the sinks to prevent a lockup.
25592
25593         * libs/gst/dataprotocol/Makefile.am: 
25594         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25595         the same as the one in check/gst-libs/gdp.c.
25596
25597         * po/, docs/gst/: Commit automatic changes to docs and po files.
25598
25599         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25600         the versioned libgstbase.
25601
25602         * check/Makefile.am: Depend on an unversioned gst-register, seems
25603         to make autoconf happier.
25604
25605         * gst/base/Makefile.am: Make libgstbase a versioned lib.
25606
25607 2005-03-28  Wim Taymans  <wim@fluendo.com>
25608
25609         * configure.ac:
25610         * docs/design/part-gstelement.txt:
25611         * docs/design/part-negotiation.txt:
25612         * docs/design/part-preroll.txt:
25613         * docs/design/part-scheduling.txt:
25614         * docs/design/part-states.txt:
25615         * gst/Makefile.am:
25616         * gst/base/Makefile.am:
25617         * gst/base/README:
25618         * gst/base/gstbasesink.c: (gst_basesink_get_template),
25619         (gst_basesink_base_init), (gst_basesink_class_init),
25620         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25621         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25622         (gst_basesink_set_pad_functions),
25623         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25624         (gst_basesink_set_property), (gst_basesink_get_property),
25625         (gst_base_sink_get_template), (gst_base_sink_get_caps),
25626         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25627         (gst_basesink_preroll_queue_push),
25628         (gst_basesink_preroll_queue_empty),
25629         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25630         (gst_basesink_event), (gst_basesink_get_times),
25631         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25632         (gst_basesink_chain_unlocked), (gst_basesink_chain),
25633         (gst_basesink_loop), (gst_basesink_activate),
25634         (gst_basesink_change_state):
25635         * gst/base/gstbasesink.h:
25636         * gst/elements/Makefile.am:
25637         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25638         (gst_fakesink_class_init), (gst_fakesink_init),
25639         (gst_fakesink_set_property), (gst_fakesink_get_property),
25640         (gst_fakesink_get_times), (gst_fakesink_event),
25641         (gst_fakesink_preroll), (gst_fakesink_render),
25642         (gst_fakesink_change_state):
25643         * gst/elements/gstfakesink.h:
25644         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25645         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25646         * gst/gstelement.c: (gst_element_add_pad),
25647         (gst_element_get_state_func), (gst_element_abort_state),
25648         (gst_element_commit_state), (gst_element_lost_state),
25649         (gst_element_set_state), (gst_element_pads_activate):
25650         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25651         * gst/gstpipeline.c: (gst_pipeline_send_event),
25652         (gst_pipeline_change_state):
25653         Added state change code.
25654         Added/updated docs.
25655         Added sink base class, make fakesink extend the base class.
25656         Small cleanups in GstPipeline.
25657
25658 2005-03-26  David Schleef  <ds@schleef.org>
25659
25660         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
25661         is broken and should be implemented in a different library.
25662         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25663         * gst/gst.h: remove gstcpu.h
25664         * gst/gstcpu.c: remove
25665         * gst/gstcpu.h: remove
25666         * gst/Makefile.am.future: Remove this file.  It's ancient.
25667
25668 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25669
25670         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25671         (gst_bin_send_event):
25672           Add default event/set_manager handlers. The set_manager handler
25673           takes care that the manager is distributed over kids that were
25674           already in the bin before the manager was set. The event handler
25675           is a utility virtual function that sends the event over all sinks,
25676           so that gst_element_send_event (bin, event); has the expected
25677           behaviour.
25678         * gst/gstpad.c: (gst_pad_event_default):
25679           Re-install default event handling for discontinuities, so that
25680           seeking works without requiring hacks in applications or extra
25681           code in sinks.
25682         * gst/gstpipeline.c: (gst_pipeline_class_init),
25683         (gst_pipeline_send_event):
25684           Half hack, half utility: set a pipeline to PAUSED for seek events,
25685           since that is the only way we can guarantee a/v sync. Means that
25686           you can do gst_element_seek (pipeline, method, pos); on a pipeline
25687           and it "just works".
25688
25689 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25690
25691         * gst/gstpipeline.c: (gst_pipeline_use_clock):
25692           Lock/unlock mismatch.
25693
25694 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25695
25696         * docs/faq/gst-uninstalled:
25697           add gst-plugins-base
25698         * docs/gst/Makefile.am:
25699           don't error out until docs are fixed
25700         * docs/gst/gstreamer.types:
25701           remove thread
25702
25703 2005-03-22  Wim Taymans  <wim@fluendo.com>
25704
25705         * check/Makefile.am:
25706         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25707         * gst/gststructure.c: (gst_structure_set_valist),
25708         (gst_structure_copy_conditional):
25709         Activated more tests.
25710         Added message test.
25711         Added G_TYPE_POINTER to GstStructure.
25712         
25713
25714 2005-03-22  Wim Taymans  <wim@fluendo.com>
25715
25716         * docs/design/part-TODO.txt:
25717         * docs/design/part-events.txt:
25718         * docs/design/part-gstbin.txt:
25719         * docs/design/part-gstbus.txt:
25720         * docs/design/part-gstpipeline.txt:
25721         * docs/design/part-messages.txt:
25722         * gst/gstbus.c:
25723         * gst/gstmessage.c:
25724         Docs updates
25725
25726 2005-03-21  Wim Taymans  <wim@fluendo.com>
25727
25728         * gst/gstbus.c: (gst_bus_post):
25729         Fix copy-and-paste error.
25730
25731 2005-03-21  Wim Taymans  <wim@fluendo.com>
25732
25733         * check/Makefile.am:
25734         * gst/Makefile.am:
25735         * gst/elements/Makefile.am:
25736         * gst/elements/gstelements.c:
25737         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25738         (gst_fakesink_event), (gst_fakesink_chain):
25739         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25740         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25741         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25742         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25743         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25744         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25745         (gst_fakesrc_loop), (gst_fakesrc_activate),
25746         (gst_fakesrc_change_state):
25747         * gst/elements/gstfakesrc.h:
25748         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25749         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25750         (gst_filesrc_open_file), (gst_filesrc_loop),
25751         (gst_filesrc_activate), (gst_filesrc_change_state),
25752         (filesrc_find_peek), (filesrc_find_suggest),
25753         (gst_filesrc_type_find):
25754         * gst/elements/gstidentity.c: (gst_identity_finalize),
25755         (gst_identity_class_init), (gst_identity_init),
25756         (gst_identity_proxy_getcaps), (identity_queue_push),
25757         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25758         (gst_identity_getrange), (gst_identity_chain),
25759         (gst_identity_sink_loop), (gst_identity_src_loop),
25760         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25761         (gst_identity_set_property), (gst_identity_get_property),
25762         (gst_identity_change_state):
25763         * gst/elements/gstidentity.h:
25764         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25765         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25766         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25767         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25768         (gst_tee_sink_activate):
25769         * gst/elements/gsttee.h:
25770         * gst/gst.c: (gst_register_core_elements), (init_post):
25771         * gst/gst.h:
25772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25773         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25774         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25775         (gst_bin_change_state):
25776         * gst/gstbin.h:
25777         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25778         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25779         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25780         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25781         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25782         (bus_watch_callback), (bus_watch_destroy),
25783         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25784         (poll_timeout), (gst_bus_poll):
25785         * gst/gstbus.h:
25786         * gst/gstcaps.h:
25787         * gst/gstdata.h:
25788         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25789         (gst_element_post_message), (gst_element_message_full),
25790         (gst_element_get_state_func), (gst_element_get_state),
25791         (gst_element_abort_state), (gst_element_commit_state),
25792         (gst_element_lost_state), (gst_element_set_state),
25793         (gst_element_pads_activate), (gst_element_change_state),
25794         (gst_element_dispose), (gst_element_set_manager_func),
25795         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25796         (gst_element_set_manager), (gst_element_get_manager),
25797         (gst_element_set_bus), (gst_element_get_bus),
25798         (gst_element_set_scheduler), (gst_element_get_scheduler):
25799         * gst/gstelement.h:
25800         * gst/gstevent.c: (gst_event_new_segment_seek),
25801         (gst_event_new_flush):
25802         * gst/gstevent.h:
25803         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25804         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25805         (gst_message_new_eos), (gst_message_new_error),
25806         (gst_message_new_warning), (gst_message_new_tag),
25807         (gst_message_new_state_changed), (gst_message_new_application),
25808         (gst_message_get_structure), (gst_message_parse_tag),
25809         (gst_message_parse_state_changed), (gst_message_parse_error),
25810         (gst_message_parse_warning):
25811         * gst/gstmessage.h:
25812         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25813         (gst_real_pad_set_property), (gst_pad_set_active),
25814         (gst_pad_is_active), (gst_pad_set_blocked_async),
25815         (gst_pad_set_blocked), (gst_pad_is_blocked),
25816         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25817         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25818         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25819         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25820         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25821         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25822         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25823         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25824         (gst_pad_set_caps), (gst_pad_configure_sink),
25825         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25826         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25827         (gst_real_pad_dispose), (gst_real_pad_finalize),
25828         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25829         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25830         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25831         * gst/gstpad.h:
25832         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25833         (pipeline_bus_handler), (gst_pipeline_change_state),
25834         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25835         * gst/gstpipeline.h:
25836         * gst/gstprobe.h:
25837         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25838         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25839         (gst_queue_link_src), (gst_queue_bufferalloc),
25840         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25841         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25842         (gst_queue_loop), (gst_queue_handle_src_event),
25843         (gst_queue_handle_src_query), (gst_queue_src_activate),
25844         (gst_queue_change_state):
25845         * gst/gstqueue.h:
25846         * gst/gstscheduler.c: (gst_scheduler_init),
25847         (gst_scheduler_dispose), (gst_scheduler_create_task),
25848         (gst_scheduler_factory_create):
25849         * gst/gstscheduler.h:
25850         * gst/gststructure.c: (gst_structure_get_type),
25851         (gst_structure_copy_conditional):
25852         * gst/gststructure.h:
25853         * gst/gsttaginterface.h:
25854         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25855         (gst_task_init), (gst_task_dispose), (gst_task_create),
25856         (gst_task_get_state), (gst_task_start), (gst_task_stop),
25857         (gst_task_pause):
25858         * gst/gsttask.h:
25859         * gst/gstthread.c:
25860         * gst/gstthread.h:
25861         * gst/gsttypes.h:
25862         * gst/schedulers/Makefile.am:
25863         * gst/schedulers/cothreads_compat.h:
25864         * gst/schedulers/entryscheduler.c:
25865         * gst/schedulers/faircothreads.c:
25866         * gst/schedulers/faircothreads.h:
25867         * gst/schedulers/fairscheduler.c:
25868         * gst/schedulers/gstbasicscheduler.c:
25869         * gst/schedulers/gstoptimalscheduler.c:
25870         * gst/schedulers/gthread-cothreads.h:
25871         * gst/schedulers/threadscheduler.c:
25872         (gst_thread_scheduler_task_get_type),
25873         (gst_thread_scheduler_task_class_init),
25874         (gst_thread_scheduler_task_init),
25875         (gst_thread_scheduler_task_start),
25876         (gst_thread_scheduler_task_stop),
25877         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25878         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25879         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25880         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25881         (plugin_init):
25882         * libs/gst/Makefile.am:
25883         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25884         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25885         (gst_file_pad_parent_set):
25886         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25887         (gst_dp_event_from_packet):
25888         * tests/complexity.c: (main):
25889         * tests/mass_elements.c: (main):
25890         * testsuite/states/locked.c: (message_received), (main):
25891         * testsuite/states/parent.c: (main):
25892         * tools/gst-inspect.c: (print_element_flag_info),
25893         (print_implementation_info), (print_pad_info):
25894         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25895         (main):
25896         * tools/gst-md5sum.c: (event_loop), (main):
25897         * tools/gst-typefind.c: (main):
25898         * tools/gst-xmlinspect.c: (print_element_info):
25899         Next big merge.
25900         Added GstBus for mainloop integration.
25901         Added GstMessage for sending notifications on the bus.
25902         Added GstTask as an abstraction for pipeline entry points.
25903         Removed GstThread.
25904         Removed Schedulers.
25905         Simplified GstQueue for multithreaded core.
25906         Made _link threadsafe, removed old capsnego.
25907         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25908         Added pad blocking functions.
25909         Reworked scheduling functions in GstPad to prepare for
25910         scheduling updates soon.
25911         Moved events out of data stream.
25912         Simplified GstEvent types.
25913         Added return values to push/pull.
25914         Removed clocking from GstElement.
25915         Added prototypes for state change function for next merge.
25916         Removed iterate from bins and state change management.
25917         Fixed some elements, disabled others for now.
25918         Fixed -inspect and -launch.
25919         Added check for GstBus.
25920
25921 2005-03-10  Wim Taymans  <wim@fluendo.com>
25922
25923         * docs/design/part-MT-refcounting.txt:
25924         * docs/design/part-clocks.txt:
25925         * docs/design/part-gstelement.txt:
25926         * docs/design/part-gstobject.txt:
25927         * docs/design/part-standards.txt:
25928         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25929         (gst_bin_remove_func), (gst_bin_remove):
25930         * gst/gstbin.h:
25931         * gst/gstbuffer.c:
25932         * gst/gstcaps.h:
25933         * testsuite/clock/clock1.c: (main):
25934         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25935         (main):
25936         * testsuite/dlopen/loadgst.c: (do_test):
25937         * testsuite/refcounting/bin.c: (add_remove_test1),
25938         (add_remove_test2), (main):
25939         * testsuite/refcounting/element.c: (main):
25940         * testsuite/refcounting/element_pad.c: (main):
25941         * testsuite/refcounting/pad.c: (main):
25942         * tools/gst-launch.c: (sigint_handler_sighandler):
25943         * tools/gst-typefind.c: (main):
25944         Doc updates.
25945         Added doc about clock.
25946         removed gst_bin_iterate_recurse_up(), marked methods
25947         for removal.
25948         Fix more testsuites.
25949
25950 2005-03-09  Wim Taymans  <wim@fluendo.com>
25951
25952         * gst/gstpad.c: (gst_pad_get_direction),
25953         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25954         (gst_pad_collect_valist):
25955         * testsuite/bins/interface.c: (main):
25956         * testsuite/caps/audioscale.c: (test_caps):
25957         * testsuite/caps/caps.c: (test1), (test2), (test3):
25958         * testsuite/caps/deserialize.c: (main):
25959         * testsuite/caps/enumcaps.c: (main):
25960         * testsuite/caps/filtercaps.c: (main):
25961         * testsuite/caps/intersect2.c: (main):
25962         * testsuite/caps/random.c: (main):
25963         * testsuite/caps/renegotiate.c: (my_fixate), (main):
25964         * testsuite/caps/sets.c: (check_caps):
25965         * testsuite/caps/simplify.c: (check_caps), (main):
25966         * testsuite/caps/subtract.c: (check_caps):
25967         Fix _pad_get_direction wrt ghostpads.
25968         Fix caps testsuite.
25969
25970 2005-03-09  Wim Taymans  <wim@fluendo.com>
25971
25972         * check/Makefile.am:
25973         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25974         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25975         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25976         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25977         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25978         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25979         (gst_bin_remove), (gst_bin_iterate_recurse_up),
25980         (bin_element_is_sink), (gst_bin_iterate_sinks),
25981         (gst_bin_iterate_all_by_interface):
25982         * gst/gstbin.h:
25983         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25984         (gst_element_change_state), (gst_element_dispose),
25985         (gst_element_finalize), (gst_element_set_loop_function):
25986         * gst/gstelement.h:
25987         * gst/gstiterator.c: (find_custom_fold_func):
25988         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25989         (gst_pad_collectv), (gst_pad_collect_valist),
25990         (gst_pad_template_new):
25991         * gst/gstpipeline.c: (gst_pipeline_class_init),
25992         (gst_pipeline_dispose), (gst_pipeline_set_property),
25993         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25994         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25995         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25996         * gst/gstutils.h:
25997         * gst/schedulers/entryscheduler.c:
25998         * gst/schedulers/gstbasicscheduler.c:
25999         (gst_basic_scheduler_cothreaded_chain),
26000         (gst_basic_scheduler_chain_add_element):
26001         * testsuite/bins/interface.c: (main):
26002         Added GstBin test.
26003         Added GstSystemClock test.
26004         Implemented clock distribution code in GstBin.
26005         Implemented iterate sinks method for future use.
26006         Rearranged gstelement.h
26007         Fix GstIterator comparison bug.
26008         Moved some code to GstPipeline, mostly clocking related.
26009
26010 2005-03-09  Wim Taymans  <wim@fluendo.com>
26011
26012         * configure.ac:
26013         * gst/gst_private.h:
26014         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26015         (gst_bin_remove_func), (gst_bin_remove),
26016         (gst_bin_get_by_name_recurse_up):
26017         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
26018         (gst_clock_id_compare_func), (gst_clock_id_wait),
26019         (gst_clock_id_wait_async), (gst_clock_init),
26020         (gst_clock_adjust_unlocked), (gst_clock_get_time):
26021         * gst/gstelement.h:
26022         * gst/gstinfo.c: (_gst_debug_init):
26023         * gst/gstobject.h:
26024         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26025         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
26026         * gst/gstpad.h:
26027         Bump version number, we're now 0.9.0
26028         Add future debugging category.
26029         Fix NULL _unref() in _get_by_name_recurse_up
26030         Rearrange gstpad.h.
26031         Update some docs.
26032
26033 2005-03-08  Wim Taymans  <wim@fluendo.com>
26034
26035         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
26036         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
26037         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26038         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
26039         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
26040         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
26041         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
26042         * gst/elements/gstidentity.c: (gst_identity_class_init):
26043         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
26044         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
26045         * gst/elements/gstshaper.c: (gst_shaper_class_init):
26046         * gst/elements/gststatistics.c: (gst_statistics_class_init):
26047         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
26048         (gst_tee_link):
26049         * gst/gstelement.c: (gst_element_class_init),
26050         (gst_element_base_class_init), (gst_element_init),
26051         (gst_element_get_random_pad), (gst_element_wait_state_change),
26052         (gst_element_change_state), (gst_element_dispose),
26053         (gst_element_finalize), (gst_element_set_loop_function):
26054         * gst/gstelement.h:
26055         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
26056         * gst/gstthread.c: (gst_thread_class_init),
26057         (gst_thread_release_children_locks), (gst_thread_change_state):
26058         * gst/schedulers/gstbasicscheduler.c:
26059         (gst_basic_scheduler_loopfunc_wrapper),
26060         (gst_basic_scheduler_chain_wrapper),
26061         (gst_basic_scheduler_src_wrapper),
26062         (gst_basic_scheduler_remove_element):
26063         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
26064         Remove threadsafe properties. Fix elements because GObject
26065         complains when installing a property before declaring a
26066         set/get_property handler.
26067         Rearrange gstelement.h file, use STATE macros for state locks.
26068         Free mutexes in the finalize method instead of dispose.
26069
26070 2005-03-08  Wim Taymans  <wim@fluendo.com>
26071
26072         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26073         * gst/gstthread.c: (gst_thread_release_children_locks):
26074         Added parentage check.
26075         Fix build og GstThread again.
26076
26077 2005-03-08  Wim Taymans  <wim@fluendo.com>
26078
26079         * docs/design/part-MT-refcounting.txt:
26080         * docs/design/part-conventions.txt:
26081         * docs/design/part-gstobject.txt:
26082         * docs/design/part-relations.txt:
26083         * docs/design/part-standards.txt:
26084         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26085         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
26086         (gst_bin_get_by_name), (gst_bin_get_by_interface),
26087         (gst_bin_iterate_all_by_interface):
26088         * gst/gstbuffer.h:
26089         * gst/gstclock.h:
26090         * gst/gstelement.c: (gst_element_class_init),
26091         (gst_element_change_state), (gst_element_set_loop_function):
26092         * gst/gstelement.h:
26093         * gst/gstiterator.c:
26094         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
26095         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
26096         (gst_object_dispatch_properties_changed), (gst_object_set_name),
26097         (gst_object_set_parent), (gst_object_unparent),
26098         (gst_object_check_uniqueness):
26099         * gst/gstobject.h:
26100         Docs updates, clean up some headers.
26101
26102 2005-03-07  Wim Taymans  <wim@fluendo.com>
26103
26104         * check/.cvsignore:
26105         * check/Makefile.am:
26106         * check/gst-libs/.cvsignore:
26107         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
26108         * check/gst/.cvsignore:
26109         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
26110         (START_TEST), (gstbus_suite), (main):
26111         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
26112         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
26113         (gst_data_suite), (main):
26114         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
26115         (add_fold_func), (gstiterator_suite), (main):
26116         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
26117         (thread_name_object), (thread_name_object_default),
26118         (gst_object_name_compare), (gst_object_suite), (main):
26119         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
26120         (gst_pad_suite), (main):
26121         * check/gstcheck.c: (gst_check_log_message_func),
26122         (gst_check_log_critical_func), (gst_check_init):
26123         * check/gstcheck.h:
26124         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
26125         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
26126         Added checks.
26127
26128 2005-03-07  Wim Taymans  <wim@fluendo.com>
26129
26130         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
26131         (gst_list_iterator_next), (gst_list_iterator_resync),
26132         (gst_list_iterator_free), (gst_iterator_new_list),
26133         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
26134         (gst_iterator_free), (gst_iterator_push), (filter_next),
26135         (filter_resync), (filter_uninit), (filter_free),
26136         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
26137         (gst_iterator_foreach), (find_custom_fold_func),
26138         (gst_iterator_find_custom):
26139         * gst/gstiterator.h:
26140         Added missing files.
26141
26142 2005-03-07  Wim Taymans  <wim@fluendo.com>
26143
26144         * Makefile.am:
26145         * configure.ac:
26146         * docs/design/part-MT-refcounting.txt:
26147         * docs/design/part-conventions.txt:
26148         * docs/design/part-gstobject.txt:
26149         * docs/design/part-relations.txt:
26150         * examples/mixer/mixer.c: (main):
26151         * examples/thread/thread.c: (eos), (main):
26152         * gst/Makefile.am:
26153         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
26154         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
26155         (gst_spider_plug_from_srcpad):
26156         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
26157         (gst_spider_identity_change_state),
26158         (gst_spider_identity_sink_loop_type_finding):
26159         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
26160         * gst/elements/gstidentity.c: (gst_identity_init):
26161         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
26162         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
26163         * gst/elements/gsttypefindelement.c: (free_entry):
26164         * gst/gst.c:
26165         * gst/gst.h:
26166         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
26167         (gst_bin_set_clock_func), (gst_bin_auto_clock),
26168         (gst_bin_set_index), (gst_bin_set_element_sched),
26169         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
26170         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
26171         (gst_bin_iterate_elements), (iterate_child_recurse),
26172         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
26173         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
26174         (compare_interface), (gst_bin_get_by_interface),
26175         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
26176         * gst/gstbin.h:
26177         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
26178         (gst_buffer_default_free), (gst_buffer_default_copy),
26179         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
26180         (gst_buffer_create_sub):
26181         * gst/gstbuffer.h:
26182         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
26183         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
26184         (gst_caps_unref), (gst_static_caps_get),
26185         (gst_caps_remove_and_get_structure), (gst_caps_append),
26186         (gst_caps_append_structure), (gst_caps_remove_structure),
26187         (gst_caps_copy_nth), (gst_caps_set_simple),
26188         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
26189         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
26190         (gst_caps_structure_intersect_field), (gst_caps_intersect),
26191         (gst_caps_structure_subtract_field), (gst_caps_subtract),
26192         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
26193         (gst_caps_structure_figure_out_union),
26194         (gst_caps_switch_structures), (gst_caps_do_simplify),
26195         (gst_caps_replace), (gst_caps_from_string),
26196         (gst_caps_copy_conditional):
26197         * gst/gstcaps.h:
26198         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
26199         (_gst_clock_id_free), (gst_clock_id_unref),
26200         (gst_clock_id_compare_func), (gst_clock_id_wait),
26201         (gst_clock_id_wait_async), (gst_clock_class_init),
26202         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
26203         (gst_clock_get_time), (gst_clock_set_time_adjust),
26204         (gst_clock_set_property), (gst_clock_get_property):
26205         * gst/gstclock.h:
26206         * gst/gstcompat.h:
26207         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
26208         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
26209         * gst/gstdata.h:
26210         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
26211         (gst_element_requires_clock), (gst_element_provides_clock),
26212         (gst_element_set_clock), (gst_element_clock_wait),
26213         (gst_element_wait), (gst_element_set_time_delay),
26214         (gst_element_is_indexable), (gst_element_add_pad),
26215         (gst_element_add_ghost_pad), (gst_element_remove_pad),
26216         (pad_compare_name), (gst_element_get_static_pad),
26217         (gst_element_request_pad), (gst_element_get_request_pad),
26218         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
26219         (gst_element_class_get_pad_template_list),
26220         (gst_element_class_get_pad_template), (gst_element_error_func),
26221         (gst_element_get_random_pad), (gst_element_get_event_masks),
26222         (gst_element_send_event), (gst_element_seek),
26223         (gst_element_get_query_types), (gst_element_query),
26224         (gst_element_get_formats), (gst_element_convert),
26225         (gst_element_is_locked_state), (gst_element_set_locked_state),
26226         (gst_element_sync_state_with_parent), (gst_element_change_state),
26227         (gst_element_finalize), (gst_element_yield),
26228         (gst_element_interrupt), (gst_element_set_scheduler),
26229         (gst_element_get_scheduler), (gst_element_set_loop_function):
26230         * gst/gstelement.h:
26231         * gst/gstevent.h:
26232         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
26233         (gst_format_get_by_nick), (gst_format_get_details),
26234         (gst_format_iterate_definitions):
26235         * gst/gstformat.h:
26236         * gst/gstindex.c: (gst_index_gtype_resolver):
26237         * gst/gstinfo.c:
26238         * gst/gstinfo.h:
26239         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
26240         (gst_mem_chunk_free):
26241         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
26242         (gst_object_ref), (gst_object_unref), (gst_object_sink),
26243         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
26244         (gst_object_dispatch_properties_changed),
26245         (gst_object_set_name_default), (gst_object_set_name),
26246         (gst_object_get_name), (gst_object_set_name_prefix),
26247         (gst_object_get_name_prefix), (gst_object_set_parent),
26248         (gst_object_get_parent), (gst_object_unparent),
26249         (gst_object_check_uniqueness), (gst_object_save_thyself),
26250         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
26251         (gst_object_set_property), (gst_object_get_property),
26252         (gst_object_get_path_string):
26253         * gst/gstobject.h:
26254         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26255         (gst_real_pad_init), (gst_real_pad_get_property),
26256         (gst_pad_custom_new), (gst_pad_get_direction),
26257         (gst_pad_set_active), (gst_pad_is_active),
26258         (gst_pad_set_event_function), (gst_pad_is_linked),
26259         (gst_pad_link_free), (gst_pad_link_intersect),
26260         (gst_pad_link_fixate), (gst_pad_set_caps),
26261         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
26262         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
26263         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
26264         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
26265         (gst_pad_get_caps), (gst_pad_peer_get_caps),
26266         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
26267         (gst_pad_realize), (gst_pad_get_allowed_caps),
26268         (gst_real_pad_dispose), (gst_real_pad_finalize),
26269         (gst_pad_collectv), (gst_pad_collect_valist),
26270         (gst_pad_template_dispose), (gst_pad_template_new),
26271         (gst_pad_get_internal_links):
26272         * gst/gstpad.h:
26273         * gst/gstpipeline.c: (gst_pipeline_dispose),
26274         (gst_pipeline_change_state):
26275         * gst/gstpipeline.h:
26276         * gst/gstplugin.c:
26277         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
26278         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
26279         * gst/gstpluginfeature.h:
26280         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
26281         * gst/gstquery.c: (_gst_query_type_initialize),
26282         (gst_query_type_register), (gst_query_type_get_by_nick),
26283         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
26284         * gst/gstquery.h:
26285         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
26286         * gst/gstscheduler.c: (gst_scheduler_add_element),
26287         (gst_scheduler_factory_create):
26288         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26289         (gst_structure_free), (gst_structure_set_name),
26290         (gst_structure_id_set_value), (gst_structure_set_value),
26291         (gst_structure_set_valist), (gst_structure_remove_field),
26292         (gst_structure_remove_fields),
26293         (gst_structure_remove_fields_valist),
26294         (gst_structure_remove_all_fields), (gst_structure_foreach),
26295         (gst_structure_map_in_place),
26296         (gst_caps_structure_fixate_field_nearest_int),
26297         (gst_caps_structure_fixate_field_nearest_double):
26298         * gst/gststructure.h:
26299         * gst/gstsystemclock.c: (gst_system_clock_class_init),
26300         (gst_system_clock_init), (gst_system_clock_dispose),
26301         (gst_system_clock_async_thread),
26302         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
26303         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
26304         * gst/gstsystemclock.h:
26305         * gst/gsttag.c: (gst_tag_list_add_value_internal),
26306         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
26307         * gst/gsttaginterface.c:
26308         * gst/gstthread.c: (gst_thread_dispose),
26309         (gst_thread_release_children_locks), (gst_thread_change_state),
26310         (gst_thread_main_loop):
26311         * gst/gsttrashstack.h:
26312         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
26313         * gst/gsttypes.h:
26314         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26315         (gst_element_request_pad), (gst_element_get_pad_from_template),
26316         (gst_element_request_compatible_pad),
26317         (gst_element_get_compatible_pad_filtered),
26318         (gst_element_get_compatible_pad), (gst_element_state_get_name),
26319         (gst_element_link_pads_filtered), (gst_element_link_filtered),
26320         (gst_element_link_many), (gst_element_link),
26321         (gst_element_link_pads), (gst_element_unlink_pads),
26322         (gst_element_unlink_many), (gst_element_unlink),
26323         (gst_pad_can_link_filtered), (gst_pad_can_link),
26324         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
26325         (gst_object_default_error), (gst_bin_add_many),
26326         (gst_bin_remove_many), (gst_element_populate_std_props),
26327         (gst_element_class_install_std_props), (gst_buffer_merge),
26328         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
26329         (link_fold_func), (gst_pad_proxy_setcaps):
26330         * gst/gstutils.h:
26331         * gst/gstvalue.c: (gst_value_deserialize_string):
26332         * gst/parse/grammar.y:
26333         * gst/schedulers/gstbasicscheduler.c:
26334         (gst_basic_scheduler_cothreaded_chain),
26335         (gst_basic_scheduler_chain_recursive_add),
26336         (gst_basic_scheduler_pad_link):
26337         * gst/schedulers/gstoptimalscheduler.c:
26338         (get_group_schedule_function),
26339         (gst_opt_scheduler_state_transition),
26340         (gst_opt_scheduler_add_element), (element_get_reachables_func):
26341         * libs/gst/bytestream/bytestream.c:
26342         * libs/gst/dataprotocol/dataprotocol.c:
26343         (gst_dp_header_from_buffer):
26344         * po/nb.po:
26345         * po/ru.po:
26346         * tests/threadstate/threadstate2.c: (eos):
26347         * tools/gst-compprep.c: (main):
26348         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
26349         (print_pad_info), (print_children_info):
26350         * tools/gst-launch.c: (idle_func), (main):
26351         * tools/gst-md5sum.c: (idle_func), (main):
26352         * tools/gst-xmlinspect.c: (print_element_info):
26353         First THREADED backport attempt, focusing on adding locks and
26354         making sure the API is threadsafe. Needs more work. More docs
26355         follow this week.
26356
26357 2005-02-24  Andy Wingo  <wingo@pobox.com>
26358
26359         * tests/bench-complexity.scm:
26360         * tests/complexity.gnuplot: New files, good for running complexity
26361         benchmarks.
26362
26363         * tests/Makefile.am:
26364         * tests/complexity.c: New test, sets up N elements, at each level
26365         teeing into M streams per element. Eeeenteresting.
26366
26367         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
26368         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
26369         running bench-mass_elements.scm.
26370
26371         * tests/bench-mass_elements.scm: New script, runs mass_elements
26372         for various numbers of identities, outputting the results to a
26373         file. Requires guile 1.6. Just for testing.
26374
26375 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26376
26377         * gst/schedulers/fairscheduler.c:
26378           compile with debug disabled
26379
26380 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26381
26382         * configure.ac:
26383           hunting season on 0.9 is now OPEN