tests/check/pipelines/parse-launch.c: Oops, meant to uncomment this line too to dampe...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
2
3         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4         Oops, meant to uncomment this line too to dampen the noise a bit.
5
6 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7
8         * gst/parse/grammar.y:
9         * gst/parse/parse.l:
10         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11         (GST_START_TEST), (parse_suite):
12         Fix some of the leaks exposed by extending the parse-launch testsuite,
13         and move the 3 I can't figure out into a separate test that won't run
14         the pipelines unless the appropriate line is uncommented.
15
16 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
17
18         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
19           Requesting 0 bytes before the end of the file should result in
20           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
21           unit test.
22
23 2006-07-27  Wim Taymans  <wim@fluendo.com>
24
25         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
26         Fix useless assert, a uint is always positive.
27
28         * gst/gststructure.c: (gst_structure_nth_field_name),
29         (gst_structure_foreach), (gst_structure_map_in_place):
30         Check input arguments for public functions to avoid obvious crashes.
31
32         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
33         * plugins/elements/gstfakesink.h:
34         Do less useless typechecking.
35
36 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
37
38         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
39           Do not use mmap() by default since there are a number of error
40           conditions that we would like to handle in a non-fatal way that
41           will result in a SIGBUS if we use mmap(). Examples: external
42           devices (USB harddrive, portable music player) being unplugged
43           while in use; file on mounted CD/DVD that can't be read because
44           the medium is partly damaged. Fixes #348455 and #348475.
45
46 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
47
48         * gst/gstquery.h:
49         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
50         rates are a gdouble
51
52 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
53
54         * gst/gstregistry.c:
55           Move big documentation comment into class section header, so that it
56           appears in the API docs.
57
58 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
59
60         * docs/gst/gstreamer-sections.txt:
61         Oops. Commit the docs additions too for new API.
62         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
63
64 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
65
66         * gst/gststructure.c: (gst_structure_id_set),
67         (gst_structure_id_set_valist):
68         * gst/gststructure.h:
69         Add API for setting values into structures without performing
70         a quark lookup, if the appropriate quark is already known.
71
72         API: gst_structure_id_set
73         API: gst_structure_id_set_valist
74
75         * gst/parse/grammar.y:
76         * gst/parse/parse.l:
77         Remove some dead code shown by the coverage information.
78         Don't throw a critical g_warning when encountering a syntax error,
79         just warn and let the normal error path handle it.
80
81         * plugins/elements/gstelements.c:
82         Bump the rank of filesink up to PRIMARY so that it is preferred over
83         gnomevfssink for file:// sink uri's
84
85         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
86         (GST_START_TEST), (run_delayed_test),
87         (gst_parse_test_element_base_init),
88         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
89         (gst_parse_test_element_change_state),
90         (gst_register_parse_element), (parse_suite):
91         Beef up the tests for parse syntax to check that more error cases
92         fail as they are supposed to. Increases the test coverage a bit.
93
94 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
95
96         * docs/manual/basics-elements.xml:
97           Fix gst_element_link() example.
98
99         * gst/gstutils.c:
100           Mention in API docs that one should usually gst_bin_add()
101           elements to a bin or pipeline before doing the linking.
102           
103 2006-07-26  Wim Taymans  <wim@fluendo.com>
104
105         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
106         (gst_subbuffer_get_type), (gst_buffer_create_sub):
107         Avoid function call for known types by keeping the buffer and
108         subbuffer GType global.
109
110         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
111         Random silly optimisations in read() path.
112
113 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
114
115         * tools/gst-launch.c: (main):
116           If the top-level of the parse is a normal bin, it doesn't do the
117           right logic to run as a top-level element, so place it inside a
118           pipeline.
119
120 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
121
122         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
123           Remove superfluous g_object_notify() calls, GObject does
124           that for us automatically.
125
126 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
127
128         * gst/gstinfo.h:
129           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
130           here.
131
132 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
133
134         * gst/gsttaglist.c: (_gst_tag_initialize):
135           Allow more than one GST_TAG_IMAGE per taglist.
136
137 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
138
139         * gst/gstminiobject.c:
140           update docs
141         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
142         (gst_fd_src_create):
143           log recurring events at LOG level
144           add more debug for when the fd gets set
145
146 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
147
148         * gst/gstparse.c: (gst_parse_launch):
149           Also remove reentrance checks if flex is MT save (#348179)
150          Fix my empty ChangeLog entry below
151
152 2006-07-21  Andy Wingo  <wingo@pobox.com>
153
154         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
155
156         * libs/gst/check/Makefile.am
157         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
158         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
159         * libs/gst/check/gstbufferstraw.h:
160         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
161         functions, thus proving I am still a GStreamer haxor. OK I wrote
162         them a long time ago, but anyways.
163
164 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
165
166         * configure.ac:
167         * gst/gstparse.c: (gst_parse_launch):
168           Check for flex version and omit mutex if we have a MT save flex
169           (fixes #348179)
170
171 2006-07-21  Wim Taymans  <wim@fluendo.com>
172
173         * gst/gstparse.c: (gst_parse_launch):
174         Protect recursive calls to _parse with a recursive mutex
175         and busy flag.
176
177 2006-07-21  Wim Taymans  <wim@fluendo.com>
178
179         * tests/check/gst/gstpad.c: (GST_START_TEST):
180         Fix leak in test.
181
182 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
183
184         * gst/gstparse.c: (gst_parse_launch):
185           Do not hange on recursive uasge of gst_parse_launch()
186
187 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * gst/gsttaglist.c:
190           Add some more docs, comments and FIXME 0.11s here and there
191           and  also fix some typos.
192
193 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
194
195         * gst/gstsegment.h:
196           Convert tabs to spaces for better readability. 
197
198 2006-07-20  Edward Hervey  <edward@fluendo.com>
199
200         * tests/check/libs/gdp.c: (gst_dp_suite):
201         the test_buffer test fails at line 140 on ppc64 at the following
202         check:
203         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
204                 "GST_BUFFER_IN_CAPS flag should have been copied !");
205         See bug #348114 for more details.
206
207 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
208
209         * docs/pwg/advanced-scheduling.xml:
210         * gst/gstpad.c:
211           Fix typos (#348000).
212
213 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
214
215         * docs/pwg/intro-basics.xml:
216           Fix wrong links (#347927).
217
218 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
219
220         * gst/gstregistry.h:
221         * gst/gstregistryxml.c: (load_feature),
222         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
223         * win32/common/config.h:
224         make --disable-index work (#342564)
225
226 2006-07-18  Wim Taymans  <wim@fluendo.com>
227
228         Patch by: Peter Kjellerstedt <pkj at axis dot com>
229
230         * gst/Makefile.am:
231         * gst/gsttrace.h:
232         The attached patch adds two missing defines to gsttrace.h when tracing
233         is disabled.  It also corrects one existing define.
234         Fixes #347756.
235
236 2006-07-17  Wim Taymans  <wim@fluendo.com>
237
238         * docs/gst/gstreamer-sections.txt:
239         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
240         * gst/gst.h:
241         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
242         Add two functions to check and change the SIGSEGV behaviour
243         when loading plugins.
244         Don't mess with the SIGSEGV handler when we were told not to.
245         Fixes #347794.
246         API: gst_segtrap_is_enabled
247         API: gst_segtrap_set_enabled
248
249 2006-07-14  Wim Taymans  <wim@fluendo.com>
250
251         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
252         * tests/check/elements/filesrc.c: (GST_START_TEST):
253         Revert fix for regression in #347408 after release.
254
255 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
256
257         Patch by: Antoine Tremblay <hexa00 at gmail com>
258
259         * gst/gstutils.c: (gst_element_unlink):
260           Free iterator when done (#347311).
261
262         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
263           And add a test case for this.
264
265 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
266
267         * configure.ac:
268         Bump nano back to CVS
269
270 === release 0.10.9 ===
271
272 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
273
274         * configure.ac:
275           releasing 0.10.9, "On the road again"
276
277 2006-07-13  Wim Taymans  <wim@fluendo.com>
278
279         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
280         * tests/check/elements/filesrc.c: (GST_START_TEST):
281         Revert pull-0 fix for release. Disable check. Fixes #347408.
282
283 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
284
285         * libs/gst/dataprotocol/dataprotocol.c:
286         (gst_dp_event_from_packet_1_0):
287           Fixes #347337: failure to deserialize event packets with
288           empty payload (only event type)
289
290 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
291
292         * gst/Makefile.am:
293           do not install a .c file in the header directory
294
295 2006-07-13  Edward Hervey  <edward@fluendo.com>
296
297         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
298         GhostPad no longer implicitely use the padtemplates of the targets.
299         Fixes #347384
300
301 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
302
303         * gst/gstvalue.c: (gst_value_compare_list),
304         (gst_value_compare_array), (_gst_value_initialize):
305         * tests/check/gst/gstvalue.c: (GST_START_TEST):
306         Make GstValueArray comparison be order dependent as designed.
307         Add checks for value lists and value array comparisons.
308         Fixes #347221
309
310 2006-07-11  Edward Hervey  <edward@fluendo.com>
311
312         * gst/gstbin.c: (activate_pads),
313         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
314         (gst_bin_change_state_func):
315         (de)activate src pads before calling state_change on the childs.
316         This is to avoid the case where a src ghostpad is blocked (holding the
317         stream lock), which would block the deactivation of the ghostpad's
318         target pad.
319         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
320         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
321         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
322         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
323         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
324         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
325         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
326         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
327         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
328         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
329         (gst_ghost_pad_class_init),
330         (gst_ghost_pad_internal_do_activate_push),
331         (gst_ghost_pad_internal_do_activate_pull),
332         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
333         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
334         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
335         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
336         GhostPads now create their internal GstProxyPad at creation (and not
337         when they're linked, as it was being done previously).
338         The internal and target pads are linked straight away.
339         The data will also travel through the other pad in order to make
340         pad blocking and probes non-hackish (the probe/block now really happens
341         on the GhostPad and not on the target).
342         * gst/gstpad.c: (gst_pad_set_blocked_async),
343         (gst_pad_link_prepare), (gst_pad_push_event):
344         Remove previous ghostpad cruft.
345         * gst/gstutils.c: (gst_pad_add_data_probe),
346         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
347         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
348         (gst_pad_remove_buffer_probe):
349         Remove previous ghost pad cruft.
350         Added more detailed debug statements.
351         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
352         Fix the testsuite for refcounting changes.
353         The comments about who has references were correct, but the refcount
354         being checked wasn't the same (!?!).
355
356         Fixes #341029
357
358 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
359
360         * docs/gst/gstreamer-sections.txt:
361         * gst/gstconfig.h.in:
362         More docs for configuration options, add docs to gtk-doc.
363
364 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
365
366         * gst/Makefile.am:
367         * gst/gstconfig.h.in:
368         * win32/common/config.h:
369         Fix build when disabling tracing (fixes #344016). Also start to document
370         the defines that disable the sub-systems.
371
372 2006-07-10  Edward Hervey  <edward@fluendo.com>
373
374         * gst/gst.c: (ensure_current_registry_forking):
375         let's make valgrind happy...
376
377 2006-07-09  Wim Taymans  <wim@fluendo.com>
378
379         * gst/gstelement.c: (activate_pads),
380         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
381         Better pad activation code: Reset the collect value too on resync.
382         Add some comments.
383
384 2006-07-09  Wim Taymans  <wim@fluendo.com>
385
386         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
387         (gst_pad_activate_push):
388         Use some more macros where it makes sense.
389         Allow pad mode switching instead of asserting. When a pad
390         is activated in one mode and we activate it in another, 
391         deactivate it first before activating it in a different mode.
392         Fixes #329198.
393
394 2006-07-08  Andy Wingo  <wingo@pobox.com>
395
396         * tools/gst-launch.c (main): Handle err == NULL.
397
398         * gst/gst.c (init_post, ensure_current_registry)
399         (ensure_current_registry_forking)
400         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
401         factoring out the registry scanning into separate functions. Don't
402         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
403         Better environment var name/interface suggestions accepted.
404
405 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * gst/gstobject.c: (gst_object_set_name_default),
408         (gst_object_set_name):
409           Random micro-optimisation: don't use a hash table
410           with strings as keys and the usual strdup/strcmp
411           involved, but rather just use the GQuark of the
412           type name as key, since it needs to be looked up
413           anyway to get the type name string.
414
415         * tests/check/gst/gstobject.c: (GST_START_TEST):
416           Fix various leaks.
417
418 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
419
420         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
421         (gst_bin_iterate_all_by_interface):
422           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
423           GTypes are gulongs and thus the top 4 bytes might be cut
424           off on some platforms when doing GPOINTER_TO_INT, leading
425           to invalid GTypes and bad things happening (see RH bug #179654).
426           Also add a check to make sure the type passed in is really
427           an interface type.
428
429 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
430
431         * .cvsignore:
432           Ignore more.
433
434 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
435
436         * Makefile.am:
437         * configure.ac:
438         * gst-element-check.m4:
439         * gst-element-check.m4.in:
440           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
441           instead of the unversioned gst-inspect (#324176, #168659).
442
443 2006-07-06  Wim Taymans  <wim@fluendo.com>
444
445         * gst/gstmessage.h:
446         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
447         warnings.
448
449 2006-07-06  Wim Taymans  <wim@fluendo.com>
450
451         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
452         (gst_base_src_wait), (gst_base_src_update_length),
453         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
454         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
455         (gst_base_src_loop), (gst_base_src_start),
456         (gst_base_src_activate_pull):
457         Update docs.
458         blocksize == 0 now means the default blocksize when working in push
459         based mode.
460         Remove some pointless asserts in _wait function.
461         Fix offset/length calculations and EOS handling. We can now pull 0
462         bytes as well, which is allowed.
463         use _check_get_range() to decide if we can operate in _pull based
464         mode.
465         Fix refcounting leak when check_get_range function was not 
466         implemented.
467         API GstBaseSrc::blocksize range can be 0 too now (default)
468
469         * tests/check/elements/filesrc.c: (GST_START_TEST),
470         (filesrc_suite):
471         Added check to test _get_range() behaviour.
472
473 2006-07-06  Wim Taymans  <wim@fluendo.com>
474
475         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
476         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
477         (gst_pad_pull_range):
478         * gst/gstpad.h:
479         Lots of comments and docs added to the pad functions.
480         Flesh out the expected behaviour of the get_range() functions.
481
482 2006-07-06  Wim Taymans  <wim@fluendo.com>
483
484         * gst/gstbus.h:
485         * gst/gstclock.h:
486         * gst/gstevent.h:
487         * gst/gstiterator.h:
488         * gst/gstpad.h:
489         * gst/gstplugin.h:
490         * gst/gsttask.h:
491         Remove comma at end of enumerator list. 
492
493 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
494
495         * win32/common/libgstbase.def:
496         * win32/common/libgstdataprotocol.def:
497         * win32/common/libsgtreamer.def:
498         Add new exported functions.
499
500 2006-07-05  Wim Taymans  <wim@fluendo.com>
501
502         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
503         Add some more docs here and there.
504
505 2006-07-05  Wim Taymans  <wim@fluendo.com>
506
507         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
508         (gst_base_sink_loop), (gst_base_sink_get_position):
509         When operating in pull mode update the offset so that we
510         read sequentially.
511
512 2006-07-05  Wim Taymans  <wim@fluendo.com>
513
514         * gst/gstregistryxml.c: (read_string):
515         Avoid strdup. (will happen in libxml, but hey!)
516
517         * gst/gsturi.c:
518         Add some more docs.
519
520 2006-07-05  Wim Taymans  <wim@fluendo.com>
521
522         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
523         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
524         (gst_buffer_suite):
525         No point in checking if the size of the subbuffer > 0, the
526         code handles it correclty as demonstrated by unit test.
527         Also add a unit test for the zero sized _new_and_alloc and
528         _copy. Fixes #346663.
529
530 2006-07-05  Wim Taymans  <wim@fluendo.com>
531
532         * libs/gst/base/gstbasetransform.c:
533         (gst_base_transform_prepare_output_buffer),
534         (gst_base_transform_buffer_alloc),
535         (gst_base_transform_handle_buffer):
536         Make sure the buffer we pass to transform_ip has a refcount of
537         1 and thus is writable. Fixes #343196
538
539 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
540
541         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
542         (gst_file_src_init), (gst_file_src_set_property),
543         (gst_file_src_get_property), (gst_file_src_map_region):
544         * plugins/elements/gstfilesrc.h:
545         Add "sequential" property, off by default, to use madvise and hint
546         to the kernel that sequential access is desired.
547         Touch all retrieved pages by default to ensure they are pulled
548         into memory. (Closes #345720)
549
550 2006-07-03  Wim Taymans  <wim@fluendo.com>
551
552         * docs/design/part-block.txt:
553         * docs/design/part-dynamic.txt:
554         Small docs updates.
555
556 2006-07-03  Wim Taymans  <wim@fluendo.com>
557
558         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
559         (gst_caps_unref), (gst_static_caps_get),
560         (gst_caps_append_structure):
561         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
562         Use GSlice when the glib we build against is >= 2.10
563
564 2006-07-03  Wim Taymans  <wim@fluendo.com>
565
566         * gst/gstelement.c: (gst_element_pads_activate):
567         Small cleanup in pad activation code.
568
569 2006-07-03  Wim Taymans  <wim@fluendo.com>
570
571         Patch by: Peter Kjellerstedt <pkj at axis dot com>
572
573         * gst/gst-i18n-app.h:
574         * gst/gst-i18n-lib.h:
575         * tools/gst-inspect.c: (print_signal_info):
576         The attached patch will make the inclusion of gettext.h unconditional in
577         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
578         libintl.h in tools/gst-inspect.c.
579         This allows use of --disable-nls again and fixes #344642.
580
581 2006-07-03  Edward Hervey  <edward@fluendo.com>
582
583         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
584         Implement pad blocking on events according to part-block.txt.
585         More comments on behaviour.
586         * tests/check/gst/gstevent.c: (test_event):
587         Send event to peer pad of blocked pad (else it will block).
588
589 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         * libs/gst/check/gstcheck.c: (gst_check_message_error),
592         (gst_check_run_suite):
593           if we get the wrong message, give us the types as string
594         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
595           Fix a translatable
596         * tests/check/elements/filesrc.c: (GST_START_TEST):
597           add a test for trying to open a non-existing file
598
599 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
600
601         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
602           add a test for adding self
603
604 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * libs/gst/check/gstcheck.h:
607           add some assert_ as alias for fail_unless_*
608         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
609           increase test coverage
610
611 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
612
613         * Makefile.am:
614           include lcov.mak for lcov coverage generation
615         * tools/Makefile.am:
616           add to CLEANFILES
617
618 2006-07-02  Edward Hervey  <edward@fluendo.com>
619
620         * tests/check/elements/.cvsignore:
621         moaping
622
623 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
624
625         * configure.ac:
626           don't set CFLAGS and friends for gcov, done from GST_GCOV now
627         * tests/check/Makefile.am:
628           clean up gcov files
629
630 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
631
632         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
633           remove gst_caps_simplify; it was not declared and not used
634           and deprecated in 0.8
635
636 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
637
638         * docs/faq/gst-uninstalled:
639           don't put empty paths on PYTHONPATH
640         * docs/gst/gstreamer-sections.txt:
641           remove some symbols that are not there
642
643 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
644
645         * gst/gstcaps.c: (gst_caps_compare_structures):
646           whitespace fixes
647         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
648         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
649           add more tests
650
651 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
652
653         * libs/gst/dataprotocol/Makefile.am:
654           build dataprotocol test by linking to the lib, instead of
655           compiling the source, so we get coverage
656         * tests/check/Makefile.am:
657         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
658         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
659           add a test for filesrc
660
661 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
662
663         * tests/check/gst/gststructure.c: (GST_START_TEST),
664         (gst_structure_suite):
665           Push coverage from 59.04% to 70.00%
666
667 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * tests/check/Makefile.am:
670           gst-inspect every element; this makes sure that we also get
671           coverage on element's get/set functions
672
673 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
674
675         * configure.ac:
676           set CFLAGS and friends to -O0 if gcov is being used
677           add GCOV LIBS
678         * gst/Makefile.am:
679         * libs/gst/base/Makefile.am:
680         * libs/gst/check/Makefile.am:
681         * libs/gst/controller/Makefile.am:
682         * libs/gst/dataprotocol/Makefile.am:
683         * libs/gst/net/Makefile.am:
684         * plugins/elements/Makefile.am:
685         * plugins/indexers/Makefile.am:
686           add makefile rules to generate gcov data and clean up
687         * tests/check/Makefile.am:
688           add a coverage target that generates an html overview
689           of coverage data
690
691 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
692
693         * tests/check/elements/fakesink.c:
694         * tests/check/elements/fakesrc.c:
695         * tests/check/elements/fdsrc.c:
696         * tests/check/elements/identity.c:
697         * tests/check/generic/sinks.c: (gst_sinks_suite):
698         * tests/check/generic/states.c:
699         * tests/check/gst/gst.c:
700         * tests/check/gst/gstabi.c:
701         * tests/check/gst/gstbin.c:
702         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
703         * tests/check/gst/gstbus.c: (gst_bus_suite):
704         * tests/check/gst/gstcaps.c: (GST_START_TEST):
705         * tests/check/gst/gstelement.c:
706         * tests/check/gst/gstevent.c: (gst_event_suite):
707         * tests/check/gst/gstghostpad.c:
708         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
709         * tests/check/gst/gstmessage.c: (gst_message_suite):
710         * tests/check/gst/gstminiobject.c:
711         * tests/check/gst/gstobject.c:
712         * tests/check/gst/gstpad.c:
713         * tests/check/gst/gstpipeline.c:
714         * tests/check/gst/gstplugin.c:
715         * tests/check/gst/gstquery.c: (gst_query_suite):
716         * tests/check/gst/gstsegment.c: (gst_segment_suite):
717         * tests/check/gst/gststructure.c:
718         * tests/check/gst/gstsystemclock.c:
719         * tests/check/gst/gsttag.c:
720         * tests/check/gst/gsttask.c: (gst_task_suite):
721         * tests/check/gst/gstutils.c:
722         * tests/check/gst/gstvalue.c:
723         * tests/check/libs/adapter.c:
724         * tests/check/libs/basesrc.c:
725         * tests/check/libs/collectpads.c:
726         * tests/check/libs/controller.c:
727         * tests/check/libs/gdp.c: (gst_dp_suite):
728         * tests/check/libs/gstnetclientclock.c:
729         * tests/check/libs/gstnettimeprovider.c:
730         * tests/check/libs/libsabi.c: (libsabi_suite):
731         * tests/check/libs/typefindhelper.c:
732         * tests/check/pipelines/cleanup.c:
733         * tests/check/pipelines/parse-launch.c:
734         * tests/check/pipelines/simple-launch-lines.c:
735         * tests/check/pipelines/stress.c: (stress_suite):
736           use the new macro
737
738 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
741         * libs/gst/check/gstcheck.h:
742           create a macro and function so that the simple unit test
743           case can be just one macro to create main()
744
745 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
746
747         * gst/gstbin.c: (gst_bin_restore_thyself):
748         * gst/gstxml.c: (gst_xml_make_element):
749           Fix deserialisation from XML. Set parent manually
750           instead of using gst_bin_add(), since gst_bin_add()
751           will unlink all pads of the element being added.
752           Fixes #341667.
753
754 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
755
756         Patch by: Peter Kjellerstedt <pkj at axis com>
757
758         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
759           Fix missing g_strdup() and double free when using the
760           --gst-plugin-load command line option (#346097).
761
762 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
763
764         * gst/gstinfo.c:
765           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
766
767         * libs/gst/net/gstnetclientclock.c:
768         * libs/gst/net/gstnettimeprovider.c:
769           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
770
771 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
772
773         * docs/manual/advanced-dataaccess.xml:
774           Fix buffer probe example compilation in
775           ADM (#345708).
776         
777 2006-06-22  Edward Hervey  <edward@fluendo.com>
778
779         * gst/gstelement.c: (gst_element_pads_activate):
780         We need to deactivate src pads first and then sink pads.
781         The reason is the src pads might be blocking while holding the streaming
782         lock, so we need to deactivate them first so that deactivating the sink
783         pads doesn't block (since it will require the streaming lock).
784
785 2006-06-22  Wim Taymans  <wim@fluendo.com>
786
787         * libs/gst/base/gstbasetransform.c:
788         (gst_base_transform_buffer_alloc):
789         Forgot to remove two unneeded unrefs.
790         Simplify a check _is_equal allready checks the obvious case.
791
792 2006-06-22  Wim Taymans  <wim@fluendo.com>
793
794         * docs/design/part-block.txt:
795         Some docs about what pad_block should do.
796
797 2006-06-22  Wim Taymans  <wim@fluendo.com>
798
799         * gst/gstcaps.c: (gst_caps_replace):
800         Fix crasher when passed NULL. Doc clarification.
801         Optimize for the trivial case.
802
803         * gst/gstpipeline.c: (gst_pipeline_change_state):
804         Small cleanups.
805
806         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
807         Small documentation cleanup.
808
809         * libs/gst/base/gstbasetransform.c:
810         (gst_base_transform_buffer_alloc):
811         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
812         is what we need and it avoids a whole lot of redundant 
813         refcount operations.
814
815 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
816
817         Patch by: Philip Jägenstedt  <philip at lysator liu se>
818
819         * docs/manual/advanced-dataaccess.xml:
820           Fix 'Embedding static elements' section to use
821           GST_PLUGIN_DEFINE_STATIC (#345607).
822
823 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
824
825         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
826           Attempt to 'fix' spuriously failing test case: it seems like the
827           timeout of half a second is simply too small when the system is under
828           load otherwise, and the timeout doesn't really seem to serve any
829           particular purpose here. Give the pipeline a few seconds to preroll
830           first, and then give it another half a second to go from PAUSED to
831           PLAYING and marshal the message into the main thread.
832
833 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
834
835         * tools/gst-feedback-m.m:
836           Don't only use unversioned tools, try versioned tools as well
837           (#345086).
838
839 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
840
841         * gst/gstbus.c: (gst_bus_class_init):
842           Fix some typos, make docs more explicit.
843
844 2006-06-20  Wim Taymans  <wim@fluendo.com>
845
846         * tests/check/gst/gstghostpad.c: (block_callback),
847         (GST_START_TEST), (gst_ghost_pad_suite):
848         Added some more ghostpad tests, mainly blocking
849         and probes.
850
851 2006-06-16  Wim Taymans  <wim@fluendo.com>
852
853         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
854         (gst_file_sink_close_file), (gst_file_sink_do_seek),
855         (gst_file_sink_event), (gst_file_sink_render):
856         * plugins/elements/gstfilesink.h:
857         Check if we can seek in the file instead of assuming
858         we always can. Post an error when we are asked to seek in a
859         non-seekable file (like a fifo). Fixes #343312.
860         Some cleanups.
861
862 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
863
864         * tools/gst-launch.1.in:
865           Un-garble (fourcc) bit in filtered caps section.
866
867 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
868
869         * docs/manual/advanced-autoplugging.xml:
870         * docs/manual/basics-helloworld.xml:
871         * docs/manual/highlevel-components.xml:
872           Don't leak bus reference in sample code.
873
874 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
875
876         * autogen.sh:
877           Add default for new --enable-plugin-docs switch.
878
879         * configure.ac:
880           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
881           Fixes #344039.
882
883         * docs/Makefile.am:
884           Use new ENABLE_PLUGIN_DOCS conditional.
885
886 2006-06-14  Wim Taymans  <wim@fluendo.com>
887
888         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
889         Make it clear with a FIXME and a real define what the #if 0
890         previously disabled.
891
892 2006-06-14  Wim Taymans  <wim@fluendo.com>
893
894         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
895         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
896         * libs/gst/base/gstbasetransform.c:
897         (gst_base_transform_sink_eventfunc):
898         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
899         Don't randomly and silently reset a segment when the format 
900         changes as this is a bug somewhere upstream. Fixes #330379.
901
902 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
903
904         Patch by: Wouter Paesen  <wouter at kangaroot net>
905
906         * libs/gst/controller/gstcontroller.c:
907         (gst_controlled_property_new):
908           Fix controlling of float properties (#344849).
909
910         * tests/check/libs/controller.c:
911         (gst_test_mono_source_get_property),
912         (gst_test_mono_source_set_property),
913         (gst_test_mono_source_class_init), (GST_START_TEST):
914           While we're at it, add some float stuff to unit test.
915
916 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
917
918         * docs/README:
919         * docs/images/gdp-header.svg:
920           add a gdp image
921         * docs/libs/Makefile.am:
922         * docs/libs/gdp-header.png:
923         * libs/gst/dataprotocol/dataprotocol.c:
924           add it to the API docs
925         * docs/manual/intro-motivation.xml:
926           fix typo
927
928 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
929
930         * gst/gst.c: (scan_and_update_registry), (init_post):
931           If the fork()'ed child process can't write the updated registry cache
932           file to disk for some reason, make it exit with a failure exit code,
933           so that the parent can then re-scan the plugins itself and update the
934           registry structures in memory and work with that (rather than failing
935           when creating elements because seemingly no plugins are available).
936           Refactor registry scanning code into separate function for this and
937           also separate fork() and non-fork() code paths. Fixes #344748.
938
939 2006-06-13  Wim Taymans  <wim@fluendo.com>
940
941         * docs/manual/advanced-dataaccess.xml:
942         Fix wrong PluginDesc. Fixes #344755.
943
944 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
945
946         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
947           Fix silly bug that prevented us from creating
948           ~/.gstreamer-0.10 and writing the registry in one
949           go (the first call to g_mkstemp() would overwrite the
950           placeholder in the template string, so the second call
951           to g_mkstemp() after creating the missing directory
952           would then error out with 'invalid argument').
953
954 2006-06-13  Edward Hervey  <edward@fluendo.com>
955
956         * gst/gst.c: (init_post):
957         Free string.
958
959 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
960
961         * gst/glib-compat-private.h:
962         * gst/glib-compat.c:
963         * gst/glib-compat.h:
964         * gst/gstvalue.c: (gst_value_serialize_flags):
965           remove GLib 2.6 compatibility code
966
967 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
968
969         * gst/parse/Makefile.am:
970           Fix build with 'make -j N' even more (#340016).
971
972 2006-06-12  Wim Taymans  <wim@fluendo.com>
973
974         * docs/gst/gstreamer-sections.txt:
975         Fix docs.
976
977 2006-06-12  Wim Taymans  <wim@fluendo.com>
978
979         * gst/gstsegment.c: (gst_segment_set_duration),
980         (gst_segment_set_last_stop), (gst_segment_set_seek),
981         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
982         (gst_segment_to_running_time), (gst_segment_clip):
983         Use G_UNLIKELY to help the compiler a bit.
984
985 2006-06-12  Wim Taymans  <wim@fluendo.com>
986
987         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
988
989         * gst/gstevent.c: (gst_event_get_type):
990         * gst/gstmessage.c:
991         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
992         (gst_pad_push):
993         constify quark registration strings. Fixes #344115
994         Avoid unneeded type checking is _pad_push() by internally
995         calling gst_pad_chain_unchecked().
996
997 2006-06-12  Wim Taymans  <wim@fluendo.com>
998
999         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
1000         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
1001         (gst_subbuffer_finalize), (gst_buffer_create_sub),
1002         (gst_buffer_is_span_fast), (gst_buffer_span):
1003         Init _type for consistency.
1004         Use _FLAGS macro to avoid type check.
1005         Avoid unneeded type checks in subbufer code.
1006
1007 2006-06-12  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/gst.c: (gst_debug_help):
1010         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1011         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1012         (gst_plugin_feature_list_free):
1013         * gst/gstregistry.c: (gst_registry_add_plugin),
1014         (gst_registry_add_feature), (gst_registry_plugin_filter),
1015         (gst_registry_feature_filter), (gst_registry_find_plugin),
1016         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1017         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1018         * gst/gstregistryxml.c: (load_feature),
1019         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1020         * gst/gstminiobject.c: (gst_mini_object_unref),
1021         (gst_mini_object_replace), (gst_value_mini_object_free),
1022         (gst_value_mini_object_copy):
1023         Use _CAST macros to avoid unneeded type checking.
1024         Added some more G_UNLIKELY.
1025
1026 2006-06-12  Wim Taymans  <wim@fluendo.com>
1027
1028         * gst/gstbuffer.h:
1029         Avoid unneeded type checking.
1030         API: GST_BUFFER_IS_DISCONT
1031
1032         * gst/gstminiobject.h:
1033         Avoid type check in flag accessor.
1034
1035         * gst/gstelementfactory.h:
1036         * gst/gstplugin.h:
1037         * gst/gstpluginfeature.h:
1038         Add _CAST macros.
1039         API: GST_ELEMENT_FACTORY_CAST
1040         API: GST_PLUGIN_CAST
1041         API: GST_PLUGIN_FEATURE_CAST
1042
1043 2006-06-12  Wim Taymans  <wim@fluendo.com>
1044
1045         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1046         (gst_object_unref):
1047         Add G_UNLIKELY in type registration.
1048         Avoid type check in _ref/_unref since that is also
1049         done in glib.
1050
1051 2006-06-12  Wim Taymans  <wim@fluendo.com>
1052
1053         * gst/gsterror.c: (gst_g_error_get_type):
1054         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1055         (gst_static_pad_template_get_type):
1056         * gst/gsttaglist.c: (gst_tag_list_get_type):
1057         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1058         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1059         * gst/gsturi.c: (gst_uri_handler_get_type):
1060         * gst/gstvalue.c: (gst_date_get_type):
1061         * gst/gstxml.c: (gst_xml_get_type):
1062         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1063         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1064         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1065         Add G_UNLIKELY in type registration.
1066
1067 2006-06-12  Wim Taymans  <wim@fluendo.com>
1068
1069         * tools/gst-inspect.c: (print_signal_info):
1070         Properly print enum values.
1071
1072 2006-06-12  Wim Taymans  <wim@fluendo.com>
1073
1074         * gst/gstinfo.c: (gst_debug_set_active),
1075         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1076         * gst/gstinfo.h:
1077         Add some G_[UN]LIKELY.
1078         Maintain __gst_debug_min to avoid formatting the arguments of
1079         debug messages that will be dropped anyway to avoid a lot of 
1080         overhead from the debugging system.
1081
1082 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1083
1084         * po/POTFILES.in:
1085         * po/POTFILES.skip:
1086           add missing files containing translatable strings, tell intltool about
1087           one exception
1088
1089 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1090
1091         * tests/check/libs/.cvsignore:
1092         add test-binary to ignore list
1093
1094 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * docs/libs/gstreamer-libs-docs.sgml:
1097         reorder (put dp into a chapter) and indent
1098
1099 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1100
1101         * configure.ac:
1102           back to HEAD
1103
1104 === release 0.10.8 ===
1105
1106 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1107
1108         * configure.ac:
1109           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1110
1111 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1112
1113         * gst/gst.c: (init_post):
1114           move pid declaration to declaration block
1115
1116 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1117
1118         * gst/gst.c: (init_post):
1119           use _exit() instead of exit() in our forked child; this ensures
1120           that none of the registered exit handlers from whatever is using
1121           GStreamer get executed.  This fixes gnome-mixer-applet failing
1122           to load, because ORBit would shut down.
1123           Spotted by: Edward Hervey  <edward@fluendo.com>
1124           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1125           Fixes #344474
1126
1127 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1128
1129         * configure.ac:
1130           back to TRUNK
1131
1132 === release 0.10.7 ===
1133
1134 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1135
1136         * configure.ac:
1137           releasing 0.10.7, "Soepeke, ik zie ou"
1138
1139 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * configure.ac:
1142         * po/af.po:
1143         * po/az.po:
1144         * po/bg.po:
1145         * po/ca.po:
1146         * po/cs.po:
1147         * po/de.po:
1148         * po/en_GB.po:
1149         * po/fr.po:
1150         * po/it.po:
1151         * po/nb.po:
1152         * po/nl.po:
1153         * po/ru.po:
1154         * po/sq.po:
1155         * po/sr.po:
1156         * po/sv.po:
1157         * po/tr.po:
1158         * po/uk.po:
1159         * po/vi.po:
1160         * po/zh_CN.po:
1161         * po/zh_TW.po:
1162         * win32/common/config.h:
1163           0.10.6.2 prerelease
1164
1165 2006-06-07  Wim Taymans  <wim@fluendo.com>
1166
1167         * gst/gstindex.c: (gst_index_gtype_resolver):
1168         * tools/gst-xmlinspect.c: (print_plugin_info):
1169         Fix leak spotted by coverity checker. Fixes #343827
1170         Fix another other leak found by paolo borelli.
1171
1172 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1173
1174         * libs/gst/dataprotocol/dataprotocol.c:
1175         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1176         (gst_dp_version_get_type), (gst_dp_init),
1177         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1178         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1179         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1180         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1181         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1182         (gst_dp_packetizer_free):
1183         * libs/gst/dataprotocol/dataprotocol.h:
1184           API: add a GstDPPacketizer object, and create/free functions
1185           API: add GstDPVersion enum
1186           Add 1.0 event function that uses the string serialization
1187           Serialize more useful buffer flags
1188           Fixes #343988
1189
1190 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1191
1192         * tests/check/Makefile.am:
1193         * tests/check/gst/gstabi.c:
1194         * tests/check/gst/struct_ppc64.h:
1195         * tests/check/libs/libsabi.c:
1196         * tests/check/libs/struct_ppc64.h:
1197           add ppc64 structure sizes
1198
1199 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * tests/check/Makefile.am:
1202         * tests/check/gst/gstabi.c:
1203         * tests/check/gst/struct_x86_64.h:
1204         * tests/check/libs/libsabi.c:
1205         * tests/check/libs/struct_x86_64.h:
1206           generate and add structure size lists for x86_64
1207
1208 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1209
1210         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1211         * libs/gst/check/gstcheck.h:
1212           factor out the method from tests that checks size of structures,
1213           and add code to generate the header containing these sizes
1214         * tests/check/gst/gstabi.c: (GST_START_TEST):
1215         * tests/check/gst/struct_i386.h:
1216         * tests/check/libs/libsabi.c: (GST_START_TEST):
1217         * tests/check/libs/struct_i386.h:
1218           use it
1219
1220 2006-06-06  Michael Smith  <msmith@fluendo.com>
1221
1222         * gst/gstsegment.h:
1223           Don't use c++-style comments, fixes #343929
1224
1225 2006-06-05  Edward Hervey  <edward@fluendo.com>
1226
1227         * gst/gst.c:
1228         plugin_paths is not used if we build without registry support.
1229
1230         * gst/gstsegment.c: (gst_segment_copy): 
1231         _copy() was always returning NULL...
1232
1233 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1234
1235         * libs/gst/dataprotocol/dataprotocol.c:
1236         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1237         (gst_dp_packet_from_event):
1238           factor out CRC code
1239
1240 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1241
1242         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1243           make sure we unset caps
1244
1245 2006-06-02  Michael Smith  <msmith@fluendo.com>
1246
1247         * libs/gst/check/gstcheck.c: (gst_check_init),
1248         (gst_check_chain_func):
1249         * libs/gst/check/gstcheck.h:
1250           Add a cond/mutex to the check support lib, signal this whenever we
1251           add to the buffers list. This will allow tests to not busy-wait on
1252           the buffer-list.
1253
1254 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1255
1256         * libs/gst/dataprotocol/dataprotocol.c:
1257         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1258         (gst_dp_packet_from_event):
1259           factor out some common header init code
1260
1261 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * docs/libs/gstreamer-libs-sections.txt:
1264         * docs/libs/tmpl/gstdataprotocol.sgml:
1265         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1266         * libs/gst/dataprotocol/dataprotocol.h:
1267           API: make gst_dp_crc() public
1268
1269 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1270
1271         * plugins/indexers/gstindexers.c: (plugin_init):
1272         conditionally register fileindexer (fixes #343598)
1273
1274 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1275
1276         * gst/gsttagsetter.h:
1277         Can't cast ifaces to a class
1278
1279         * libs/gst/net/gstnetclientclock.h:
1280         * libs/gst/net/gstnettimeprovider.h:
1281         * plugins/elements/gstfakesink.h:
1282         * plugins/elements/gstfakesrc.h:
1283         * plugins/elements/gstfdsink.h:
1284         * plugins/elements/gstfdsrc.h:
1285         * plugins/elements/gstfilesink.h:
1286         * plugins/elements/gstfilesrc.h:
1287         * plugins/elements/gstidentity.h:
1288         * plugins/elements/gstqueue.h:
1289         * plugins/elements/gsttee.h:
1290         * plugins/indexers/gstfileindex.c:
1291         * plugins/indexers/gstmemindex.c:
1292         * tests/old/examples/plugins/example.h:
1293         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1294
1295 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1296
1297         * libs/gst/dataprotocol/dataprotocol.c:
1298         (gst_dp_header_from_buffer):
1299           make sure we zero the whole ABI-compatible area
1300
1301 2006-06-01  Wim Taymans  <wim@fluendo.com>
1302
1303         Patch by: Alessandro Decina <alessandro at nnva dot org>
1304
1305         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1306         Make sure the EOS flag is cleared from pads after a flush
1307         or stop. Fixes #343538.
1308
1309         * tests/check/libs/collectpads.c: (GST_START_TEST),
1310         (gst_collect_pads_suite):
1311         Added test for collectpads reusage after EOS.
1312
1313 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1314
1315         * gst/gst.c:
1316          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1317         * win32/common/libgstbase.def:
1318          export gst_collect_pads_set_flushing
1319         * win32/common/libgstreamer.def:
1320          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1321          gst_value_fraction_multiply
1322         * win32/vs6/gst_inspect.dsp:
1323          add a link to intl.lib
1324
1325 2006-05-30  Wim Taymans  <wim@fluendo.com>
1326
1327         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1328         (gst_collect_pads_chain):
1329         Handle the case where a pad is removed from the collection
1330         that could cause the other pads to become collectable.
1331
1332 2006-05-30  Wim Taymans  <wim@fluendo.com>
1333
1334         * gst/gstelement.c:
1335         Clarify the use of _release_request_pad() and
1336         _get_request_pad() a bit better.
1337
1338         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1339         (gst_adapter_take_buffer):
1340         Fix some doc and comment typos.
1341
1342 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1343
1344         * docs/gst/gstreamer-sections.txt:
1345         * docs/libs/gstreamer-libs-sections.txt:
1346           add declared symbols
1347
1348 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1349
1350         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1351         Add debug that can be enabled using a #define at the top of the file,
1352         for dumping stats about how late/early we were when waking up from
1353         waiting on the clock.
1354
1355 2006-05-30  Wim Taymans  <wim@fluendo.com>
1356
1357         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1358         When rebuilding the pad list, don't leak the previous list.
1359
1360 2006-05-30  Wim Taymans  <wim@fluendo.com>
1361
1362         Patch by: Lutz Mueller <lutz at topfrose dot de>
1363
1364         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1365         (gst_base_src_get_query_types), (gst_base_src_update_length):
1366         Publish supported query types.
1367         Update last_stop field in get_range mode so the position
1368         query works. Fixes #342321.
1369
1370 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1371
1372         * docs/gst/gstreamer-sections.txt:
1373         * gst/gsttaglist.c: (_gst_tag_initialize):
1374         * gst/gsttaglist.h:
1375           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1376
1377 2006-05-30  Wim Taymans  <wim@fluendo.com>
1378
1379         Patch by: Alessandro Decina <alessandro at nnva dot org>
1380
1381         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1382         Unlock mutex when removing an unknown pad.
1383         Fixes #343334.
1384
1385         * tests/check/Makefile.am:
1386         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1387         (push_event), (setup), (teardown), (GST_START_TEST),
1388         (gst_collect_pads_suite), (main):
1389         Added collecpads check, disabled for now as check crashes for
1390         some reason.
1391
1392 2006-05-29  Wim Taymans  <wim@fluendo.com>
1393
1394         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1395         Don't leak pads lists.
1396
1397 2006-05-29  Wim Taymans  <wim@fluendo.com>
1398
1399         * docs/libs/gstreamer-libs-sections.txt:
1400         * libs/gst/base/gstcollectpads.c:
1401         (gst_collect_pads_set_flushing_unlocked),
1402         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1403         (gst_collect_pads_stop):
1404         * libs/gst/base/gstcollectpads.h:
1405         API: gst_collect_pads_set_flushing()
1406         Added api to set the pads to flushing, useful for seeking
1407         code in elements using collectpads.
1408         Clear segment when receiving a flush.
1409
1410 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1411
1412         * gst/gst.c: (add_path_func), (init_post):
1413           Don't scan registry paths passed via --gst-plugin-path immediately
1414           (will crash, because absolutely nothing is set up and no types are
1415           registered etc.); do this later in init_post(). Fixes #343057.
1416
1417 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1418
1419         * gst/gst.c: (init_post):
1420           if we have fork, fork while reading/rebuilding the registry
1421           so the parent doesn't take the hit of having all plugins loaded
1422           in memory.  Fixes #342777.
1423         * configure.ac:
1424           Check if we have fork()
1425         * win32/common/config.h.in:
1426           no fork() on win32
1427
1428 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1429
1430         * plugins/elements/gstelements.c:
1431         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1432         (gst_file_src_init), (gst_file_src_set_property),
1433         (gst_file_src_get_property), (gst_file_src_start):
1434         * plugins/elements/gstfilesrc.h:
1435           API: GstFileSrc::use-mmap
1436
1437         Add a use-mmap property to enable easier testing of all code paths.
1438         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1439         in the absence of gnomevfssrc. (Closes #340501)
1440
1441 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1442
1443         * tools/gst-inspect.c:
1444         Add missing include, removes warning of ngettext not being defined on
1445         some arches.
1446
1447 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1448
1449         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1450         Handle NULL input and output pointers silently as a failed conversion,
1451         rather than g_warnings.
1452
1453 2006-05-25  Wim Taymans  <wim@fluendo.com>
1454
1455         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1456         Initialize variable before using. Fixes #342820.
1457
1458 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1459
1460         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1461           Fix off-by-one bug that would only allow peeks of N-1 bytes
1462           from the start even if the buffer to typefind on contains
1463           in fact N bytes of data (makes vorbis typefinding from a
1464           vorbis identification header buffer work).
1465
1466         * tests/check/Makefile.am:
1467         * tests/check/libs/.cvsignore:
1468         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1469         (gst_typefindhelper_suite), (main), (foobar_typefind),
1470         (plugin_init):
1471           Add very basic unit test for gst_type_find_helper_for_buffer()
1472           that checks for the problem fixed above.
1473
1474 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1475
1476         * tools/gst-inspect.c: (print_interfaces),
1477         (print_element_properties_info), (print_element_list), (main):
1478           add more translatable strings
1479
1480 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1481
1482         Patch by: Julien Moutte  <julien at moutte net>
1483
1484         * docs/gst/gstreamer-sections.txt:
1485           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1486           
1487         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1488         (gst_fake_sink_preroll):
1489         * plugins/elements/gstfakesink.h:
1490           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1491
1492 2006-05-23  Wim Taymans  <wim@fluendo.com>
1493
1494         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1495         * gst/gstpad.h:
1496         Added _CUSTOM error and success GstFlowReturn that can be
1497         used be elements internally. 
1498         Added macro to check for SUCCESS flowreturns.
1499         API: GST_FLOW_CUSTOM_SUCCESS
1500         API: GST_FLOW_CUSTOM_ERROR
1501         API: GST_FLOW_IS_SUCCESS
1502
1503         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1504         Added check for GstFlowReturn sanity.
1505
1506 2006-05-23  Wim Taymans  <wim@fluendo.com>
1507
1508         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1509
1510         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1511         (gst_collect_pads_event):
1512         clear/reset segment info in FLUSH_STOP.
1513         Fixes #336929.
1514
1515 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1516
1517         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1518         (gst_collect_pads_check_collected):
1519         Flush queued buffer on _stop(), fixes playing again (#342454)
1520
1521 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1522
1523         * tests/check/gst/gststructure.c: (GST_START_TEST),
1524         (gst_structure_suite):
1525           add a test for a complete structure
1526
1527 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         * docs/faq/developing.xml:
1530         * docs/faq/faq.xml:
1531         * docs/faq/troubleshooting.xml:
1532         * docs/faq/using.xml:
1533           Some minor FAQ updates that won't change the fact that
1534           our FAQ is badly structured, full of information hardly
1535           anyone new to GStreamer needs to know and lacking lots
1536           of information people constantly ask for.
1537           
1538 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1539
1540         * gst/gstpad.c: (gst_pad_set_caps):
1541           Short-circuit gst_pad_set_caps if setting the existing
1542           caps pointer again, and avoid printing debug and 
1543           reffing/unreffing the caps.
1544
1545         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1546           There's actually no need to set the caps before pushing -
1547           the acceptcaps method will handle it anyway.
1548
1549 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1550
1551         * docs/gst/gstreamer-sections.txt:
1552         * win32/common/libgstreamer.def:
1553         * gst/gstutils.c: (gst_element_seek_simple):
1554         * gst/gstutils.h:
1555           API: add gst_element_seek_simple() (#342238).
1556
1557 2006-05-18  Edward Hervey  <edward@fluendo.com>
1558
1559         * gst/gsttypefind.c: (gst_type_find_get_type):
1560         * gst/gsttypefind.h:
1561         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1562         registered for GstTypeFind pointers. This allows wrapping the structure
1563         in bindings (i.e. gst-python).
1564
1565 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1566
1567         * gst/gsttagsetter.c:
1568           Docs additions and fixes (see #339918).
1569
1570 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1571
1572         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1573         The caps intersection algorithm can produce multiple copies of the
1574         caps. Until that is fixed, we need to simplify the result to be
1575         sure whether the allowed caps are fixed or not.
1576
1577         * plugins/elements/gstqueue.c: (gst_queue_init),
1578         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1579         (gst_queue_push_one):
1580         Proxied buffer alloc should not set the caps on the source pad.
1581         When pushing buffers, we always accept the caps change that triggers.
1582         This prevents negotiation errors caused by caps changing mid-stream 
1583         and then being refused on our source pad (because upstream is now
1584         refusing those caps).
1585
1586 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1587
1588         * tests/examples/helloworld/helloworld.c: (main):
1589           Must plug audioconvert and audioresample between decoder
1590           and audio sink.
1591
1592 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1593
1594         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1595         (load_feature), (load_plugin):
1596         Allow empty strings for some of the plugin fields so we don't 
1597         drop valid plugin entries that were written out correctly
1598         (Fixes #341479)
1599
1600 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1601         
1602         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1603           Use g_remove and g_rename instead of remove and rename that don't 
1604           handle utf8 characters. rename was failing for users who had specific
1605           characters in their name then the registry was built at each 
1606           gstreamer init.
1607         * win32/vs6/gst_inspect.dsp:
1608         * win32/vs6/gst_launch.dsp:
1609         * win32/vs6/libgstbase.dsp:
1610         * win32/vs6/libgstcoreelements.dsp:
1611         * win32/vs6/libgstreamer.dsp:
1612           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1613           build of libgstreamer and clean unused libraries in projects link 
1614           settings.
1615
1616 2006-05-17  Edward Hervey  <edward@fluendo.com>
1617
1618         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1619         The queue is not responsible for pushing an EOS when receiving a fatal
1620         flow error. It's up to the real element driving the pipeline to do that.
1621
1622 2006-05-16  Edward Hervey  <edward@fluendo.com>
1623
1624         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1625         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1626         buffer returned a fatal error. It should just send an EOS and stop
1627         its task.
1628         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1629         when pushing buffers on the queue and will be able to handle the event.
1630
1631 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1632
1633         * docs/manual/basics-bins.xml:
1634         * docs/manual/basics-init.xml:
1635           Fix typos and minor errors in sample code (#341856).
1636
1637 2006-05-16  Wim Taymans  <wim@fluendo.com>
1638
1639         * docs/design/part-qos.txt:
1640         Fix indexes in formulas to make more sense.
1641
1642 2006-05-15  Wim Taymans  <wim@fluendo.com>
1643
1644         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1645         Don't report POSITION based on clock time if sync is
1646         disabled in a sink.
1647
1648 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1649
1650         * gst/gstobject.h:
1651           Add cast to make compiler happy - refcount variable was a gint
1652           in GstObject but is a guint in GObject and g_atomic_int_get()
1653           wants a gint *.
1654
1655 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1656
1657         * gst/parse/Makefile.am:
1658           chain commands using &&, which also makes parallel make work
1659
1660 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1661
1662         * docs/gst/gstreamer-sections.txt:
1663         * gst/gstevent.c:
1664         * gst/gstevent.h:
1665         * gst/gstmessage.h:
1666           Minor docs fixes.
1667
1668 === release 0.10.6 ===
1669
1670 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1671
1672         * configure.ac:
1673           releasing 0.10.6, "Take the cannoli"
1674
1675 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1676
1677         * tools/gst-launch.c: (print_tag):
1678           Fix use of uninitialized variable in the hypothetical
1679           case that some broken plugin creates a GST_TAG_IMAGE
1680           tag containing a NULL buffer (#341667).
1681
1682 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1683
1684         * tools/gst-launch.c: (print_tag):
1685           Print something more intelligible for image tags when
1686           using the -t switch (#341556).
1687
1688 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1689
1690         * Makefile.am:
1691           updates for win32
1692         * configure.ac:
1693           define GST_MAJORMINOR so we have it available in win32/common/config.h
1694           Possibly remove it from our Makefile.am files later
1695         * win32/common/config.h:
1696         * win32/common/config.h.in:
1697           added GST_MAJORMINOR
1698         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1699         * win32/common/gstversion.h:
1700           updated
1701
1702 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1703
1704         * win32/MANIFEST:
1705           Update win32 files listing.
1706         * win32/common/gstversion.h:
1707           Add GST_MAJORMINOR definition.
1708         * win32/common/libgstreamer.def:
1709           Add new exported functions.
1710           
1711 2006-05-12  Michael Smith  <msmith@fluendo.com>
1712
1713         * gst/gstplugin.c: (gst_plugin_load_file):
1714           If an so file has no plugin entry point, unload the module.
1715
1716 2006-05-11  Wim Taymans  <wim@fluendo.com>
1717
1718         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1719         (gst_queue_set_property):
1720         Don't forget to signal the _chain or _loop function 
1721         when the queue size or thresholds change since that might
1722         cause them to make progres again.
1723
1724 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1725
1726         * gst/gstclock.c: (gst_clock_class_init):
1727         * gst/gstindex.c: (gst_index_class_init):
1728         * gst/gstobject.c: (gst_object_class_init):
1729         * gst/gstpad.c: (gst_pad_class_init):
1730         * gst/gstpipeline.c: (gst_pipeline_class_init):
1731         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1732         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1733         * libs/gst/base/gstbasetransform.c:
1734         (gst_base_transform_class_init):
1735         * libs/gst/net/gstnetclientclock.c:
1736         (gst_net_client_clock_class_init):
1737         * libs/gst/net/gstnettimeprovider.c:
1738         (gst_net_time_provider_class_init):
1739         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1740         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1741         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1742         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1743         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1744         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1745         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1746         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1747         * plugins/elements/gsttee.c: (gst_tee_class_init):
1748         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1749         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1750           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1751
1752 2006-05-11  Wim Taymans  <wim@fluendo.com>
1753
1754         * gst/gstbuffer.c: (_gst_buffer_initialize):
1755         Register subbufer along with the buffer type so that
1756         it does not accidentally gets registered from N
1757         different streaming threads in a non threadsafe way.
1758
1759 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1760
1761         * gst/gstbuffer.h:
1762         * gst/gstevent.h:
1763         * gst/gstmessage.h:
1764           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1765           gst_event_ref() and gst_message_ref() functions again
1766           (ugly hack, please do fix if there's a better way besides
1767           overrides.txt, which doesn't seem to work).
1768
1769 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1770
1771         * libs/gst/check/gstcheck.h:
1772           add an assert for setting state to avoid lots of repetitive code
1773           in the future
1774
1775 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * gst/gstvalue.c: (gst_value_serialize_flags):
1778           fix a leak if no flags are set
1779         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1780           fix leak in tests
1781
1782 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1783
1784         * docs/manual/basics-pads.xml:
1785           Expand a bit on caps and filtered links and update
1786           examples that were still using the no longer existing
1787           gst_pad_link_filtered() (#338206).
1788
1789 2006-05-10  Wim Taymans  <wim@fluendo.com>
1790
1791         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1792         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1793         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1794         (gst_collect_pads_stop):
1795         * libs/gst/base/gstcollectpads.h:
1796         No need to call _stop in _finalize.
1797         Iterate the main pad list in _finalize.
1798         Added some more debug.
1799         Free lists and data in the right order.
1800         Also free data whem doing _remove_pad when stopped for
1801         backward compatibility protect ::started with PAD_LOCK as
1802         well.
1803
1804 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1805
1806         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1807         (gst_structure_parse_value):
1808           add some comments
1809           rename a method so that it actually says what it does better
1810
1811 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * gst/gstevent.c: (_gst_event_initialize):
1814         * gst/gstformat.c: (_gst_format_initialize):
1815           make sure some essential types used by events are registered
1816           as part of gst_init()
1817         * gst/gstvalue.c: (gst_value_serialize_flags):
1818           if no flags are set, serialize them to a value that represents NONE
1819           so that deserializing them works
1820         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1821           add tests for serialization and deserialization of flags
1822
1823 2006-05-10  Wim Taymans  <wim@fluendo.com>
1824
1825         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1826         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1827         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1828         (gst_collect_pads_event), (gst_collect_pads_chain):
1829         Update docs.
1830         Better debug info.
1831         Catch and return errors from the collect function
1832         Refuse data on eos pads.
1833
1834 2006-05-10  Edward Hervey  <edward@fluendo.com>
1835
1836         * gst/gstinterface.h:
1837         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1838         GInterface type checking.
1839         They were previously using non-defined macros.
1840
1841 2006-05-09  Wim Taymans  <wim@fluendo.com>
1842
1843         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1844         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1845         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1846         (gst_collect_pads_start), (gst_collect_pads_stop),
1847         (gst_collect_pads_peek), (gst_collect_pads_pop),
1848         (gst_collect_pads_available), (gst_collect_pads_read),
1849         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1850         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1851         (gst_collect_pads_chain):
1852         * libs/gst/base/gstcollectpads.h:
1853         Clean up the mess that is collectpads, add comments and
1854         FIXMEs where needed.
1855         Maintain a separate pad list so we can add pads while
1856         collecting the other ones. For this we need a new separate 
1857         lock (see comics).
1858         Fix memory leak in finalize.
1859         Refactor some weird code to set/unset pad flushing flags, mark
1860         with comments.
1861         Don't crash in _available, _read, _flush when we're EOS.
1862
1863         * tests/check/libs/.cvsignore:
1864         Ignore adapter check binary.
1865
1866 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1867
1868         * gst/gstindex.c: (gst_index_resolver_get_type):
1869         * plugins/elements/gstfakesink.c:
1870         (gst_fake_sink_state_error_get_type):
1871         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1872         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1873         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1874           Const-ify GEnumValue arrays.
1875
1876 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1877
1878         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1879           Add test case for flags + gst_buffer_make_metadata_writable().
1880
1881 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1882
1883         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1884           gst_buffer_make_metadata_writable() should maintain the
1885           buffer flags (those that make sense at least) (see #340859).
1886
1887 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1888
1889         * tools/gst-inspect.c:
1890         * tools/gst-launch.c:
1891         * tools/gst-typefind.c:
1892         * tools/gst-xmlinspect.c:
1893         * tools/tools.h:
1894           Fix up includes: need to include stdlib.h in tools.h for exit().
1895
1896 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1897
1898         * gst/gsttaglist.c: (_gst_tag_initialize):
1899         * gst/gsttaglist.h:
1900           API: add GST_TAG_IMAGE tag (#340721).
1901
1902 2006-05-08  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/gstquery.c:
1905         Added some docs for the segment query.
1906
1907 2006-05-08  Wim Taymans  <wim@fluendo.com>
1908
1909         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1910         (gst_base_src_loop), (gst_base_src_change_state):
1911         Always push non-flushing serialized events in the streaming 
1912         thread.
1913
1914 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1915
1916         * gst/gsterror.c: (_gst_stream_errors_init):
1917           Add a missing error string.
1918
1919 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1920
1921         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1922         Add applied_rate to the debug
1923
1924         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1925         Copy applied_rate into the outgoing NEWSEGMENT event
1926
1927 2006-05-08  Wim Taymans  <wim@fluendo.com>
1928
1929         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1930
1931         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1932         (gst_base_sink_change_state):
1933         call ::unlock before taking the PREROLL_LOCK so we can safely
1934         handle elements that lock in ::render.
1935         Fixes #340174.
1936
1937 2006-05-08  Edward Hervey  <edward@fluendo.com>
1938
1939         * autogen.sh: (CONFIGURE_DEF_OPT): 
1940         Darwin's libtoolize is in fact called glibtoolize.
1941         Adding glibtoolize to the list of accepted names for libtoolize.
1942
1943 2006-05-08  Wim Taymans  <wim@fluendo.com>
1944
1945         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1946         Unify error handling, don't post an error message
1947         when a push() returns EOS but perform our normal EOS
1948         handling code. Fixes #340772.
1949
1950 2006-05-08  Wim Taymans  <wim@fluendo.com>
1951
1952         * docs/design/part-overview.txt:
1953         Make upsteam/downstream concepts more clear.
1954         Give an example of serialized/non-serialized events.
1955
1956         * docs/design/part-events.txt:
1957         * docs/design/part-streams.txt:
1958         Mention applied_rate.
1959
1960         * docs/design/part-trickmodes.txt:
1961         Mention applied rate, flesh out some more use cases.
1962
1963         * gst/gstevent.c: (gst_event_new_new_segment),
1964         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1965         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1966         (gst_event_parse_tag), (gst_event_new_buffer_size),
1967         (gst_event_parse_buffer_size), (gst_event_new_qos),
1968         (gst_event_parse_qos), (gst_event_parse_seek),
1969         (gst_event_new_navigation):
1970         * gst/gstevent.h:
1971         Add applied_rate field to NEWSEGMENT event.
1972         API: gst_event_new_new_segment_full()
1973         API: gst_event_parse_new_segment_full()
1974
1975         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1976         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1977         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1978         * gst/gstsegment.h:
1979         Add applied_rate to GstSegment structure.
1980         Make calculation of stream_time and running_time more correct
1981         wrt rate/applied_rate.
1982         Add some more docs.
1983         API: GstSegment::applied_rate field
1984         API: gst_segment_set_newsegment_full();
1985
1986         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1987         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1988         * libs/gst/base/gstbasetransform.c:
1989         (gst_base_transform_sink_eventfunc),
1990         (gst_base_transform_handle_buffer):
1991         Parse and use applied_rate in the GstSegment field.
1992
1993         * tests/check/gst/gstevent.c: (GST_START_TEST):
1994         Add check for applied_rate field.
1995
1996         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1997         (gstsegments_suite):
1998         Add more checks for various GstSegment operations.
1999
2000 2006-05-08  Wim Taymans  <wim@fluendo.com>
2001
2002         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2003         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
2004         (gst_base_sink_get_position), (gst_base_sink_change_state):
2005         Store the sync time of the buffer end position separatly in a
2006         new variable eos_rtime so we can properly sync the EOS event.
2007         Fixes #340697.
2008         Fix the docs for gst_base_sink_set_qos_enabled().
2009         Don't set segment start to invalid value when we receive a 
2010         non TIME newsegment.
2011         get closer to handling position reporting for negative rates 
2012         correctly.
2013
2014 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2015
2016         * gst/gstcaps.c:
2017         Docs about how to print caps for debug purposes.
2018
2019         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2020         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2021
2022 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2023
2024         * gst/gstelement.c:
2025           use full enum names and preprend a '%' in docs strings to make recent 
2026           gtk-doc turn that into a link
2027
2028 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2029
2030         * docs/manual/basics-bins.xml:
2031         * docs/manual/basics-bus.xml:
2032         * docs/manual/basics-pads.xml:
2033           Some typo fixes, some additions, some clarifications. 
2034
2035 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2036
2037         * tools/gst-inspect.c: (main):
2038         * tools/gst-launch.c: (main):
2039         * tools/gst-run.c: (main):
2040         * tools/gst-typefind.c: (main):
2041         * tools/gst-xmlinspect.c: (main):
2042           Use the string passed to g_option_context_new() for
2043           what it's intended for - the program name is already
2044           printed elsewhere.
2045
2046 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2047
2048         * tools/Makefile.am:
2049         * tools/gst-inspect.c: (main):
2050         * tools/gst-launch.c: (main):
2051         * tools/gst-xmlinspect.c: (main):
2052         * tools/tools.h:
2053           Add back --version command line option (#340460).
2054
2055         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2056           Add --version option and use GOption for argument parsing; refactor a
2057           bit; accept directories as arguments and recurse into them; lastly,
2058           print a decent error message when things go wrong.
2059
2060 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2061
2062         * docs/manual/basics-bins.xml:
2063         Don't mention GstThread (#340611)
2064         * docs/manual/basics-elements.xml:
2065         Update link to GObject tutorial (#340607)
2066         
2067 2006-05-05  Wim Taymans  <wim@fluendo.com>
2068
2069         * gst/gstbuffer.h:
2070         * gst/gstminiobject.c:
2071         Add note about refcounting and miniobject/buffer writeability
2072         to docs. Fixes #340604
2073
2074         * gst/gstelementfactory.h:
2075         Added some explanation about @klass.
2076
2077 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2078
2079         * docs/manual/intro-motivation.xml:
2080         * docs/manual/manual.xml:
2081         Avoid CORBA & Bonobo references (#340598)
2082
2083 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2084
2085         * docs/manual/basics-bus.xml:
2086         * docs/manual/basics-pads.xml:
2087         Fix up some inaccuracies and omissions (#340609)
2088         
2089 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2090
2091         * gst/gstghostpad.c:
2092           Small typo in docs (#340625)
2093
2094 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2095
2096         * gst/parse/Makefile.am:
2097           Make 'make -j' proof (see #340698).
2098
2099 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2100
2101         * configure.ac:
2102           Require GLib-2.8 here as well.
2103
2104 2006-05-05  Wim Taymans  <wim@fluendo.com>
2105
2106         * gst/glib-compat.c:
2107         * gst/gst.c: (init_pre):
2108         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2109         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2110         (gst_object_dispatch_properties_changed):
2111         * gst/gstobject.h:
2112         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2113         * gst/gststructure.c: (gst_structure_set_valist):
2114         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2115         Remove pre glib2.8 compatibility, fixes #340508
2116
2117 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2118
2119         * gst/gsttaglist.h:
2120           Mention type of tags in doc blurbs.
2121
2122 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2123
2124         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2125         (gst_pad_configure_src), (gst_pad_push):
2126         Restore acceptcaps checking behaviour now that good plugins have
2127         been released.
2128
2129 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2130
2131         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2132
2133         * gst/gst.c:
2134         * gst/gstbus.c:
2135         * gst/gstclock.c:
2136         * gst/gstevent.c:
2137         * gst/gstformat.c:
2138         * gst/gstmessage.c:
2139         * gst/gstparse.c:
2140         * gst/gstquery.c:
2141         * gst/gstutils.c:
2142         * gst/parse/Makefile.am:
2143         * libs/gst/base/gstadapter.c:
2144         * libs/gst/base/gstbasesrc.c:
2145         * libs/gst/base/gstpushsrc.c:
2146         * libs/gst/base/gsttypefindhelper.c:
2147         * plugins/elements/gstfakesrc.c:
2148         * plugins/elements/gstidentity.c:
2149           Make sure gstprivate.h and/or config.h are
2150           always included first, otherwise some of our
2151           defines (like _FILE_OFFSET_BITS) might be
2152           redefined in the system headers. Fixes build
2153           on opensolaris (#340016).
2154
2155 2006-05-04  Wim Taymans  <wim@fluendo.com>
2156
2157         * docs/libs/gstreamer-libs-sections.txt:
2158         API: addition: gst_adapter_take_buffer()
2159         
2160         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2161         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2162         (gst_adapter_available_fast):
2163         * libs/gst/base/gstadapter.h:
2164         Prepare for optimizing the hell out of this hugely inefficient
2165         piece of code. 
2166         Added gst_adapter_take_buffer() so we can at least start thinking
2167         about subbuffering and merging.
2168         Added some comments.
2169
2170         * tests/check/Makefile.am:
2171         * tests/check/libs/adapter.c: (GST_START_TEST),
2172         (gst_adapter_suite), (main):
2173         Added GstAdapter check.
2174
2175 2006-05-04  Wim Taymans  <wim@fluendo.com>
2176
2177         * docs/design/part-overview.txt:
2178         Fix some typos, add blurb about buffer flags.
2179
2180 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2181
2182         * docs/libs/gstreamer-libs-sections.txt:
2183           make sure GstBaseTransformClass shows up in the docs
2184         * libs/gst/base/gstbasetransform.c:
2185         * libs/gst/base/gstbasetransform.h:
2186           move docs so gtk-doc picks it up now
2187
2188 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2189
2190         * docs/libs/gstreamer-libs-sections.txt:
2191           add missing symbols to docs
2192
2193 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2194
2195         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2196           back out the newsegment handling change, see #340060 for ongoing
2197           discussion
2198
2199 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2200
2201         * tools/gst-run.c: (get_candidates), (main):
2202           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2203           work); fix typo in error message. Fixes #340079.
2204
2205 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2206
2207         * common/Makefile.am:
2208         * docs/Makefile.am:
2209         * docs/faq/Makefile.am:
2210         * docs/gst/Makefile.am:
2211         * docs/libs/Makefile.am:
2212         * docs/manual/Makefile.am:
2213         * docs/plugins/Makefile.am:
2214         * docs/pwg/Makefile.am:
2215         * docs/slides/Makefile.am:
2216         * docs/upload.mak:
2217         * common/upload.mak:
2218           move upload.mak to common
2219
2220 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2221
2222         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2223           add more asserts on refcounts
2224           do more cleanup at end of tests
2225           fix test leaks showing in FC5
2226
2227 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2228
2229         * plugins/elements/gsttypefindelement.c:
2230         (gst_type_find_element_handle_event):
2231         reverted wrong change and reflowed code to avoid others falling into
2232         this trap
2233
2234 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2235
2236         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2237           fix changelog entry about last collectpads change,
2238           add notes about proper fix
2239
2240 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2241
2242         * gst/gst.c:
2243         * gst/gstregistry.c: (gst_registry_scan_path_level),
2244         (gst_registry_scan_path):
2245         * gst/gstregistry.h:
2246           only write out registry if it has changed, fixes #338339
2247
2248 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2249
2250         * gst/gstbin.c:
2251         * gst/gstpipeline.c:
2252         * plugins/elements/gstcapsfilter.c:
2253         * plugins/elements/gstfakesink.c:
2254         * plugins/elements/gstfakesrc.c:
2255         * plugins/elements/gstfdsink.c:
2256         * plugins/elements/gstfdsrc.c:
2257         * plugins/elements/gstfilesink.c:
2258         * plugins/elements/gstfilesrc.c:
2259         * plugins/elements/gstidentity.c:
2260         * plugins/elements/gstqueue.c:
2261         * plugins/elements/gsttee.c:
2262         * plugins/elements/gsttypefindelement.c:
2263         (gst_type_find_element_handle_event):
2264           make GstElementDetails const
2265
2266 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2267
2268         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2269         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2270         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2271           more detailed debug and formatting cleanup,
2272           forward newsegments to src-pad (so that e.g. adder not eats them)
2273
2274 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2275
2276         * gst/gstutils.c: (gst_element_link_pads):
2277           cleanup double code
2278
2279 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2280
2281         * libs/gst/controller/gstcontroller.c:
2282         (gst_controller_sync_values):
2283           some little tuning
2284         * tests/check/libs/controller.c: (GST_START_TEST),
2285         (gst_controller_suite):
2286           a new test for live value handling
2287
2288 2006-04-28  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/gstutils.c: (push_and_ref):
2291         Added some more docs.
2292         Fix refcount issue whith gst_element_found_tags() helper 
2293         function. Fixes #338335
2294
2295         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2296         Added testsuite for gst_element_found_tags().
2297
2298 2006-04-28  Michael Smith  <msmith@fluendo.com>
2299
2300         * gst/gstvalue.c: (gst_value_serialize_flags):
2301           Avoid NULL dereference when trying to serialize flags containing
2302           invalid values.
2303
2304 2006-04-28  Michael Smith  <msmith@fluendo.com>
2305
2306         * plugins/elements/gsttypefindelement.c:
2307         (gst_type_find_element_handle_event):
2308           If we get EOS before any data is accumulated, don't use
2309           uninitialised local variables.
2310
2311 2006-04-28  Michael Smith  <msmith@fluendo.com>
2312
2313         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2314         (gst_dp_event_from_packet):
2315           Fixes in reading/writing events over GDP (not currently used?) - 
2316           dereferencing NULL events for unknown/invalid event types, memory
2317           leak, and change g_warning to GST_WARNING.
2318
2319 2006-04-28  Wim Taymans  <wim@fluendo.com>
2320
2321         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2322         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2323         (gst_base_sink_get_position), (gst_base_sink_change_state):
2324         When frame dropping is enabled, we should not ignore frames
2325         without a duration.
2326         Update some documentation.
2327
2328 2006-04-28  Wim Taymans  <wim@fluendo.com>
2329
2330         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2331         (gst_base_src_send_event), (gst_base_src_change_state):
2332         Documentation updates.
2333
2334 2006-04-28  Wim Taymans  <wim@fluendo.com>
2335
2336         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2337         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2338         handle EAGAIN, EINTR and short writes correctly. Also clean
2339         up some error cases, avoid a deadlock on bad file descriptors and
2340         use GST_DEBUG_OBJECT.
2341         Fixes #339843
2342
2343 2006-04-28  Wim Taymans  <wim@fluendo.com>
2344
2345         * gst/gstvalue.c: (gst_value_serialize_buffer),
2346         (gst_value_deserialize_buffer):
2347         Don't try to serialize a GValue with a NULL buffer. 
2348         Fixes #339821.
2349
2350         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2351         Added check for serialisation of NULL buffers.
2352
2353 2006-04-28  Wim Taymans  <wim@fluendo.com>
2354
2355         * gst/gstminiobject.c: (gst_value_take_mini_object):
2356         Taking a NULL miniobject is valid, fix the case where
2357         we try to unref the NULL miniobject.
2358
2359 2006-04-28  Wim Taymans  <wim@fluendo.com>
2360
2361         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2362
2363         * gst/gstbin.c: (gst_bin_handle_message_func):
2364         Update docs.
2365         Don't leak bin refcount when a state recalc is
2366         in progress and we delay another one #339808.
2367
2368 2006-04-28  Wim Taymans  <wim@fluendo.com>
2369
2370         * docs/design/part-TODO.txt:
2371         Mention QoS as an ongoing work item.
2372
2373         * docs/design/part-buffering.txt:
2374         New doc about buffering that needs to be fleshed out
2375         at some point.
2376
2377         * docs/design/part-qos.txt:
2378         More QoS policy for decoders/demuxers/transforms
2379
2380         * docs/design/part-trickmodes.txt:
2381         Small update.
2382
2383 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2384
2385         * configure.ac:
2386           back to HEAD
2387
2388 === release 0.10.5 ===
2389
2390 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2391
2392         * configure.ac:
2393           releasing 0.10.5, "Fogo"
2394
2395 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2396
2397         patch by: Wim Taymans
2398
2399         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2400         (gst_pad_configure_src), (gst_pad_push):
2401         * gst/gstpipeline.c: (gst_pipeline_init):
2402           Fix internal data flow errors.  Fixes #338711.
2403
2404 2006-04-12  Wim Taymans  <wim@fluendo.com>
2405
2406         * tests/check/gst/gstelement.c: (GST_START_TEST):
2407         Don't leak the factory.
2408
2409 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2410
2411         * configure.ac:
2412         * win32/common/config.h:
2413           prerelease
2414
2415 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2416
2417         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2418         (gst_controller_unset_all):
2419           Free allocated GstTimedValues when freeing list nodes.
2420           Should fix leaks 'make check-valgrind' complains about.
2421
2422         * win32/common/libgstcontroller.def:
2423           Add gst_controller_unset_all.
2424
2425 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2426
2427         * docs/libs/gstreamer-libs-sections.txt:
2428         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2429         (gst_controller_unset_all):
2430         * libs/gst/controller/gstcontroller.h:
2431         API: Added new method gst_controller_unset_all()
2432         fixed gst_controller_unset()
2433         * tests/check/libs/controller.c: (GST_START_TEST),
2434         (gst_controller_suite):
2435         Added two testcases for new and fixed method
2436
2437 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2438
2439         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2440           MSG_DONTWAIT is not defined on Cygwin, so work
2441           around that (fixes #317048).
2442           
2443 2006-04-11  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/gstelementfactory.c: (gst_element_register),
2446         (gst_element_factory_create), (gst_element_factory_make):
2447         Some cleanups.
2448         Fixed a FIXME.
2449         Updated docs (Fixes #131079)
2450
2451         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2452         Small cleanups.
2453
2454         * tests/check/gst/gstelement.c: (GST_START_TEST),
2455         (gst_element_suite):
2456         Added testcase for elementfactory class field.
2457
2458 2006-04-10  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/gstsegment.c:
2461         Added some more docs.
2462
2463         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2464         (gst_base_sink_reset_qos):
2465         Calculate more accurate rate values.
2466
2467 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2468
2469         * gst/gst_private.h:
2470           add a new #ifdef to use __declspec(dllimport) only for
2471           other modules and not for gstreamer core
2472         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2473           use gst_guint64_to_gdouble for conversion
2474         * win32/common/libgstreamer.def:
2475           add new exported functions
2476         * win32/vs6/gst_inspect.dsp:
2477         * win32/vs6/gst_launch.dsp:
2478         * win32/vs6/libgstbase.dsp:
2479         * win32/vs6/libgstcontroller.dsp:
2480         * win32/vs6/libgstcoreelements.dsp:
2481         * win32/vs6/libgstdataprotocol.dsp:
2482         * win32/vs6/libgstnet.dsp:
2483           update project files
2484
2485 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2486
2487         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2488         * gst/gstclock.c: (gst_clock_class_init):
2489         * gst/gstelement.c: (gst_element_class_init):
2490         * gst/gstindex.c: (gst_index_class_init):
2491         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2492         * gst/gstobject.c: (gst_object_class_init),
2493         (gst_signal_object_class_init):
2494         * gst/gstpad.c: (gst_pad_class_init):
2495         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2496         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2497         * gst/gstregistry.c: (gst_registry_class_init):
2498         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2499         * gst/gsttask.c: (gst_task_class_init):
2500         * gst/gstxml.c: (gst_xml_class_init):
2501         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2502         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2503         (gst_base_src_loop):
2504         * libs/gst/controller/gstcontroller.c:/
2505         (_gst_controller_class_init):
2506         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2507         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2508         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2509         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2510         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2511         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2512
2513 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2514
2515         * gst/gstpad.c: (gst_pad_link):
2516           Must set peer pads before calling the link function, otherwise
2517           a task started from a link function might get a flow-not-linked
2518           result when trying to push because the other thread where the
2519           linking happens hasn't had a chance to set the peers yet. This
2520           might happen for example when a queue gets linked to a downstream
2521           element, as queue starts a streaming task when its source pad
2522           gets linked. Happens in real life when playing back flac/musepack
2523           files in playbin (#332390).
2524           
2525 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2526
2527         * gst/gstindex.h:
2528         * gst/gstxml.h:
2529         * libs/gst/base/gstadapter.h:
2530         * libs/gst/base/gstbasesink.h:
2531         * libs/gst/base/gstbasesrc.h:
2532         * libs/gst/base/gstbasetransform.h:
2533         * libs/gst/base/gstcollectpads.h:
2534         * libs/gst/base/gstpushsrc.h:
2535         Fix broken GObject macros
2536
2537 2006-04-07  Wim Taymans  <wim@fluendo.com>
2538
2539         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2540         Initialize start and stop times, thanks valgrind.
2541
2542 2006-04-07  Wim Taymans  <wim@fluendo.com>
2543
2544         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2545         Be a bit nicer to badly behaving upstream elements that expect
2546         us to deal with non TIME segments and timestamps (such as fakesrc
2547         in the testsuite).
2548
2549 2006-04-07  Wim Taymans  <wim@fluendo.com>
2550
2551         * gst/gstbus.c:
2552         Small documentation clarification about the signal watch.
2553
2554         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2555         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2556         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2557         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2558         (gst_base_sink_get_position_last),
2559         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2560         Convert and store timestamps in stream time and running time, the
2561         raw timestamps are not usefull, also document this better.
2562         Use different window sizes for good and bad QoS observations so
2563         we react to badness a little quicker.
2564         Keep track of the amount of rendered and dropped buffers.
2565         Send QoS timestamps in running time.
2566
2567         * libs/gst/base/gstbasetransform.c:
2568         (gst_base_transform_sink_eventfunc),
2569         (gst_base_transform_handle_buffer):
2570         Compare QoS timestamps against running time.
2571
2572 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2573
2574         * gst/gstpad.c:
2575           Typo fixes in docs.
2576
2577 2006-04-06  Michael Smith  <msmith@fluendo.com>
2578
2579         * gst/gstpad.c: (gst_pad_set_property):
2580           Use g_value_get_object() instead of g_value_dup_gst_object(),
2581           to avoid double-reffing the pad template (which we then sink,
2582           so this worked previously if (and only if) the pad template
2583           was floating.
2584
2585         * gst/gstpadtemplate.c: (gst_pad_template_init),
2586         (gst_pad_template_pad_created):
2587           Never return floating references to pad templates, create
2588           them as initially-sunken.
2589
2590           Document an extra function (and make this stop sinking our
2591           pad template, since that is now guaranteed to do nothing,
2592           since we created it sunken).
2593
2594         * gst/gstghostpad.c:
2595           Fix docs typo.
2596
2597 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2598
2599         * gst/gstinfo.c: (__gst_in_valgrind):
2600           Add some newlines.
2601
2602         * plugins/elements/gsttypefindelement.c:
2603         (gst_type_find_element_chain):
2604           Don't leak buffer caps.
2605
2606 2006-04-06  Michael Smith  <msmith@fluendo.com>
2607
2608         * gst/parse/grammar.y:
2609           Fix a leak in parse-launch for any source-or-sink named element 
2610           references used.
2611
2612         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2613           Unref the pipeline if it exists after we've failed parsing.
2614
2615 2006-04-05  Michael Smith  <msmith@fluendo.com>
2616
2617         * gst/gstpipeline.c: (gst_pipeline_init):
2618           When we create a pipeline bus, initially create it in flushing mode.
2619           Fixes leaks in at least one test, and makes a new pipeline work the
2620           same as one that has gone to READY and then back to NULL.
2621
2622         * gst/gstelement.c:
2623           Typo fix in docs.
2624
2625 2006-04-05  Michael Smith  <msmith@fluendo.com>
2626
2627         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2628           Unref a pad we reffed.
2629         * tests/check/gst/gstutils.c: (GST_START_TEST):
2630           Unref bins
2631
2632 2006-04-05  Michael Smith  <msmith@fluendo.com>
2633
2634         * gst/gstquery.c: (gst_query_set_formats),
2635         (gst_query_set_formatsv):
2636           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2637
2638 2006-04-05  Michael Smith  <msmith@fluendo.com>
2639
2640         * tests/check/generic/sinks.c: (GST_START_TEST):
2641           Fix a variety of memleaks in sinks check, which are only sometimes 
2642           shown by running the tests under valgrind (weird?).
2643
2644 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2645
2646         * docs/version.entities.in:
2647           Fix the substituted entity name after thomas' changes on the
2648           weekend.
2649
2650 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2651
2652         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2653         VALGRIND_PRINTF
2654         
2655 2006-04-05  Andy Wingo  <wingo@pobox.com>
2656
2657         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2658
2659         * libs/gst/base/gstbasetransform.c
2660         (gst_base_transform_sink_eventfunc): When resetting our segment on
2661         FLUSH_STOP, also update the flag saying we haven't seen a
2662         newsegment.
2663
2664 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2665
2666         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2667
2668         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2669         (gst_plugin_check_license):
2670           minor clean-ups: G_DEFINE_TYPE already takes care of the
2671           parent_class stuff, no need to do it twice. Mark array of
2672           license strings as constant. (#337103)
2673           
2674 2006-04-04  Michael Smith  <msmith@fluendo.com>
2675
2676         * tools/gst-inspect.c: (print_element_list):
2677           Free the right plugin list; fixes a memory leak.
2678
2679 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2680
2681         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2682
2683         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2684           Don't error out on empty buffers (#336945).
2685           
2686 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2687
2688         * docs/libs/gstreamer-libs-sections.txt:
2689         * gst/gsttaglist.c:
2690         * libs/gst/base/gstbasesink.c:
2691         * libs/gst/base/gstbasesink.h:
2692         * libs/gst/base/gstbasesrc.c:
2693         * libs/gst/base/gstbasesrc.h:
2694           Documentation updates. Make BaseSink and BaseSrc docs contain the
2695           class structure so that people can actually see the prototypes for
2696           virtual functions they're supposed to be overriding.
2697
2698 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2699
2700         * plugins/elements/gsttypefindelement.c:
2701         (gst_type_find_element_chain):
2702           More debug info; when skipping typefinding, send cached
2703           events in all cases.
2704
2705 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2706
2707         * configure.ac:
2708           use new AS_VERSION and AS_NANO macros
2709         * gst/gst-i18n-lib.h:
2710         * gst/gst.c:
2711         * gst/gsterror.c:
2712         * gst/gstversion.h.in:
2713         * win32/common/config.h:
2714         * win32/common/config.h.in:
2715           update accordingly
2716
2717 2006-03-31  Michael Smith  <msmith@fluendo.com>
2718
2719         * plugins/elements/gsttypefindelement.c:
2720         (gst_type_find_element_chain):
2721           Do not typefind content if the buffers already have caps.
2722           Neccesary for icydemux (#333657), and the right thing to do anyway.
2723
2724 2006-03-30  Wim Taymans  <wim@fluendo.com>
2725
2726         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2727         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2728         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2729         (gst_base_sink_record_qos_observation),
2730         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2731         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2732         (gst_base_sink_change_state):
2733         More QoS measurements as described in the design doc.
2734         Get rid of ringbuffer with observations, running average is
2735         more simple and equally good.
2736         Calculates valid proportion now.
2737         Added beginning of flood measurement.
2738
2739 2006-03-29  Wim Taymans  <wim@fluendo.com>
2740
2741         * docs/design/part-qos.txt:
2742         * gst/gstclock.c:
2743         Small documentation updates and additions.
2744
2745 2006-03-29  Wim Taymans  <wim@fluendo.com>
2746
2747         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2748         (gst_base_src_send_event), (gst_base_src_loop),
2749         (gst_base_src_change_state):
2750         Perform the EOS logic when we reach the segment stop position.
2751         Fix compilation on gcc4.1
2752
2753 2006-03-29  Wim Taymans  <wim@fluendo.com>
2754
2755         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2756
2757         * plugins/elements/gstqueue.c: (gst_queue_init),
2758         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2759         (gst_queue_set_property):
2760         * plugins/elements/gstqueue.h:
2761         In queue, when EOS is received, if minimum threshold > max_size -
2762         current_level, there is chance that queue blocks forever in conditional
2763         item del wait. This is because the queue is not emptied completely due
2764         to minimum threshold.  Here is another approach. Instead of setting
2765         cur_levels to max in EOS, just zero all minimum threshold levels. This
2766         should make sure that queue gives out all data. When going to READY
2767         (stop) state, just reset the original minimum threshold levels.
2768         Fixes #336336.
2769
2770 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2771
2772         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2773         (gst_type_find_element_handle_event),
2774         (gst_type_find_element_send_cached_events),
2775         (gst_type_find_element_change_state):
2776         * plugins/elements/gsttypefindelement.h:
2777           When typefinding is done in push mode, we should cache
2778           events we receive during typefinding instead of just
2779           dropping them (e.g. newsegment, custom events from
2780           dvdreadsrc etc.) and then send them out once we've
2781           determined the type of the stream (and decodebin
2782           has had a chance to plug in a decoder/demuxer).
2783           
2784 2006-03-27  Wim Taymans  <wim@fluendo.com>
2785
2786         * docs/design/part-qos.txt:
2787         First QoS ideas.
2788
2789 2006-03-27  Wim Taymans  <wim@fluendo.com>
2790
2791         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2792
2793         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2794         (gst_base_src_send_event), (gst_base_src_change_state):
2795         Handle element seek correctly when we are streaming.
2796         Fixes #326998.
2797
2798 2006-03-24  Michael Smith  <msmith@fluendo.com>
2799
2800         * docs/faq/gst-uninstalled:
2801           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2802           allow you to correctly run intalled applications built against old 
2803           core, using plugins that require updated core (e.g. running
2804           installed totem against a full uninstalled gstreamer stack)
2805
2806 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2807
2808         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2809         more debug details
2810
2811 2006-03-24  Wim Taymans  <wim@fluendo.com>
2812
2813         * docs/gst/gstreamer-sections.txt:
2814         Rearrange the order of the methods so that related methods
2815         are grouped together in sections.
2816
2817 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2818
2819         * gst/gstelement.c:
2820           Little clarification in the docs
2821
2822 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2823
2824         * docs/README:
2825         formatting fix
2826         * plugins/elements/gstidentity.c:
2827         * plugins/elements/gstqueue.c:
2828         * plugins/elements/gsttee.c:
2829         * plugins/elements/gsttypefindelement.c:
2830         GST_ELEMENT_DETAILS formatting
2831
2832 2006-03-24  Wim Taymans  <wim@fluendo.com>
2833
2834         * libs/gst/base/gstbasesink.h:
2835         Only add fields, not insert or we break ABI.
2836
2837 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2838
2839         * win32/common/libgstbase.def:
2840         * win32/common/libgstreamer.def:
2841           Update, add recently added functions.
2842
2843 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2844
2845         * docs/gst/gstreamer-sections.txt:
2846         * gst/gstutils.c: (gst_pad_query_peer_position),
2847         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2848         * gst/gstutils.h:
2849           API: add some new utility functions:
2850            - gst_pad_query_peer_position()
2851            - gst_pad_query_peer_duration()
2852            - gst_pad_query_peer_convert()
2853           
2854 2006-03-23  Wim Taymans  <wim@fluendo.com>
2855
2856         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2857         (gst_base_sink_init), (gst_base_sink_finalize),
2858         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2859         (gst_base_sink_set_property), (gst_base_sink_get_property),
2860         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2861         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2862         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2863         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2864         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2865         (gst_base_sink_preroll_object), (gst_base_sink_event),
2866         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2867         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2868         (gst_base_sink_query), (gst_base_sink_change_state):
2869         Decouple max-lateness and the fact that QoS messages are generated
2870         with a new property (qos).
2871         added API: GstBaseSink::async_play()
2872         Add vmethod so subclasses can be notified of ASYNC playing
2873         state changes.
2874         Collect timestamp start and stop to report better current
2875         position in EOS/PLAYING/PAUSED/READY/NULL.
2876         Refactor QoS/frame dropping and other measurements.
2877         API: GstBaseSrc::qos
2878         Fixes #326311
2879
2880         * libs/gst/base/gstbasesink.h:
2881         Added Private struct.
2882         API: gst_base_sink_set_qos_enabled()
2883         API: gst_base_sink_is_qos_enabled()
2884
2885 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2888           If compiling against GLib-2.8 or newer, try to read the
2889           registry file using GMappedFile first before falling back
2890           to fopen() + fread() (#332151).
2891
2892 2006-03-22  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstinfo.c: (gst_debug_set_active),
2895         (gst_debug_category_set_threshold):
2896         Disable debugging unless explicitly activated.
2897         Fixes #335480.
2898
2899 2006-03-22  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/gstelement.c: (gst_element_set_locked_state),
2902         (gst_element_dispose):
2903         Cleanup the error case.
2904
2905         * gst/gstobject.c: (gst_object_dispose):
2906         print a critical when some object was disposed with
2907         a parent, also revive the object since it might
2908         crash the parent.
2909
2910 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2911
2912         * tools/gst-launch.1.in:
2913           Fix another typo.
2914
2915 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2916
2917         * configure.ac:
2918         * tests/check/Makefile.am:
2919           disable some tests when we don't have a registry
2920         * tests/check/gst/gstutils.c: (gst_utils_suite):
2921           don't build the part that needs parsing
2922
2923 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2924
2925         * gst/Makefile.am
2926         * tests/examples/Makefile.am:
2927           fix --disable-parse build
2928
2929 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2930
2931         * tools/gst-feedback.1.in:
2932           Fix typo: s/feeback/feedback/ (#133494).
2933
2934 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2935
2936         * tools/Makefile.am:
2937         * tools/gst-launch.1.in:
2938           Add FILES section and correct entry about GST_REGISTRY_PATH
2939           environment variable (#133495; #133494).
2940
2941 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2942
2943         * tools/Makefile.am:
2944         * tools/gst-md5sum.1.in:
2945         * tools/gst-md5sum.c:
2946           Remove gst-md5sum and man page (the md5sink element
2947           required was removed ages ago)
2948
2949 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2950
2951         * gst/gststructure.c: (gst_structure_id_set_value):
2952           Make sure that string fields in structures/taglists
2953           contain valid UTF-8 - we don't want to pass rubbish to
2954           applications because of a buggy plugin (cp. #334167).
2955
2956 2006-03-21  Edward Hervey  <edward@fluendo.com>
2957
2958         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2959         (gst_bin_handle_message_func):
2960         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2961         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2962         (gst_element_set_bus_func):
2963         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2964         * gst/gstminiobject.c: (gst_value_set_mini_object),
2965         (gst_value_take_mini_object):
2966         * gst/gstpad.c: (gst_pad_set_pad_template):
2967         * gst/gstpipeline.c: (gst_pipeline_dispose),
2968         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2969         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2970         (gst_collect_pads_chain):
2971         * libs/gst/net/gstnettimeprovider.c:
2972         (gst_net_time_provider_set_property):
2973         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2974         It's in fact all issues with gst_*object_replace().
2975
2976 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2977
2978         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2979         
2980         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2981         * pkgconfig/gstreamer-check.pc.in:
2982           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2983
2984 2006-03-21  Edward Hervey  <edward@fluendo.com>
2985
2986         * gst/gstbuffer.h:
2987         * gst/gstevent.h:
2988         * gst/gstmessage.h:
2989         gst_[buffer|event|message]_ref() macros are replaced by a static
2990         inline functions because gcc-4.1 will about if the return value
2991         isn't used.
2992         * tests/check/gst/gstevent.c: (event_probe):
2993         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2994
2995 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2996
2997         * gst/gstutils.h:
2998         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2999         the type' case. (Closes: #335195 for now). In the future, when we
3000         depend on GLib 2.10, we could also intern the type name using
3001         g_intern_static_string()
3002
3003 2006-03-20  Wim Taymans  <wim@fluendo.com>
3004
3005         * gst/gstbin.c: (gst_bin_handle_message_func),
3006         (bin_query_max_init), (bin_query_position_fold),
3007         (bin_query_position_done), (gst_bin_query):
3008         Position query should also take max of all streams.
3009
3010 2006-03-20  Wim Taymans  <wim@fluendo.com>
3011
3012         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3013         (gst_fake_src_finalize):
3014         Fix leaks in fakesrc.
3015
3016         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3017         Fix leaks in the testcase.
3018
3019 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3020
3021         * gst/gst_private.h:
3022           add win32 specific import decoration(__declspec(dllimport)) 
3023           for all extern GstDebugCategory * variables
3024         * win32/common/libgstbase.def:
3025         * win32/common/libgstcontroller.def:
3026         * win32/common/libgstreamer.def:
3027           Add some exports, remove empty lines
3028         * win32/common/libgstdataprotocol.def:
3029         * win32/common/libgstdataprotocol.dsp:
3030         * win32/common/libgstnet.def:
3031         * win32/common/libgstnet.dsp:
3032           new project files and exportation files added
3033         
3034 2006-03-19  Wim Taymans  <wim@fluendo.com>
3035
3036         * tests/check/libs/basesrc.c: (eos_event_counter):
3037         Use proper return value for probe.
3038
3039 2006-03-17  Wim Taymans  <wim@fluendo.com>
3040
3041         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3042         (gst_pad_push):
3043         Don't leak buffers, caps and pads on negotiation errors.
3044
3045 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3046
3047         * docs/faq/cvs.xml:
3048         * docs/faq/dependencies.xml:
3049         * docs/faq/developing.xml:
3050         * docs/faq/faq.xml:
3051         * docs/faq/general.xml:
3052         * docs/faq/getting.xml:
3053         * docs/faq/legal.xml:
3054         * docs/faq/troubleshooting.xml:
3055         * docs/faq/using.xml:
3056         Faq review and update.
3057
3058 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3059
3060         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3061         (gst_pad_push):
3062         Don't pound the cpu to pieces by checking get_caps when accept_caps
3063         is called with the same caps as the pad already has.
3064         Use GST_DEBUG_OBJECT when outputting caps change information.
3065
3066 2006-03-15  Wim Taymans  <wim@fluendo.com>
3067
3068         * gst/gstclock.c: (gst_clock_class_init):
3069         Fix docs.
3070
3071 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3072
3073         * gst/gstbuffer.h:
3074         Documentation fix.
3075
3076         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3077         (gst_pad_accept_caps), (gst_pad_configure_sink),
3078         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3079         Make the default acceptcaps behaviour be to check the requested 
3080         caps against the gst_pad_get_caps output. 
3081
3082         Ensure that gst_pad_accept_caps is used to check caps when a pad
3083         doesn't have a setcaps function, so that pads automatically refuse 
3084         caps that they don't allow in their pad template. (Fixes #332986)
3085
3086         When a buffer with attached caps is pushed, ensure that the source 
3087         pad receives those caps even if the element didn't call
3088         gst_pad_set_caps first.
3089
3090 2006-03-15  Wim Taymans  <wim@fluendo.com>
3091
3092         * libs/gst/base/gstadapter.c:
3093         Add some docs.
3094
3095 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * win32/common/libgstbase.def:
3098         * win32/common/libgstcontroller.def:
3099         * win32/common/libgstreamer.def:
3100           Add a whole bunch of missing functions (#334434).
3101
3102 2006-03-14  Wim Taymans  <wim@fluendo.com>
3103
3104         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3105         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3106         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3107         Better debug info when we receive a segment event.
3108         Reorganize a bit so we can pass the get_times() results around.
3109         Use the segment format when calculating the running time.
3110         Don't do QoS is sync is disabled or we have no clock or the
3111         element does not want us to sync to the clock.
3112         Don't drop buffers if QoS is disabled for now.
3113
3114 2006-03-14  Wim Taymans  <wim@fluendo.com>
3115
3116         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3117         Marked the stats property as unimplemented so people don't get
3118         wild ideas.
3119         Add debug message when regression goes wrong.
3120         Added some more docs.
3121
3122 2006-03-14  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstsegment.c: (gst_segment_to_stream_time):
3125         Return correct return type in case of errors.
3126
3127 2006-03-14  Wim Taymans  <wim@fluendo.com>
3128
3129         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3130           Don't segfault on invalid formats.
3131
3132 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3133
3134         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3135           Can't use gst_segment_to_running_time() when the segment
3136           is not in GST_TIME_FORMAT (like with filesink, for example).
3137           Stops flac encoding pipelines from spewing critical warnings
3138           at EOS (#331248).
3139           
3140 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3141
3142         * gst/gstpipeline.c: (gst_pipeline_class_init):
3143           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3144
3145         * plugins/elements/gsttypefindelement.c:
3146         (gst_type_find_element_handle_event):
3147           Don't try to typefind empty streams.
3148
3149 2006-03-14  Wim Taymans  <wim@fluendo.com>
3150
3151         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3152         (gst_base_sink_do_qos):
3153         Separate QoS calculation.
3154         Only drop buffers when lateness is bigger than the 
3155         duration of the buffer.
3156
3157 2006-03-13  Wim Taymans  <wim@fluendo.com>
3158
3159         * gst/gstpipeline.c: (gst_pipeline_set_property),
3160         (gst_pipeline_get_property), (do_pipeline_seek),
3161         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3162         (gst_pipeline_get_delay):
3163         Don't deadlock when reading properties.
3164
3165 2006-03-13  Wim Taymans  <wim@fluendo.com>
3166
3167         * libs/gst/base/gstbasetransform.c:
3168         (gst_base_transform_class_init), (gst_base_transform_init),
3169         (gst_base_transform_sink_event),
3170         (gst_base_transform_sink_eventfunc),
3171         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3172         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3173         (gst_base_transform_set_property),
3174         (gst_base_transform_get_property),
3175         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3176         (gst_base_transform_set_qos_enabled),
3177         (gst_base_transform_is_qos_enabled):
3178         * libs/gst/base/gstbasetransform.h:
3179         Make basetransform virtual method for src events too.
3180         Handle QOS in basetransform.
3181         API: gst_base_transform_update_qos()
3182         API: gst_base_transform_set_qos_enabled()
3183         API: gst_base_transform_is_qos_enabled()
3184
3185 2006-03-13  Wim Taymans  <wim@fluendo.com>
3186
3187         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3188         (gst_base_sink_do_sync):
3189         Small cleanups.
3190         Use QOS debug category.
3191
3192 2006-03-13  Wim Taymans  <wim@fluendo.com>
3193
3194         * plugins/elements/gstqueue.c:
3195         Very small doc update.
3196
3197 2006-03-13  Wim Taymans  <wim@fluendo.com>
3198
3199         * gst/gst_private.h:
3200         * gst/gstinfo.c: (_gst_debug_init):
3201         Added QOS debug category
3202
3203 2006-03-13  Wim Taymans  <wim@fluendo.com>
3204
3205         * docs/gst/gstreamer-sections.txt:
3206         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3207         * gst/gstbin.h:
3208         * gst/gstbus.c: (gst_bus_class_init):
3209         * gst/gstbus.h:
3210         * gst/gstclock.c:
3211         * gst/gstelement.c: (gst_element_set_locked_state):
3212         * gst/gstsegment.c:
3213         Documentation updates.
3214
3215         * gst/gstpipeline.c: (gst_pipeline_get_type),
3216         (gst_pipeline_class_init), (gst_pipeline_init),
3217         (gst_pipeline_dispose), (gst_pipeline_set_property),
3218         (gst_pipeline_get_property), (do_pipeline_seek),
3219         (gst_pipeline_send_event), (gst_pipeline_change_state),
3220         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3221         (gst_pipeline_get_delay):
3222         * gst/gstpipeline.h:
3223         Added methods for setting the delay.
3224         API: gst_pipeline_set_delay()
3225         API: gst_pipeline_get_delay()
3226         Add pipeline debug category
3227         Various cleanups.
3228         Updated docs.
3229         Don't reset stream time when seek failed.
3230
3231 2006-03-13  Wim Taymans  <wim@fluendo.com>
3232
3233         * docs/design/draft-klass.txt:
3234         * docs/design/part-clocks.txt:
3235         * docs/design/part-events.txt:
3236         * docs/design/part-gstbin.txt:
3237         * docs/design/part-gstpipeline.txt:
3238         * docs/design/part-messages.txt:
3239         * docs/design/part-negotiation.txt:
3240         * docs/design/part-overview.txt:
3241         * docs/design/part-preroll.txt:
3242         * docs/design/part-seeking.txt:
3243         * docs/design/part-states.txt:
3244         * docs/design/part-streams.txt:
3245         Documentation updates.
3246
3247 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3248
3249         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3250         us to leak strings...
3251
3252 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3253
3254         * libs/gst/net/gstnettimeprovider.c:
3255           fix docs
3256         * win32/common/config.h:
3257           update
3258
3259 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3260
3261         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3262
3263         * configure.ac:
3264           Don't check for libgnomeui (leftover from old examples
3265           that aren't built or disted any longer) (#334303).
3266           
3267 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3268
3269         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3270         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3271           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3272           there's no space left on the device.
3273
3274 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3275
3276         * gst/gstclock.h:
3277           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3278           to cast the input to GstClockTime before comparing with
3279           another GstClockTime value.
3280
3281 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3282
3283         * configure.ac:
3284           back to trunk
3285
3286 === release 0.10.4 ===
3287
3288 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3289
3290         * configure.ac:
3291           releasing 0.10.4, "Light"
3292
3293 2006-03-10  Michael Smith  <msmith@fluendo.com>
3294
3295         * libs/gst/dataprotocol/dataprotocol.c:
3296           Fix docs for dataprocotol to not get the return types completely
3297           wrong for a few functions.
3298
3299 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * docs/gst/gstreamer-sections.txt:
3302         * gst/gstpipeline.c: (gst_pipeline_class_init),
3303         (gst_pipeline_init), (gst_pipeline_set_property),
3304         (gst_pipeline_get_property), (gst_pipeline_change_state),
3305         (gst_pipeline_set_auto_flush_bus),
3306         (gst_pipeline_get_auto_flush_bus):
3307         * gst/gstpipeline.h:
3308           Add new API: gst_pipeline_set_auto_flush_bus() and
3309           gst_pipeline_get_auto_flush_bus() to disable automatic
3310           flushing of the pipeline's GstBus when going from READY
3311           to NULL state (#332045).
3312
3313 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3314
3315         * docs/gst/gstreamer-sections.txt:
3316         * gst/gsturi.c: (gst_uri_has_protocol):
3317         * gst/gsturi.h:
3318            Add new API: gst_uri_has_protocol() (#333779).
3319
3320 2006-03-09  Wim Taymans  <wim@fluendo.com>
3321
3322         * gst/gstclock.c: (gst_clock_entry_new),
3323         (gst_clock_id_compare_func), (gst_clock_id_wait),
3324         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3325         (gst_clock_init), (gst_clock_get_internal_time),
3326         (gst_clock_set_master), (do_linear_regression),
3327         (gst_clock_add_observation), (gst_clock_set_property):
3328         * gst/gstclock.h:
3329         Review docs.
3330         Small cleanups.
3331         Fix a possible segfault when the window-size is made smaller.
3332         Calculate jitter before performing the clock wait. Ideally
3333         the clock implementation should calculate jitter but we need
3334         API breakage for that.
3335
3336         * gst/gstsystemclock.c: (gst_system_clock_init):
3337         Docs review.
3338         
3339         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3340         Remove leftover else
3341
3342         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3343         (gst_systemclock_suite):
3344         Added check to test GST_CLOCK_DIFF.
3345
3346 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3347
3348         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3349         (gst_type_find_helper_get_range):
3350           If we are provided with the size, we should implement
3351           GstTypeFind::get_length, so that typefind functions who
3352           want to can actually peek at the middle of a file.
3353
3354 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3355
3356         * docs/manual/advanced-dataaccess.xml:
3357           Add some very very basic error checking.
3358
3359         * docs/pwg/appendix-checklist.xml:
3360           Some updates to the list of things to check when writing an element.
3361
3362 2006-03-08  Wim Taymans  <wim@fluendo.com>
3363
3364         * docs/design/part-element-transform.txt:
3365         Added some docs about the design of tranform elements.
3366
3367         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3368         (gst_base_src_loop), (gst_base_src_change_state):
3369         Mark buffers with the DISCONT flag.
3370
3371 2006-03-08  Michael Smith  <msmith@fluendo.com>
3372
3373         * gst/gstregistry.h:
3374         * gst/gstregistryxml.c: (gst_registry_save),
3375         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3376         (gst_registry_xml_save_pad_template),
3377         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3378         (gst_registry_xml_write_cache):
3379           Rewrite registry-saving to avoid race conditions and check for
3380           failed writes.
3381
3382 2006-03-08  Wim Taymans  <wim@fluendo.com>
3383
3384         * libs/gst/base/gstbasetransform.c:
3385         (gst_base_transform_transform_caps),
3386         (gst_base_transform_transform_size),
3387         (gst_base_transform_prepare_output_buffer),
3388         (gst_base_transform_get_unit_size),
3389         (gst_base_transform_buffer_alloc),
3390         (gst_base_transform_handle_buffer),
3391         (gst_base_transform_change_state):
3392         Cleanups, separate normal flow from errors, add sensible
3393         DEBUG lines.
3394         Don't try to renegotiate when allocating an output buffer.
3395         Also copy DISCONT buffer flag when copying a buffer.
3396         Reset the transform after we finish streaming, not during.
3397
3398 2006-03-08  Wim Taymans  <wim@fluendo.com>
3399
3400         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3401         Use last buffer timestamp in qos message.
3402
3403 2006-03-07  Wim Taymans  <wim@fluendo.com>
3404
3405         Patch by: Christophe Fergeau
3406
3407         * docs/pwg/advanced-tagging.xml:
3408         * docs/pwg/building-pads.xml:
3409           fixes #333416
3410
3411 2006-03-07  Wim Taymans  <wim@fluendo.com>
3412
3413         * docs/libs/gstreamer-libs-sections.txt:
3414         Added basesink new methods.
3415
3416         * gst/gstevent.c:
3417         * gst/gstevent.h:
3418         Docs updates. Flesh out the QoS docs.
3419
3420         * libs/gst/base/gstadapter.c:
3421         Small doc clarification about ownership and flushing.
3422
3423         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3424         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3425         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3426         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3427         * libs/gst/base/gstbasesink.h:
3428         API additions: 
3429         Added new methods to allow subclass to control max-lateness 
3430         and sync.
3431         Generate very basic QoS events based on last sync observation.
3432         Updated docs, fix typo, added some QoS blurb.
3433
3434         * libs/gst/base/gstbasesrc.c:
3435         Remove obsolete _get_state() calls from docs.
3436
3437 2006-03-07  Wim Taymans  <wim@fluendo.com>
3438
3439         * docs/libs/gstreamer-libs-sections.txt:
3440         * libs/gst/base/gstbasetransform.h:
3441         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3442         Fix docs for GstBaseSrc.
3443
3444 2006-03-07  Wim Taymans  <wim@fluendo.com>
3445
3446         * docs/gst/gstreamer-sections.txt:
3447         * gst/gstbuffer.h:
3448         * gst/gstvalue.c:
3449         * libs/gst/base/gstbasetransform.h:
3450         Small documentation fixes.
3451
3452 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3453
3454         * gst/gstvalue.c:
3455           Document thread-unsafety of gst_value_register_foo_func()
3456           when used at the same time as gst_value_foo() (#322628).
3457
3458 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3459
3460         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3461         (gst_push_src_check_get_range):
3462           Push sources don't support pull mode by default.
3463
3464 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3465
3466         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3467         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3468         (gst_base_src_default_check_get_range):
3469         * libs/gst/base/gstbasesrc.h:
3470           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3471           provide default implementation, and rename
3472           gst_base_src_check_get_range() to
3473           gst_base_src_pad_check_get_range() for clarity.
3474
3475 2006-03-06  Wim Taymans  <wim@fluendo.com>
3476
3477         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3478         Make property overridable.
3479
3480 2006-03-06  Wim Taymans  <wim@fluendo.com>
3481
3482         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3483         (gst_base_sink_init), (gst_base_sink_set_property),
3484         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3485         * libs/gst/base/gstbasesink.h:
3486         API addition: Make max-lateness a property.
3487
3488 2006-03-06  Wim Taymans  <wim@fluendo.com>
3489
3490         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3491         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3492         Don't ever draw a frame that is >10ms late.
3493
3494 2006-03-06  Michael Smith  <msmith@fluendo.com>
3495
3496         * gst/gstmessage.c: (_gst_message_copy):
3497           When copying a message, set the parent_refcount of the enclosed
3498           structure to point at the copy, not the original message.
3499
3500 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3501
3502         Patch by: Christophe Fergeau
3503
3504         * gst/gstutils.h:
3505           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3506           usable in c++ code (#333417)
3507
3508 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3509
3510         * gst/gstclock.h:
3511           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3512
3513 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3514
3515         * libs/gst/base/gstbasetransform.c:
3516         (gst_base_transform_transform_caps):
3517           Make sure caps are writable before passing them to
3518           gst_caps_append().
3519
3520 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522         * gst/gsterror.h:
3523           Fix some minor docs errors.
3524
3525 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3526
3527           Patch by: Ross Burton <ross at burtonini dot com>
3528
3529         * gst/gsterror.c: (_gst_resource_errors_init):
3530         * gst/gsterror.h:
3531           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3532
3533 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3534
3535         * gst/gst.c:
3536         Add a check and output a g_warning when GStreamer is built
3537         against GLib 2.6 but running against 2.8 or higher, and vice 
3538         versa. (Closes: #323542)
3539
3540 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3541
3542         * gst/parse/parse.l:
3543           Commit patch for parse_launch syntax from #331255. Removes 
3544           support for quoted strings and mimetypes when writing filtered 
3545           caps. See the bug report for more details - I'm pretty sure this
3546           obscure feature is not in use by _anyone_ anywhere.
3547
3548           With this simple change, the size of the gstreamer.so here 
3549           drops from 2193KB to 1565KB.
3550
3551 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * plugins/elements/gsttypefindelement.h:
3554         * plugins/elements/gsttypefindelement.c:
3555         (gst_type_find_element_src_event), (start_typefinding),
3556         (stop_typefinding), (gst_type_find_element_handle_event),
3557         (gst_type_find_element_chain),
3558         (gst_type_find_element_chain_do_typefinding):
3559           Use gst_type_find_helper_for_buffer() for chain-based
3560           typefinding.
3561
3562 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3563
3564         * plugins/elements/gsttypefindelement.c:
3565         (gst_type_find_element_class_init),
3566         (gst_type_find_element_set_property),
3567         (gst_type_find_element_get_property):
3568           Deprecate "maximum" property (not only was it only taken into
3569           account for typefinding in push-mode anyway, it also was never
3570           actually possible to set it in the first place because the
3571           property was registered with the numeric property ID for the
3572           "minimum" property). Register "maximum" property correctly,
3573           for the sake of future copy'n'pasters. Remove some cruft
3574           from property get/set functions.
3575
3576 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3577
3578         * plugins/elements/gsttypefindelement.c:
3579         (gst_type_find_element_activate):
3580           Use gst_type_find_helper_get_range() here, so we
3581           can honour the "minimum" property and also emit
3582           the signal with the correct probability of the found caps.
3583
3584 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3585
3586         * docs/libs/gstreamer-libs-sections.txt:
3587         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3588         (helper_find_suggest), (gst_type_find_helper_get_range),
3589         (gst_type_find_helper):
3590         * libs/gst/base/gsttypefindhelper.h:
3591           New API: gst_type_find_helper_get_range() (#333042).
3592
3593 2006-03-02  Michael Smith  <msmith@fluendo.com>
3594
3595         * gst/gstregistryxml.c: (load_feature):
3596           Asserting on a failure to read part of the registry is Not Cool.
3597           Just log a warning and return NULL (which is already handled)
3598
3599 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3600
3601         * win32/common/libgstbase.def:
3602           added export of gst_type_find_helper_for_buffer
3603         * win32/common/libgstbase.def:
3604           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3605           gst_ghost_pad_get_target
3606
3607 2006-02-28  Wim Taymans  <wim@fluendo.com>
3608
3609         * docs/design/draft-klass.txt:
3610         We use Filter now.
3611         Added Connector to mark elements that are only used to
3612         allow pipeline connections.
3613         Moved Debug to extra feature since most of them are 
3614         functionally something else.
3615
3616 2006-02-28  Wim Taymans  <wim@fluendo.com>
3617
3618         * docs/design/draft-klass.txt:
3619         Some updates and clarifications.
3620
3621 2006-02-28  Wim Taymans  <wim@fluendo.com>
3622
3623         * docs/design/draft-klass.txt:
3624         Proposal for klass field values.
3625
3626         * docs/design/part-streams.txt:
3627         Start of a doc describing stream anatomy.
3628
3629 2006-02-28  Wim Taymans  <wim@fluendo.com>
3630
3631         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3632         Help the compiler a bit with type registration.
3633         Use existing forward cod path instead of duplicating it when 
3634         handling a message.
3635         
3636         * gst/gstbus.c: (gst_bus_get_type):
3637         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3638         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3639         * gst/gstclock.c: (gst_clock_get_type):
3640         * gst/gstelement.c: (gst_element_get_type),
3641         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3642         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3643         * gst/gstminiobject.c: (gst_mini_object_get_type):
3644         * gst/gstpad.c: (gst_pad_get_type):
3645         * gst/gstsegment.c: (gst_segment_get_type):
3646         * gst/gststructure.c: (gst_structure_get_type):
3647         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3648         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3649         * gst/gstvalue.c:
3650         Help compiler with type registration.
3651
3652         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3653         Small doc update.
3654
3655 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3656
3657         * plugins/elements/gsttypefindelement.c:
3658         (gst_type_find_element_handle_event):
3659           When we get an EOS event and have not found a type yet
3660           (most likely because we had not yet accumulated
3661           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3662           type given the data we have so far. Fixes typefinding
3663           for very short streams again, most notably quicktime
3664           redirections as used on Apple's trailer site (#331701).
3665
3666 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3669         (gst_type_find_helper):
3670           Try typefinding factories with the highest rank first.
3671
3672 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3673
3674         * docs/libs/gstreamer-libs-docs.sgml:
3675         * docs/libs/gstreamer-libs-sections.txt:
3676         * libs/gst/base/gsttypefindhelper.c:
3677           Add section for typefind helper and add documentation
3678           for the old and the new function.
3679
3680 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3681
3682         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3683         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3684         (gst_type_find_helper_for_buffer):
3685         * libs/gst/base/gsttypefindhelper.h:
3686           New API: gst_type_find_helper_for_buffer() (#332723).
3687           
3688 2006-02-27  Michael Smith  <msmith@fluendo.com>
3689
3690         Patch by: Loïc Minier
3691
3692         * configure.ac:
3693         * docs/Makefile.am:
3694         * docs/slides/Makefile.am:
3695           prevent CVS directories getting disted.
3696
3697 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3698
3699         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3700           Use the REFCOUNTING category for caps refcounting.
3701           
3702 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3703
3704         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3705           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3706
3707 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3708
3709         * plugins/elements/gsttypefindelement.c:
3710         (gst_type_find_element_activate):
3711           Use gst_pad_check_pull_range() before _activate_pull()
3712           to avoid unnecessary open/close (see #331690).
3713
3714 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3715
3716         * gst/gstutils.c:
3717           Docs enhancement: make it crystal clear what the
3718           gst_pad_add_*_probe() callbacks should look like.
3719
3720 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3721
3722         * libs/gst/base/gstbasesrc.c:
3723           Document how applications can stop recording from
3724           live sources (see #330996).
3725
3726 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3727
3728         * tests/check/Makefile.am:
3729         * tests/check/libs/basesrc.c: (eos_event_counter),
3730         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3731         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3732         (gst_basesrc_suite), (main):
3733           ... and add some tests for the base source EOS stuff.
3734
3735 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3736
3737         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3738           Test case originally showed the problem fixed below,
3739           but was then amended. Add checks back at the place
3740           where they used to be.
3741
3742 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3745         (gst_base_src_init), (gst_base_src_loop),
3746         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3747         (gst_base_src_change_state):
3748         * libs/gst/base/gstbasesrc.h:
3749           Don't unconditionally send EOS when going from PAUSED to
3750           READY state, esp. make sure we don't send two EOS events
3751           in some cases (e.g. one when reaching EOS and one when
3752           going from PAUSED to READY). Also, we don't want to send
3753           EOS events when operating in pull mode. However, we do
3754           want to send an EOS event when shutting down a live
3755           source explicitly, for example (fixes #330996).
3756           
3757 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3758
3759         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3760           Update src->read_position after a seek when not using mmap.
3761           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3762
3763 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3764
3765         * gst/Makefile.am:
3766         * gst/gstparse.h:
3767         * gst/gstutils.c:
3768         * gst/gstutils.h:
3769         Make things work with --disable-parse as they do with 
3770         --disable-load-save - the symbols involved disappear, but the
3771         header is still installed and GST_DISABLE_PARSE is included via
3772         gstconfig.h
3773
3774 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3775
3776         * libs/gst/base/gstbasetransform.c:
3777         (gst_base_transform_change_state): Fix a stupid bug. I was 
3778         sure I compiled that.
3779
3780 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3781
3782         * gst/gstpad.c: (gst_pad_set_blocked_async):
3783         * gst/gstutils.c: (gst_pad_add_data_probe),
3784         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3785         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3786         (gst_pad_remove_buffer_probe): Make those function act on the
3787         ghostpad target when it's a ghostpad. (Closes #331727)
3788
3789 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3790
3791         * libs/gst/base/gstbasetransform.c:
3792         (gst_base_transform_change_state): Make basetransform reusable.
3793         (Closes #331898)
3794
3795 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3796
3797         * docs/random/release:
3798         Move the current documentation of how to do a release to the top
3799         of the file.
3800
3801         * gst/gstbin.c: (gst_bin_class_init),
3802         (gst_bin_handle_message_func):
3803         Allow multiple state-recalculation threads. (Closes #328873)
3804
3805 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3806
3807         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3808         * gst/gstpad.c: (gst_pad_set_event_function),
3809         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3810         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3811         2 strings. You can't use the STR_NULL macro on that.
3812
3813 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3814
3815         * gst/gstpad.c: (gst_pad_set_event_function),
3816         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3817         (gst_pad_set_getcaps_function)
3818         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3819           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3820           So now, we can use --gst-debug-level=5 on Windows
3821         * win32/common/libgstcontroller.def:
3822           Added export of gst_controller_init
3823         * win32/vs6/libgstcontroller.dsp:
3824           Fixed Release post build configuration
3825
3826 2006-02-17  Wim Taymans  <wim@fluendo.com>
3827
3828         * tests/check/gst/gstquery.c: (GST_START_TEST):
3829         Added another check.
3830
3831 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3832
3833         * plugins/elements/gsttypefindelement.c: (find_peek):
3834           We can do peeks at non-zero offsets, as long as they
3835           fall within the buffer we have.
3836
3837 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3838
3839         * tests/check/Makefile.am:
3840         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3841         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3842         (parse_suite), (main):
3843           Add testsuite for parse launch syntax
3844
3845 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3846
3847         * plugins/elements/gsttypefindelement.c:
3848         (gst_type_find_element_chain):
3849           When typefinding is unsuccessful in the chain function, don't
3850           error out immediately. Only error out with NO_CAPS_FOUND if
3851           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3852           otherwise simply wait for more data so we can try typefinding
3853           again with more data later. Also, don't attempt to typefind
3854           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3855           this should improve typefinding from network sources where the
3856           size of the first buffer can be somewhat random.
3857
3858 2006-02-14  Wim Taymans  <wim@fluendo.com>
3859
3860         * docs/gst/gstreamer-sections.txt:
3861         * gst/gstpadtemplate.c:
3862         * gst/gstpadtemplate.h:
3863         Fix padtemplate docs, fixes #328805.
3864
3865 2006-02-14  Wim Taymans  <wim@fluendo.com>
3866
3867         * tools/gst-launch.c: (main):
3868         NO_PREROLL is not an ERROR so don't send confusing messages
3869         to the user.
3870
3871 2006-02-14  Wim Taymans  <wim@fluendo.com>
3872
3873         Patch by: Torsten Schoenfeld
3874
3875         * gst/gstregistry.c: (gst_registry_get_default),
3876         (_gst_registry_cleanup):
3877         Protect default registry with lock and ref/sink it.
3878         Fixes #324818
3879
3880 2006-02-14  Wim Taymans  <wim@fluendo.com>
3881
3882         * gst/gstbuffer.c:
3883         * gst/gstquery.c: (gst_query_list_add_format),
3884         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3885         (gst_query_parse_formats_nth):
3886         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3887         Docs fixes.
3888
3889 2006-02-14  Wim Taymans  <wim@fluendo.com>
3890
3891         * docs/gst/gstreamer-sections.txt:
3892         Reworked query docs.
3893
3894         * gst/gstquery.c: (gst_query_new_formats),
3895         (gst_query_list_add_format), (gst_query_set_formats),
3896         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3897         (gst_query_parse_formats_nth):
3898         * gst/gstquery.h:
3899         Flesh out formats query, added some new methods.
3900         Fix part of #324398.
3901
3902         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3903         Added query creation tests.
3904
3905 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3906
3907         * gst/gstpad.c: (fixate_value):
3908         Add a default fixation for fraction lists.
3909
3910 2006-02-13  Wim Taymans  <wim@fluendo.com>
3911
3912         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3913         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3914         (gst_task_join):
3915         * gst/gsttask.h:
3916         Detect and warn for obvious deadlocks. fixes #320340
3917         Fix error case where lock was not released.
3918
3919         * tests/check/Makefile.am:
3920         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3921         (task_func), (gst_element_suite), (main):
3922         Add task check.
3923
3924 2006-02-13  Wim Taymans  <wim@fluendo.com>
3925
3926         * docs/gst/gstreamer-sections.txt:
3927         * gst/gstbus.c:
3928         Add new functions to docs.
3929
3930 2006-02-13  Wim Taymans  <wim@fluendo.com>
3931
3932         * docs/design/part-TODO.txt:
3933         Updated TODO list, basesrc supports seeking to non-bytes
3934         formats.
3935
3936         * docs/design/part-element-sink.txt:
3937         Update docs.
3938
3939         * gst/gstbin.c: (bin_replace_message),
3940         (gst_bin_handle_message_func):
3941         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3942         * gst/gstevent.c: (gst_event_finalize):
3943         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3944         (gst_pad_send_event):
3945         Use shiny new _TYPE_NAME macros.
3946
3947         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3948         Move debug statement up.
3949
3950         * gst/gstelement.c: (gst_element_set_locked_state):
3951         Add some debugging.
3952
3953 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         * docs/gst/gstreamer-sections.txt:
3956         * gst/gstmessage.h:
3957         * gst/gstquery.h:
3958           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3959           macros (#330906). Also, document the already existing
3960           GST_QUERY_TYPE macro.
3961
3962 2006-02-13  Wim Taymans  <wim@fluendo.com>
3963
3964         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3965         (event_probe), (GST_START_TEST):
3966         Only events up to the pipeline EOS are counted, there are
3967         some more when going to NULL currently which we don't care
3968         about for now.
3969
3970 2006-02-13  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/gstpad.c: (gst_pad_send_event):
3973         Correctly check flushing and emit probes. fixes #330125
3974
3975 2006-02-10  Andy Wingo  <wingo@pobox.com>
3976
3977         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3978         structure.
3979         (gst_bus_init): Cache the location of the private data in the
3980         instance structure.
3981         (gst_bus_enable_sync_message_emission) 
3982         (gst_bus_disable_sync_message_emission): Implement new public
3983         functions.
3984         (gst_bus_post): Emit the sync-message signal if the user asked for
3985         it. Fixes #330684.
3986
3987         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3988         location of the bus-private structure.
3989         (gst_bus_enable_sync_message_emission)
3990         (gst_bus_disable_sync_message_emission): API addition
3991
3992 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3993
3994         Patch by: Vincent Torri
3995
3996         * docs/pwg/building-boiler.xml:
3997         PWG patch from #326800
3998
3999 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4000
4001         * configure.ac:
4002         * docs/Makefile.am:
4003         * docs/design/Makefile.am:
4004           Dist design docs.
4005
4006 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4007
4008         * configure.ac:
4009           back to CVS
4010
4011 === release 0.10.3 ===
4012
4013 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4014
4015         * configure.ac:
4016           releasing 0.10.3, "Like a virgin"
4017
4018 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4019
4020         * configure.ac:
4021           2nd prerelease of 0.10.3
4022           Bump libtool versioning.
4023
4024 2006-02-07  Andy Wingo  <wingo@pobox.com>
4025
4026         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4027         update last_stop if we're in TIME format and the timestamp is
4028         valid.
4029
4030         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4031         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4032         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4033         If we get a new newsegment with a different format, adapt
4034         accordingly.
4035
4036         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4037         of 0. Not a problem, really.
4038
4039         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4040         warn if sync=true.
4041
4042 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4043
4044         * configure.ac:
4045           Prelease of 0.10.3
4046
4047 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4048
4049         * win32/vs7:
4050           project files updated to the default vs7 configuration
4051         * win32/common/libgstbase.def:
4052         * win32/common/libgstreamer.def:
4053           added new symbols,
4054           removed empty lines,
4055           sorted all exported symbols alphabetically
4056         * win32/common/dirent.c:
4057         * win32/common/dirent.h:
4058         * win32/common/gchar.h:
4059           use windows line end.
4060           
4061 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4062
4063         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4064           Send EOS event when stopping.
4065
4066 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4067
4068         * docs/README:
4069           Tell folks what to do if the plugin-foobar.xml file
4070           hasn't been generated for a newly-added plugin.
4071
4072 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4073
4074         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4075         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4076         (gst_collect_pads_start), (gst_collect_pads_stop),
4077         (gst_collect_pads_event): Collectpads now holds a reference
4078         to the GstPad that was added. Indeed we don't want to look
4079         at pads that might just go away with no warning...
4080
4081 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4082
4083         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4084         (gst_collect_pads_start), (gst_collect_pads_stop),
4085         (gst_collect_pads_event), (gst_collect_pads_chain):
4086         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4087         Mark Nauwelaerts's patch on bug #328491.
4088
4089 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4090
4091         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4092         (gst_utils_suite):
4093           Add some simple tests for gst_parse_bin_from_description() and
4094           gst_bin_find_unconnected_pad() (#329069).
4095
4096 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4097
4098         * tools/gst-launch.c: (event_loop), (main):
4099           Catch errors during preroll (#320084).
4100
4101 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4102
4103         * plugins/elements/gsttypefindelement.c:
4104         (gst_type_find_element_activate):
4105           Post TYPE_NOT_FOUND error message when typefinding
4106           is unsuccessful in the activate function as well.
4107
4108 2006-02-02  Wim Taymans  <wim@fluendo.com>
4109
4110         * docs/design/part-element-sink.txt:
4111         Updated doc.
4112
4113 2006-02-02  Wim Taymans  <wim@fluendo.com>
4114
4115         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4116         (gst_base_sink_render_object),
4117         (gst_base_sink_queue_object_unlocked):
4118         Only keep track of prerollable items when we are 
4119         prerolling.
4120         Before rendering after preroll, always check if we
4121         have queued items.
4122         Added some more debugging.
4123
4124 2006-02-02  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/gstelement.c: (gst_element_continue_state),
4127         (gst_element_set_state_func), (gst_element_change_state):
4128         Fixed #326576, been running this for quite some time with
4129         no regressions at all.
4130
4131 2006-02-02  Wim Taymans  <wim@fluendo.com>
4132
4133         * common/gst.supp:
4134         Added more suppressions
4135
4136 2006-02-02  Wim Taymans  <wim@fluendo.com>
4137
4138         * docs/design/part-element-sink.txt:
4139         Updated document.
4140
4141         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4142         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4143         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4144         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4145         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4146         (gst_base_sink_preroll_object),
4147         (gst_base_sink_queue_object_unlocked),
4148         (gst_base_sink_queue_object), (gst_base_sink_event),
4149         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4150         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4151         (gst_base_sink_get_position), (gst_base_sink_change_state):
4152         * libs/gst/base/gstbasesink.h:
4153         Totally refactored matching the design doc.
4154         Use two segments, one to clip incomming buffers and another to
4155         perform sync.
4156         Handle queueing correctly, bypass the queue when playing.
4157         Make EOS cancelable.
4158         Handle errors correctly when operating in pull based mode.
4159
4160         * tests/check/elements/fakesink.c: (GST_START_TEST),
4161         (fakesink_suite):
4162         Added new check for sinks.
4163
4164 2006-02-02  Wim Taymans  <wim@fluendo.com>
4165
4166         * gst/gstsegment.c: (gst_segment_clip):
4167         No reason to refuse to clip when start == -1
4168
4169 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4170
4171         * docs/README:
4172         * docs/manual/intro-basics.xml:
4173         * docs/manual/intro-preface.xml:
4174         * docs/manual/manual.xml:
4175         * docs/pwg/advanced-dparams.xml:
4176         * docs/pwg/intro-basics.xml:
4177         * docs/pwg/intro-preface.xml:
4178         * docs/pwg/pwg.xml:
4179           describe dparams (controller) for plugins
4180           unify docs a little more
4181
4182 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4183
4184         * docs/gst/gstreamer-sections.txt:
4185         * gst/gstutils.c: (element_find_unconnected_pad),
4186         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4187         * gst/gstutils.h:
4188           Add new API: gst_parse_bin_from_description() and
4189           gst_bin_find_unconnected_pad() (#329069).
4190
4191 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4192
4193         * docs/manual/README:
4194           uncover a nasty detail of the docs build
4195
4196 2006-01-31  Wim Taymans  <wim@fluendo.com>
4197
4198         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4199         Don't cache duration messages if we're not going to use or
4200         free them.
4201
4202 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * docs/manual/advanced-dparams.xml:
4205         * docs/pwg/advanced-dparams.xml:
4206           more dparam docs
4207         * gst/gstindex.c:
4208           fix docs
4209         * libs/gst/controller/lib.c: (gst_controller_init):
4210           init just once
4211
4212 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4213
4214         * gst/gstelement.c: (gst_element_message_full):
4215           also show file/line/func if no additional debug was given
4216
4217 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4218         
4219         * win32/vs7/grammar.vcproj:
4220           activate copy of autogenerated files for Release mode
4221
4222 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4223         
4224         * win32/common/libgstreamer.def:
4225           export gst_value_compare
4226
4227 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4228
4229         * plugins/elements/Makefile.am:
4230         * plugins/elements/gstelements.c:
4231         * plugins/elements/gstfdsink.c: (_do_init),
4232         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4233         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4234         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4235         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4236         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4237         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4238         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4239         * plugins/elements/gstfdsink.h:
4240         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4241
4242 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4243
4244         * docs/manual/advanced-dparams.xml:
4245           describe controller
4246         * docs/manual/advanced-position.xml:
4247         * docs/manual/basics-init.xml:
4248         * docs/manual/manual.xml:
4249         * docs/manual/titlepage.xml:
4250         * docs/pwg/pwg.xml:
4251         * docs/pwg/titlepage.xml:
4252           cleanup xml (more to come)
4253         * libs/gst/controller/gstcontroller.c:
4254           fix typo
4255
4256 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4257         
4258         * win32/vs6/grammar.dsp:
4259           add autogen of gstmarshal.c,h for Release mode
4260                 
4261 2006-01-30  Wim Taymans  <wim@fluendo.com>
4262
4263         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4264         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4265         (gst_base_sink_handle_object), (gst_base_sink_event),
4266         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4267         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4268         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4269         (gst_base_sink_deactivate), (gst_base_sink_activate),
4270         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4271         (gst_base_sink_query), (gst_base_sink_change_state):
4272         Basesink cleanups, remove some old code.
4273         Handle the case where a subclass can preroll in the render
4274         method (mostly audiosinks).
4275         Handle more events.
4276         Remove some locks around variables that are now protected
4277         with the PREROLL_LOCK (clock_id, flushing, ..).
4278         Optimize position query some more, do correct locking.
4279         Remove old code to push queue in state change, this is not
4280         needed anymore since preroll blocks on all prerollable items 
4281         now.
4282         Almost implemented as described in design doc.
4283
4284 2006-01-30  Wim Taymans  <wim@fluendo.com>
4285
4286         * tests/check/gst/gstbin.c: (GST_START_TEST):
4287         Wait for refcount to settle down before checking.
4288
4289 2006-01-30  Wim Taymans  <wim@fluendo.com>
4290
4291         * docs/design/part-element-sink.txt:
4292         Pseudo code overview of desired sink behaviour regarding
4293         preroll.
4294
4295 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4296         * win32/vs6/grammar.dsp:
4297           fix some bugs in Release mode for autogenerated files
4298                 
4299 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4300         * win32/common/libgstbase.def:
4301         * win32/common/libgstreamer.def:
4302           export some new symbols: gst_base_src_set_format,
4303           gst_iterator_next, gst_structure_set_valist
4304
4305 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4306
4307         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4308         Set pad functions unconditionally. Fixes #329105.
4309
4310 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4311         * win32/vs8:
4312           add vs8 project files created by Sergey Scobich
4313
4314 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4315
4316         * gst/gstutils.c: (gst_element_unlink_pads):
4317         Don't leak pad references.
4318
4319         * tests/check/elements/fakesink.c: (GST_START_TEST):
4320         * tests/check/generic/sinks.c: (GST_START_TEST):
4321         * tests/check/generic/states.c: (GST_START_TEST):
4322         * tests/check/gst/gstbin.c: (GST_START_TEST):
4323         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4324         * tests/check/gst/gstelement.c: (GST_START_TEST):
4325         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4326         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4327         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4328         Fix a bunch of leaks. Make generic/sinks.c
4329         use a bit less cpu by slowing the buffer rate
4330         between fakesrc and fakesink.
4331         
4332 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4333         * gst/gstcaps.c:
4334         * gst/gstelement.c: (gst_element_send_event):
4335         * gst/gstevent.c:
4336         * gst/gstinfo.c:
4337         * gst/gstiterator.c:
4338         * gst/gstiterator.h:
4339         * gst/gstpad.c: (gst_pad_send_event):
4340         * gst/gststructure.c:
4341         * gst/gsturi.c:
4342         * gst/gstutils.c:
4343         * gst/gstvalue.c:
4344         * libs/gst/base/gstadapter.c:
4345           doc fixes, to link to function, just write gst_cool_function(), don't
4346           prefix with '#'
4347
4348 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4349
4350         * plugins/elements/gsttee.c: (gst_tee_do_push),
4351         (gst_tee_handle_buffer):
4352         Always prefer an actual return value from a src
4353         pad in place of NOT_LINKED. This means we return
4354         WRONG_STATE when all src pads are WRONG_STATE
4355         instead of NOT_LINKED.
4356
4357         Lock when replacing the last message to prevent
4358         racing with the get_property method.
4359
4360         Add debug output
4361
4362 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4363
4364         * tests/check/Makefile.am:
4365         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4366         (main):
4367         Add a very simple check that should have caught the memleak I fixed
4368         last night (if not for the slice allocator hiding it)
4369
4370 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4371
4372         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4373         (gst_bin_remove_func), (gst_bin_handle_message_func),
4374         (bin_query_duration_fold), (bin_query_generic_fold):
4375         Clean up references to the clock provider when disposed or when
4376         handling a clock-lost message from it.
4377
4378         Unref sinks when performing a query via gst_iterator_fold, as the
4379         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4380
4381         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4382         (gst_clock_set_master):
4383         Drop our reference to the master clock, if any, when we are disposed.
4384
4385         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4386         Chain up in dispose. 
4387
4388 2006-01-26  Wim Taymans  <wim@fluendo.com>
4389
4390         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4391         Add some debugging.
4392
4393 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4394
4395         * plugins/elements/gsttee.c: (gst_tee_do_push),
4396         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4397         handles pad being NOT_LINKED or in WRONG_STATE.
4398
4399 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4400
4401         * win32/MANIFEST:
4402           more updating
4403
4404 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4405
4406         * win32/MANIFEST:
4407           remove obsolete entry
4408
4409 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4410
4411         * docs/gst/gstreamer-sections.txt:
4412         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4413         (gst_bin_iterate_sources), (gst_bin_send_event):
4414         * gst/gstbin.h:
4415         * gst/gstelement.c: (gst_element_send_event):
4416         * gst/gstevent.c:
4417         * gst/gstpad.c: (gst_pad_send_event):
4418           added code for downstream events, reviewed docs in gstevent.c
4419
4420 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4421
4422         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4423         We only query position using the clock in the playing state.
4424         Query peer in the other cases.
4425         * win32/common/config.h: Updates.
4426
4427 2006-01-24  Wim Taymans  <wim@fluendo.com>
4428
4429         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4430         A clock entry that is scheduled for the exact time of the
4431         clock is still in time.
4432
4433         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4434         (gst_base_sink_do_sync):
4435         Add some more debug info.
4436
4437 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4438
4439         * win32/vs7:
4440           Add new vs7 project files and solution.
4441
4442 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4443
4444         * win32/vs7:
4445           all files removed as they were out-dated.
4446
4447 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4448
4449         * docs/random/release:
4450           update notes
4451         * gst/gstbin.c: (gst_bin_init):
4452         * gst/gstbus.c: (gst_bus_new):
4453         * gst/gstbus.h:
4454         * gst/gstpipeline.c: (gst_pipeline_init):
4455           use gst_bus_new(), improve logging, fix docs
4456         * win32/common/config.h:
4457           update for cvs build
4458
4459 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4460
4461         * autogen.sh:
4462           up required version of automake to 1.7
4463
4464 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4465
4466         * win32/common/libgstreamer.def:
4467           export gst_buffer_is_metadata_writable
4468
4469 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4470
4471         * docs/gst/gstreamer-sections.txt:
4472         * gst/gstevent.h:
4473           Add gst_event_replace() (#327001)
4474
4475 2006-01-20  Wim Taymans  <wim@fluendo.com>
4476
4477         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4478         Make it actually compile too..
4479
4480 2006-01-20  Wim Taymans  <wim@fluendo.com>
4481
4482         * gst/gstcaps.c:
4483         Clarify behaviour of _is_equal() when passing NULL parameters.
4484
4485         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4486         (gst_pad_set_caps):
4487         Cleanups. Don't unref NULL caps.
4488         When setting the same caps, protect caps of the pad with
4489         proper lock.
4490         Use full functionality of _is_equal() when comparing caps.
4491
4492 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4493
4494         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4495         Don't loop infinitely if there are no buffers to present. Partially
4496         fixes #327197, but collectpads is just broken for reusing elements
4497         to do multiple encodes atm.
4498
4499 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4500
4501         * tools/gst-inspect.c: (print_element_features):
4502         * tools/gst-xmlinspect.c: (main):
4503         URL_HANDLER is not a plugin feature we can search for in
4504         the registry.
4505
4506 2006-01-19  Edward Hervey  <edward@fluendo.com>
4507
4508         * gst/gstelement.c: (gst_element_pads_activate): 
4509         When activating, do src pads first, then sink pads.
4510         When de-activating, do sink pads first, then src pads.
4511
4512 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4513
4514         * docs/gst/gstreamer-sections.txt:
4515         Add gst_index_add_associationv to the docs
4516
4517 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4518
4519         * gst/gstevent.c:
4520           Fix docs typo
4521
4522         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4523         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4524           Do some refactoring. Doesn't actually change functionality,
4525           but makes landing the DRAIN event easier later.
4526
4527 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * docs/pwg/advanced-scheduling.xml:
4530           Update from 0.9.x to 0.10 API and make example a bit
4531           clearer.
4532
4533 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4534
4535         * docs/gst/gstreamer-sections.txt:
4536         Add gst_buffer_(is|make)_metadata_writable methods.
4537
4538 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4539
4540         * docs/design/part-sparsestreams.txt:
4541         Update sparse streams doc, hopefully for greater clarity
4542
4543 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4544
4545         * docs/design/part-events.txt:
4546         Remove mention of FILLER events.
4547         Add DRAIN event.
4548
4549         * docs/design/part-sparsestreams.txt:
4550         Write some things about using NEWSEGMENT to keep sparse streams
4551         flowing.
4552
4553 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4554
4555         * gst/gstbin.c: (gst_bin_dispose):
4556           Guard gst_object_unref call against a NULL object (dispose
4557           can theoretically be called multiple times).
4558           
4559 2006-01-18  Wim Taymans  <wim@fluendo.com>
4560
4561         * gst/gstbin.c: (gst_bin_element_set_state):
4562         * gst/gstclock.c: (gst_clock_id_wait):
4563         Added some more debug info.
4564
4565         * libs/gst/base/gstadapter.c:
4566         Added more docs.
4567
4568         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4569         (gst_base_sink_do_sync), (gst_base_sink_chain):
4570         Added some comments.
4571
4572 2006-01-18  Wim Taymans  <wim@fluendo.com>
4573
4574         * tests/check/Makefile.am:
4575         * tests/check/elements/fakesink.c: (chain_async_buffer),
4576         (chain_async), (chain_async_return), (GST_START_TEST),
4577         (fakesink_suite), (main):
4578         Added fakesink test that checks prerolling and clipping
4579         behaviour.
4580
4581         * tests/check/gst/gstutils.c: (GST_START_TEST):
4582         Make check run faster so that buildbots don't timeout.
4583
4584 2006-01-18  Wim Taymans  <wim@fluendo.com>
4585
4586         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4587         (gst_base_sink_do_sync):
4588         Some cleanups.
4589         When the sink finishes blocking on the preroll buffer, it can
4590         immediatly render it instead of rendering when the next buffer
4591         arrives.
4592
4593 2006-01-18  Wim Taymans  <wim@fluendo.com>
4594
4595         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4596         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4597         (gst_base_sink_chain):
4598         Small cleanups.
4599         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4600         Don't store _last_stop if the buffer is dropped.
4601
4602 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4603
4604         * plugins/elements/gsttypefindelement.c:
4605         (gst_type_find_element_class_init):
4606           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4607           object method handler that sets the caps on the pad and we want
4608           that to happen before we emit the signal (fixes e.g. feeding a
4609           plain text file to decodebin).
4610
4611 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4612
4613         * gst/gstplugin.c: Add MPL and Proprietary as license options
4614
4615 2006-01-18  Andy Wingo  <wingo@pobox.com>
4616
4617         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4618         symbol was exported before, it appears this was just an oversight.
4619         Fixes #168703.
4620         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4621
4622         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4623         prototype to gint. OK since this prototype was not in the header.
4624
4625 2006-01-17  Andy Wingo  <wingo@pobox.com>
4626
4627         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4628         registry while we remove plugins.
4629
4630         * tools/gst-inspect.c (print_element_info): Don't unref the
4631         factory arg, that should be the responsibility of whatever code
4632         received the ref. Fixes a double-free when called from
4633         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4634         (main): Unref the factory if we have one.
4635         (print_element_list): No change -- relies on the
4636         plugin_feature_list_free to free the list of features.
4637
4638 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4639
4640         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4641         (gst_buffer_make_metadata_writable):
4642         * gst/gstbuffer.h:
4643         * libs/gst/base/gstbasetransform.c:
4644         (gst_base_transform_prepare_output_buf):
4645         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4646         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4647           Replace gst_buffer_(make|is)_metadata_writable patch now
4648           that the release is out.
4649
4650 2006-01-17  Andy Wingo  <wingo@pobox.com>
4651
4652         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4653         in the present tense without reference to versions.
4654
4655         * gst/gstregistry.c (gst_registry_add_plugin)
4656         (gst_registry_remove_plugin, gst_registry_remove_feature)
4657         (gst_registry_find_feature, gst_registry_get_feature_list)
4658         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4659         (gst_registry_lookup, gst_registry_scan_path)
4660         (_gst_registry_remove_cache_plugins)
4661         (gst_registry_get_feature_list_by_plugin): Add argument
4662         validation.
4663
4664 === release 0.10.2 ===
4665
4666 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4667
4668         * configure.ac:
4669           releasing 0.10.2, "If man is five"
4670
4671 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4672
4673         * gst/gstbuffer.c:
4674         * gst/gstbuffer.h:
4675         * libs/gst/base/gstbasetransform.c:
4676         (gst_base_transform_prepare_output_buf):
4677         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4678         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4679           Back out patch until after the release.
4680
4681 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4682
4683         * gst/gstminiobject.c:
4684           Spelling fix in docs.
4685         * ChangeLog - remove conflict indicator
4686
4687 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4688
4689         Reviewed By: Andy Wingo
4690
4691         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4692         (gst_buffer_make_metadata_writable):
4693         * gst/gstbuffer.h:
4694           Add gst_buffer_(is|make)_metadata_writable as analogues of
4695           gst_buffer_(is|make)_writable.
4696
4697         * libs/gst/base/gstbasetransform.c:
4698         (gst_base_transform_prepare_output_buf):
4699         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4700           Use name gst_buffer_(is|make)_metadata_writable functions.
4701
4702         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4703           Test gst_buffer_(is|make)_metadata_writable
4704         
4705           (Closes: #324162)
4706
4707 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * docs/manual/Makefile.am:
4710           don't do parallel make
4711         * configure.ac:
4712           AC_SUBST HOST_CPU
4713         * win32/common/config.h.in:
4714           add generations for HOST_CPU and GST_MAJORMINOR
4715         * win32/common/config.h:
4716           commit generated result
4717
4718 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4719
4720         * docs/manual/appendix-integration.xml:
4721           Update GNOME integration section to use gst_init_get_option_group()
4722           instead of the old popt stuff (#322911). Also, GNOME applications
4723           should  now use gconf*sink and gconf*src instead of the old gconf
4724           helper lib we had.
4725
4726 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4727
4728
4729         * docs/gst/gstreamer-docs.sgml:
4730         * docs/gst/gstreamer-sections.txt:
4731         * docs/libs/gstreamer-libs-sections.txt:
4732           add new API entries to the docs
4733         * libs/gst/controller/Makefile.am:
4734         * libs/gst/controller/gstcontroller.c:
4735         * libs/gst/controller/gstcontroller.h:
4736         * libs/gst/controller/gstcontrollerprivate.h:
4737         * libs/gst/controller/gsthelper.c:
4738         * libs/gst/controller/gstinterpolation.c:
4739           move private structs to private header
4740         * po/README:
4741           gstreamer-0.7 -> gstreamer-0.10
4742         * tests/check/libs/struct_i386.h:
4743           remove private structs
4744
4745 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4746
4747         * plugins/indexers/Makefile.am:
4748           Fixes as part of #317048
4749
4750 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4751
4752         * plugins/indexers/Makefile.am:
4753           fix #316086 - compilation when mmap is missing
4754
4755 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4756
4757         * libs/gst/base/gstbasesink.c:
4758           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4759           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4760         * win32/common/config.h:
4761           added some defines GST_MAJORMINOR and HOST_CPU
4762         * win32/common/libgstbase.def:
4763         * win32/common/libgstreamer.def:
4764           added some exported functions.
4765
4766 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4767
4768         * libs/gst/controller/gstcontroller.c:
4769         (gst_controlled_property_set_interpolation_mode),
4770         (gst_controlled_property_new):
4771         * libs/gst/controller/gstcontroller.h:
4772         * libs/gst/controller/gstinterpolation.c:
4773         (interpolate_none_get_string_value_array):
4774           make G_TYPE_STRING controlable
4775
4776 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4777
4778         * tools/README:
4779         * tools/gst-feedback.1.in:
4780         * tools/gst-inspect.1.in:
4781         * tools/gst-launch.1.in:
4782         * tools/gst-md5sum.1.in:
4783         * tools/gst-typefind.1.in:
4784         * tools/gst-xmlinspect.1.in:
4785         * tools/gst-xmllaunch.1.in:
4786           cleanup man-pages, remove reference to gst-register, document env-vars
4787
4788 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4789
4790         * gst/gstbuffer.c: (gst_buffer_span):
4791           gst_buffer_span should copy the timestamp of the first buffer
4792           if they were both originally overlapping subbuffers of the 
4793           same parent, using the same logic as the 'slow copy' case.
4794
4795 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4796
4797         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4798           Need to awaken ALL the pads when we pop a buffer, otherwise
4799           collectpads only works when there is 2 input streams.
4800
4801 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4802
4803         * docs/random/ensonic/media-device-daemon.txt:
4804           more ideas (dbus)
4805         * gst/gstbuffer.c:
4806           fix doc example, add clarification
4807         * tools/gst-launch.1.in:
4808           add initial info about GST_PLUGIN_PATH, needs more work
4809
4810 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4811
4812         * docs/manual/basics-bins.xml:
4813         * docs/manual/basics-elements.xml:
4814         * docs/manual/intro-basics.xml:
4815           Some more minor docs additions and updates.
4816
4817 2006-01-11  Wim Taymans  <wim@fluendo.com>
4818
4819         * docs/manual/basics-bins.xml:
4820         * docs/manual/basics-elements.xml:
4821         Some small fixes as pointed out by Ser-ver on IRC.
4822
4823 2006-01-10  Edward Hervey  <edward@fluendo.com>
4824
4825         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4826         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4827         the single-segment mode.
4828
4829 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4830
4831         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4832
4833         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4834         (gst_base_src_perform_seek), (gst_base_src_send_event),
4835         (gst_base_src_set_property), (gst_base_src_get_property),
4836         (gst_base_src_loop), (gst_base_src_start),
4837         (gst_base_src_activate_push):
4838         * libs/gst/base/gstbasesrc.h:
4839           Name (private) union; makes Sun's Forte compiler happy (#324900).
4840
4841 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         * README:
4844           gst-register is gone.
4845
4846 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * gst/gstvalue.c: (_gst_value_initialize):
4849           make the G_TYPE_DATE instantiation work if debug is disabled
4850
4851 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4852
4853         * gst/gstmessage.c: (gst_message_parse_tag),
4854         (gst_message_parse_error), (gst_message_parse_warning):
4855           Don't crash when return location for error/warning debug
4856           string is NULL; add fact that return locations can be
4857           NULL to docs where appropriate.
4858
4859 2006-01-05  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/gstplugin.c: (gst_plugin_load_file):
4862         Replace strdup by g_strdup.
4863
4864 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         * docs/pwg/advanced-types.xml:
4867           fix doc borkage
4868
4869 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         submitted by: Abel Cheung
4872
4873         * po/LINGUAS:
4874         * po/zh_TW.po:
4875           Added Chinese (traditional) translation
4876
4877 2006-01-04  Wim Taymans  <wim@fluendo.com>
4878
4879         * docs/manual/basics-pads.xml:
4880         * docs/plugins/Makefile.am:
4881         * docs/plugins/gstreamer-plugins-docs.sgml:
4882         * docs/plugins/gstreamer-plugins-sections.txt:
4883         * docs/pwg/advanced-clock.xml:
4884         * docs/pwg/advanced-scheduling.xml:
4885         * docs/pwg/advanced-types.xml:
4886         * plugins/elements/gstfdsink.c:
4887         * plugins/elements/gstfdsrc.c:
4888         * plugins/elements/gstfdsrc.h:
4889         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4890         * plugins/elements/gstidentity.h:
4891         * plugins/elements/gstqueue.h:
4892         * plugins/elements/gsttee.c:
4893         * plugins/elements/gsttee.h:
4894         * plugins/elements/gsttypefindelement.c:
4895         (gst_type_find_element_class_init):
4896         * plugins/elements/gsttypefindelement.h:
4897         Small updates to various docs.
4898         Added core plugins to docs.
4899
4900 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4901
4902         * common/gst.supp:
4903           add a suppression for liboil's uninitialized variable
4904
4905 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4906
4907         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4908
4909         * gst/gstutils.h:
4910           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4911           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4912           compiler switch is being used (#325429).
4913
4914 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4915
4916         * gst/gstbin.c: (gst_bin_query):
4917           Disable duration query caching in bins until it gets
4918           fixed (see #324807).
4919
4920 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4921
4922         * tools/gst-inspect.c: (print_element_properties_info):
4923           Handle properties of POINTER and BOXED type.
4924
4925 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         * gst/gst.c: (init_post):
4928           Init tags stuff and some other things before loading
4929           any static plugins (there may be other static plugins
4930           than just the GStreamer ones, and they may want to
4931           register their own tags or formats or whatever, and
4932           preferably without segfaulting).
4933
4934         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4935           Print at least a warning in the debug logs if we drop a
4936           query just because we don't know how to adjust the value
4937           in the particular format.
4938
4939 2005-12-24  David Schleef  <ds@schleef.org>
4940
4941         * tools/gstreamer-completion:
4942           Replacement for gst-complete written in sh and sed.  Only
4943           completes names of features, but that's 90% of what I want
4944           it for.  Properties are not available in registry.xml.  (Maybe
4945           they should be...)
4946
4947 === release 0.10.1 ===
4948
4949 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4950
4951         * configure.ac:
4952           releasing 0.10.1, "Nollaig chridheil"
4953
4954 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * docs/faq/cvs.xml:
4957           Add missing quote, should be make ERROR_CFLAGS="".
4958
4959 2005-12-20  Wim Taymans  <wim@fluendo.com>
4960
4961         * docs/design/part-trickmodes.txt:
4962         More documentation on trickmodes.
4963
4964 2005-12-20  Edward Hervey  <edward@fluendo.com>
4965
4966         * gst/gstcaps.c: (gst_static_caps_get_type):
4967         * gst/gstcaps.h:
4968           API addition: GST_TYPE_STATIC_CAPS
4969         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4970         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4971         * gst/gstpadtemplate.h:
4972           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4973         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4974         bindings.
4975
4976 2005-12-18  Wim Taymans  <wim@fluendo.com>
4977
4978         * libs/gst/base/gstadapter.c:
4979         * libs/gst/base/gstadapter.h:
4980         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4981         (gst_base_sink_get_position):
4982         * libs/gst/base/gstbasesink.h:
4983         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4984         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4985         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4986         (gst_base_src_send_event), (gst_base_src_update_length),
4987         (gst_base_src_get_range), (gst_base_src_loop),
4988         (gst_base_src_start):
4989         * libs/gst/base/gstbasesrc.h:
4990         * libs/gst/base/gstbasetransform.h:
4991         * libs/gst/base/gstcollectpads.h:
4992         * libs/gst/base/gstpushsrc.c:
4993         * libs/gst/base/gstpushsrc.h:
4994         * libs/gst/dataprotocol/dataprotocol.c:
4995         * libs/gst/dataprotocol/dataprotocol.h:
4996         * libs/gst/net/gstnetclientclock.h:
4997         * libs/gst/net/gstnettimeprovider.h:
4998         Documentation updates.
4999
5000 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5001
5002         * docs/manual/basics-helloworld.xml:
5003           Remove superfluous closing bracket in helloworld example.
5004
5005 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5006
5007         * tools/gst-launch.1.in:
5008           Update gst-launch man page; add a section with useful
5009           environment variables. Fixes #323882.
5010
5011 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5012
5013         * gst/gst.c:
5014         * gst/gst_private.h:
5015           change some char* into char[]
5016
5017 2005-12-16  Wim Taymans  <wim@fluendo.com>
5018
5019         * gst/gstregistryxml.c: (load_feature):
5020         Cleanups.
5021         Don't use g_object_unref on GstObjects so that we avoid
5022         leaks on unsafe glibs.
5023
5024 2005-12-16  Wim Taymans  <wim@fluendo.com>
5025
5026         * gst/gstbin.c: (gst_bin_recalc_state):
5027         Small doc updates.
5028
5029 2005-12-16  Wim Taymans  <wim@fluendo.com>
5030
5031         * common/check.mak:
5032         Added make forever target for check.
5033
5034 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5035
5036         * gst/gst.c: (init_post):
5037           make the registry cache file HOST_CPU-dependent
5038
5039 2005-12-16  Andy Wingo  <wingo@pobox.com>
5040
5041         * plugins/elements/gstbufferstore.c
5042         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5043         return value.
5044
5045         * tests/check/gst/gstobject.c
5046         (test_fake_object_name_threaded_unique): Pay attention to
5047         g_list_sort return value.
5048
5049 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * tools/gst-feedback-m.m:
5052           Update for 0.9/0.10 (fixes #323870).
5053
5054 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5055
5056         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5057           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5058           
5059         * tests/check/gst/gstminiobject.c: (my_foo_init),
5060         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5061         (test_value_collection), (gst_mini_object_suite):
5062           Add test to ensure refcounts end up as expected when passing
5063           GstMiniObjects through g_object_get() and g_object_set().
5064
5065 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5066
5067         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5068         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5069         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5070         of collectpads. This version removes a lot of races without
5071         touching API/ABI. Yay !
5072
5073 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5074
5075         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5076           Don't allow activation of a srcpad in pull_range if it has no
5077           getrange function.
5078           Change some debug statements to be a little clearer
5079
5080         * plugins/elements/gsttypefindelement.c:
5081         (gst_type_find_handle_src_query):
5082           Check that we have a peer before executing queries thereupon.
5083
5084         * tests/examples/metadata/read-metadata.c: (message_loop):
5085           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5086           immediately return us any available message with 0 timeout.
5087
5088 2005-12-12  Michael Smith  <msmith@fluendo.com>
5089
5090         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5091           Don't unref factories after calling them.
5092         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5093         * plugins/elements/gsttypefindelement.c:
5094         (gst_type_find_element_chain):
5095           Free lists of factories after using them. Fixing typefinding memory
5096           leaks.
5097
5098 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5099
5100         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5101         (gst_plugin_feature_load):
5102           more meaningful debug output
5103         * configure.ac:
5104         * tests/Makefile.am:
5105         * tests/old/examples/Makefile.am:
5106           make make distcheck happy again
5107
5108 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5109
5110         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5111           Catch the special case where we are operating chain-based,
5112           but the downstream peer pad has no chain function. Emit a
5113           custom error message in this case instead of letting the
5114           core generate one implying that this is some sort of core
5115           bug. It's not, it just means that whatever got plugged
5116           into the pipeline downstream when we announced the type
5117           can only operate pull-based, while our source can only
5118           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5119           Error string has not been marked for translation yet, as
5120           it probably needs some more work first.
5121
5122         (gst_type_find_element_get_best_possibility):
5123           Add helper function to find the best of all available
5124           found possibilities that qualify given the min. threshold.
5125
5126         (gst_type_find_element_handle_event):
5127           Fix the case where we get an EOS while still in TYPEFIND
5128           mode (we want to chose the best of all possible types,
5129           not just the first type that happens to be in our unsorted
5130           list of possible types).
5131
5132         (gst_type_find_element_chain):
5133           Make sure we return GST_FLOW_ERROR when we errored out
5134           in stop_typefinding(); also, don't just find the best of
5135           all found type entries and then use the last examined
5136           type entry, but actually use the best entry.
5137
5138 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5139
5140         * tests/examples/typefind/typefind.c: (type_found):
5141         * tests/examples/xml/runxml.c: (xml_loaded):
5142           More gcc4 fixes and a mem leak fix.
5143
5144 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5145
5146         * tests/examples/xml/createxml.c: (object_saved):
5147           gcc 4 fixes
5148
5149 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5150
5151         * tests/Makefile.am:
5152           enable the examples even more
5153
5154 2005-12-12  Andy Wingo  <wingo@pobox.com>
5155
5156         * libs/gst/net/gstnettimeprovider.c
5157         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5158         (gst_net_time_provider_set_property)
5159         (gst_net_time_provider_get_property):
5160         API addition: Export "active" as a GObject property.
5161         (gst_net_time_provider_thread): Only respond to time queries if
5162         the time provider is active.
5163
5164         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5165         NetTimeProvider, preserving binary compat.
5166
5167 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5168
5169         * tests/examples/controller/audio-example.c: (main):
5170         * tests/examples/launch/Makefile.am:
5171           convert comments again
5172
5173 2005-12-12  Wim Taymans  <wim@fluendo.com>
5174
5175         * libs/gst/base/gstpushsrc.c:
5176         Fix typo.
5177
5178 2005-12-12  Wim Taymans  <wim@fluendo.com>
5179
5180         * docs/libs/gstreamer-libs-sections.txt:
5181         Added new symbol to docs.
5182
5183         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5184         (gst_base_src_init), (gst_base_src_set_format),
5185         (gst_base_src_default_query), (gst_base_src_query),
5186         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5187         (gst_base_src_perform_seek), (gst_base_src_send_event),
5188         (gst_base_src_default_event), (gst_base_src_event_handler),
5189         (gst_base_src_set_property), (gst_base_src_get_property),
5190         (gst_base_src_wait), (gst_base_src_do_sync),
5191         (gst_base_src_update_length), (gst_base_src_get_range),
5192         (gst_base_src_check_get_range), (gst_base_src_loop),
5193         (gst_base_src_default_negotiate), (gst_base_src_start),
5194         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5195         (gst_base_src_change_state):
5196         * libs/gst/base/gstbasesrc.h:
5197         Implement seeking to other formats than _BYTES.
5198         Implement more seeking methods correctly.
5199         Doc updates.
5200         Added query vmethod.
5201         Added do_seek vmethod to make life easier for subclasses
5202         when seeking.
5203         API addition: gst_base_src_set_format()
5204
5205 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5206
5207         * tests/examples/Makefile.am:
5208           added that too
5209
5210 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5211
5212         * configure.ac:
5213         * docs/random/ensonic/media-device-daemon.txt:
5214         * tests/examples/controller/.cvsignore:
5215         * tests/examples/controller/Makefile.am:
5216         * tests/examples/controller/audio-example.c: (main):
5217         * tests/examples/helloworld/.cvsignore:
5218         * tests/examples/helloworld/Makefile.am:
5219         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5220         * tests/examples/launch/.cvsignore:
5221         * tests/examples/launch/Makefile.am:
5222         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5223         * tests/examples/metadata/.cvsignore:
5224         * tests/examples/metadata/Makefile.am:
5225         * tests/examples/metadata/read-metadata.c: (message_loop),
5226         (make_pipeline), (print_tag), (main):
5227         * tests/examples/queue/.cvsignore:
5228         * tests/examples/queue/Makefile.am:
5229         * tests/examples/queue/queue.c: (event_loop), (main):
5230         * tests/examples/typefind/.cvsignore:
5231         * tests/examples/typefind/Makefile.am:
5232         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5233         (main):
5234         * tests/examples/xml/.cvsignore:
5235         * tests/examples/xml/Makefile.am:
5236         * tests/examples/xml/createxml.c: (object_saved), (main):
5237         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5238         * tests/old/examples/Makefile.am:
5239         * tests/old/examples/TODO:
5240         * tests/old/examples/controller/.cvsignore:
5241         * tests/old/examples/controller/Makefile.am:
5242         * tests/old/examples/controller/audio-example.c:
5243         * tests/old/examples/helloworld/.cvsignore:
5244         * tests/old/examples/helloworld/Makefile.am:
5245         * tests/old/examples/helloworld/helloworld.c:
5246         * tests/old/examples/launch/.cvsignore:
5247         * tests/old/examples/launch/Makefile.am:
5248         * tests/old/examples/launch/mp3parselaunch.c:
5249         * tests/old/examples/launch/mp3play:
5250         * tests/old/examples/manual/Makefile.am:
5251         * tests/old/examples/metadata/Makefile.am:
5252         * tests/old/examples/metadata/read-metadata.c:
5253         * tests/old/examples/queue/.cvsignore:
5254         * tests/old/examples/queue/Makefile.am:
5255         * tests/old/examples/queue/queue.c:
5256         * tests/old/examples/typefind/.cvsignore:
5257         * tests/old/examples/typefind/Makefile.am:
5258         * tests/old/examples/typefind/typefind.c:
5259         * tests/old/examples/xml/.cvsignore:
5260         * tests/old/examples/xml/Makefile.am:
5261         * tests/old/examples/xml/createxml.c:
5262         * tests/old/examples/xml/runxml.c:
5263           applied some simple fixing to some examples
5264           re-enabled the working examples
5265
5266 2005-12-12  Wim Taymans  <wim@fluendo.com>
5267
5268         * gst/gstsegment.c: (gst_segment_init),
5269         (gst_segment_set_last_stop), (gst_segment_set_seek),
5270         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5271         (gst_segment_to_running_time):
5272         Added more documentation.
5273         Make sure the last_pos value is updated properly.
5274         Make sure to_stream_time and to_running_time don't
5275         operate on wrong values.
5276
5277         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5278         Update check.
5279
5280 2005-12-12  Michael Smith  <msmith@fluendo.com>
5281
5282         * plugins/elements/gsttypefindelement.c: (free_entry),
5283         (gst_type_find_element_chain):
5284           Now that we're not leaking factories, make sure we keep references
5285           to them while we need them.
5286
5287 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5288
5289         * tests/check/gst/struct_i386.h:
5290           ifdef out the XML structs
5291
5292 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5293
5294         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5295           floor is not needed, F is always positive; this obviates the
5296           need for adding -lm when building without libxml
5297
5298 2005-12-12  Wim Taymans  <wim@fluendo.com>
5299
5300         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5301         Take current playback rate into account when reporting
5302         the position.
5303
5304 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5305
5306         * docs/manual/mime-world.fig:
5307           Let's try this again, this time with a file that is
5308           actually in XFig format.
5309
5310 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5311
5312         * docs/manual/mime-world.fig:
5313           Add audioconvert element to diagram so that it
5314           matches the text and the code (fixes #319526).
5315
5316 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5317
5318         * docs/pwg/building-chainfn.xml:
5319         * docs/pwg/building-pads.xml:
5320         * docs/pwg/building-state.xml:
5321         * docs/pwg/other-source.xml:
5322           Update state change stuff for 0.10 (fixes #322969).
5323
5324 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5325
5326         * docs/manual/advanced-dataaccess.xml:
5327         * docs/manual/appendix-checklist.xml:
5328         * docs/manual/appendix-programs.xml:
5329         * docs/manual/basics-pads.xml:
5330         * docs/manual/highlevel-components.xml:
5331         * docs/manual/manual.xml:
5332           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5333           add converters in front of pipelines; remove curly
5334           brackets for threads stuff, they no longer exist; use
5335           GST_TYPE_FRACTION for framerates; update some pieces of
5336           code to 0.10, but there's plenty more to do.
5337
5338         * docs/manual/appendix-porting.xml:
5339           Expand on asynchroneous state changes; s/0.9/0.10/;
5340           mention disappearance of gst_init_get_popt_table()
5341           (fixes #322916).
5342
5343 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5344
5345         * docs/faq/using.xml:
5346           Spider no longer exists, and neither does gst-launch-ext.
5347           Update examples to use decodebin and playbin and put
5348           converters in front of sinks (fixes #323726).
5349
5350 2005-12-09  Michael Smith  <msmith@fluendo.com>
5351
5352         * plugins/elements/gsttypefindelement.c: (find_peek),
5353         (gst_type_find_element_chain):
5354           Fix leaking element factories in typefinding.
5355           Fix problem where we forgot about a probable type on non-seekable
5356           files, and thus later mis-typefound it.
5357
5358 2005-12-09  Michael Smith  <msmith@fluendo.com>
5359
5360         * common/m4/gst-makecontext.m4:
5361         * common/m4/gst-mcsc.m4:
5362         * configure.ac:
5363         * win32/common/config.h:
5364         * win32/common/config.h.in:
5365           Remove makecontext stuff; not used in 0.10 and causes problems on
5366           HPUX according to bug #322441
5367
5368 2005-12-07  Wim Taymans  <wim@fluendo.com>
5369
5370         * tests/check/Makefile.am:
5371         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5372         (main):
5373         * tests/check/libs/struct_i386.h:
5374         Added ABI check for libs
5375
5376 2005-12-07  Wim Taymans  <wim@fluendo.com>
5377
5378         * tests/check/Makefile.am:
5379         And add the struct_i386.h to dist.
5380
5381 2005-12-07  Wim Taymans  <wim@fluendo.com>
5382
5383         * tests/check/Makefile.am:
5384         * tests/check/gst/.cvsignore:
5385         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5386         (main):
5387         * tests/check/gst/struct_i386.h:
5388         Added check for ABI compatibility.
5389
5390 2005-12-07  Wim Taymans  <wim@fluendo.com>
5391
5392         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5393         (gst_fake_src_get_times), (gst_fake_src_create):
5394         Fix broken sync option, fixes #323259
5395
5396 2005-12-07  Wim Taymans  <wim@fluendo.com>
5397
5398         * gst/gstbuffer.c:
5399         Small docs update.
5400
5401         * gst/gstcaps.c: (gst_caps_is_equal):
5402         Don't assert on NULL <--> X. Fixes #323260
5403
5404         * gst/gstminiobject.c: (gst_mini_object_replace):
5405         If we're doing atomic operations, we might just as well use
5406         the proper way to get an atomic pointer.
5407
5408         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5409         Clean up debugging.
5410
5411 2005-12-07  Michael Smith  <msmith@fluendo.com>
5412
5413         * gst/parse/grammar.y:
5414           Remove handling of { } for threads.
5415
5416 2005-12-06  David Schleef  <ds@schleef.org>
5417
5418         * libs/gst/base/gstbasetransform.c: speling fix.
5419
5420 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5421
5422         * docs/libs/tmpl/gstdataprotocol.sgml:
5423         * docs/random/omega/testing/gstobject.c:
5424         * gst/gst.c:
5425         * gst/gstclock.c:
5426         * gst/gstelement.c:
5427         * gst/gstelementfactory.c:
5428         * gst/gsterror.c:
5429         * gst/gstevent.c:
5430         * gst/gstghostpad.c:
5431         * gst/gstinfo.c:
5432         * gst/gstpadtemplate.c:
5433         * gst/gstregistryxml.c:
5434         * gst/gsttaglist.c:
5435         * gst/gsttagsetter.c:
5436         * gst/gsttypefind.c:
5437         * gst/gstvalue.c:
5438         * libs/gst/base/gstbasesrc.c:
5439         * libs/gst/net/gstnetclientclock.c:
5440         * libs/gst/net/gstnettimeprovider.c:
5441         * plugins/elements/gstfakesrc.c:
5442         * plugins/elements/gstfdsrc.c:
5443         * plugins/elements/gstfilesrc.c:
5444         * plugins/elements/gstidentity.c:
5445         * plugins/elements/gstqueue.c:
5446         * plugins/elements/gsttypefindelement.c:
5447         * plugins/indexers/gstfileindex.c:
5448         * plugins/indexers/gstmemindex.c:
5449         * tests/check/gst/gsttag.c:
5450         * tests/old/examples/cutter/cutter.c:
5451         * tests/old/examples/mixer/mixer.c:
5452         * tests/old/examples/xml/runxml.c: (main):
5453         * tests/old/testsuite/caps/normalisation.c:
5454         * tests/old/testsuite/debug/global.c:
5455         * tests/old/testsuite/parse/parse1.c:
5456         * tools/gst-xmlinspect.c:
5457         * win32/common/dirent.c:
5458           expand tabs
5459
5460 === release 0.10.0 ===
5461
5462 2005-12-05   <thomas (at) apestaart (dot) org>
5463
5464         * configure.ac:
5465           releasing 0.10.0, "Maroilles"
5466
5467 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5468
5469         submitted by: Funda Wang <fundawang@linux.net.cn>
5470
5471         * po/LINGUAS:
5472         * po/zh_CN.po:
5473           added Chinese (Traditional) translation
5474
5475 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5476
5477         * docs/gst/gstreamer-sections.txt:
5478         * docs/libs/tmpl/gstdataprotocol.sgml:
5479         * docs/random/thomasvs/TODO:
5480         * gst/gstutils.c:
5481         * gst/gstutils.h:
5482           fix docs
5483
5484 2005-12-05  Andy Wingo  <wingo@pobox.com>
5485
5486         patch by: Wim Taymans <wim@fluendo.com>
5487
5488         * libs/gst/base/gstbasetransform.c
5489         (gst_base_transform_prepare_output_buf)
5490         (gst_base_transform_buffer_alloc):
5491         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5492         alloc_buffer_and_set_caps.
5493
5494         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5495         set_caps on the source pad.
5496         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5497         alloc_buffer used to do. Fixes #322874.
5498
5499         * docs/gst/gstreamer-sections.txt: 
5500         * docs/design/part-negotiation.txt: 
5501         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5502         changes.
5503
5504 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         patch by: Sebastien Moutte
5507
5508         * win32/MANIFEST:
5509         * win32/common/config.h.in:
5510         * win32/vs6/libgstcontroller.dsp:
5511           win32 build fixes
5512
5513 2005-12-05  Wim Taymans  <wim@fluendo.com>
5514
5515         * gst/gstcaps.c: (gst_caps_is_equal):
5516         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5517         (gst_fake_src_create):
5518         Back out previous code changes, leave doc updates, file bugs 
5519         instead. 
5520
5521 2005-12-05  Wim Taymans  <wim@fluendo.com>
5522
5523         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5524         (gst_fake_src_get_times), (gst_fake_src_create):
5525         * plugins/elements/gstfakesrc.h:
5526         Fix broken sync code.
5527
5528 2005-12-05  Wim Taymans  <wim@fluendo.com>
5529
5530         * gst/gstcaps.c: (gst_caps_is_equal):
5531         Comparing NULL against !NULL yields different caps, not a
5532         failure.
5533
5534 2005-12-05  Wim Taymans  <wim@fluendo.com>
5535
5536         * gst/gstpipeline.c:
5537         Fix small typo in docs.
5538
5539 2005-12-05  Andy Wingo  <wingo@pobox.com>
5540
5541         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5544         registries/plugins with a MAJORMINOR one.
5545         (plugin_desc): Rename library from gstcoreleements to
5546         staticelements. Fixes #323222.
5547
5548 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5549
5550         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5551           Change debug category to 'collectpads' from 'collect_pads'
5552           (fixes #323250).
5553
5554 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         patch by: Sebastien Moutte
5557
5558         * libs/gst/controller/gstinterpolation.c:
5559           use convert function for uint64/double
5560         * win32/vs6/libgstcontroller.dsp:
5561           link to GLib
5562
5563 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5566         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5567         * gst/gstutils.h:
5568         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5569           add tests that seem to show that the guint64/gdouble conversions
5570           are correct.
5571
5572 2005-12-02  Wim Taymans  <wim@fluendo.com>
5573
5574         * gst/gstregistry.c: (gst_registry_add_path):
5575         * gst/gstregistry.h:
5576         * gst/gstregistryxml.c:
5577         Fix docs again.
5578
5579 2005-12-02  Wim Taymans  <wim@fluendo.com>
5580
5581         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5582         (gst_util_uint64_scale_int):
5583         Small cleanup.
5584
5585         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5586         Add debug log line.
5587
5588         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5589         Add FIXME.
5590
5591 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5592
5593         * win32/MANIFEST:
5594         * win32/common/config.h:
5595         * win32/vs6/gstreamer.dsw:
5596         * win32/vs6/libgstcoreelements.dsp:
5597         * win32/vs6/libgstelements.dsp:
5598           renamed core elements plugin
5599
5600 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5601
5602         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5603         (get_candidates):
5604           do piece-wise major/minor comparison so 0.9 < 0.10
5605           also allow .exe extensions for tools
5606
5607 2005-12-02  Michael Smith  <msmith@fluendo.com>
5608
5609         * gst/gst.c:
5610           Escape a % to make gtkdoc happier; bug 322958.
5611
5612 === release 0.9.7 ===
5613
5614 2005-12-01   <thomas (at) apestaart (dot) org>
5615
5616         * configure.ac:
5617           releasing 0.9.7, "My Dog Has No Nose"
5618
5619 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5620
5621         * common/gst-xmlinspect.py:
5622         * configure.ac:
5623         * docs/libs/tmpl/gstdataprotocol.sgml:
5624         * docs/random/release:
5625         * po/af.po:
5626         * po/az.po:
5627         * po/bg.po:
5628         * po/ca.po:
5629         * po/cs.po:
5630         * po/de.po:
5631         * po/en_GB.po:
5632         * po/fr.po:
5633         * po/it.po:
5634         * po/nb.po:
5635         * po/nl.po:
5636         * po/ru.po:
5637         * po/sq.po:
5638         * po/sr.po:
5639         * po/sv.po:
5640         * po/tr.po:
5641         * po/uk.po:
5642         * po/vi.po:
5643         * win32/common/config.h:
5644         * win32/common/config.h.in:
5645         * win32/vs6/gst_inspect.dsp:
5646         * win32/vs6/gst_launch.dsp:
5647         * win32/vs6/libgstbase.dsp:
5648         * win32/vs6/libgstelements.dsp:
5649         * win32/vs6/libgstreamer.dsp:
5650         * win32/vs7/GStreamer.vcproj:
5651         * win32/vs7/gst-inspect.vcproj:
5652         * win32/vs7/gst-launch.vcproj:
5653         * win32/vs7/libgstbase.vcproj:
5654           bump GST_MAJORMINOR to 0.10
5655           reset libtool version
5656
5657 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5658
5659         * po/LINGUAS:
5660         * po/bg.po:
5661           Added Bulgarian translation by (Alexander Shopov)
5662
5663 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5664
5665         * tests/check/gst/gstplugin.c:
5666           fix test
5667
5668 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5669
5670         * common/gst-xmlinspect.py:
5671         * common/gtk-doc-plugins.mak:
5672         * configure.ac:
5673         * docs/Makefile.am:
5674         * docs/gst/Makefile.am:
5675         * docs/gst/gstreamer-docs.sgml:
5676         * docs/gst/gstreamer-sections.txt:
5677         * docs/gst/gstreamer.types:
5678         * docs/gst/gstreamer.types.in:
5679         * docs/plugins/Makefile.am:
5680         * docs/plugins/gstreamer-plugins-docs.sgml:
5681         * docs/plugins/gstreamer-plugins-sections.txt:
5682         * docs/plugins/gstreamer-plugins.types:
5683         * docs/plugins/inspect.stamp:
5684         * docs/plugins/inspect/plugin-coreelements.xml:
5685         * docs/plugins/inspect/plugin-coreindexers.xml:
5686         * docs/plugins/scanobj-build.stamp:
5687         * gstreamer.spec.in:
5688         * plugins/elements/Makefile.am:
5689         * plugins/elements/gstelements.c:
5690         * plugins/elements/gstfakesink.c:
5691         * plugins/elements/gstfakesrc.c:
5692         * plugins/elements/gstfilesink.c:
5693         * plugins/elements/gstfilesrc.c:
5694         * plugins/elements/gstqueue.c:
5695         * plugins/indexers/Makefile.am:
5696         * plugins/indexers/gstindexers.c:
5697           document core plugins in a separate document just like all the
5698           others
5699           rename these plugins to something starting with core
5700
5701 2005-12-01  Andy Wingo  <wingo@pobox.com>
5702
5703         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5704         padding here before, but it missed the commit.
5705
5706 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5707
5708         * libs/gst/controller/gstinterpolation.c:
5709           whitespace prices have crashed, we should feel free to use some now
5710           use gst_guint64_to_gdouble
5711
5712 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5713
5714         * libs/gst/controller/gstcontroller.c:
5715         * libs/gst/controller/gsthelper.c:
5716         * libs/gst/controller/gstinterpolation.c:
5717         * libs/gst/controller/lib.c:
5718           wrap config.h include
5719
5720 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * docs/gst/gstreamer-sections.txt:
5723           update docs
5724
5725 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         * plugins/elements/gstelements.c:
5728         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5729         (gst_fd_sink__class_init), (gst_fd_sink__init),
5730         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5731         (gst_fd_sink__get_property):
5732         * plugins/elements/gstfdsink.h:
5733         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5734         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5735         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5736         (gst_fd_src_unlock), (gst_fd_src_set_property),
5737         (gst_fd_src_get_property), (gst_fd_src_create),
5738         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5739         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5740         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5741         (gst_fd_src_uri_handler_init):
5742         * plugins/elements/gstfdsrc.h:
5743         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5744           more anal cleanup
5745
5746 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5747
5748         * docs/gst/Makefile.am:
5749         * docs/gst/gstreamer.types.in:
5750         * gst/Makefile.am:
5751           fix the docs build
5752
5753 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * configure.ac:
5756         * gst/Makefile.am:
5757         * gst/gst.c:
5758         * gst/gstplugin.h:
5759         * gst/gstregistry.h:
5760         * tests/benchmarks/complexity.c:
5761         * tests/benchmarks/mass-elements.c:
5762         * tests/check/Makefile.am:
5763         * tools/Makefile.am:
5764         * tools/gst-inspect.c:
5765         * tools/gst-xmlinspect.c:
5766           various fixes to make
5767           --disable-nls --disable-registry --disable-loadsave
5768           --disable-parse --disable-gst-debug
5769           work and get the core .so down to 360444 bytes after stripping
5770
5771 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5772
5773         * Makefile.am:
5774         * configure.ac:
5775           descend into tests
5776         * docs/random/thomasvs/TODO:
5777         * tests/Makefile.am:
5778         * tests/README:
5779           add a README
5780
5781 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5782
5783         * win32/GStreamer.vcproj:
5784         * win32/MANIFEST:
5785         * win32/Makefile:
5786         * win32/Makefile.inspect:
5787         * win32/Makefile.launch:
5788         * win32/Makefile.register:
5789         * win32/README.txt:
5790         * win32/gst-inspect.vcproj:
5791         * win32/gst-launch.vcproj:
5792         * win32/gst-register.vcproj:
5793         * win32/gstelements.vcproj:
5794         * win32/gstgetbits.def:
5795         * win32/gstgetbits.vcproj:
5796         * win32/gstreamer-dbg.def:
5797         * win32/gstreamer.def:
5798         * win32/libgstbase.def:
5799         * win32/libgstbase.vcproj:
5800         * win32/link_oldruntime.c:
5801         * win32/mman.c:
5802         * win32/mman.h:
5803         * win32/mman.inl:
5804         * win32/msvc71.sln:
5805           move even more stuff, win32/ is nice and clean now
5806
5807 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5808
5809         * libs/gst/control/.cvsignore:
5810         * win32/MANIFEST:
5811         * win32/config.h:
5812         * win32/dirent.c:
5813         * win32/dirent.h:
5814         * win32/gstbytestream.def:
5815         * win32/gstbytestream.vcproj:
5816         * win32/gstconfig.h:
5817         * win32/gstenumtypes.c:
5818         * win32/gstenumtypes.h:
5819         * win32/gstoptimalscheduler.vcproj:
5820         * win32/gstversion.h:
5821         * win32/gtchar.h:
5822         * win32/testsuite/bins.vcproj:
5823         * win32/testsuite/bytestream.vcproj:
5824         * win32/testsuite/caps.vcproj:
5825         * win32/testsuite/cleanup.vcproj:
5826         * win32/testsuite/clock.vcproj:
5827         * win32/testsuite/debug.vcproj:
5828         * win32/testsuite/dlopen.vcproj:
5829         * win32/testsuite/dynparams.vcproj:
5830         * win32/testsuite/elements.vcproj:
5831         * win32/testsuite/ghostpads.vcproj:
5832         * win32/testsuite/indexers.vcproj:
5833         * win32/testsuite/negotiation.vcproj:
5834         * win32/testsuite/parse.vcproj:
5835         * win32/testsuite/plugin.vcproj:
5836         * win32/testsuite/refcounting.vcproj:
5837         * win32/testsuite/schedulers.vcproj:
5838         * win32/testsuite/states.vcproj:
5839         * win32/testsuite/tags.vcproj:
5840         * win32/testsuite/threads.vcproj:
5841           remove old win32 stuff that isn't maintained and should be
5842           reorganized
5843
5844 2005-11-30  Andy Wingo  <wingo@pobox.com>
5845
5846         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5847         loading the gst.interfaces python module bork.
5848
5849         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5850         available since GLib 2.2. Fixes #318031.
5851
5852 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * Makefile.am:
5855         * check/.cvsignore:
5856         * check/Makefile.am:
5857         * check/elements/.cvsignore:
5858         * check/elements/fakesrc.c:
5859         * check/elements/fdsrc.c:
5860         * check/elements/identity.c:
5861         * check/generic/.cvsignore:
5862         * check/generic/states.c:
5863         * check/gst-libs/.cvsignore:
5864         * check/gst-libs/controller.c:
5865         * check/gst-libs/gdp.c:
5866         * check/gst/.cvsignore:
5867         * check/gst/capslist.h:
5868         * check/gst/gst.c:
5869         * check/gst/gstbin.c:
5870         * check/gst/gstbuffer.c:
5871         * check/gst/gstbus.c:
5872         * check/gst/gstcaps.c:
5873         * check/gst/gstelement.c:
5874         * check/gst/gstevent.c:
5875         * check/gst/gstghostpad.c:
5876         * check/gst/gstiterator.c:
5877         * check/gst/gstmessage.c:
5878         * check/gst/gstminiobject.c:
5879         * check/gst/gstobject.c:
5880         * check/gst/gstpad.c:
5881         * check/gst/gstpipeline.c:
5882         * check/gst/gstplugin.c:
5883         * check/gst/gstsegment.c:
5884         * check/gst/gststructure.c:
5885         * check/gst/gstsystemclock.c:
5886         * check/gst/gsttag.c:
5887         * check/gst/gstutils.c:
5888         * check/gst/gstvalue.c:
5889         * check/net/.cvsignore:
5890         * check/net/gstnetclientclock.c:
5891         * check/net/gstnettimeprovider.c:
5892         * check/pipelines/.cvsignore:
5893         * check/pipelines/cleanup.c:
5894         * check/pipelines/simple_launch_lines.c:
5895         * check/pipelines/stress.c:
5896         * check/states/.cvsignore:
5897         * check/states/sinks.c:
5898         * configure.ac:
5899         * examples/Makefile.am:
5900         * examples/appreader/.cvsignore:
5901         * examples/appreader/Makefile.am:
5902         * examples/appreader/appreader.c:
5903         * examples/controller/.cvsignore:
5904         * examples/controller/Makefile.am:
5905         * examples/controller/audio-example.c:
5906         * examples/cutter/.cvsignore:
5907         * examples/cutter/Makefile.am:
5908         * examples/cutter/cutter.c:
5909         * examples/cutter/cutter.h:
5910         * examples/events/Makefile.am:
5911         * examples/events/seek.c:
5912         * examples/helloworld/.cvsignore:
5913         * examples/helloworld/Makefile.am:
5914         * examples/helloworld/helloworld.c:
5915         * examples/helloworld2/.cvsignore:
5916         * examples/helloworld2/Makefile.am:
5917         * examples/helloworld2/helloworld2.c:
5918         * examples/launch/.cvsignore:
5919         * examples/launch/Makefile.am:
5920         * examples/launch/mp3parselaunch.c:
5921         * examples/launch/mp3play:
5922         * examples/manual/.cvsignore:
5923         * examples/manual/Makefile.am:
5924         * examples/manual/extract.pl:
5925         * examples/metadata/Makefile.am:
5926         * examples/metadata/read-metadata.c:
5927         * examples/mixer/.cvsignore:
5928         * examples/mixer/Makefile.am:
5929         * examples/mixer/mixer.c:
5930         * examples/mixer/mixer.h:
5931         * examples/pingpong/.cvsignore:
5932         * examples/pingpong/Makefile.am:
5933         * examples/pingpong/pingpong.c:
5934         * examples/plugins/.cvsignore:
5935         * examples/plugins/Makefile.am:
5936         * examples/plugins/example.c:
5937         * examples/plugins/example.h:
5938         * examples/pwg/.cvsignore:
5939         * examples/pwg/Makefile.am:
5940         * examples/pwg/extract.pl:
5941         * examples/queue/.cvsignore:
5942         * examples/queue/Makefile.am:
5943         * examples/queue/queue.c:
5944         * examples/queue2/.cvsignore:
5945         * examples/queue2/Makefile.am:
5946         * examples/queue2/queue2.c:
5947         * examples/queue3/.cvsignore:
5948         * examples/queue3/Makefile.am:
5949         * examples/queue3/queue3.c:
5950         * examples/queue4/.cvsignore:
5951         * examples/queue4/Makefile.am:
5952         * examples/queue4/queue4.c:
5953         * examples/retag/.cvsignore:
5954         * examples/retag/Makefile.am:
5955         * examples/retag/retag.c:
5956         * examples/retag/transcode.c:
5957         * examples/thread/.cvsignore:
5958         * examples/thread/Makefile.am:
5959         * examples/thread/thread.c:
5960         * examples/typefind/.cvsignore:
5961         * examples/typefind/Makefile.am:
5962         * examples/typefind/typefind.c:
5963         * examples/xml/.cvsignore:
5964         * examples/xml/Makefile.am:
5965         * examples/xml/createxml.c:
5966         * examples/xml/runxml.c:
5967         * tests/Makefile.am:
5968         * tests/check/Makefile.am:
5969         * testsuite/.cvsignore:
5970         * testsuite/Makefile.am:
5971         * testsuite/Rules:
5972         * testsuite/caps/.cvsignore:
5973         * testsuite/caps/Makefile.am:
5974         * testsuite/caps/app_fixate.c:
5975         * testsuite/caps/audioscale.c:
5976         * testsuite/caps/caps.c:
5977         * testsuite/caps/caps.h:
5978         * testsuite/caps/caps_strings:
5979         * testsuite/caps/compatibility.c:
5980         * testsuite/caps/deserialize.c:
5981         * testsuite/caps/enumcaps.c:
5982         * testsuite/caps/eratosthenes.c:
5983         * testsuite/caps/filtercaps.c:
5984         * testsuite/caps/fixed.c:
5985         * testsuite/caps/fraction-convert.c:
5986         * testsuite/caps/fraction-multiply-and-zero.c:
5987         * testsuite/caps/intersect2.c:
5988         * testsuite/caps/intersection.c:
5989         * testsuite/caps/normalisation.c:
5990         * testsuite/caps/random.c:
5991         * testsuite/caps/renegotiate.c:
5992         * testsuite/caps/sets.c:
5993         * testsuite/caps/simplify.c:
5994         * testsuite/caps/string-conversions.c:
5995         * testsuite/caps/structure.c:
5996         * testsuite/caps/subtract.c:
5997         * testsuite/caps/union.c:
5998         * testsuite/debug/.cvsignore:
5999         * testsuite/debug/Makefile.am:
6000         * testsuite/debug/category.c:
6001         * testsuite/debug/commandline.c:
6002         * testsuite/debug/global.c:
6003         * testsuite/debug/output.c:
6004         * testsuite/debug/printf_extension.c:
6005         * testsuite/dlopen/.cvsignore:
6006         * testsuite/dlopen/Makefile.am:
6007         * testsuite/dlopen/dlopen_gst.c:
6008         * testsuite/dlopen/loadgst.c:
6009         * testsuite/elements/.cvsignore:
6010         * testsuite/elements/Makefile.am:
6011         * testsuite/elements/gst-inspect-check.in:
6012         * testsuite/elements/struct_i386.h:
6013         * testsuite/elements/struct_size.c:
6014         * testsuite/indexers/.cvsignore:
6015         * testsuite/indexers/Makefile.am:
6016         * testsuite/indexers/cache1.c:
6017         * testsuite/indexers/indexdump.c:
6018         * testsuite/parse/.cvsignore:
6019         * testsuite/parse/Makefile.am:
6020         * testsuite/parse/parse1.c:
6021         * testsuite/parse/parse2.c:
6022         * testsuite/plugin/.cvsignore:
6023         * testsuite/plugin/Makefile.am:
6024         * testsuite/plugin/README:
6025         * testsuite/plugin/dynamic.c:
6026         * testsuite/plugin/linked.c:
6027         * testsuite/plugin/loading.c:
6028         * testsuite/plugin/registry.c:
6029         * testsuite/plugin/static.c:
6030         * testsuite/plugin/static2.c:
6031         * testsuite/plugin/testplugin.c:
6032         * testsuite/plugin/testplugin2.c:
6033         * testsuite/plugin/testplugin2_s.c:
6034         * testsuite/plugin/testplugin_s.c:
6035         * testsuite/refcounting/.cvsignore:
6036         * testsuite/refcounting/Makefile.am:
6037         * testsuite/refcounting/bin.c:
6038         * testsuite/refcounting/element.c:
6039         * testsuite/refcounting/element_pad.c:
6040         * testsuite/refcounting/mainloop.c:
6041         * testsuite/refcounting/mem.c:
6042         * testsuite/refcounting/mem.h:
6043         * testsuite/refcounting/object.c:
6044         * testsuite/refcounting/pad.c:
6045         * testsuite/refcounting/sched.c:
6046         * testsuite/refcounting/thread.c:
6047         * testsuite/states/.cvsignore:
6048         * testsuite/states/Makefile.am:
6049         * testsuite/states/bin.c:
6050         * testsuite/states/locked.c:
6051         * testsuite/states/parent.c:
6052         * testsuite/threads/.cvsignore:
6053         * testsuite/threads/159566.c:
6054         * testsuite/threads/159852.c:
6055         * testsuite/threads/Makefile.am:
6056         * testsuite/threads/queue.c:
6057         * testsuite/threads/signals.c:
6058         * testsuite/threads/staticrec.c:
6059         * testsuite/threads/thread.c:
6060         * testsuite/threads/threadb.c:
6061         * testsuite/threads/threadc.c:
6062         * testsuite/threads/threadd.c:
6063         * testsuite/threads/threade.c:
6064         * testsuite/threads/threadf.c:
6065         * testsuite/threads/threadg.c:
6066         * testsuite/threads/threadh.c:
6067         * testsuite/threads/threadi.c:
6068           move all of these under tests
6069
6070 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * configure.ac:
6073         * tests/Makefile.am:
6074           fix distcheck
6075
6076 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6077
6078         * docs/gst/gstreamer-sections.txt:
6079         * tests/sched/.cvsignore:
6080         * tests/sched/Makefile.am:
6081         * tests/sched/cases/(fs-fs).xml:
6082         * tests/sched/cases/(fs-i-fs).xml:
6083         * tests/sched/cases/(fs-i-i-fs).xml:
6084         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6085         * tests/sched/dynamic-pipeline.c:
6086         * tests/sched/interrupt1.c:
6087         * tests/sched/interrupt2.c:
6088         * tests/sched/interrupt3.c:
6089         * tests/sched/runtestcases:
6090         * tests/sched/runxml.c:
6091         * tests/sched/sched-stress.c:
6092         * tests/sched/sort.c:
6093         * tests/sched/testcases:
6094         * tests/sched/testcases1.tc:
6095         * tests/seeking/.cvsignore:
6096         * tests/seeking/Makefile.am:
6097         * tests/seeking/seeking1.c:
6098         * tests/threadstate/.cvsignore:
6099         * tests/threadstate/Makefile.am:
6100         * tests/threadstate/test1.c:
6101         * tests/threadstate/test2.c:
6102         * tests/threadstate/threadstate1.c:
6103         * tests/threadstate/threadstate2.c:
6104         * tests/threadstate/threadstate3.c:
6105         * tests/threadstate/threadstate4.c:
6106         * tests/threadstate/threadstate5.c:
6107           remove obsolete tests
6108         * configure.ac:
6109         * tests/bench-complexity.scm:
6110         * tests/bench-mass_elements.scm:
6111         * tests/complexity.c:
6112         * tests/complexity.gnuplot:
6113         * tests/instantiate/.cvsignore:
6114         * tests/instantiate/Makefile.am:
6115         * tests/instantiate/caps.c:
6116         * tests/mass_elements.c:
6117         * tests/network-clock-utils.scm:
6118         * tests/network-clock.scm:
6119         * tests/plot-data:
6120         First pass at cleaning up tests/ dir before moving the rest
6121         Combined with CVS surgery
6122
6123 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6124
6125         * po/POTFILES.in:
6126           queue has moved, update
6127
6128 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6129
6130         * docs/gst/gstreamer-sections.txt:
6131           remove double entries from the docs
6132         * gst/gst_private.h:
6133         * gst/gstinfo.c: (_gst_debug_init):
6134           remove the THREAD debug category
6135         * gst/Makefile.am:
6136         * gst/gstqueue.c:
6137         * gst/gstqueue.h:
6138         * docs/gst/gstreamer.types:
6139         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6140         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6141           completely move queue and fix up debugging categories
6142
6143 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6144
6145         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6146           make initialization portable, using LL is not
6147
6148 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6149
6150         * win32/common/gstconfig.h:
6151           add large padding
6152
6153 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6154
6155         * win32/common/libgstreamer.def:
6156           rename symbols; sort base section
6157
6158 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * gst/gstclock.c: (do_linear_regression):
6161           remove crack non-portable handrolled DEBUG macro
6162
6163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6164
6165         * docs/random/release:
6166           update notes
6167         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6168         (gst_object_flags_get_type), (register_gst_bin_flags),
6169         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6170         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6171         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6172         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6173         (gst_caps_flags_get_type), (register_gst_clock_return),
6174         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6175         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6176         (gst_clock_flags_get_type), (register_gst_state),
6177         (gst_state_get_type), (register_gst_state_change_return),
6178         (gst_state_change_return_get_type), (register_gst_state_change),
6179         (gst_state_change_get_type), (register_gst_element_flags),
6180         (gst_element_flags_get_type), (register_gst_core_error),
6181         (gst_core_error_get_type), (register_gst_library_error),
6182         (gst_library_error_get_type), (register_gst_resource_error),
6183         (gst_resource_error_get_type), (register_gst_stream_error),
6184         (gst_stream_error_get_type), (register_gst_event_type_flags),
6185         (gst_event_type_flags_get_type), (register_gst_event_type),
6186         (gst_event_type_get_type), (register_gst_seek_type),
6187         (gst_seek_type_get_type), (register_gst_seek_flags),
6188         (gst_seek_flags_get_type), (register_gst_format),
6189         (gst_format_get_type), (register_gst_index_certainty),
6190         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6191         (gst_index_entry_type_get_type),
6192         (register_gst_index_lookup_method),
6193         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6194         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6195         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6196         (gst_index_flags_get_type), (register_gst_debug_level),
6197         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6198         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6199         (gst_iterator_result_get_type), (register_gst_iterator_item),
6200         (gst_iterator_item_get_type), (register_gst_message_type),
6201         (gst_message_type_get_type), (register_gst_mini_object_flags),
6202         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6203         (gst_pad_link_return_get_type), (register_gst_flow_return),
6204         (gst_flow_return_get_type), (register_gst_activate_mode),
6205         (gst_activate_mode_get_type), (register_gst_pad_direction),
6206         (gst_pad_direction_get_type), (register_gst_pad_flags),
6207         (gst_pad_flags_get_type), (register_gst_pad_presence),
6208         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6209         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6210         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6211         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6212         (gst_plugin_flags_get_type), (register_gst_rank),
6213         (gst_rank_get_type), (register_gst_query_type),
6214         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6215         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6216         (gst_tag_flag_get_type), (register_gst_task_state),
6217         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6218         (gst_alloc_trace_flags_get_type),
6219         (register_gst_type_find_probability),
6220         (gst_type_find_probability_get_type), (register_gst_uri_type),
6221         (gst_uri_type_get_type), (register_gst_parse_error),
6222         (gst_parse_error_get_type):
6223         * win32/common/gstenumtypes.h:
6224         * win32/common/gstversion.h:
6225           update visual studio generated files
6226
6227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * win32/vs6/libgstbase.dsp:
6230         * win32/vs6/libgstelements.dsp:
6231           update project files for new locations
6232
6233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6234
6235         * Makefile.am:
6236           remove some files
6237         * README:
6238           reinstate and update
6239         * DEVEL:
6240         * REQUIREMENTS:
6241           removed
6242         * LICENSE:
6243         * docs/random/LICENSE:
6244           moved to random
6245
6246 2005-11-30  Edward Hervey  <edward@fluendo.com>
6247
6248         * gst/gsttypefind.c: (gst_type_find_register):
6249         * gst/gsttypefind.h:
6250         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6251         (gst_type_find_factory_dispose):
6252         * gst/gsttypefindfactory.h:
6253         Fix memory leak in GstTypeFindFactory.
6254
6255 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6256
6257         * gst/gst.c:
6258         * plugins/elements/Makefile.am:
6259         * plugins/elements/gstelements.c:
6260         * plugins/elements/gstqueue.c:
6261           move queue from core to the elements plugin
6262
6263 2005-11-29  Andy Wingo  <wingo@pobox.com>
6264
6265         * libs/gst/base/gstbasetransform.h: 
6266         * libs/gst/base/gstbasesrc.h: 
6267         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6268
6269         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6270         of pointers by which to pad very extensible base classes (like the
6271         ones in libs/gst/base).
6272
6273 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6274
6275         * docs/gst/gstreamer-docs.sgml:
6276         * docs/gst/gstreamer-sections.txt:
6277         * docs/libs/gstreamer-libs-docs.sgml:
6278         * docs/libs/gstreamer-libs-sections.txt:
6279           moving documentation from core to lib
6280
6281 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6282
6283         * check/Makefile.am:
6284         * configure.ac:
6285         * docs/gst/Makefile.am:
6286         * gst/Makefile.am:
6287         * gst/base/.cvsignore:
6288         * gst/base/Makefile.am:
6289         * gst/base/README:
6290         * gst/base/gstadapter.c:
6291         * gst/base/gstadapter.h:
6292         * gst/base/gstbasesink.c:
6293         * gst/base/gstbasesink.h:
6294         * gst/base/gstbasesrc.c:
6295         * gst/base/gstbasesrc.h:
6296         * gst/base/gstbasetransform.c:
6297         * gst/base/gstbasetransform.h:
6298         * gst/base/gstcollectpads.c:
6299         * gst/base/gstcollectpads.h:
6300         * gst/base/gstpushsrc.c:
6301         * gst/base/gstpushsrc.h:
6302         * gst/base/gsttypefindhelper.c:
6303         * gst/base/gsttypefindhelper.h:
6304         * gst/check/Makefile.am:
6305         * gst/check/gstcheck.c:
6306         * gst/check/gstcheck.h:
6307         * gst/net/Makefile.am:
6308         * gst/net/gstnet.h:
6309         * gst/net/gstnetclientclock.c:
6310         * gst/net/gstnetclientclock.h:
6311         * gst/net/gstnettimepacket.c:
6312         * gst/net/gstnettimepacket.h:
6313         * gst/net/gstnettimeprovider.c:
6314         * gst/net/gstnettimeprovider.h:
6315         * libs/gst/Makefile.am:
6316         * libs/gst/base/Makefile.am:
6317         * libs/gst/base/gstbasetransform.c:
6318         * libs/gst/check/Makefile.am:
6319         * plugins/elements/Makefile.am:
6320         * po/POTFILES.in:
6321           CVS surgery + support to move base, check, and net out of gst
6322           and into libs/gst
6323
6324 2005-11-29  Andy Wingo  <wingo@pobox.com>
6325
6326         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6327
6328         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6329         padding.
6330
6331         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6332
6333         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6334
6335         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6336
6337         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6338         padding; reduces object size by about 30%. We don't expect
6339         anything else to go into gstobject.
6340
6341         * gst/gstminiobject.h (struct _GstMiniObject)
6342         (struct _GstMiniObjectClass): Only one pointer of padding; the
6343         payload is only a pointer and two ints anyway. For the class there
6344         are only two methods as well.
6345         
6346         * gst/gstelement.h (struct _GstElementClass): Removed
6347         the state_changed signal callback, it is not used.
6348
6349 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6350
6351         * docs/gst/gstreamer.types:
6352           fix includes, though they are a little dinky
6353
6354 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6355
6356         * check/Makefile.am:
6357           look in the right place for elements, a lot more chance of
6358           success
6359         * gst/Makefile.am:
6360           remove indexers and elements subdirs
6361         * plugins/Makefile.am:
6362           make indexers conditional
6363
6364 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6365
6366         * Makefile.am:
6367         * configure.ac:
6368         * plugins/elements/Makefile.am:
6369         * plugins/elements/gstcapsfilter.c:
6370         * plugins/elements/gstfilesink.c:
6371         * plugins/elements/gstfilesrc.c:
6372         * plugins/elements/gstidentity.c:
6373         * plugins/indexers/Makefile.am:
6374           do CVS surgery and related build fixery to move elements
6375           and indexers in a new gstreamer/plugins directory, out of the
6376           gst/ directory
6377
6378 2005-11-29  Andy Wingo  <wingo@pobox.com>
6379
6380         * check/Makefile.am:
6381         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6382         * pkgconfig/gstreamer-net.pc.in:
6383         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6384         #322257.
6385
6386 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * tools/Makefile.am:
6389         * tools/gst-complete.1.in:
6390         * tools/gst-complete.c:
6391         * tools/gst-compprep.1.in:
6392         * tools/gst-compprep.c:
6393           removing -compprep and -complete
6394
6395 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6396
6397         * gst/gstevent.c: (gst_event_new_new_segment),
6398         (gst_event_parse_new_segment):
6399         * gst/gstevent.h:
6400           fix #320529 - clean up new_segment API and structure.
6401           Let's hope everyone was using the methods, and not the structure.
6402
6403 2005-11-29  Edward Hervey  <edward@fluendo.com>
6404
6405         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6406         (gst_base_sink_event), (gst_base_sink_do_sync),
6407         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6408         Properly handle non GST_FORMAT_TIME segment
6409         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6410         Properly handle non GST_FORMAT_TIME segment
6411         * gst/gstsegment.c:
6412         This function is valid if the accumulator is 0 and the format
6413         is different from the requested format.
6414         
6415 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6416
6417         * docs/gst/gstreamer-sections.txt:
6418         Add gst_query_new_seeking and gst_query_parse_seeking to the
6419         docs.
6420
6421 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6422
6423         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6424           Treat a pad alloc with new caps the same as if we were not
6425           negotiated, in order to allow a changing upstream output
6426           to produce a new format of data.
6427
6428 2005-11-29  Edward Hervey  <edward@fluendo.com>
6429
6430         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6431         (gst_base_transform_event), (gst_base_transform_eventfunc):
6432         The event virtual method is now properly implemented, with a default
6433         handler
6434         Sub classes should call the parent_class event method. They should
6435         return FALSE if they had a problem handling the given event, or don't
6436         want GstBaseTransform to send that even downstream
6437         * gst/elements/gstidentity.c: (gst_identity_class_init),
6438         (gst_identity_init), (gst_identity_event),
6439         (gst_identity_transform_ip), (gst_identity_set_property),
6440         (gst_identity_get_property):
6441         * gst/elements/gstidentity.h:
6442         Added the single-segment boolean property.
6443         If set to TRUE, it will output a single segment of data, starting from
6444         0, will eat up all incoming newsegment, and modify the timestamp of the
6445         buffers accordingly
6446
6447 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6450           Don't ref NULL target pad (#322751). Improve docs.
6451
6452 2005-11-29  Michael Smith  <msmith@fluendo.com>
6453
6454         * gst/gstregistryxml.c: (load_plugin):
6455           Don't crash if we failed to load a feature from a plugin. 
6456
6457 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6458
6459         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6460         (GST_START_TEST):
6461           use more check API and less GLib API
6462
6463 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6464
6465         * Makefile.am:
6466           don't run checks if we don't have check
6467         * common/check.mak:
6468           remove the registry when running make torture
6469         * docs/gst/gstreamer-sections.txt:
6470           remove second multiply
6471         * gst/gstqueue.c: (gst_queue_loop):
6472           fix a compile warning when disabling debug
6473
6474 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6475
6476         * gst/gstinfo.h:
6477         Hey! Let's print the pad name if the pointer != NULL instead
6478         of when it == NULL :-)
6479
6480 2005-11-28  Wim Taymans  <wim@fluendo.com>
6481
6482         * check/gst/gstutils.c: (GST_START_TEST):
6483         Updated check, add some scaling accuracy checking code.
6484
6485         * gst/gstutils.c: (gst_util_div128_64),
6486         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6487         (gst_util_uint64_scale_int):
6488         Fix 6 times faster division code. Optimize for common 
6489         1/1 and less common X/1 cases.
6490
6491 2005-11-28  Wim Taymans  <wim@fluendo.com>
6492
6493         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6494         More checks.
6495
6496         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6497         (do_linear_regression), (gst_clock_add_observation):
6498         Cleanups.
6499         Release lock when the clock cannot be slaved.
6500         Catch the case where the regression returned an invalid denominator.
6501
6502         * gst/gstutils.c: (gst_util_div128_64_iterate),
6503         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6504         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6505         Add protentially more performant non-iterative 128/64 divide function
6506         that unfortunatly does not work yet.
6507         Shortcut the trivial 0/X = 0 case.
6508         Remove the warnings on overflow.
6509
6510 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6511
6512         * gst/gstplugin.c: (gst_plugin_register_func):
6513           everything causing a plugin not to load should be at least a WARNING
6514
6515 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6516
6517         * docs/random/ensonic/dparams.txt:
6518           some TODOs for the next dev cycle
6519         * libs/gst/controller/gstcontroller.c:
6520         (gst_controlled_property_set_interpolation_mode),
6521         (gst_controlled_property_new):
6522         * libs/gst/controller/gstcontroller.h:
6523           use base type to assign acccessor functions
6524
6525 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6526
6527         * check/Makefile.am:
6528         Oops, that should have been top_srcdir
6529
6530 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6531
6532         * check/Makefile.am:
6533         * check/elements/fdsrc.c: (GST_START_TEST):
6534         Use a cmdline define to specify the location of a file to use for
6535         testing, to avoid breaking distcheck.
6536
6537 2005-11-28  Andy Wingo  <wingo@pobox.com>
6538
6539         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6540
6541 2005-11-28  Edward Hervey  <edward@fluendo.com>
6542
6543         * tools/gst-launch.c: (main):
6544         Clarify the output strings, makes it easier to translate.
6545         Fixes #322626
6546
6547 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * gst/Makefile.am:
6550           don't try and build net if we don't even have <sys/socket.h>
6551
6552 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6553
6554         * check/Makefile.am:
6555         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6556         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6557           Add tests for fdsrc seekability
6558
6559         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6560         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6561         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6562         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6563         * gst/elements/gstfdsrc.h:
6564           fdsrc should not be a 'live' source.
6565           Implement seeking on seekable fd's.
6566
6567         * gst/gstquery.c: (gst_query_new_seeking),
6568         (gst_query_parse_seeking):
6569         * gst/gstquery.h:
6570           Implement SEEKING query functions: 
6571             *_new_seeking and *_parse_seeking
6572
6573 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6574
6575         * gst/gstelement.c: (gst_element_dispose):
6576           don't loop forever
6577
6578         * gst/gstiterator.c:
6579         * gst/gststructure.c:
6580           doc fixes
6581
6582         * libs/gst/controller/gstcontroller.c:
6583         (gst_controlled_property_set_interpolation_mode):
6584         * libs/gst/controller/gstcontroller.h:
6585         * libs/gst/controller/gstinterpolation.c:
6586         (interpolate_none_get_enum_value_array):
6587           support controlling enums
6588
6589 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * gst/gstvalue.c:
6592           Improve documentation for gst_value_union().
6593
6594         * gst/gstvalue.h:
6595           Change return value for union, intersect and subtract functions
6596           from gint to gboolean.
6597
6598 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6599
6600         * gst/gstvalue.c: (gst_value_serialize_any_list),
6601         (gst_value_transform_any_list_string),
6602         (gst_value_deserialize_list), (gst_value_deserialize_array),
6603         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6604         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6605         (gst_value_set_fraction_range_full),
6606         (gst_value_deserialize_fraction_range),
6607         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6608         (gst_value_deserialize_boolean),
6609         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6610         (gst_value_serialize_float), (gst_value_deserialize_float),
6611         (gst_string_wrap), (gst_value_deserialize_string),
6612         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6613         (gst_value_union_int_range_int_range),
6614         (gst_value_intersect_int_range_int_range),
6615         (gst_value_intersect_double_range_double_range),
6616         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6617         (gst_value_subtract_int_range_int_range),
6618         (gst_value_subtract_double_double_range),
6619         (gst_value_subtract_double_range_double_range),
6620         (gst_value_deserialize_fraction):
6621         * gst/gstvalue.h:
6622           Use gint, gdouble and gchar in our API instead of int, double and
6623           char (and make usage in gstvalue.c more consistent).
6624
6625 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6626
6627         * check/Makefile.am:
6628         * libs/gst/controller/Makefile.am:
6629         * libs/gst/dataprotocol/Makefile.am:
6630           fix up Makefile.am and remove GST_ENABLE_NEW
6631
6632 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6633
6634         * configure.ac:
6635         * gst/Makefile.am:
6636         * gst/base/Makefile.am:
6637         * gst/check/Makefile.am:
6638         * gst/elements/Makefile.am:
6639         * gst/net/Makefile.am:
6640           update LDFLAGS use some more
6641
6642 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * common/m4/gst-doc.m4:
6645           Fixes #312589
6646
6647 2005-11-26  Edward Hervey  <edward@fluendo.com>
6648
6649         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6650         This shouldn't issue a g_warning since it returns NULL if it
6651         couldn't find the plugin, and all functions using this behave
6652         properly on a NULL return. Switching to a GST_WARNING.
6653
6654 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6655
6656         * gst/gstbin.c: (gst_bin_handle_message_func):
6657         Don't leak clock messages.
6658
6659 2005-11-25  Wim Taymans  <wim@fluendo.com>
6660
6661         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6662         (gst_util_uint64_scale_int):
6663         Optimisations, remove unneeded vars.
6664
6665 2005-11-25  Wim Taymans  <wim@fluendo.com>
6666
6667         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6668         Added more checks for the high precision uint64 cases.
6669
6670         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6671         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6672         Implement high precision (guint64 * guint64) / guint64.
6673
6674 2005-11-24  Wim Taymans  <wim@fluendo.com>
6675
6676         * gst/base/gstbasesrc.c: (gst_base_src_query):
6677         Fix wrong percentage query.
6678
6679         * gst/gstutils.c: (gst_util_uint64_scale),
6680         (gst_util_uint64_scale_int):
6681         Add some more common cases that can be handled 
6682         efficiently to _scale.
6683
6684 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6685
6686         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6687         (gst_mini_object_suite):
6688           don't use check calls from threads; check probably isn't
6689           threadsafe and using a lock to make it threadsafe would
6690           defeat the purpose of this check
6691         * gst/check/gstcheck.c:
6692         * gst/check/gstcheck.h:
6693           use GST_DEBUG some more
6694
6695 2005-11-24  Wim Taymans  <wim@fluendo.com>
6696
6697         * gst/gstutils.c: (gst_util_uint64_scale),
6698         (gst_util_uint64_scale_int):
6699         Chain trivial case to _scale_int.
6700
6701 2005-11-24  Wim Taymans  <wim@fluendo.com>
6702
6703         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6704         Added test for scaling.
6705
6706         * gst/gstclock.h:
6707         Small doc fix.
6708
6709         * gst/gstutils.c: (gst_util_uint64_scale_int):
6710         Implemented high precision scaling code.
6711
6712 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6713
6714         * gst/gstinfo.h:
6715           do not crash on pad==NULL
6716
6717 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6718
6719         Patch by: Stefan Kost
6720
6721         * common/gtk-doc.mak:
6722         * docs/gst/Makefile.am:
6723         * docs/libs/Makefile.am:
6724           Fix distcheck issues for the libraries docs build
6725           Closes #319599.
6726
6727 2005-11-24  Michael Smith <msmith@fluendo.com>
6728
6729         * docs/manual/basics-helloworld.xml:
6730           Fix bug #315027: memory leak in example code in docs.
6731
6732 2005-11-24  Michael Smith <msmith@fluendo.com>
6733
6734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6735           Unlock the PREROLL_LOCK in a failure case.
6736
6737 2005-11-24  Wim Taymans  <wim@fluendo.com>
6738
6739         * docs/gst/gstreamer-sections.txt:
6740         * gst/base/gstadapter.h:
6741         * gst/base/gstbasesink.h:
6742         * gst/base/gstbasesrc.h:
6743         * gst/base/gstbasetransform.h:
6744         * gst/base/gstpushsrc.h:
6745         * gst/elements/gstfakesink.h:
6746         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6747         * gst/elements/gstfakesrc.h:
6748         * gst/elements/gstfilesink.h:
6749         * gst/elements/gstfilesrc.h:
6750         * gst/gst.c:
6751         * gst/gstbin.c:
6752         * gst/gstbuffer.c: (_gst_buffer_copy):
6753         * gst/gstbus.h:
6754         * gst/gstcaps.c:
6755         * gst/gstchildproxy.c:
6756         * gst/gstclock.c:
6757         * gst/gstelement.c:
6758         * gst/gstelementfactory.c:
6759         * gst/gstelementfactory.h:
6760         * gst/gstevent.c:
6761         * gst/gstghostpad.h:
6762         * gst/gstindex.h:
6763         * gst/gstinterface.h:
6764         * gst/gstminiobject.c:
6765         * gst/gstminiobject.h:
6766         * gst/gstpad.c:
6767         * gst/gstpad.h:
6768         * gst/gstpadtemplate.h:
6769         * gst/gstpipeline.h:
6770         * gst/gstpluginfeature.h:
6771         * gst/gstquery.h:
6772         * gst/gstqueue.h:
6773         * gst/gsttaglist.c:
6774         * gst/gsttaglist.h:
6775         * gst/gsttagsetter.c:
6776         * gst/gsttagsetter.h:
6777         * gst/gsttrace.c:
6778         * gst/gsttrace.h:
6779         * gst/gsttypefind.h:
6780         * gst/gsturi.h:
6781         * gst/gstvalue.c:
6782         * gst/net/gstnetclientclock.c:
6783         * gst/net/gstnetclientclock.h:
6784         * gst/net/gstnettimepacket.c:
6785         * gst/net/gstnettimeprovider.c:
6786         * gst/net/gstnettimeprovider.h:
6787         Doc fixes.
6788
6789 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6790
6791         * configure.ac: back to HEAD
6792
6793 === release 0.9.6 ===
6794
6795 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6796
6797         * configure.ac:
6798           releasing 0.9.6, "Always On Time"
6799
6800 2005-11-23  Wim Taymans  <wim@fluendo.com>
6801
6802         * docs/gst/gstreamer-sections.txt:
6803         * gst/glib-compat.c:
6804         * gst/gsttagsetter.c:
6805         * gst/gstvalue.c:
6806         * gst/net/gstnetclientclock.c:
6807         * gst/net/gstnettimepacket.h:
6808         Doc updates.
6809
6810 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * docs/faq/using.xml:
6813         * docs/libs/tmpl/gstcontrol.sgml:
6814         * docs/manual/advanced-dparams.xml:
6815         * docs/manual/appendix-checklist.xml:
6816         * docs/manual/basics-elements.xml:
6817         * docs/pwg/other-source.xml:
6818         * docs/random/moving-plugins:
6819         * gst/gstpad.c:
6820         * tools/gst-launch.1.in:
6821           remove mentions of sinesrc
6822
6823 2005-11-23  Michael Smith <msmith@fluendo.com>
6824
6825         * docs/gst/gstreamer-sections.txt:
6826           Update for new API and API changes.
6827         * gst/gstobject.h:
6828           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6829         * gst/gstvalue.c:
6830           Documentation typo fix.
6831         * gst/net/gstnettimepacket.c:
6832           Documentation fixes for arguments.
6833
6834 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6835
6836         * gst/gststructure.c: (gst_structure_get_fraction),
6837         (gst_structure_parse_value),
6838         (gst_structure_fixate_field_nearest_fraction):
6839         * gst/gststructure.h:
6840         * gst/gstutils.c: (gst_util_uint64_scale_int):
6841         * gst/gstutils.h:
6842         * scripts/update-funcnames:
6843         API Changes. 
6844         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6845         Make gst_structure_fixate_field_nearest_fraction take a numerator
6846         and denominator argument instead of a GValue
6847         add gst_structure_get_fraction helper function.
6848
6849 2005-11-23  Wim Taymans  <wim@fluendo.com>
6850
6851         * docs/design/part-TODO.txt:
6852         Update TODO.
6853
6854         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6855         * gst/net/gstnetclientclock.h:
6856         Use parent fields for timeout and window_size.
6857
6858 2005-11-23  Andy Wingo  <wingo@pobox.com>
6859
6860         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6861         rate_num/rate_denom change.
6862
6863         * gst/net/gstnetclientclock.c
6864         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6865         OBJECT_LOCK. Don't call add_observation with the lock.
6866
6867         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6868         fraction.
6869         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6870         rate fraction.
6871         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6872         deal with rate as a fraction whose numerator and denominator are
6873         GstClockTime values.
6874         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6875         master; the other fields are protected by the SLAVE_LOCK.
6876         (do_linear_regression): Note that this must be called with the
6877         SLAVE_LOCK.
6878         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6879         OBJECT_LOCK. Call set_calibration instead of touching the
6880         variables directly.
6881         (gst_clock_set_property, gst_clock_get_property): Protect
6882         master/slave parameters with the SLAVE_LOCK.
6883
6884         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6885         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6886         note that all of the instance variables that add_observation and
6887         the set_master functions use are protected by that lock and not
6888         the OBJECT_LOCK.
6889         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6890
6891         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6892         the caller to take the object lock.
6893
6894 2005-11-23  Wim Taymans  <wim@fluendo.com>
6895
6896         * gst/gsterror.c: (_gst_core_errors_init):
6897         * gst/gsterror.h:
6898         Add error for clock stuff.
6899
6900         * gst/gstpipeline.c: (gst_pipeline_change_state),
6901         (gst_pipeline_set_clock):
6902         Post clock error when clock cannot be used in a pipeline.
6903
6904 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6905
6906         * docs/gst/gstreamer-sections.txt:
6907           make two symbols from gstinfo private for the docs
6908         * gst/base/gstcollectpads.h:
6909         * gst/gstutils.c:
6910           fix doc typos, update docs
6911
6912 2005-11-22  Wim Taymans  <wim@fluendo.com>
6913
6914         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6915         (gst_base_sink_wait), (gst_base_sink_do_sync),
6916         (gst_base_sink_handle_event):
6917         * gst/base/gstbasesink.h:
6918         No need to store the clock, the parent element class already
6919         has it.
6920
6921         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6922         Updates for clock_set returning a gboolean
6923
6924         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6925         (gst_clock_id_wait_async), (gst_clock_class_init),
6926         (gst_clock_init), (gst_clock_finalize),
6927         (gst_clock_get_internal_time), (gst_clock_get_time),
6928         (gst_clock_slave_callback), (gst_clock_set_master),
6929         (gst_clock_get_master), (do_linear_regression),
6930         (gst_clock_add_observation), (gst_clock_set_property),
6931         (gst_clock_get_property):
6932         * gst/gstclock.h:
6933         Implement master/slave. When setting a clock as a slave, a
6934         periodic timeout is scheduled to sample master and slave times.
6935         Then the slave clock is recalibrated to match offset and rate
6936         of the master clock.
6937         Update logging a bit.
6938         Add flag so that a clock can state that is cannot be slaved to
6939         another clock.
6940
6941         * gst/gstelement.c: (gst_element_set_clock):
6942         * gst/gstelement.h:
6943         The set clock returns a gboolean for when an element cannot
6944         deal with the selected clock in the pipeline. 
6945
6946         * gst/gstpipeline.c: (gst_pipeline_change_state),
6947         (gst_pipeline_set_clock):
6948         * gst/gstpipeline.h:
6949         Handle the case where the selected clock cannot be set on
6950         the pipeline.
6951
6952         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6953         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6954         (gst_net_client_clock_set_property),
6955         (gst_net_client_clock_get_property),
6956         (gst_net_client_clock_observe_times):
6957         * gst/net/gstnetclientclock.h:
6958         Use regression code in GstClock parent, remove duplicated
6959         functionality.
6960
6961 2005-11-22  Michael Smith <msmith@fluendo.com>
6962
6963         * gst/gstutils.c: (gst_util_clock_time_scale):
6964         * gst/gstutils.h:
6965         * docs/gst/gstreamer-sections.txt:
6966           Rename method to have extra underscore.
6967
6968 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * gst/elements/Makefile.am:
6971         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6972         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6973         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6974         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6975         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6976         * gst/elements/gstfakesrc.h:
6977         * gst/gstqueue.c: (queue_leaky_get_type):
6978           correctly fix GEnumValues so that nick is the short lowercase
6979           dashed tag
6980         * tools/gst-inspect.c: (print_element_properties_info):
6981           also show the nick, since it's useful to use from parse_launch
6982           syntax
6983           Fixes #322139
6984
6985 2005-11-22  Michael Smith <msmith@fluendo.com>
6986
6987         * gst/gstutils.c: (gst_util_clocktime_scale):
6988         * gst/gstutils.h:
6989         * docs/gst/gstreamer-sections.txt:
6990           Add util method for scaling a clocktime by a fraction. Useful 
6991           implementation is left as an exercise for the reader.
6992
6993 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6994
6995         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6996         If needed, allocate storage in the destination value during
6997         collection.
6998
6999 2005-11-22  Edward Hervey  <edward@fluendo.com>
7000
7001         * docs/gst/gstreamer-sections.txt:
7002         * gst/Makefile.am:
7003         * gst/gst.h:
7004         * gst/gsturitype.c:
7005         * gst/gsturitype.h:
7006         * gst/gstutils.c: (gst_util_set_object_arg):
7007         * tools/gst-compprep.c: (main):
7008         * tools/gst-inspect.c: (print_element_properties_info):
7009         Removed GstURI, closes bug #321061
7010
7011 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7012
7013         * check/gst/gststructure.c: (GST_START_TEST):
7014         * gst/gststructure.c: (gst_structure_parse_value):
7015           Oops, broke automatic string type parsing.
7016           Add a test to catch it in future.
7017
7018 2005-11-22  Andy Wingo  <wingo@pobox.com>
7019
7020         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7021         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7022         Actually rename the function implementations. Grr.
7023
7024 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7025
7026         * check/gst/capslist.h:
7027           Comment test cases
7028         * check/gst/gststructure.c: (GST_START_TEST),
7029         (gst_structure_suite):
7030           Test automatic value type detection in gst_structure_from_string.
7031         * gst/gststructure.c: (gst_structure_parse_value):
7032           Add fraction as a type we try and guess automatically in
7033           caps/structure strings.
7034
7035 2005-11-22  Andy Wingo  <wingo@pobox.com>
7036
7037         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7038
7039         * gst/gsttagsetter.h:
7040         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7041         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7042         (gst_tag_setter_add_tag_valist)
7043         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7044         _add_values, _add_valist, and _add_valist_values. Since this is an
7045         interface the function suffixes should be more explicit so
7046         language binding don't end up with element.add_valist ->
7047         gst_tag_setter_add_valist, for example. Fixes #322069.
7048
7049 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7050
7051         * check/gst/gstcaps.c: (GST_START_TEST):
7052           Extend caps string tests to check that a caps to string
7053           conversion is reversible and produces the same caps.
7054
7055         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7056           Output "fraction" as the generic type fraction range, so caps
7057           serialisation and deserialisation works.
7058         * check/gst/capslist.h:
7059         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7060           Support 'MIN' and 'MAX' for deserialising fractions.
7061
7062 2005-11-22  Andy Wingo  <wingo@pobox.com>
7063
7064         * gst/gstevent.h (gst_event_new_new_segment)
7065         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7066         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7067         Renamed from *_newsegment, *_buffersize, *_notarget.
7068
7069         * scripts/update-funcnames: New script, performs the changes
7070         listed above.
7071
7072 2005-11-22  Wim Taymans  <wim@fluendo.com>
7073
7074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7075         Make sure the GstFlowReturn is returned.
7076
7077         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7078         (gst_bus_add_signal_watch):
7079         * gst/gstbus.h:
7080         add gst_bus_add_signal_watch_full.
7081
7082         * gst/gstplugin.c: (gst_plugin_load_file):
7083         Small style cleanup.
7084
7085 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7086
7087         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7088           Block the fakesrc srcpad when we send an event, to avoid
7089           contention on the stream_lock causing random test failures.
7090
7091 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7092
7093         * check/gst/gstvalue.c: (GST_START_TEST):
7094         * gst/gstvalue.c: (gst_value_fraction_subtract):
7095           Fix subtraction.
7096
7097 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7098
7099         * gst/gst.h:
7100           include "gstchildproxy.h"
7101         * gst/gstchildproxy.h:
7102         * libs/gst/controller/gstcontroller.h:
7103           use G_GNUC_NULL_TERMINATED
7104
7105 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7106
7107         * check/gst/capslist.h:
7108         * check/gst/gstcaps.c: (GST_START_TEST):
7109         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7110         * gst/gststructure.c: (gst_structure_parse_range),
7111         (gst_structure_fixate_field_nearest_fraction):
7112         * gst/gststructure.h:
7113         * gst/gstvalue.c: (gst_value_init_fraction_range),
7114         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7115         (gst_value_collect_fraction_range),
7116         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7117         (gst_value_set_fraction_range_full),
7118         (gst_value_get_fraction_range_min),
7119         (gst_value_get_fraction_range_max),
7120         (gst_value_serialize_fraction_range),
7121         (gst_value_transform_fraction_range_string),
7122         (gst_value_compare_fraction_range),
7123         (gst_value_deserialize_fraction_range),
7124         (gst_value_intersect_fraction_fraction_range),
7125         (gst_value_intersect_fraction_range_fraction_range),
7126         (gst_value_subtract_fraction_fraction_range),
7127         (gst_value_subtract_fraction_range_fraction),
7128         (gst_value_subtract_fraction_range_fraction_range),
7129         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7130         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7131         (gst_value_transform_string_fraction), (_gst_value_initialize):
7132         * gst/gstvalue.h:
7133           Implement fraction ranges and extend GstFraction to support
7134           arithmetic subtraction, as well as deserialization from integer
7135           strings such as "100"
7136           Add a testsuite as for int and double range set operations
7137
7138 2005-11-21  Andy Wingo  <wingo@pobox.com>
7139
7140         * gst/gsttaglist.h: 
7141         * gst/gstcaps.h: 
7142         * gst/gststructure.h: Add glib-compat.h.
7143
7144 2005-11-21  Wim Taymans  <wim@fluendo.com>
7145
7146         * gst/gstbin.c: (gst_bin_change_state_func):
7147         Fix for #321595
7148
7149 2005-11-21  Wim Taymans  <wim@fluendo.com>
7150
7151         * gst/gstsegment.h:
7152         And add a nice define too.
7153
7154 2005-11-21  Wim Taymans  <wim@fluendo.com>
7155
7156         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7157         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7158         (gst_segment_set_duration), (gst_segment_set_last_stop),
7159         (gst_segment_set_seek), (gst_segment_set_newsegment),
7160         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7161         (gst_segment_clip):
7162         * gst/gstsegment.h:
7163         Make binding friendly.
7164
7165 2005-11-21  Andy Wingo  <wingo@pobox.com>
7166
7167         * gst/gsttagsetter.h: 
7168         * gst/gsttaglist.h: 
7169         * gst/gststructure.h: 
7170         * gst/gstcaps.h: 
7171         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7172         #319940.
7173
7174         * gst/gsterror.c (_gst_core_errors_init):
7175         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7176         category.
7177
7178         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7179         (noinst_HEADERS): noinst the -private.
7180
7181 2005-11-21  Michael Smith <msmith@fluendo.com>
7182
7183         * gst/gstplugin.h:
7184         * gst/gstregistry.h:
7185           Remove unimplemented declarations for which we can see no sensible
7186           use.
7187
7188 2005-11-21  Andy Wingo  <wingo@pobox.com>
7189
7190         * gst/gst.h: Include glib-compat.h.
7191
7192         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7193
7194         * gst/glib-compat.c: Include the public and the private header.
7195
7196         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7197
7198         * gst/gstvalue.c: 
7199         * gst/gstpad.c: 
7200         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7201
7202         * check/gst/gstevent.c (create_custom_events): Check that
7203         FLUSH_STOP is serialized.
7204
7205         * check/elements/identity.c (event_func): 
7206         * check/elements/fakesrc.c (event_func): No stream lock, the core
7207         takes it.
7208
7209         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7210         stream lock taking, yay.
7211
7212         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7213         ensure that core takes the stream lock.
7214
7215         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7216         lock name change.
7217
7218         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7219         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7220         it already. For the flush start we do take it though so we get the
7221         right preroll state change messages.
7222
7223         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7224         the stream lock here, the core does it for us.
7225
7226         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7227         GST_STREAM_GET_LOCK.
7228         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7229         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7230         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7231         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7232         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7233         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7234
7235         * gst/gstpad.c: Update for stream lock name change.
7236
7237         * gst/base/gstbasesink.c: Update for preroll lock name change.
7238
7239 2005-11-21  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7242         (gst_clock_get_master):
7243         * gst/gstclock.h:
7244         * gst/gstsystemclock.c: (gst_system_clock_init):
7245         Convert Clock flags to object flags.
7246         Added methods to manage master/slave clocks.
7247
7248 2005-11-21  Wim Taymans  <wim@fluendo.com>
7249
7250         * check/gst/gstsegment.c: (GST_START_TEST):
7251         * docs/design/part-TODO.txt:
7252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7253         (gst_base_sink_event), (gst_base_sink_do_sync),
7254         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7255         (gst_base_sink_query), (gst_base_sink_change_state):
7256         * gst/base/gstbasesink.h:
7257         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7258         (gst_base_src_default_newsegment),
7259         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7260         (gst_base_src_get_range), (gst_base_src_loop),
7261         (gst_base_src_change_state):
7262         * gst/base/gstbasesrc.h:
7263         * gst/base/gstbasetransform.c:
7264         (gst_base_transform_prepare_output_buf),
7265         (gst_base_transform_event), (gst_base_transform_change_state):
7266         * gst/base/gstbasetransform.h:
7267         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7268         (gst_collect_pads_event):
7269         * gst/base/gstcollectpads.h:
7270         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7271         (gst_fake_src_create):
7272         * gst/elements/gstfakesrc.h:
7273         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7274         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7275         (gst_segment_set_last_stop), (gst_segment_set_seek),
7276         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7277         (gst_segment_to_running_time), (gst_segment_clip):
7278         * gst/gstsegment.h:
7279         More segment updates, replace code in plugins with segment
7280         helper functions.
7281
7282 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7283
7284         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7285         Don't ignore sscanf results
7286
7287 2005-11-21  Andy Wingo  <wingo@pobox.com>
7288
7289         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7290
7291         * *.h:
7292         * *.c: Ran scripts/update-macros. Oh yes.
7293
7294         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7295         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7296         GST_GET_LOCK, etc.
7297
7298         * scripts/update-macros: New script. Run it on your files to
7299         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7300         well.
7301
7302 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7303
7304         * docs/gst/Makefile.am:
7305         * docs/gst/gstreamer-docs.sgml:
7306         * docs/gst/gstreamer-sections.txt:
7307         * docs/gst/gstreamer.types:
7308         * gst/gstinfo.h:
7309           more docs fixes, add new api to the docs
7310
7311 2005-11-21  Andy Wingo  <wingo@pobox.com>
7312
7313         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7314         state_broadcast call.
7315
7316         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7317
7318 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7319
7320         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7321         function calls for arrays.
7322
7323 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7324
7325         * docs/random/ensonic/media-device-daemon.txt:
7326           wild idea, can this be done?
7327         * docs/gst/gstreamer-sections.txt:
7328         * gst/gsterror.h:
7329         * gst/gstfilter.c:
7330         * gst/gstfilter.h:
7331         * gst/gstplugin.h:
7332         * gst/gstpluginfeature.c:
7333         * gst/gsttrace.c:
7334         * gst/gstvalue.c:
7335         * gst/gstvalue.h:
7336           doc fixes and additions
7337
7338 2005-11-21  Andy Wingo  <wingo@pobox.com>
7339
7340         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7341         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7342         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7343         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7344         private to the basesrc implementation.
7345
7346         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7347         behalf of event function if necessary. It should no longer be
7348         necessary to take the stream lock in pad's event functions. Fixes
7349         #320299.
7350
7351 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7352         * docs/gst/gstreamer-sections.txt:
7353         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7354         (gst_structure_fixate_field_nearest_double),
7355         (gst_structure_fixate_field_boolean):
7356         * gst/gststructure.h:
7357         * win32/common/libgstreamer.def:
7358         * win32/gstreamer.def:
7359
7360         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7361         (#322027)
7362
7363 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7364
7365         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7366         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7367         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7368         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7369         (gst_fdsrc_uri_handler_init):
7370         * gst/elements/gstfdsrc.h:
7371           Port fd:// URI handler from 0.8 to fdsrc
7372
7373 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7374
7375         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7376         (gst_value_serialize_fourcc):
7377         * gst/gstvalue.h:
7378           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7379           consistent with our other format defines (#320324).
7380
7381 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7382
7383         * gst/gstvalue.c: (gst_value_is_fixed):
7384           Revert previous commit. Value lists are by definition
7385           not fixed, as they are a list of possible values.
7386
7387 2005-11-21  Andy Wingo  <wingo@pobox.com>
7388
7389         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7390         during the stable series if we need it. Fixes #319178.
7391
7392         * gst/gstevent.c (gst_event_new_filler): Removed.
7393
7394         * check/gst/gstevent.c: Update comment about filler events.
7395
7396 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7397
7398         * gst/gstvalue.c: (gst_value_is_fixed):
7399           Should handle both value arrays and value lists.
7400
7401 2005-11-21  Andy Wingo  <wingo@pobox.com>
7402
7403         patch by: Alessandro Dessina <alessandro nnva org>
7404
7405         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7406         functions to access arrays. Fixes #321962.
7407
7408 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7409
7410         * docs/gst/gstreamer.types:
7411           gst_collectpads_get_type => gst_collect_pads_get_type.
7412           
7413         * gst/base/gstbasetransform.c:
7414           Remove unused SIGNAL_HANDOFF enum.
7415
7416 2005-11-21  Andy Wingo  <wingo@pobox.com>
7417
7418         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7419         the event type (upstream, downstream, serialized). Renamed
7420         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7421         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7422         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7423
7424         * gst/gstevent.c: Update for new CUSTOM event names.
7425
7426         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7427
7428         * gst/gstevent.h:
7429         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7430         bug #319392.
7431
7432 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7433
7434         * docs/gst/gstreamer-sections.txt:
7435         * win32/common/libgstbase.def:
7436         * win32/libgstbase.def:
7437         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7438         (gst_collect_pads_class_init), (gst_collect_pads_init),
7439         (gst_collect_pads_finalize), (gst_collect_pads_new),
7440         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7441         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7442         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7443         (gst_collect_pads_start), (gst_collect_pads_stop),
7444         (gst_collect_pads_peek), (gst_collect_pads_pop),
7445         (gst_collect_pads_available), (gst_collect_pads_read),
7446         (gst_collect_pads_flush), (gst_collect_pads_event),
7447         (gst_collect_pads_chain):
7448         * gst/base/gstcollectpads.h:
7449           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7450           unimplemented functions as unimplemented. Add padding to
7451           GstCollectData. (#320766, #320423)
7452
7453 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7454
7455         * gst/gstmessage.c:
7456           Improve docs for DURATION message (usage of duration parameter)
7457           (#320113)
7458
7459 2005-11-20  Wim Taymans  <wim@fluendo.com>
7460
7461         * check/Makefile.am:
7462         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7463         (main):
7464         * gst/Makefile.am:
7465         * gst/gst.h:
7466         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7467         (gst_segment_set_seek), (gst_segment_set_newsegment),
7468         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7469         (gst_segment_clip):
7470         * gst/gstsegment.h:
7471         Added segment helper structure and methods. Not fully implemented
7472         yet.
7473         Added segment check.
7474
7475 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7476
7477         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7478           Add a deserialisation test for fractions
7479         * examples/metadata/read-metadata.c: (message_loop),
7480         (make_pipeline), (main):
7481           Fix up metadata reading sample.
7482         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7483           Debug format fix
7484         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7485           Don't try and fixate empty caps
7486         * gst/gst_private.h:
7487           Wrap in G_BEGIN_DECLS/G_END_DECLS
7488         * gst/gstvalue.c: (gst_value_collect_fraction),
7489         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7490         (gst_value_transform_string_fraction),
7491         (gst_value_compare_fraction):
7492           Add some extra guards to ensure that we don't end up 
7493           with an invalid denominator of 0 in a gstfraction and
7494           that fractions always get reduced.
7495
7496 2005-11-20  Wim Taymans  <wim@fluendo.com>
7497
7498         * docs/gst/gstreamer-sections.txt:
7499         * gst/gstbuffer.h:
7500         * gst/gstelement.c:
7501         * gst/gstformat.c:
7502         * gst/gstformat.h:
7503         * gst/gstindex.h:
7504         * gst/gstquery.c:
7505         * gst/gstquery.h:
7506         * gst/gstvalue.c:
7507         Doc fixes.
7508
7509 2005-11-20  Wim Taymans  <wim@fluendo.com>
7510
7511         * docs/design/part-TODO.txt:
7512         * gst/gstcaps.h:
7513         Make a proper enum of the flag.
7514
7515 2005-11-19  Wim Taymans  <wim@fluendo.com>
7516
7517         * docs/design/part-TODO.txt:
7518         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7519         (gst_format_to_quark), (gst_format_register):
7520         * gst/gstformat.h:
7521         * gst/gstquery.c: (_gst_query_initialize),
7522         (gst_query_type_get_name), (gst_query_type_to_quark),
7523         (gst_query_type_register):
7524         * gst/gstquery.h:
7525         Add type to quark and type to string conversions.
7526
7527 2005-11-19  Andy Wingo  <wingo@pobox.com>
7528
7529         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7530         #320097.
7531
7532 2005-11-19  Wim Taymans  <wim@fluendo.com>
7533
7534         * docs/design/part-TODO.txt:
7535         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7536         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7537         (gst_bin_handle_message_func):
7538         * gst/gstbin.h:
7539         Make message handling overridable.
7540
7541 2005-11-19  Andy Wingo  <wingo@pobox.com>
7542
7543         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7544
7545         * gst/gstclock.h:
7546         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7547         be a GstClockTime.
7548         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7549         is a GstClockTime. Fixes #321710.
7550
7551         * gst/gstclock.h (GstClock): Remove offset property. Add
7552         internal_calibration and external_calibration. Fix padding. Pad
7553         also by GstClockTime so we don't run into problems.
7554
7555         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7556         (gst_clock_get_rate_offset): Remove.
7557         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7558
7559         * gst/gstutils.h:
7560         * gst/gstutils.c (g_static_rec_cond_wait)
7561         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7562
7563         * gst/gstbin.c: Remove terrible continue_state prototype.
7564
7565         * gst/gstelement.h (gst_element_continue_state): Make public.
7566
7567         * gst/gstelement.h:
7568         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7569         by continue_state. Fixes #319389.
7570
7571         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7572         Really fixes #168438. However I don't see anywhere where the
7573         filter function is called... stupid GStreamer...
7574         
7575         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7576         don't have a dispose function, so it won't get called when the
7577         object is unreffed, but oh well!
7578
7579         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7580         allows a destroy function to be set so user_data can be freed.
7581         Fixes #168438.
7582         (gst_index_set_filter): Call gst_index_set_filter_full.
7583
7584         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7585
7586         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7587         string should produce an error, given the lack of a way to
7588         represent NULL strings. Fixes #165650.
7589         
7590         * gst/gstvalue.h: 
7591         * gst/gstvalue.c (gst_value_array_append_value) 
7592         (gst_value_array_prepend_value, gst_value_array_get_size) 
7593         (gst_value_array_get_value): New API, copied from
7594         gst_value_list_*, only operates on arrays.
7595         (gst_value_list_append_value, gst_value_list_prepend_value) 
7596         (gst_value_list_concat, gst_value_list_get_size) 
7597         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7598
7599         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7600         init_list, because it works on both.
7601         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7602         (gst_value_copy_list_or_array): Renamed from copy_list.
7603         (gst_value_free_list_or_array): Renamed from free_list.
7604         (gst_value_collect_list_or_array): Renamed from collect_list.
7605         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7606         (gst_value_list_or_array_peek_pointer): Renamed from
7607         list_peek_pointer.
7608         (_gst_value_array_value_table, _gst_value_list_value_table):
7609         Update value table functions.
7610         (gst_value_compare_list_or_array): Renamed from compare_list.
7611
7612         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7613         some constness.
7614
7615         * gst/gsttaglist.c:
7616         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7617         GstTagList*. Fixes #143472.
7618
7619         * gst/gststructure.h: Clarify what the foreach/map functions can
7620         or can't do to their arguments.
7621
7622 2005-11-18  Wim Taymans  <wim@fluendo.com>
7623
7624         * gst/gstclock.c: (gst_clock_set_calibration),
7625         (gst_clock_get_calibration):
7626         Doc and API fixes.
7627         Calibration can be set with internal time equal to current
7628         internal time too.
7629
7630 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * gst/gsterror.c:
7633         * gst/gsterror.h:
7634           document
7635
7636 2005-11-18  Andy Wingo  <wingo@pobox.com>
7637
7638         * configure.ac: 
7639         * pkgconfig/gstreamer-net.pc.in:
7640         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7641         * pkgconfig/Makefile.am: Add net pkgconfig files.
7642
7643 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7644
7645         * gst/gstcaps.c:
7646         * gst/gstghostpad.c:
7647         * gst/gsttrace.c:
7648         * gst/gstvalue.c:
7649         * gst/gstvalue.h:
7650           docs fixes
7651
7652 2005-11-18  Andy Wingo  <wingo@pobox.com>
7653
7654         * gst/net/gstnetclientclock.c: Turn off debugging.
7655
7656         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7657         times connverge somewhat. Can't make a real test.
7658
7659         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7660         integer arithmetic. Return the minimum of the domain, which can be
7661         set as "internal" for gst_clock_set_calibration.
7662         (gst_net_client_clock_observe_times): Call _set_calibration.
7663         (gst_net_client_clock_new): Call _set_calibration instead of
7664         rate_offset.
7665
7666         * check/net/gstnetclientclock.c (test_functioning): Use the right
7667         adjustment api.
7668
7669         * gst/gstclock.h:
7670         * gst/gstclock.c (gst_clock_get_calibration) 
7671         (gst_clock_set_calibration): New functions, obsolete the ones I
7672         added yesterday. Doh. Precision issues mean we have to extrapolate
7673         from a point in the more recent past than 1970.
7674         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7675         obsolete.
7676         (gst_clock_adjust_unlocked): Use the right calibration data.
7677
7678 2005-11-18  Edward Hervey  <edward@fluendo.com>
7679
7680         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7681         Also reset the ->current_* values in READY->PAUSED
7682
7683 2005-11-18  Andy Wingo  <wingo@pobox.com>
7684
7685         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7686         Whoops, check the right fd. Also add some debugging.
7687         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7688         (do_linear_regression): Add a crapload of debugging. Subtract off
7689         the minimum values from the input series to discard unneeded bits.
7690         Use only int arithmetic. There is still double arithmetic when
7691         calculating the intercept that needs fixing. Return boolean to
7692         indicate success; FALSE would mean the domain or range is too
7693         great. Still needs fixes.
7694
7695 2005-11-18  Wim Taymans  <wim@fluendo.com>
7696
7697         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7698         For the current position in stream time, we need to subtract
7699         accumulated time.
7700         
7701         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7702         Release lock before calling the callback function of async
7703         entries.
7704
7705 2005-11-18  Andy Wingo  <wingo@pobox.com>
7706
7707         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7708         Port goes all the way to MAXUINT16.
7709
7710         * gst/net/gstnettimeprovider.c: Make the port range the same as
7711         for the kernel: 0 assigns, otherwise ports are less than
7712         MAXUINT16.
7713
7714         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7715         port change.
7716
7717         * check/net/gstnetclientclock.c (test_functioning): Add the start
7718         of another test. 
7719
7720 2005-11-18  Wim Taymans  <wim@fluendo.com>
7721
7722         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7723         (gst_bin_remove_func), (bin_bus_handler):
7724         * gst/gstbin.h:
7725         Removing a clock provider from a bin, triggers a clock lost message
7726         so that a new clock will be selected.
7727         Adding a clock to a bin triggers a clock provider message.
7728         Make sure we reselect a clock when we received a clock lost message.
7729         Keep a reference to the element that provided the clock.
7730
7731 2005-11-18  Andy Wingo  <wingo@pobox.com>
7732
7733         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7734         the clock initially so it produces values around the base time.
7735         (gst_net_client_clock_class_init): Typo fix.
7736         (gst_net_client_clock_thread): Add note on when the socket gets
7737         closed.
7738
7739 2005-11-17  Wim Taymans  <wim@fluendo.com>
7740
7741         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7742         Free remote and local time arrays.
7743
7744 2005-11-17  Wim Taymans  <wim@fluendo.com>
7745
7746         * gst/net/gstnetclientclock.c: (do_linear_regression),
7747         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7748         Fix compilation, uninitialized vars and a forgotten continue.
7749
7750 2005-11-17  Andy Wingo  <wingo@pobox.com>
7751
7752         * check/Makefile.am (check_PROGRAMS): 
7753         * check/net/gstnetclientclock.c: Add a most minimal test for the
7754         net client clock. More to come later.
7755
7756         * gst/net/gstnet.h: 
7757         * gst/net/Makefile.am: Add netclientclock.
7758
7759         * gst/net/gstnetclientclock.h:
7760         * gst/net/gstnetclientclock.c: New files, implement an untested
7761         GstClock that takes its time from a network time provider.
7762         Implements the algorithm in network-clock.scm.
7763
7764         * tests/network-clock.scm (*window-size*): Rename from
7765         *queue-length*.
7766         * tests/network-clock.scm (network-time): 
7767         * tests/network-clock-utils.scm (q-push): Update callers.
7768
7769 2005-11-17  Wim Taymans  <wim@fluendo.com>
7770
7771         * gst/gstbin.c: (gst_bin_provide_clock_func),
7772         (gst_bin_sort_iterator_new):
7773         And unref the child too..
7774
7775 2005-11-17  Wim Taymans  <wim@fluendo.com>
7776
7777         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7778         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7779         Refactor the sort iterator so it can be used while holding the
7780         LOCK too.
7781         Make clock selection select a clock closest to the source.
7782
7783 2005-11-17  Michael Smith <msmith@fluendo.com>
7784
7785         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7786         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7787         * gst/gstclock.h:
7788           Anonymous structs are a gcc (and some other compilers) extension, so
7789           don't use them. Since this is only for ABI-compatibility, and our
7790           API/ABI freeze is over in a few days, this whole thing will only
7791           last a few days, so don't bother trying to think up a meaningful
7792           name for the struct.
7793
7794 2005-11-17  Andy Wingo  <wingo@pobox.com>
7795
7796         * gst/gstclock.h (GstClock): Add rate and offset properties,
7797         preserving ABI stability. Add rate/offset accessors. Will file bug
7798         for the freeze break.
7799
7800         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7801         and offset, trying to keep precision and avoiding
7802         underflow/overflow.
7803         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7804         functions. Make gst_clock_set_time_adjust obsolete.
7805         (gst_clock_set_time_adjust): Note that this function is obsolete.
7806         Will file bug soon.
7807
7808         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7809         greppable by using GST_PADDING-1+1.
7810
7811 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7812
7813         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7814
7815         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7816           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7817
7818         * gst/gstpadtemplate.h:
7819         * gst/gstpluginfeature.h:
7820           Don't use c++ style comments in headers (#321638).
7821
7822 2005-11-16  Andy Wingo  <wingo@pobox.com>
7823
7824         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7825         buffer.
7826
7827         * check/net/gstnettimeprovider.c: Check to see that the time
7828         provider actually provides times. Works, yo!
7829
7830 2005-11-16  Wim Taymans  <wim@fluendo.com>
7831
7832         * check/Makefile.am:
7833         Enable more tests.
7834
7835         * check/elements/fakesrc.c: (GST_START_TEST):
7836         Set element to NULL before disposing it.
7837
7838 2005-11-16  Andy Wingo  <wingo@pobox.com>
7839
7840         * gst/net/Makefile.am:
7841         * gst/net/gstnet.h:
7842         * gst/net/gstnettimeprovider.c: 
7843         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7844         provider, include it from gstnet.h, and add it to the build.
7845
7846         * gst/net/gstnettimepacket.h: 
7847         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7848         sending and receiving.
7849
7850 2005-11-16  Wim Taymans  <wim@fluendo.com>
7851
7852         * check/Makefile.am:
7853         Enable valgrind check.
7854
7855         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7856         (gst_fake_src_alloc_buffer):
7857         Fix memleak.
7858
7859 2005-11-16  Wim Taymans  <wim@fluendo.com>
7860
7861         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7862         Call parent finalize too.
7863
7864 2005-11-16  Wim Taymans  <wim@fluendo.com>
7865
7866         * check/Makefile.am:
7867         Enable valgrind check that should work fine now.
7868
7869         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7870         * gst/gstqueue.c: (gst_queue_init):
7871         Fix memleaks in pad allocation.
7872
7873 2005-11-16  Andy Wingo  <wingo@pobox.com>
7874
7875         * gst/net/Makefile.am:
7876         * gst/net/gstnet.h: New part of core to hold network elements and
7877         objects. Put in core because it exposes API that applications want
7878         to use. The library is named libgstnet-tempname right now because
7879         of the existing libgstnet in gst-plugins-base. Solution is
7880         probably to rename the one in plugins-base; will file a bug for
7881         the freeze break.
7882
7883         * gst/net/gstnettimeprovider.c: 
7884         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7885         get_time call over the network.
7886
7887         * configure.ac: 
7888         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7889
7890         * check/Makefile.am:
7891         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7892         get additions shortly.
7893
7894 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7895
7896         * gst/gstpad.c: (gst_pad_new_from_static_template):
7897         * gst/gstpad.h:
7898           add gst_pad_new_from_static_template functions
7899         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7900         (gst_check_setup_sink_pad):
7901         * gst/elements/gsttee.c: (gst_tee_init):
7902           and use them
7903
7904 2005-11-16  Wim Taymans  <wim@fluendo.com>
7905
7906         * gst/gstpad.c: (gst_pad_pause_task):
7907         Removed warning, it's not really an error either.
7908
7909 2005-11-16  Wim Taymans  <wim@fluendo.com>
7910
7911         * gst/base/gstbasetransform.c:
7912         (gst_base_transform_prepare_output_buf),
7913         (gst_base_transform_event):
7914         Check if the caps are NULL, this can happen if the element
7915         is shutting down and the pad caps are set to NULL.
7916
7917 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7918
7919         * gst/elements/gsttee.c: (gst_tee_init):
7920           fix pad template leak in tee
7921
7922 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7923
7924         * gst/glib-compat.c: (g_value_dup_gst_object):
7925         * gst/glib-compat.h:
7926         * gst/gstpad.c: (gst_pad_set_property):
7927           use gst_object_ref when setting the pad template; this will
7928           trigger the pad template leaks on GLib 2.6 and the slaves
7929
7930 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7931
7932         * gst/glib-compat.c: (gst_flags_get_first_value):
7933         * gst/glib-compat.h:
7934         * gst/gstregistryxml.c:
7935           remove functions copied from GLib 2.6
7936
7937 2005-11-16  Michael Smith <msmith@fluendo.com>
7938
7939         * gst/Makefile.am:
7940           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7941           do, but only breaks with newer valgrind versions. We're not a
7942           valgrind tool, we have no link-time dependencies on libcoregrind.
7943
7944 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7945
7946         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7947           some debug changes
7948         * gst/gstmessage.h:
7949           typo fixes
7950
7951 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7952
7953         * gst/base/gstbasesrc.c: (gst_base_src_init):
7954         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7955         * gst/gstqueue.c: (gst_queue_init):
7956         * gst/gstregistryxml.c: (load_feature):
7957           Revert all these unrefs, they don't even pass make check !
7958
7959 2005-11-15  Johan Dahlin  <johan@gnome.org>
7960
7961         * gst/base/gstbasesrc.c: (gst_base_src_init):
7962         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7963         * gst/gstqueue.c: (gst_queue_init): 
7964         Free pad templates, fixes a couple of leaks.
7965
7966 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7967
7968         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7969
7970         * gst/gstpad.c: (gst_pad_get_property):
7971           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7972           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7973           (#321452)
7974
7975 2005-11-15  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/gstevent.c:
7978         Small doc update.
7979
7980 2005-11-15  Andy Wingo  <wingo@pobox.com>
7981
7982         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7983
7984         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7985         using GST_CLOCK_TIME_NONE to disable base time management.
7986         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7987         time if it was NONE before.
7988         (gst_pipeline_change_state): Only munge the base time if
7989         stream_time != GST_CLOCK_TIME_NONE.
7990
7991         * check/gst/gstpipeline.c (test_base_time): Punt around the
7992         problem of the probe not being called, because that's not the
7993         issue I'm looking at. Add a check that setting stream_time to NONE
7994         disables base time management.
7995         
7996 2005-11-15  Wim Taymans  <wim@fluendo.com>
7997
7998         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7999         segment_stop == -1 at startup.
8000
8001         * gst/base/gstbasetransform.c: (gst_base_transform_event),
8002         (gst_base_transform_change_state):
8003         Init segment values at start.
8004
8005 2005-11-15  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8008         0 segment values are 0 in any format.
8009
8010         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8011         * gst/base/gstbasetransform.h:
8012         Parse newsegment correctly in basetransform
8013
8014         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8015         Sync to clock using updated segment values.
8016
8017 2005-11-15  Andy Wingo  <wingo@pobox.com>
8018
8019         * check/gst/gstpipeline.c (test_base_time): Add check that the
8020         base time and stream time are reset correctly.
8021
8022 2005-11-15  Wim Taymans  <wim@fluendo.com>
8023
8024         * docs/design/part-TODO.txt:
8025         Some more TODO items.
8026
8027 2005-11-15  Andy Wingo  <wingo@pobox.com>
8028
8029         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8030         error if the user selected "no clock" as the clocking method.
8031
8032         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8033         timestamps with live capture.
8034
8035         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8036         is 0 but we are a live source, timestamp the buffers using the
8037         element's clock.
8038
8039 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8040
8041         * docs/gst/gstreamer-sections.txt:
8042         * gst/gsterror.c:
8043         * gst/gstghostpad.c:
8044         * gst/gstobject.h:
8045         * gst/gstxml.c:
8046           more section docs
8047
8048 2005-11-14  Wim Taymans  <wim@fluendo.com>
8049
8050         * common/gst.supp:
8051           add suppressions from Wim's Debian machine
8052
8053 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8054
8055         * common/gst.supp:
8056           add suppressions from Andy's AMD64 Ubuntu machine
8057
8058 2005-11-14  Andy Wingo  <wingo@pobox.com>
8059
8060         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8061         STATE_LOCK not necessary. Fixes #311489.
8062
8063         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8064         #305291.
8065
8066         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8067         this function is not implemented.
8068
8069 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8070
8071         * gst/base/gstbasetransform.c:
8072         (gst_base_transform_prepare_output_buf):
8073         Ref the source pad caps while we need them.
8074         Fixes (#321386)
8075
8076 2005-11-11  Wim Taymans  <wim@fluendo.com>
8077
8078         * docs/gst/gstreamer-sections.txt:
8079         Added some docs for GstCollectData.
8080
8081         * gst/base/gstadapter.c:
8082         Some small code example fix.
8083
8084         * gst/base/gstcollectpads.c:
8085         * gst/base/gstcollectpads.h:
8086         Document some more.
8087
8088 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8089
8090         * configure.ac: back to HEAD
8091
8092 === release 0.9.5 ===
8093
8094 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8095
8096         * configure.ac:
8097           releasing 0.9.5, "Bike Lunch Day"
8098
8099 2005-11-11  Wim Taymans  <wim@fluendo.com>
8100
8101         * gst/gstbuffer.c: (_gst_buffer_copy):
8102         Copy more flags.
8103
8104         * gst/gstcaps.c: (gst_caps_is_equal):
8105         Fix some docs.
8106         Make _is_equal fast in the trivial cases.
8107
8108         * gst/gstminiobject.c:
8109         * gst/gstminiobject.h:
8110         More docs. Spifify .h file.
8111
8112         * gst/gstutils.c:
8113         Small doc update.
8114
8115 2005-11-11  Wim Taymans  <wim@fluendo.com>
8116
8117         * gst/base/gstbasetransform.c:
8118         (gst_base_transform_prepare_output_buf),
8119         (gst_base_transform_handle_buffer):
8120         Small cleanups.
8121         If we're processing a buffer and need to allocate an output
8122         buffer, we cannot accept a format change. If we did get a 
8123         format change, we have to alloc a buffer ourselves of the 
8124         right size.
8125
8126 2005-11-11  Wim Taymans  <wim@fluendo.com>
8127
8128         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8129         While checking the flag for reentrancy in the gstcaps function
8130         is nice to detect recursive invocations, it also makes it 
8131         impossible to call getcaps from multiple threads, which must be
8132         possible. So, checking for recursive calls has to go.
8133
8134 2005-11-11  Michael Smith <msmith@fluendo.com>
8135
8136         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8137           Don't sync on buffers that fall partially outside our current
8138           segment. Prevents an assertion failure/abort playing some files.
8139
8140 2005-11-10  Andy Wingo  <wingo@pobox.com>
8141
8142         * check/gst/gstbin.c (test_message_state_changed_children): Style
8143         fix..
8144
8145         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8146         gst_bus_poll with the signal watch. Ensures that poll and a signal
8147         watch see the same messages.
8148
8149         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8150         a poll and a watch at the same time get the same messages.
8151
8152 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8153
8154         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8155         * gst/gstcaps.c: (gst_caps_intersect):
8156           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8157           and it's not needed.
8158
8159 2005-11-10  Wim Taymans  <wim@fluendo.com>
8160
8161         * docs/design/part-TODO.txt:
8162         Updated todo.
8163
8164 2005-11-10  Wim Taymans  <wim@fluendo.com>
8165
8166         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8167         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8168         (gst_base_src_do_sync), (gst_base_src_get_range):
8169         Implement clock sync in base class.
8170
8171 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         patch by: Tim-Philipp Müller <tim at centricular dot net>
8174
8175         * gst/gststructure.c: (gst_structure_parse_field),
8176         (gst_structure_from_string):
8177           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8178           so that gst_parse_launch() can deal with spaces in filtered link
8179           caps (fixes #164479)
8180         * check/gst/capslist.h:
8181         * check/gst/gststructure.c: (GST_START_TEST):
8182           add unit tests for this change
8183
8184 2005-11-10  Wim Taymans  <wim@fluendo.com>
8185
8186         * docs/gst/gstreamer-sections.txt:
8187         * gst/gstelement.c:
8188         * gst/gstelement.h:
8189         Fix docs, move some STATE macros to private.
8190
8191 2005-11-10  Wim Taymans  <wim@fluendo.com>
8192
8193         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8194         Added check for bug #317341
8195
8196         * gst/gstbuffer.c:
8197         * gst/gstbuffer.h:
8198         Some more spiffifying.
8199
8200         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8201         Call peer linkfunction if we are a source pad. Totally fixes
8202         #317341
8203
8204         * gst/gstpad.c:
8205         Update docs, source pads should call the peer linkfunction
8206         so they can atomically perform the pad link.
8207
8208 2005-11-09  Wim Taymans  <wim@fluendo.com>
8209
8210         * gst/gstbuffer.c:
8211         * gst/gstbuffer.h:
8212         Uber-spiffy-spiffify some more.
8213
8214 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8215
8216         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8217         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8218         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8219         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8220         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8221         * gst/gstpad.c: (gst_pad_init):
8222           Use GST_DEBUG_FUNCPTR() more extensively.
8223
8224 2005-11-09  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/gstobject.c: (gst_object_class_init):
8227         * gst/gstobject.h:
8228         Documentation fixes.
8229
8230 2005-11-09  Edward Hervey  <edward@fluendo.com>
8231
8232         * gst/gsttypefindfactory.c:
8233         Fix docs.
8234         
8235 2005-11-09  Edward Hervey  <edward@fluendo.com>
8236
8237         * gst/base/gsttypefindhelper.c:
8238         * gst/gsttypefind.c:
8239         * gst/gsttypefind.h:
8240         Fix docs.
8241
8242 2005-11-09  Wim Taymans  <wim@fluendo.com>
8243
8244         * gst/gstiterator.c:
8245         Fix revision data.
8246
8247         * gst/gsttask.c:
8248         * gst/gsttask.h:
8249         Fix docs.
8250
8251 2005-11-09  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/gstevent.h:
8254         * gst/gsturi.h:
8255         Fix docs.
8256
8257 2005-11-09  Wim Taymans  <wim@fluendo.com>
8258
8259         * docs/gst/gstreamer-sections.txt:
8260         Moved the message async delivery private lock and cond
8261         to the private section.
8262
8263         * gst/gstmessage.c:
8264         * gst/gstmessage.h:
8265         Fixed docs.
8266
8267 2005-11-09  Edward Hervey  <edward@fluendo.com>
8268
8269         * docs/gst/gstreamer-sections.txt:
8270         * gst/gsturi.c:
8271         * gst/gsturi.h:
8272         Document GstURIHandler
8273
8274 2005-11-09  Wim Taymans  <wim@fluendo.com>
8275
8276         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8277         (gst_iterator_find_custom):
8278         * gst/gstiterator.h:
8279         Fix iterator docs.
8280
8281 2005-11-09  Wim Taymans  <wim@fluendo.com>
8282
8283         * gst/gstbin.h:
8284         Document another field.
8285
8286         * gst/gststructure.c:
8287         * gst/gststructure.h:
8288         Document.
8289
8290 2005-11-09  Wim Taymans  <wim@fluendo.com>
8291
8292         * gst/gstbin.h:
8293         Documented structs.
8294
8295 2005-11-09  Wim Taymans  <wim@fluendo.com>
8296
8297         * docs/gst/gstreamer-sections.txt:
8298         Added some new macros.
8299
8300         * gst/gstclock.c:
8301         * gst/gstclock.h:
8302         * gst/gstobject.h:
8303         Docs updates.
8304
8305 2005-11-09  Wim Taymans  <wim@fluendo.com>
8306
8307         * docs/design/part-TODO.txt:
8308         Some more items for the TODO
8309
8310         * gst/gstcaps.c:
8311         * gst/gstcaps.h:
8312         Document GstCaps.
8313
8314 2005-11-09  Andy Wingo  <wingo@pobox.com>
8315
8316         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8317         to work on something else now tho...
8318
8319         * gst/base/gstadapter.c: More adapter docs.
8320
8321         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8322         (gst_file_sink_stop): New functions, replace the state change
8323         handler.
8324         (gst_file_sink_class_init): Hook up the start and stop functions.
8325         (gst_file_sink_base_init): Don't set the state change handler any
8326         more. It was a bit ugly too, being set from here...
8327         (gst_file_sink_get_property, gst_file_sink_set_property):
8328         Cleanups...
8329         (gst_file_sink_set_location): More robust check that doesn't call
8330         GST_STATE. Ugggggg.
8331
8332 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8333
8334         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8335           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8336
8337 2005-11-08  Wim Taymans  <wim@fluendo.com>
8338
8339         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8340         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8341         (gst_base_sink_chain), (gst_base_sink_change_state):
8342         * gst/base/gstbasesink.h:
8343         * gst/base/gstbasesrc.h:
8344         * gst/gstelement.h:
8345         * gst/gstevent.h:
8346         Avoid excessive typechecking in macros.
8347
8348         * gst/gstminiobject.c: (gst_mini_object_get_type),
8349         (gst_mini_object_init), (gst_mini_object_new),
8350         (gst_mini_object_free):
8351         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8352         (gst_object_finalize):
8353         Remove cruft code, optimize alloc_trace.
8354
8355 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * docs/faq/gst-uninstalled:
8358           fix up PS1 for systems that try to reset it
8359
8360 2005-11-07  Wim Taymans  <wim@fluendo.com>
8361
8362         * gst/base/gstbasesrc.c: (gst_base_src_init),
8363         (gst_base_src_get_range):
8364         Set the segment_end to -1 initially. Fixed typefind.
8365
8366 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8367
8368         * gst/base/gstadapter.c:
8369           Debug category should be 'adapter', not 'GstAdapter'.
8370           
8371         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8372         (gst_collectpads_class_init), (gst_collectpads_init),
8373         (gst_collectpads_peek), (gst_collectpads_pop),
8374         (gst_collectpads_event), (gst_collectpads_chain):
8375           Add debug category and some debugging output. Use boilerplate
8376           macros. Remove some extraneous words from docs.
8377
8378 2005-11-05  Andy Wingo  <wingo@pobox.com>
8379
8380         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8381         macro.
8382
8383 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8384
8385         * docs/gst/gstreamer-sections.txt:
8386         * gst/gstcaps.h:
8387         * gst/gstinfo.c:
8388         * gst/gstminiobject.h:
8389         * gst/gstobject.h:
8390         * gst/gstutils.h:
8391           more docs added
8392
8393 2005-11-04  Wim Taymans  <wim@fluendo.com>
8394
8395         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8396         Small update to stop at the configured segment_end
8397         position.
8398
8399 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8400
8401         * gst/gstregistry.c:
8402         * gst/gstregistry.h:
8403           added missing docs
8404
8405 2005-11-04  Edward Hervey  <edward@fluendo.com>
8406
8407         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8408         Check if we are doing a segment seek and have arrived at the
8409         end of that segment.
8410
8411 2005-11-04  Wim Taymans  <wim@fluendo.com>
8412
8413         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8414         Don't leak a mutex unlock in case of an error.
8415
8416         * gst/gstbus.h:
8417         Doc fixes.
8418
8419 2005-11-04  Wim Taymans  <wim@fluendo.com>
8420
8421         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8422         (gst_bus_post):
8423         Get the context to wake up only once.
8424
8425 2005-11-03  Wim Taymans  <wim@fluendo.com>
8426
8427         * check/states/sinks.c: (GST_START_TEST):
8428         Uncomment fixed check.
8429
8430         * docs/design/part-TODO.txt:
8431         Updated TODO.
8432
8433         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8434         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8435         (gst_base_sink_get_position):
8436         If we are going to PLAYING, post the right pending state
8437         when we post the intermediate paused message.
8438
8439         * gst/gstelement.c: (gst_element_continue_state),
8440         (gst_element_set_state_func), (gst_element_change_state):
8441         Don't post state changes that were between the same state
8442         and were not ASYNC.
8443
8444 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8445
8446         * docs/gst/gstreamer-sections.txt:
8447         * gst/gstcaps.h:
8448         * gst/gstinfo.c:
8449         * gst/gstminiobject.h:
8450         * gst/gstobject.h:
8451         * gst/gstutils.h:
8452           more docs and doc style fixes
8453
8454 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8455
8456         * docs/gst/gstreamer-sections.txt:
8457         * gst/gstelement.c:
8458         * gst/gstminiobject.c:
8459         doc fixes
8460
8461 2005-11-03  Andy Wingo  <wingo@pobox.com>
8462
8463         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8464         state-changed messages actually have the right order and the right
8465         values.
8466
8467 2005-11-03  Wim Taymans  <wim@fluendo.com>
8468
8469         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8470         Added some more checks. Specifically the case where NO_PREROLL
8471         elements are in the pipeline.
8472
8473         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8474         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8475         (gst_base_sink_get_position):
8476         Post READY->PAUSED state change messages too.
8477         Fix bug where VOID was posted as pending state...
8478
8479         * gst/gstbin.c: (gst_bin_recalc_state):
8480         use _element_continue_state() to continue the state change.
8481
8482         * gst/gstelement.c: (gst_element_continue_state),
8483         (gst_element_commit_state), (gst_element_set_state_func),
8484         (gst_element_change_state), (gst_element_change_state_func):
8485         Lots of state change cleanups, assign the STATE_RETURN in
8486         a new continue_state() function that also propagates the
8487         last return value from a state change to the app.
8488         Update some debug statements with proper category.
8489
8490 2005-11-03  Wim Taymans  <wim@fluendo.com>
8491
8492         * docs/design/part-events.txt:
8493         * docs/design/part-gstpipeline.txt:
8494         * docs/design/part-messages.txt:
8495         * docs/design/part-overview.txt:
8496         * docs/design/part-seeking.txt:
8497         * docs/design/part-states.txt:
8498         * docs/design/part-trickmodes.txt:
8499         * docs/manual/advanced-position.xml:
8500         Small docs updates.
8501
8502         * gst/gstobject.h:
8503         People think !! is ugly, this looks better.
8504
8505         * gst/gstpad.c: (gst_pad_set_blocked_async):
8506         Remove !! since it's fixed elsewhere now.
8507
8508 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8509
8510         * gst/gstminiobject.h:
8511         * gst/gstobject.h:
8512           Add !! to _FLAG_IS_SET macros to make the result boolean.
8513
8514 2005-11-03  Edward Hervey  <edward@fluendo.com>
8515
8516         * gst/gstpad.c: (gst_pad_set_blocked_async):
8517         comparing a flag and a gboolean rarely returns coherent results...
8518         Added two characters (!!) to make that work correctly.
8519         
8520 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8521
8522         * gst/gstbus.c: (gst_bus_class_init):
8523           Fix some typos.
8524           
8525         * gst/gstqueue.c: (gst_queue_loop):
8526           Don't assume a miniobject that isn't a buffer is an
8527           event (it could be that there is a refcounting
8528           problem somewhere and the pointer is stale and
8529           refers to an already destroyed miniobject).
8530
8531 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8532
8533         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8534
8535 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8536
8537         * docs/manual/advanced-position.xml:
8538           Update seek example and explanations to current 0.9 API.
8539
8540         * gst/elements/gsttypefindelement.c:
8541         (gst_type_find_element_activate):
8542           Remove FIXME comment now that the found caps
8543           are unreffed.
8544
8545 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8546
8547         * gst/gstregistryxml.c: (load_feature):
8548           Add another GST_STR_NULL instance
8549
8550 2005-11-02  Edward Hervey  <edward@fluendo.com>
8551
8552         * gst/gstpad.c: (handle_pad_block):
8553         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8554         
8555 2005-11-02  Wim Taymans  <wim@fluendo.com>
8556
8557         * gst/gstbin.c:
8558         Fix typo in docs.
8559
8560         * gst/gstelement.c: (gst_element_commit_state):
8561         Remove unused value.
8562
8563         * gst/gstiterator.c:
8564         Mention that the returned element is reffed in the docs.
8565
8566 2005-11-02  Wim Taymans  <wim@fluendo.com>
8567
8568         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8569         (gst_pad_push), (gst_pad_push_event):
8570         Unlock blocked pads when they are flushed.
8571
8572 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8573
8574         * docs/README:
8575         * docs/gst/gstreamer-sections.txt:
8576         * gst/gstbin.c:
8577           doc updates
8578         * gst/gstregistry.c: (gst_registry_scan_path_level):
8579           fix for a nasty little missed situation where an installed plug-in
8580           which was in the cache did not get overridden by an uninstalled one
8581           which was earlier in the plugin path because the newly created plugin
8582           for the uninstalled one (not in the registry) didn't get its
8583           ->registered set to TRUE
8584
8585 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8586
8587         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8588         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8589         (gst_collectpads_is_active), (gst_collectpads_collect),
8590         (gst_collectpads_collect_range), (gst_collectpads_start),
8591         (gst_collectpads_stop), (gst_collectpads_peek),
8592         (gst_collectpads_pop), (gst_collectpads_available),
8593         (gst_collectpads_read), (gst_collectpads_flush):
8594           Guard public API with assertions.
8595         
8596         * gst/gstpad.c:
8597           Fix docs for gst_pad_set_link_function().
8598
8599 2005-11-02  Johan Dahlin  <johan@gnome.org>
8600
8601         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8602         Unref found_caps after we used it.
8603
8604 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8605
8606         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8607           Don't try to ref NULL.
8608
8609 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8610
8611         * win32/common/config.h.in:
8612           provide a GST_FUNCTION that just gives a string for now
8613
8614 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8615
8616         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8617         (gst_object_flags_get_type), (register_gst_bin_flags),
8618         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8619         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8620         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8621         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8622         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8623         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8624         (gst_clock_flags_get_type), (register_gst_state),
8625         (gst_state_get_type), (register_gst_state_change_return),
8626         (gst_state_change_return_get_type), (register_gst_state_change),
8627         (gst_state_change_get_type), (register_gst_element_flags),
8628         (gst_element_flags_get_type), (register_gst_core_error),
8629         (gst_core_error_get_type), (register_gst_library_error),
8630         (gst_library_error_get_type), (register_gst_resource_error),
8631         (gst_resource_error_get_type), (register_gst_stream_error),
8632         (gst_stream_error_get_type), (register_gst_event_type),
8633         (gst_event_type_get_type), (register_gst_seek_type),
8634         (gst_seek_type_get_type), (register_gst_seek_flags),
8635         (gst_seek_flags_get_type), (register_gst_format),
8636         (gst_format_get_type), (register_gst_index_certainty),
8637         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8638         (gst_index_entry_type_get_type),
8639         (register_gst_index_lookup_method),
8640         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8641         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8642         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8643         (gst_index_flags_get_type), (register_gst_debug_level),
8644         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8645         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8646         (gst_iterator_result_get_type), (register_gst_iterator_item),
8647         (gst_iterator_item_get_type), (register_gst_message_type),
8648         (gst_message_type_get_type), (register_gst_mini_object_flags),
8649         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8650         (gst_pad_link_return_get_type), (register_gst_flow_return),
8651         (gst_flow_return_get_type), (register_gst_activate_mode),
8652         (gst_activate_mode_get_type), (register_gst_pad_direction),
8653         (gst_pad_direction_get_type), (register_gst_pad_flags),
8654         (gst_pad_flags_get_type), (register_gst_pad_presence),
8655         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8656         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8657         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8658         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8659         (gst_plugin_flags_get_type), (register_gst_rank),
8660         (gst_rank_get_type), (register_gst_query_type),
8661         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8662         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8663         (gst_tag_flag_get_type), (register_gst_task_state),
8664         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8665         (gst_alloc_trace_flags_get_type),
8666         (register_gst_type_find_probability),
8667         (gst_type_find_probability_get_type), (register_gst_uri_type),
8668         (gst_uri_type_get_type), (register_gst_parse_error),
8669         (gst_parse_error_get_type):
8670         * win32/common/gstversion.h:
8671           update win32 copies
8672
8673 2005-11-01  Luca Ognibene  <luogni@tin.it>
8674
8675         * gst/gst.c:
8676           fix docs. popt is dead, long live GOption.
8677
8678 2005-10-31  Wim Taymans  <wim@fluendo.com>
8679
8680         * gst/gstbuffer.h:
8681         Small doc fix.
8682
8683 2005-10-31  Andy Wingo  <wingo@pobox.com>
8684
8685         * Boo!
8686
8687         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8688
8689         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8690         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8691         the possibility of deadlocks here if code calling notify() or
8692         set() has a lock that can be taken in another notify handler (ABBA
8693         with class lock and e.g. python GIL state lock).
8694
8695 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8696
8697         * gst/gstbus.c: Doc updates.
8698
8699 2005-10-28  Wim Taymans  <wim@fluendo.com>
8700
8701         * docs/design/part-TODO.txt:
8702         * gst/gstiterator.c:
8703         * gst/gstsystemclock.c:
8704         * gst/gstsystemclock.h:
8705         Doc updates.
8706
8707 2005-10-28  Edward Hervey  <edward@fluendo.com>
8708
8709         * docs/gst/gstreamer-docs.sgml:
8710         * docs/gst/gstreamer-sections.txt:
8711         the GstURIType documentation page is private, it only defines GstURIType
8712         which should be defined in the GstURIHandler page
8713         
8714 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * gst/gstbin.c: (gst_bin_class_init):
8717         * gst/gstbin.h:
8718         * gst/gstutils.c:
8719         Documentation updates.
8720
8721 2005-10-28  Wim Taymans  <wim@fluendo.com>
8722
8723         * docs/gst/gstreamer-sections.txt:
8724         * gst/gstclock.c:
8725         * gst/gstclock.h:
8726         Documented the clocks.
8727
8728 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8729
8730         * docs/gst/gstreamer-sections.txt:
8731           move some macros to private sections
8732         * gst/gstminiobject.c:
8733         * gst/gstminiobject.h:
8734           add descriptions provided by ds and some more
8735         * gst/gstpad.h:
8736           mark macro as to be removed
8737
8738 2005-10-28  Wim Taymans  <wim@fluendo.com>
8739
8740         * docs/design/part-TODO.txt:
8741         Add an item to TODO.
8742
8743         * gst/gstiterator.c: (gst_iterator_fold),
8744         (gst_iterator_find_custom):
8745         * gst/gstiterator.h:
8746         Add iterator docs.
8747
8748 2005-10-28  Wim Taymans  <wim@fluendo.com>
8749
8750         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8751         (gst_base_transform_init):
8752         Don't leak class.
8753
8754         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8755         An EOS event marks the queue as completely filled.
8756
8757 2005-10-27  Wim Taymans  <wim@fluendo.com>
8758
8759         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8760         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8761         Some more debugging.
8762
8763         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8764         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8765         (gst_base_transform_event), (gst_base_transform_getrange),
8766         (gst_base_transform_chain):
8767         * gst/base/gstbasetransform.h:
8768         Fix debugging,
8769         Protect transform and concurrent buffer alloc with a new lock.
8770         Try not to break ABI/API.
8771
8772 2005-10-27  Wim Taymans  <wim@fluendo.com>
8773
8774         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8775         (gst_base_src_init), (gst_base_src_query),
8776         (gst_base_src_default_newsegment),
8777         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8778         (gst_base_src_send_event), (gst_base_src_event_handler),
8779         (gst_base_src_pad_get_range), (gst_base_src_loop),
8780         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8781         (gst_base_src_start), (gst_base_src_deactivate),
8782         (gst_base_src_activate_push), (gst_base_src_change_state):
8783         Move some stuff around and cleanup things.
8784
8785 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8786
8787         * gst/base/gstbasesrc.c: (gst_base_src_query):
8788           Add missing break statements.
8789
8790 2005-10-27  Wim Taymans  <wim@fluendo.com>
8791
8792         * check/gst/gstbin.c: (GST_START_TEST):
8793         An extra refcount is taken in basesrc.
8794
8795         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8796         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8797         (gst_base_src_loop):
8798         Small cleanups, check for flushing after being unlocked from the 
8799         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8800         Don't send out EOS when going to READY.
8801
8802 2005-10-27  Wim Taymans  <wim@fluendo.com>
8803
8804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8805         (gst_base_sink_get_position):
8806         Some more debug.
8807
8808         * gst/gstbin.c: (message_check), (bin_replace_message),
8809         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8810         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8811         (bin_query_duration_init), (bin_query_duration_fold),
8812         (bin_query_duration_done), (bin_query_generic_fold),
8813         (gst_bin_query):
8814         * tools/gst-launch.c: (main):
8815         Remove old option.
8816
8817 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8818
8819         * examples/controller/audio-example.c: (main):
8820         * examples/queue/queue.c: (event_loop):
8821         * gst/base/gstbasetransform.h:
8822         * gst/gstelement.c: (gst_element_send_event):
8823         * gst/gstevent.h:
8824         * gst/gstpad.c: (gst_pad_send_event):
8825           fixing examples
8826           fixing docs typos
8827           changing log priority in error situations
8828
8829 2005-10-25  Wim Taymans  <wim@fluendo.com>
8830
8831         * gst/gstbin.c: (message_check), (bin_replace_message),
8832         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8833         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8834         (bin_query_duration_init), (bin_query_duration_fold),
8835         (bin_query_duration_done), (bin_query_generic_fold),
8836         (gst_bin_query):
8837         Some doc and debug updates.
8838         Cache previously requested query DURATION for speed. invalidate
8839         cached duration if element posts a DURATION message.
8840
8841 2005-10-25  Wim Taymans  <wim@fluendo.com>
8842
8843         * docs/design/part-TODO.txt:
8844         Update TODO.
8845
8846         * gst/gstbin.c: (message_check), (bin_replace_message),
8847         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8848         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8849         (bin_query_duration_init), (bin_query_duration_fold),
8850         (bin_query_duration_done), (bin_query_generic_fold),
8851         (gst_bin_query):
8852         Handle SEGMENT_START/DONE messages correctly.
8853         More evolved query algorithm that handles duration queries
8854         correctly.
8855
8856         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8857         (gst_element_get_state_func), (gst_element_abort_state),
8858         (gst_element_commit_state), (gst_element_lost_state):
8859         Some more debugging.
8860
8861         * gst/gstmessage.h:
8862         Added doc.
8863
8864 2005-10-25  Wim Taymans  <wim@fluendo.com>
8865
8866         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8867         Don't use invalid stream_time.
8868
8869         * gst/gstevent.c: (gst_event_new_newsegment):
8870         stream_time in newsegment cannot be undefined.
8871
8872 2005-10-24  Wim Taymans  <wim@fluendo.com>
8873
8874         * gst/gstbus.c:
8875         Doc fix.
8876
8877         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8878         (gst_queue_loop):
8879         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8880
8881 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8882
8883         * docs/libs/tmpl/gstdparam.sgml:
8884         * docs/libs/tmpl/gstdplinint.sgml:
8885         * docs/libs/tmpl/gstdpman.sgml:
8886         * docs/libs/tmpl/gstdpsmooth.sgml:
8887         * docs/libs/tmpl/gstunitconvert.sgml:
8888           these are obsolete
8889
8890 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * configure.ac:
8893           back to HEAD
8894
8895 === release 0.9.4 ===
8896
8897 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8898
8899         * configure.ac:
8900           releasing 0.9.4, "Tyrannosaurus Rex"
8901
8902 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8903
8904         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8905         (gst_file_sink_get_current_offset):
8906           Use fseeko() and ftello() if available. When falling back on
8907           lseek() to get the current offset, fflush() first to make sure
8908           everything is up-to-date and we get the right offset.
8909
8910 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8913         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8914         * gst/gsterror.c: (_gst_stream_errors_init):
8915         * gst/gsterror.h:
8916         * gst/gstqueue.c: (gst_queue_loop):
8917         * po/POTFILES.in:
8918           remove prematurely added error category and clean up the instances
8919
8920 2005-10-21  Wim Taymans  <wim@fluendo.com>
8921
8922         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8923         (gst_base_sink_get_position), (gst_base_sink_query),
8924         (gst_base_sink_change_state):
8925         Simply set the right flag when going to playing, that's all
8926         we need to do instead of calling a function inside the object
8927         lock (that could take the lock as well and deadlock)
8928
8929 2005-10-21  Wim Taymans  <wim@fluendo.com>
8930
8931         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8932         (gst_base_src_loop):
8933         Don't warn, the peer element knows what to do best when
8934         the seek failed, it might try something else.
8935
8936 2005-10-21  Wim Taymans  <wim@fluendo.com>
8937
8938         * gst/base/gstbasesrc.c: (gst_base_src_init),
8939         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8940         Fix seeking.
8941
8942 2005-10-21  Wim Taymans  <wim@fluendo.com>
8943
8944         * docs/design/part-segments.txt:
8945         More docs.
8946
8947         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8948         Correctly set caps, even on the subbufer.
8949
8950 2005-10-21  Wim Taymans  <wim@fluendo.com>
8951
8952         * docs/gst/gstreamer-docs.sgml:
8953         * docs/gst/gstreamer-sections.txt:
8954         * gst/gstelement.h:
8955         * gst/gstevent.c:
8956         * gst/gstevent.h:
8957         * gst/gstmessage.h:
8958         * gst/gstpad.h:
8959         * gst/gstparse.h:
8960         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8961         * gst/gsttask.h:
8962         * gst/gstutils.c:
8963         * gst/gstutils.h:
8964         And 2% more doc coverage.
8965
8966 2005-10-21  Andy Wingo  <wingo@pobox.com>
8967
8968         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8969         position reporting.
8970
8971 2005-10-20  Wim Taymans  <wim@fluendo.com>
8972
8973         * gst/gsterror.c: (gst_error_get_message):
8974         * gst/gstparse.h:
8975         * gst/gstquery.h:
8976         * gst/gststructure.c:
8977         * gst/gsttrace.c:
8978         * gst/gstutils.c:
8979         More docs.
8980
8981 2005-10-20  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/gstbuffer.h:
8984         * gst/gstpad.c:
8985         * gst/gstparse.c:
8986         Another 1% more coverage.
8987
8988 2005-10-20  Wim Taymans  <wim@fluendo.com>
8989
8990         * docs/gst/gstreamer-sections.txt:
8991         * gst/gstelement.c: (gst_element_get_state_func),
8992         (gst_element_abort_state), (gst_element_commit_state),
8993         (gst_element_lost_state):
8994         * gst/gstevent.h:
8995         * gst/gstquery.c: (gst_query_set_position),
8996         (gst_query_parse_position), (gst_query_set_duration),
8997         (gst_query_parse_duration), (gst_query_new_convert):
8998         * gst/gstutils.c:
8999         Yay! 1% more docs coverage.
9000
9001 2005-10-20  Wim Taymans  <wim@fluendo.com>
9002
9003         * gst/gstpad.h:
9004         * gst/gstquery.c: (gst_query_set_position),
9005         (gst_query_parse_position), (gst_query_set_duration),
9006         (gst_query_parse_duration), (gst_query_new_convert):
9007         * gst/gstquery.h:
9008         * gst/gstutils.c: (gst_element_query_convert):
9009         * gst/gstutils.h:
9010         Docs and consistency fixes.
9011
9012 2005-10-20  Wim Taymans  <wim@fluendo.com>
9013
9014         * gst/gsttask.c:
9015         * gst/gsttask.h:
9016         More docs.
9017
9018 2005-10-20  Wim Taymans  <wim@fluendo.com>
9019
9020         * gst/gstbin.c: (message_check), (bin_replace_message),
9021         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9022         (update_degree), (gst_bin_sort_iterator_next),
9023         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9024         Reworked the message handling a bit, cache the messages instead of
9025         only the senders. alows us to do more in the future.
9026
9027 2005-10-20  Wim Taymans  <wim@fluendo.com>
9028
9029         * docs/design/part-TODO.txt:
9030         Update TODO
9031
9032         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9033         (gst_base_sink_query):
9034         Don't use clock time to report position when in EOS.
9035
9036 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9037
9038         * tools/gst-inspect.c: (print_interfaces),
9039         (print_element_properties_info), (print_element_info):
9040           Fix interface output with gst-inspect -a; don't print
9041           newlines after double/float properties.
9042
9043 2005-10-20  Wim Taymans  <wim@fluendo.com>
9044
9045         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9046         (gst_base_sink_query):
9047         Speed up current position calculation.
9048
9049         * gst/base/gstbasesrc.c: (gst_base_src_query),
9050         (gst_base_src_default_newsegment):
9051         Correctly set stream position in newsegment.
9052
9053         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9054         (update_degree), (gst_bin_sort_iterator_next),
9055         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9056         * gst/gstmessage.c: (gst_message_new_custom):
9057         Clean up debugging info
9058
9059         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9060         (gst_queue_loop), (gst_queue_handle_src_query):
9061         Pause task faster.
9062
9063 2005-10-19  Wim Taymans  <wim@fluendo.com>
9064
9065         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9066         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9067         Fix query handling again.
9068
9069 2005-10-19  Wim Taymans  <wim@fluendo.com>
9070
9071         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9072         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9073         * gst/base/gstbasesrc.c: (gst_base_src_query):
9074         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9075         * gst/elements/gsttypefindelement.c:
9076         (gst_type_find_handle_src_query), (find_element_get_length),
9077         (gst_type_find_element_activate):
9078         API change fix.
9079
9080         * gst/gstquery.c: (gst_query_new_position),
9081         (gst_query_set_position), (gst_query_parse_position),
9082         (gst_query_new_duration), (gst_query_set_duration),
9083         (gst_query_parse_duration), (gst_query_set_segment),
9084         (gst_query_parse_segment):
9085         * gst/gstquery.h:
9086         Bundling query position/duration is not a good idea since duration
9087         does not change much and we don't want to recalculate it for every
9088         position query, so they are separated again..
9089         Base value in segment query is not needed.
9090
9091         * gst/gstqueue.c: (gst_queue_handle_src_query):
9092         * gst/gstutils.c: (gst_element_query_position),
9093         (gst_element_query_duration), (gst_pad_query_position),
9094         (gst_pad_query_duration):
9095         * gst/gstutils.h:
9096         Updates for query API change.
9097         Added some docs here and there.
9098
9099 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9100
9101         * check/gst/gstbin.c: (GST_START_TEST):
9102         * check/gst/gstghostpad.c: (GST_START_TEST):
9103         * check/pipelines/cleanup.c: (GST_START_TEST):
9104           wait on thread to die so we can check refcount correctly
9105
9106 2005-10-18  Wim Taymans  <wim@fluendo.com>
9107
9108         * check/pipelines/stress.c: (GST_START_TEST):
9109         Make check a little more time consuming.
9110
9111 2005-10-18  Wim Taymans  <wim@fluendo.com>
9112
9113         * check/Makefile.am:
9114         * check/pipelines/stress.c: (GST_START_TEST),
9115         (simple_launch_lines_suite), (main):
9116         Small state change torture test.
9117
9118         * docs/design/part-states.txt:
9119         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9120         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9121         (gst_base_sink_change_state):
9122         Never take state lock from streaming thread, clean up ugly
9123         hacks. Unfortunatly core does not yet support nice ways to
9124         async commit state.
9125         
9126         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9127         (bin_bus_handler):
9128         Start state recalc if a STATE_DIRTY message is posted, but only
9129         on the toplevel bin.
9130
9131         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9132         (gst_element_get_state_func), (gst_element_abort_state),
9133         (gst_element_commit_state), (gst_element_lost_state),
9134         (gst_element_set_state_func), (gst_element_change_state):
9135         * gst/gstelement.h:
9136         State variables are now protected with the LOCK, the state
9137         lock is only used to serialize _set_state().
9138
9139 2005-10-18  Wim Taymans  <wim@fluendo.com>
9140
9141         * check/gst/gstbin.c: (GST_START_TEST):
9142         * check/gst/gstmessage.c: (GST_START_TEST):
9143         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9144         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9145         (bin_bus_handler):
9146         * gst/gstelement.c: (gst_element_abort_state),
9147         (gst_element_commit_state), (gst_element_lost_state):
9148         * gst/gstmessage.c: (gst_message_new_state_changed),
9149         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9150         (gst_message_new_segment_done), (gst_message_new_duration),
9151         (gst_message_parse_state_changed),
9152         (gst_message_parse_segment_start),
9153         (gst_message_parse_segment_done), (gst_message_parse_duration):
9154         * gst/gstmessage.h:
9155         * tools/gst-launch.c: (event_loop):
9156         Seriously, this is better than a previous commit as we only need
9157         to notify the fact that an element changed state in a streaming
9158         thread, marking the state of the parents dirty, hence the 
9159         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9160         message.
9161
9162 2005-10-18  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9165         (gst_bin_recalc_func):
9166         * gst/gstelement.c: (gst_element_set_clock),
9167         (gst_element_abort_state), (gst_element_lost_state):
9168         Cleanups, prepare for state change fixes.
9169
9170 2005-10-18  Wim Taymans  <wim@fluendo.com>
9171
9172         * gst/gstbin.h:
9173         * gst/gstelement.c: (gst_element_class_init),
9174         (gst_element_set_state), (gst_element_set_state_func):
9175         * gst/gstelement.h:
9176         Pending ABI changes.
9177         GThreadPool in GstBinClass to monitor async state changes.
9178         state_cookie in GstElement to detect concurrent gst/set state.
9179         set_state is now virtual too in case a very complicated element
9180         has to be constructed.
9181
9182 2005-10-18  Wim Taymans  <wim@fluendo.com>
9183
9184         * check/gst/gstbin.c: (GST_START_TEST):
9185         * check/gst/gstmessage.c: (GST_START_TEST):
9186         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9187         * gst/gstbin.c: (bin_bus_handler):
9188         * gst/gstelement.c: (gst_element_commit_state),
9189         (gst_element_lost_state):
9190         * gst/gstmessage.c: (gst_message_new_state_changed),
9191         (gst_message_new_segment_start), (gst_message_new_segment_done),
9192         (gst_message_new_duration), (gst_message_parse_state_changed),
9193         (gst_message_parse_segment_start),
9194         (gst_message_parse_segment_done), (gst_message_parse_duration):
9195         * gst/gstmessage.h:
9196         * tools/gst-launch.c: (event_loop):
9197         Make messages future proof.
9198         state-change gets a flag if it was a message comming from the
9199         streaming thread.
9200         segment-start/stop can also be specified in other formats.
9201         A message to notify an app that a pipeline changed playback 
9202         duration.
9203         Also fix a GstMessage leak in -launch
9204
9205 2005-10-18  Andy Wingo  <wingo@pobox.com>
9206
9207         * gst/gstelement.c (gst_element_dispose): More helpful message.
9208
9209 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         reviewed by: <delete if not using a buddy>
9212
9213         * common/gtk-doc.mak:
9214
9215 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9216
9217         * gst/gstregistry.c: (gst_registry_scan_path_level):
9218           unref a plug-in we get that was already initialized
9219
9220 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9221
9222         * docs/gst/gstreamer-sections.txt:
9223         * docs/libs/gstreamer-libs-sections.txt:
9224         * gst/gstelement.h:
9225           add new api entries
9226           hide internal macro
9227
9228 2005-10-17  Andy Wingo  <wingo@pobox.com>
9229
9230         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9231         cleanup.
9232
9233         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9234
9235         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9236
9237         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9238         (gst_element_get_state_func): Better debug message.
9239         (gst_element_commit_state): s/INFO/DEBUG/.
9240         (gst_element_lost_state, gst_element_change_state): 
9241
9242         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9243         (gst_message_new_custom): s/INFO/LOG/.
9244
9245 2005-10-17  Michael Smith <msmith@fluendo.com>
9246
9247         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9248           Check if end time is valid using end time, not start time.
9249
9250 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9251
9252         * check/gst-libs/controller.c: (GST_START_TEST),
9253         (gst_controller_suite):
9254         * libs/gst/controller/gstcontroller.c:
9255         (gst_controlled_property_set_interpolation_mode):
9256         * libs/gst/controller/gstcontroller.h:
9257         * libs/gst/controller/gstinterpolation.c:
9258         * testsuite/controller/.cvsignore:
9259         * testsuite/controller/Makefile.am:
9260         * testsuite/controller/interpolator.c:
9261           merge controller testsuites
9262           fix broken tests
9263           remove mem-chunk from docs
9264
9265 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9266
9267         * gst/gstmemchunk.c:
9268         * gst/gstmemchunk.h:
9269         * gst/gsttrashstack.c:
9270         * gst/gsttrashstack.h:
9271           out.  get out.  you're fired.  to the Attic !
9272
9273 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9274
9275         * gst/gstcaps.c: (gst_caps_intersect):
9276           fix signedness issues in a (hopefully) correct way
9277         * gst/gstelement.c: (gst_element_pads_activate):
9278           some debugging
9279         * gst/gstobject.c: (gst_object_set_parent):
9280           some debugging
9281
9282 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9283
9284         * gst/gstvalue.h: Fix prototypes.
9285
9286 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9287
9288         * docs/gst/gstreamer-sections.txt:
9289         * gst/gst.c: (gst_version_string):
9290         * gst/gst.h:
9291         * gst/gstversion.h.in:
9292         * win32/common/libgstreamer.def:
9293           add gst_version_string ()
9294
9295 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9296
9297         * configure.ac:
9298           clean up further
9299         * gst/gst.c: (init_post):
9300         * win32/common/config.h.in:
9301           it's PLUGINDIR now
9302         * gst/gstcaps.c: (gst_caps_intersect):
9303           use gint64, the range could be bigger than a guint
9304
9305 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9306
9307         * gst/gstclock.h:
9308           document potential problem in 2038
9309
9310 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * gst/gstcaps.c: (gst_caps_intersect):
9313           Fix guint j diving under 0
9314
9315 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9316
9317         * configure.ac:
9318         * win32/common/config.h:
9319         * win32/common/config.h.in:
9320           check for process.h, declares getpid() on Windows
9321         * gst/gstinfo.c:
9322           include process.h if we have it
9323         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9324         * gst/gstmemchunk.h:
9325           fix signedness issues
9326         * win32/common/libgstreamer.def:
9327           fix get_type's
9328
9329 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9330
9331         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9332         fix. Because of unsigned ints, caps intersection was going nuts and
9333         trying to access structures with G_MAXUINT index. That fixes
9334         videotestsrc ! ffmpegcolorspace ! fakesink
9335         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9336         consistency.
9337
9338 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9339
9340         * configure.ac:
9341           use the gettext macro
9342         * gst/elements/gstelements.c:
9343         * gst/gst.c:
9344         * gst/indexers/gstindexers.c:
9345           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9346         * win32/common/config.h:
9347           updated config.h
9348         * win32/common/config.h.in:
9349           add the template to generate config.h
9350         * win32/common/gstenumtypes.c:
9351         * win32/common/gstversion.h:
9352           updated copies
9353
9354 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * gst/gst.c: (gst_version):
9357         * gst/gstversion.h.in:
9358           add the nano
9359
9360 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9361
9362         * gst/gstevent.h:
9363           Oops, add missing closing bracket.
9364
9365 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9366
9367         * configure.ac:
9368           use common m4's for argument checking
9369
9370 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9371
9372         * docs/gst/gstreamer-sections.txt:
9373         * gst/gstevent.h:
9374           Add GST_EVENT_TYPE_NAME() macro.
9375
9376 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9377
9378         * gst/gstinfo.c:
9379         * gst/gstpluginfeature.c:
9380         * gst/gsttask.c:
9381           privatize more symbols
9382
9383 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9384
9385         * configure.ac:
9386           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9387           everything that uses GStreamer API should have the includes
9388
9389 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9390
9391         * docs/gst/gstreamer-sections.txt:
9392         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9393         * gst/gstvalue.h:
9394           give each value a _get_type, removes the DATA exports
9395
9396 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * gst/gst.c:
9399         * gst/gst.h:
9400           remove _gst_registry_auto_load, not used anymore
9401         * gst/gstbin.c: (gst_bin_get_type):
9402         * gst/gstbin.h:
9403         * gst/gstelement.c: (gst_element_get_type):
9404         * gst/gstelement.h:
9405         * gst/gstobject.c: (gst_object_get_type):
9406         * gst/gstobject.h:
9407         * gst/gstpad.c: (gst_pad_get_type):
9408         * gst/gstpad.h:
9409           make _get_type functions similar, fixes data export from library
9410
9411 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * configure.ac:
9414           correctly make conditionals
9415         * gst/elements/Makefile.am:
9416         * gst/elements/gstelements.c:
9417           fix typo causing fdsrc not to build
9418
9419 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * testsuite/Makefile.am:
9422         * testsuite/bytestream/.cvsignore:
9423         * testsuite/bytestream/Makefile.am:
9424         * testsuite/bytestream/filepadsink.c:
9425         * testsuite/bytestream/gstbstest.c:
9426         * testsuite/bytestream/test1.c:
9427         * testsuite/bytestream/testfile1:
9428         * testsuite/caps/normalisation.c:
9429         * testsuite/caps/random.c: (main):
9430         * testsuite/cleanup/.cvsignore:
9431         * testsuite/cleanup/Makefile.am:
9432         * testsuite/cleanup/cleanup1.c:
9433         * testsuite/cleanup/cleanup2.c:
9434         * testsuite/cleanup/cleanup3.c:
9435         * testsuite/cleanup/cleanup4.c:
9436         * testsuite/cleanup/cleanup5.c:
9437         * testsuite/controller/interpolator.c:
9438         * testsuite/debug/printf_extension.c: (main):
9439         * testsuite/elements/tee.c:
9440         * testsuite/negotiation/.cvsignore:
9441         * testsuite/negotiation/Makefile.am:
9442         * testsuite/negotiation/pad_link.c:
9443         * testsuite/pad/Makefile.am:
9444         * testsuite/pad/chainnopull.c:
9445         * testsuite/pad/getnopush.c:
9446         * testsuite/pad/link.c:
9447         * testsuite/refcounting/sched.c: (create_pipeline):
9448         * testsuite/registry/Makefile.am:
9449         * testsuite/registry/gst-print-formats.c:
9450         * testsuite/schedulers/.cvsignore:
9451         * testsuite/schedulers/142183-2.c:
9452         * testsuite/schedulers/142183.c:
9453         * testsuite/schedulers/143777-2.c:
9454         * testsuite/schedulers/143777.c:
9455         * testsuite/schedulers/147713.c:
9456         * testsuite/schedulers/147819.c:
9457         * testsuite/schedulers/147894-2.c:
9458         * testsuite/schedulers/147894.c:
9459         * testsuite/schedulers/Makefile.am:
9460         * testsuite/schedulers/group_link.c:
9461         * testsuite/schedulers/queue_link.c:
9462         * testsuite/schedulers/relink.c:
9463         * testsuite/schedulers/unlink.c:
9464         * testsuite/schedulers/unref.c:
9465         * testsuite/schedulers/useless_iteration.c:
9466         * testsuite/states/bin.c:
9467           clean out/remove some stuff from the testsuite directories
9468
9469 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * configure.ac:
9472           check for some headers
9473         * gst/elements/Makefile.am:
9474         * gst/elements/gstelements.c:
9475           don't compile fdsrc without sys/socket.h
9476         * gst/indexers/Makefile.am:
9477         * gst/indexers/gstindexers.c: (plugin_init):
9478           don't compile fileindex without mmap
9479
9480 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9481
9482         * configure.ac:
9483           reorganize
9484           clean up
9485           document more
9486           remove cruft
9487         * check/Makefile.am:
9488         * docs/gst/Makefile.am:
9489         * examples/helloworld/Makefile.am:
9490         * gst/Makefile.am:
9491         * gst/base/Makefile.am:
9492         * gst/check/Makefile.am:
9493         * gst/elements/Makefile.am:
9494         * gst/indexers/Makefile.am:
9495         * gst/parse/Makefile.am:
9496         * libs/gst/controller/Makefile.am:
9497         * libs/gst/dataprotocol/Makefile.am:
9498         * examples/helloworld/helloworld.c: (event_loop):
9499           compile fixes, though it's not being compiled currently
9500
9501 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9502
9503         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9504           Add some simple tests for the new taglist date API.
9505
9506 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9507
9508         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9509         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9510           Beautify 'last-message' output: print 'none' for buffer timestamps
9511           and durations if none is set; improve alignment with next messages.
9512
9513 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9514
9515         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9516         * gst/gstpluginfeature.h:
9517         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9518         * gst/gstregistry.h:
9519         * docs/gst/gstreamer-sections.txt:
9520           Add new API to check plugin feature version requirements.
9521
9522         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9523           Some basic tests for the above.         
9524
9525 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * gst/gststructure.c: (gst_structure_to_string):
9528           guard against NULL printf - happens when for example
9529           a message structure with GstClock gets serialized
9530
9531 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9532
9533         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9534           Fix presumable copy'n'pasto.
9535
9536 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * gst/elements/gstfakesrc.h:
9539         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9540         * gst/elements/gsttypefindelement.c:
9541           fix some signedness
9542         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9543           I wonder if this could actually write +2GB files before
9544
9545 2005-10-13  Andy Wingo  <wingo@pobox.com>
9546
9547         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9548         Fix Timmeke Waymans bug.
9549         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9550         string of the proper length to gst_caps_from_string. There's a
9551         potential for, before this fix, that this could cause someone
9552         connecting over the network to cause a segfault if the payload is
9553         not NUL-terminated.
9554
9555 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9556
9557         * docs/design/draft-push-pull.txt:
9558         * docs/design/part-overview.txt:
9559         * docs/random/TODO-pre-0.9:
9560         * docs/random/old/ChangeLog.gstreamer:
9561         * gst/base/gstpushsrc.c:
9562         * gst/gstclock.c:
9563           fixed typos
9564
9565 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9566
9567         * gst/glib-compat.c: (gst_flags_get_first_value):
9568         * gst/glib-compat.h:
9569         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9570         (gst_value_compare_double), (gst_value_serialize_flags):
9571           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9572           infinite loop
9573
9574 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9575
9576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9577         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9578           fix up debugging
9579         * tools/gst-launch.c: (event_loop):
9580           print out clock nicely
9581
9582 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9583
9584         * docs/gst/gstreamer-sections.txt:
9585         * gst/gsttaglist.h:
9586         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9587         (gst_tag_list_get_date_index):
9588           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9589           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9590
9591 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9592
9593         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9594         (gst_collectpads_chain):
9595         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9596         in CollectData.
9597
9598 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9599
9600         * docs/gst/gstreamer-sections.txt:
9601         * gst/gst.c:
9602         * gst/gsterror.h:
9603         * tools/gst-inspect.c: (main):
9604         * tools/gst-launch.c: (main):
9605         * tools/gst-run.c: (main):
9606         * tools/gst-xmlinspect.c: (main):
9607           fix GOption context leaks
9608           doc fixes
9609
9610 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * gst/gstbus.c:
9613           use HAVE_UNISTD_H
9614         * win32/common/config.h:
9615           update config
9616         * win32/vs6/grammar.dsp:
9617         * win32/vs6/libgstelements.dsp:
9618         * win32/vs6/libgstreamer.dsp:
9619           update vs6 files
9620
9621 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9624         * gst/base/gstbasesrc.c: (gst_base_src_query):
9625           fix more guint64<->gdouble conversions
9626
9627 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9628
9629         * Makefile.am:
9630           add win32-update target
9631         * win32/common/gstconfig.h:
9632         * win32/common/gstenumtypes.c:
9633         * win32/common/gstenumtypes.h:
9634         * win32/common/gstversion.h:
9635           add files that visual studio can't generate
9636
9637 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9638
9639         * Makefile.am:
9640           add a win32-update target
9641         * configure.ac:
9642
9643 2005-10-12  Wim Taymans  <wim@fluendo.com>
9644
9645         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9646         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9647         * gst/gstelement.c: (gst_element_commit_state),
9648         (gst_element_set_state):
9649         Protect flags with proper lock.
9650         unref provided cached clock in dispose.
9651
9652 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9653
9654         * gst/gst.c:
9655         * gst/gstminiobject.h:
9656         * gst/gstpad.h:
9657         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9658           removed unused flags from miniobject
9659           doc fixes
9660
9661 2005-10-12  Wim Taymans  <wim@fluendo.com>
9662
9663         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9664         (gst_file_sink_event), (gst_file_sink_render):
9665         Flush before seeking.
9666
9667 2005-10-12  Andy Wingo  <wingo@pobox.com>
9668
9669         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9670         always been the case.
9671
9672 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9673
9674         * check/gst/gstbin.c: (GST_START_TEST):
9675         * docs/gst/gstreamer-sections.txt:
9676         * gst/base/gstbasesink.c: (gst_base_sink_init):
9677         * gst/base/gstbasesrc.c: (gst_base_src_init),
9678         (gst_base_src_get_range), (gst_base_src_check_get_range),
9679         (gst_base_src_start), (gst_base_src_stop):
9680         * gst/base/gstbasesrc.h:
9681         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9682         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9683         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9684         (bin_bus_handler):
9685         * gst/gstbin.h:
9686         * gst/gstbuffer.h:
9687         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9688         * gst/gstbus.h:
9689         * gst/gstelement.c: (gst_element_is_locked_state),
9690         (gst_element_set_locked_state), (gst_element_commit_state),
9691         (gst_element_set_state):
9692         * gst/gstelement.h:
9693         * gst/gstindex.c: (gst_index_init):
9694         * gst/gstindex.h:
9695         * gst/gstminiobject.h:
9696         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9697         (gst_object_set_parent):
9698         * gst/gstobject.h:
9699         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9700         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9701         * gst/gstpad.h:
9702         * gst/gstpadtemplate.h:
9703         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9704         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9705         * gst/gstpipeline.h:
9706         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9707         (gst_file_index_commit):
9708         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9709         * testsuite/pad/link.c: (gst_test_src_init),
9710         (gst_test_filter_init), (gst_test_sink_init):
9711         * testsuite/states/locked.c: (main):
9712           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9713           moved bitshift from macro to enum definition
9714
9715 2005-10-12  Wim Taymans  <wim@fluendo.com>
9716
9717         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9718         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9719         (gst_file_sink_render):
9720         Some more debugging info.
9721
9722 2005-10-12  Wim Taymans  <wim@fluendo.com>
9723
9724         * docs/design/part-states.txt:
9725         * tools/gst-launch.c: (main):
9726         Some doc updates.
9727         Revert non-intentional change.
9728
9729 2005-10-12  Wim Taymans  <wim@fluendo.com>
9730
9731         * check/gst/gstbin.c: (GST_START_TEST):
9732         * check/gst/gstelement.c: (GST_START_TEST):
9733         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9734         * check/gst/gstghostpad.c: (GST_START_TEST):
9735         * check/gst/gstpipeline.c: (GST_START_TEST):
9736         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9737         * check/states/sinks.c: (GST_START_TEST):
9738         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9739         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9740         (gst_bin_remove_func), (gst_bin_get_state_func),
9741         (gst_bin_recalc_state), (gst_bin_change_state_func),
9742         (bin_bus_handler):
9743         * gst/gstelement.c: (gst_element_get_state_func),
9744         (gst_element_get_state), (gst_element_abort_state),
9745         (gst_element_commit_state), (gst_element_set_state),
9746         (gst_element_change_state), (gst_element_change_state_func):
9747         * gst/gstelement.h:
9748         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9749         (gst_pipeline_provide_clock_func):
9750         * gst/gstutils.c: (gst_element_link_pads_filtered):
9751         * tools/gst-launch.c: (main):
9752         * tools/gst-typefind.c: (main):
9753         Use GstClockTime in _get_state() instead of GTimeVal.
9754         Remove old code in gstutils.c
9755
9756 2005-10-12  Andy Wingo  <wingo@pobox.com>
9757
9758         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9759         removed.
9760
9761         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9762         there is no task. Shouldn't affect any code, as nothing in our
9763         plugins checks this return value.
9764         (gst_pad_stop_task): Also take the stream lock if the pad has no
9765         task. Docs updated.
9766
9767 2005-10-12  Wim Taymans  <wim@fluendo.com>
9768
9769         * gst/gstpad.c: (pre_activate), (post_activate),
9770         (gst_pad_activate_pull), (gst_pad_activate_push):
9771         Cleanup activation code. Reset old state if
9772         activation failed.
9773
9774 2005-10-12  Wim Taymans  <wim@fluendo.com>
9775
9776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9777         (gst_base_sink_change_state):
9778         No need to prerol after receiving EOS.
9779
9780         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9781         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9782         * gst/elements/gstidentity.c: (gst_identity_event):
9783         Print events more verbosely.
9784
9785 2005-10-12  Wim Taymans  <wim@fluendo.com>
9786
9787         * check/Makefile.am:
9788         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9789         * check/states/sinks2.c:
9790         Moved sinks2 testcode in sinks check.
9791
9792         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9793         (gst_bin_remove_func), (gst_bin_recalc_state),
9794         (gst_bin_change_state_func), (bin_bus_handler):
9795         Fix potential race condition when _get_state() iterated over an
9796         ASYNC element right before it posted a state completion.
9797
9798         * gst/gstclock.h:
9799         Do proper cast here.
9800
9801         * gst/gstevent.c: (gst_event_new_newsegment),
9802         (gst_event_parse_newsegment):
9803         A playback rate of 0.0 is not allowed.
9804
9805 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * win32/common/config.h:
9808         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9809         (_trewinddir), (_ttelldir), (_tseekdir):
9810         * win32/common/dirent.h:
9811         * win32/common/gtchar.h:
9812         * win32/common/libgstbase.def:
9813         * win32/common/libgstreamer.def:
9814         * win32/vs6/grammar.dsp:
9815         * win32/vs6/gst_inspect.dsp:
9816         * win32/vs6/gst_launch.dsp:
9817         * win32/vs6/gstreamer.dsw:
9818         * win32/vs6/libgstbase.dsp:
9819         * win32/vs6/libgstelements.dsp:
9820         * win32/vs6/libgstreamer.dsp:
9821           Visual Studio 6 project files, and a new common directory.
9822           Phear.
9823
9824 2005-10-11  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9827         (gst_base_sink_do_sync), (gst_base_sink_query),
9828         (gst_base_sink_change_state):
9829         * gst/base/gstbasesink.h:
9830         Correctly parse newsegment info.
9831
9832 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9833
9834         * gst/gst.c: (init_post):
9835           split plugin paths correctly
9836
9837 2005-10-11  Wim Taymans  <wim@fluendo.com>
9838
9839         * check/gst/gstevent.c: (GST_START_TEST):
9840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9841         (gst_base_sink_change_state):
9842         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9843         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9844         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9845         * gst/gstevent.c: (gst_event_new_newsegment),
9846         (gst_event_parse_newsegment):
9847         * gst/gstevent.h:
9848         Added extra flag to newsegment for future API freeze.
9849         Updated check and base elements.
9850
9851 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9852
9853         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9854         (gst_collectpads_add_pad), (gst_collectpads_pop),
9855         (gst_collectpads_event), (gst_collectpads_chain):
9856         * gst/base/gstcollectpads.h: Handle EOS correctly.
9857
9858 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9859
9860         * tools/gst-launch.c: (main):
9861           more null protecting
9862
9863 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9864
9865         * gst/gst-i18n-lib.h:
9866           check for ENABLE_NLS, not GETTEXT_PACKAGE
9867         * gst/gstregistry.c: (gst_registry_add_plugin),
9868         (gst_registry_scan_path_level),
9869         (_gst_registry_remove_cache_plugins):
9870           protect possibly NULL strings
9871         * gst/parse/types.h:
9872           config.h already included before
9873         * tools/gst-inspect.c: (main):
9874           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9875           check for ENABLE_NLS, not GETTEXT_PACKAGE
9876         * tools/gst-launch.c: (main):
9877           check for ENABLE_NLS, not GETTEXT_PACKAGE
9878
9879 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * configure.ac:
9882           if we don't have glib, fail before testing 2.8
9883         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9884           fix a leak, should fix plugins-base testsuite
9885
9886 2005-10-11  Andy Wingo  <wingo@pobox.com>
9887
9888         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9889         take the mode we're going to as an arg. Go head and set the mode
9890         and flushing flags now, so that if the activate function starts a
9891         thread all the flags will be in the right state.
9892         (post_activate): Renamed also. Just handle making sure streaming
9893         finishes for the deactivation case, and setting the deactivated
9894         mode.
9895         (gst_pad_set_active): Complain loudly if deactivation fails.
9896         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9897         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9898         remove the terrible hack.
9899
9900 2005-10-11  Wim Taymans  <wim@fluendo.com>
9901
9902         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9903         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9904         (gst_bin_recalc_state), (gst_bin_change_state_func),
9905         (gst_bin_dispose), (bin_bus_handler):
9906         * gst/gstbin.h:
9907         Prepare to make current EOS message queue more generic.
9908         Fix some typos.
9909
9910         * gst/gstevent.c: (gst_event_new_newsegment),
9911         (gst_event_parse_newsegment):
9912         * gst/gstevent.h:
9913         Rename base to stream_time.
9914
9915         * gst/gstmessage.h:
9916         Fix typo in docs.
9917
9918 2005-10-11  Wim Taymans  <wim@fluendo.com>
9919
9920         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9921         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9922         (gst_bin_change_state_func), (bin_bus_handler):
9923         * gst/gstbin.h:
9924         Work on proper clock selection.
9925
9926 2005-10-11  Edward Hervey  <edward@fluendo.com>
9927
9928         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9929         * libs/gst/controller/gstcontroller.h:
9930         Added GList* version of _remove_properties() in order to be able to wrap
9931         it in bindings.
9932
9933 2005-10-11  Wim Taymans  <wim@fluendo.com>
9934
9935         * docs/design/part-states.txt:
9936         Some more docs.
9937
9938         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9939         (gst_bin_change_state_func), (bin_bus_handler):
9940         Doc updates. Don't distribute the same clock over and over again.
9941
9942         * gst/gstclock.c:
9943         * gst/gstclock.h:
9944         Doc updates.
9945
9946         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9947         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9948         (gst_pad_send_event):
9949         * gst/gstpad.h:
9950         Make probe emission threadsafe again.
9951         Register quarks and move _get_name() from utils.
9952         Doc updates.
9953
9954         * gst/gstpipeline.c: (gst_pipeline_class_init),
9955         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9956         Only redistribute the clock of it changed.
9957
9958         * gst/gstsystemclock.h:
9959         Doc updates. 
9960
9961         * gst/gstutils.c:
9962         * gst/gstutils.h:
9963         Moved the _flow_get_name() to GstPad.
9964
9965 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9966
9967         * check/gst-libs/gdp.c: (GST_START_TEST):
9968         * check/gst/gstcaps.c: (GST_START_TEST):
9969         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9970         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9971         (gst_dp_packet_from_caps):
9972           fix more valgrind warnings before turning up the heat
9973
9974 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * gst/parse/grammar.y:
9977           some cleanup before the hacking
9978
9979 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9980
9981         * gst/base/gstbasesrc.c: (gst_base_src_query):
9982           use conversions
9983         * gst/gstutils.c: (gst_guint64_to_gdouble),
9984         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9985         * gst/gstutils.h:
9986           externalize, basesrc uses it
9987           obviously the implementation needs testing
9988
9989 2005-10-10  Wim Taymans  <wim@fluendo.com>
9990
9991         * tests/sched/Makefile.am:
9992         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9993         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9994
9995 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9996
9997         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9998           apparently converting from guint64 to double is not implemented
9999           on MSVC
10000
10001 2005-10-10  Wim Taymans  <wim@fluendo.com>
10002
10003         * check/Makefile.am:
10004         * check/generic/states.c: (GST_START_TEST):
10005         * check/gst/gstbin.c: (GST_START_TEST):
10006         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10007         * check/states/sinks.c: (GST_START_TEST):
10008         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10009         (main):
10010         Check fixes, use API as stated in design docs, remove hacks.
10011
10012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10013         (gst_base_sink_change_state):
10014         Catch stopping our task while we're shutting down.
10015
10016         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10017         (gst_bin_remove_func), (gst_bin_get_state_func),
10018         (gst_bin_recalc_state), (gst_bin_change_state_func),
10019         (bin_bus_handler):
10020         * gst/gstbin.h:
10021         * gst/gstelement.c: (gst_element_init),
10022         (gst_element_get_state_func), (gst_element_abort_state),
10023         (gst_element_commit_state), (gst_element_lost_state),
10024         (gst_element_set_state), (gst_element_change_state),
10025         (gst_element_change_state_func):
10026         * gst/gstelement.h:
10027         New state change algorithm (see #318116)
10028
10029         * gst/gstpipeline.c: (gst_pipeline_class_init),
10030         (gst_pipeline_init), (gst_pipeline_set_property),
10031         (gst_pipeline_get_property), (do_pipeline_seek),
10032         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10033         * gst/gstpipeline.h:
10034         Remove crude state change hacks.
10035
10036         * gst/gstutils.h:
10037         Remove crude hacks.
10038
10039         * tools/gst-launch.c: (main):
10040         Fixes for state change. Needs some more work to fully use the
10041         new stuff.
10042
10043 2005-10-10  Andy Wingo  <wingo@pobox.com>
10044
10045         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10046
10047         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10048         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10049         issue.
10050
10051 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10052
10053         * gst/gstiterator.c: (gst_iterator_new):
10054           Fix my previous commit: GTypes passed to gst_iterator_new()
10055           can be fundamental types.
10056
10057 2005-10-10  Wim Taymans  <wim@fluendo.com>
10058
10059         * gst/gstelement.c: (gst_element_iterate_pad_list),
10060         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10061         (gst_element_iterate_sink_pads):
10062         Use src/sink pads lists for the respective iterators instead
10063         of filtering.
10064
10065 2005-10-10  Andy Wingo  <wingo@pobox.com>
10066
10067         Merged in popt removal + GOption addition patch from Ronald, bug
10068         #169772.
10069
10070         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10071         GstElement macros around, remove popt-related symbols, add goption
10072         stuff.
10073
10074         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10075         
10076         * docs/gst/Makefile.am:
10077         * docs/libs/Makefile.am: No POPT_CFLAGS.
10078         
10079         * examples/manual/Makefile.am:
10080         * docs/manual/basics-init.xml: Doc updates with an example.
10081         
10082         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10083         (gst_init), (parse_one_option), (parse_goption_arg):
10084         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10085         bit of hand merging and debugging to get the GOption stuff working
10086         tho.
10087         
10088         * tests/Makefile.am:
10089         * tools/Makefile.am:
10090         * tools/gst-inspect.c: (main):
10091         * tools/gst-launch.c: (main):
10092         * tools/gst-run.c: (main):
10093         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10094
10095 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10096
10097         * gst/gstiterator.c: (gst_iterator_new):
10098           Add assertions to make sure passed GType is likely to really
10099           be a GType (as the compiler won't catch it if the size and
10100           GType arguments get mixed up, see #318447).
10101
10102 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10103
10104         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10105
10106         * gst/gstbin.c: (gst_bin_iterate_sorted):
10107           Pass GType and size arguments to gst_iterator_new() in the right
10108           order (maybe we should make _new() take the GType as first argument
10109           just like _new_list()?) (#318447).
10110           
10111
10112 2005-10-10  Wim Taymans  <wim@fluendo.com>
10113
10114         * gst/gstelement.c: (gst_element_finalize):
10115         And free the GStaticRecMutex too
10116
10117 2005-10-10  Andy Wingo  <wingo@pobox.com>
10118
10119         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10120         Allocate and free the mutex properly.
10121
10122         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10123         New macros.
10124         (GstElement): The state_lock is now recursive. Rebuild your
10125         plugins, suckers. Old macros adapted.
10126
10127         * docs/gst/gstreamer-sections.txt: Doc updates.
10128
10129         * gst/gstutils.h:
10130         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10131         (g_static_rec_cond_wait): Ported from state changes patch, while
10132         we wait on bug #317802 to be solved in a well-distributed GLib.
10133
10134         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10135         gst_element_change_state, variable name changes.
10136         (gst_element_change_state): Split out of gst_element_set_state in
10137         preparation for the state change merge. Doesn't pay attention to
10138         the 'transition' argument.
10139         (gst_element_set_state): Updates, hopefully purely cosmetic.
10140         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10141         state change patch.
10142         (gst_element_get_state_func): Renamed from get_state, cosmetic
10143         changes.
10144
10145 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10146
10147         * gst/elements/gstelements.c:
10148         * win32/GStreamer.vcproj:
10149         * win32/config.h:
10150         * win32/dirent.c: (_tseekdir):
10151         * win32/gst-inspect.vcproj:
10152         * win32/gst-launch.vcproj:
10153         * win32/gstconfig.h:
10154         * win32/gstelements.vcproj:
10155         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10156         * win32/gstreamer.def:
10157         * win32/msvc71.sln:
10158           updates for the win32 build (patch from Sebastien Moutte)
10159
10160 2005-10-10  Andy Wingo  <wingo@pobox.com>
10161
10162         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10163         gst_bin_get_state, cleaned up (but no logic changes).
10164         (bin_element_is_sink): Comment updates.
10165         (sink_iterator_filter): Remove needless cast.
10166         (gst_bin_iterate_sinks): Doc update.
10167         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10168         cleaned up (but no logic changes).
10169
10170         * check/states/sinks.c (test_src_sink): Cleanups from the state
10171         change patch.
10172         (test_livesrc_sink): Sync on the state.
10173
10174         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10175         the state change patch.
10176
10177         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10178         change patch.
10179
10180         * check/gst/gstbin.c: Merge in some style fixes and additional
10181         checks from Wim's state change patch.
10182
10183 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10184
10185         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10186         (gst_type_find_helper):
10187           Check whether we have the requested data already in our list of
10188           cached buffers before pulling a new buffer; also make the buffer
10189           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10190
10191 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10192
10193         * gst/gstcaps.c:
10194         * gst/gstevent.c:
10195           doc updates
10196         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10197           don't use long long, it's not portable.  Replacing with
10198           gint64 seems to work; let's hope no skeletons fall out of the closet.
10199
10200 2005-10-10  Andy Wingo  <wingo@pobox.com>
10201
10202         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10203
10204 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10205
10206         * docs/gst/gstreamer-sections.txt:
10207         * gst/gstevent.c:
10208         * gst/gstevent.h:
10209         * gst/gstinfo.c:
10210         * gst/gstinfo.h:
10211         * gst/gstmessage.c: (gst_message_parse_state_changed):
10212         * gst/gstpad.c:
10213         * gst/gstpad.h:
10214           more docs, fix compilation
10215
10216 2005-10-09  Philippe Khalaf <burger@speedy.org>
10217         * gst/gstmessage.c:
10218           Fixed a few forgotten variables on previous commit
10219
10220 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10221
10222         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10223           Fix evil typefind crasher: getrange() might return a short
10224           buffer at the end of a file, but gst_type_find_peek() must
10225           either return the full data as requested or NULL, but
10226           never a short buffer.
10227
10228 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * gst/gstmessage.c: (gst_message_new_state_changed),
10231         (gst_message_parse_state_changed):
10232         * gst/gstmessage.h:
10233           don't use "new", it's a C++ keyword
10234
10235 2005-10-08  Wim Taymans  <wim@fluendo.com>
10236
10237         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10238         * gst/gstelement.c: (gst_element_post_message):
10239         * gst/gstpipeline.c: (gst_pipeline_change_state):
10240         Small docs and debug updates.
10241
10242 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10243
10244         * docs/gst/gstreamer-sections.txt:
10245         * gst/gstelementfactory.c:
10246         * gst/gstevent.c:
10247         * gst/gsttaglist.c:
10248           more docs
10249
10250 2005-10-08  Wim Taymans  <wim@fluendo.com>
10251
10252         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10253         (gst_bin_dispose), (bin_bus_handler):
10254         Fix typos, add comments.
10255         Clear EOS list when going to PAUSED from any direction and do it
10256         in a threadsafe way.
10257         Get base time in a threadsafe way too.
10258         Fix confusing debug in the change_state function.
10259         Various other small cleanups.
10260         
10261         * gst/gstelement.c: (gst_element_post_message):
10262         Fix very verbose bus posting code.
10263
10264         * gst/gstpipeline.c: (gst_pipeline_class_init),
10265         (gst_pipeline_set_property), (gst_pipeline_get_property),
10266         (gst_pipeline_change_state):
10267         Small ARG_ -> PROP_ cleanup
10268
10269 2005-10-08  Wim Taymans  <wim@fluendo.com>
10270
10271         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10272         Do a less CPU demanding EOS check because we can.
10273
10274 2005-10-08  Wim Taymans  <wim@fluendo.com>
10275
10276         * libs/gst/dataprotocol/dataprotocol.c:
10277         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10278         (gst_dp_packet_from_event):
10279         * libs/gst/dataprotocol/dataprotocol.h:
10280         * libs/gst/dataprotocol/dp-private.h:
10281         It's about time we bump the version number.
10282         Since event types don't fit in the guint8 anymore describing
10283         the payload type, make payload type 16 bits wide.
10284
10285 2005-10-08  Wim Taymans  <wim@fluendo.com>
10286
10287         * docs/design/part-TODO.txt:
10288         * docs/design/part-clocks.txt:
10289         * docs/design/part-events.txt:
10290         * docs/design/part-gstbin.txt:
10291         * docs/design/part-gstelement.txt:
10292         * docs/design/part-gstpipeline.txt:
10293         * docs/design/part-live-source.txt:
10294         * docs/design/part-messages.txt:
10295         * docs/design/part-overview.txt:
10296         * docs/design/part-states.txt:
10297         Many doc updates.
10298
10299 2005-10-08  Wim Taymans  <wim@fluendo.com>
10300
10301         * gst/gstevent.c:
10302         * gst/gstevent.h:
10303         Fix event quark registration.
10304         Add some space between events so we can insert them in the
10305         right groups.
10306
10307 2005-10-08  Wim Taymans  <wim@fluendo.com>
10308
10309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10310         (gst_base_sink_handle_buffer):
10311         Better log message.
10312
10313         * gst/gstbus.h:
10314         * gst/gstelement.h:
10315         More docs.
10316
10317         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10318         (gst_queue_set_property), (gst_queue_get_property):
10319         * gst/gstqueue.h:
10320         Remove old unused properties.
10321
10322 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10323         * docs/gst/gstreamer-sections.txt:
10324         * gst/gstmessage.c:
10325         * gst/gstmessage.h:
10326         * gst/gstminiobject.c:
10327         * gst/gstminiobject.h:
10328         * gst/gstobject.h:
10329         * gst/gstpad.h:
10330         * gst/gstutils.h:
10331           lots of new docs and doc fixes
10332
10333 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10334
10335         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10336         * gst/gstplugin.h:
10337         * gst/gstregistry.c: (gst_registry_lookup_locked),
10338         (gst_registry_scan_path_level):
10339         * gst/gstregistryxml.c: (load_plugin):
10340           Only ever load one plugin for a given plugin basename.
10341           This ensures correct overriding of GST_PLUGIN_PATH over
10342           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10343           system installed plugins.
10344
10345 2005-10-08  Wim Taymans  <wim@fluendo.com>
10346
10347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10348         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10349         Prepare for doing QOS.
10350
10351 2005-10-08  Wim Taymans  <wim@fluendo.com>
10352
10353         * check/gst/gstbin.c: (GST_START_TEST):
10354         * check/pipelines/cleanup.c: (GST_START_TEST):
10355         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10356         Allow new clock message too.
10357
10358 2005-10-08  Wim Taymans  <wim@fluendo.com>
10359
10360         * gst/gstmessage.c: (gst_message_new_error),
10361         (gst_message_new_warning), (gst_message_new_tag),
10362         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10363         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10364         (gst_message_new_segment_start), (gst_message_new_segment_done),
10365         (gst_message_parse_state_changed),
10366         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10367         (gst_message_parse_new_clock):
10368         * gst/gstmessage.h:
10369         Also carry the clock in question.
10370
10371 2005-10-08  Wim Taymans  <wim@fluendo.com>
10372
10373         * gst/gstmessage.c: (gst_message_new_custom),
10374         (gst_message_new_eos), (gst_message_new_error),
10375         (gst_message_new_warning), (gst_message_new_tag),
10376         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10377         (gst_message_new_new_clock), (gst_message_new_segment_start),
10378         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10379         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10380         * gst/gstmessage.h:
10381         Clean up.
10382         Added clock related messages.
10383
10384         * gst/gstpipeline.c: (gst_pipeline_change_state):
10385         Post message when the clock changed.
10386
10387         * tools/gst-launch.c: (event_loop):
10388         Print new clock.
10389
10390 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10391
10392         * tools/gst-inspect.c: (print_element_properties_info):
10393           Can't pass NULL strings to g_print() on windows.
10394
10395 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10396
10397         * docs/Makefile.am:
10398         * docs/gst/Makefile.am:
10399         * docs/gst/gstreamer-docs.sgml:
10400         * docs/gst/running.xml:
10401         * docs/version.entities.in:
10402           add a chapter on running GStreamer.
10403           document GST_DEBUG and GST_PLUGIN* env vars
10404
10405 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * Makefile.am:
10408           remove include dir
10409         * configure.ac:
10410           remove PLUGINS_BUILDDIR stuff
10411         * gst/gst.c: (init_post):
10412           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10413         * idiottest.mak:
10414           remove, it was condescending and not needed
10415
10416 2005-10-08  Wim Taymans  <wim@fluendo.com>
10417
10418         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10419         (gst_base_sink_handle_object), (gst_base_sink_event),
10420         (gst_base_sink_wait), (gst_base_sink_handle_event),
10421         (gst_base_sink_change_state):
10422         * gst/base/gstbasesink.h:
10423         Repost EOS message while going to PLAYING if still EOS.
10424         Make sure that when receiving a FLUSH_START we don't attempt
10425         to sync on the clock anymore.
10426
10427 2005-10-08  Wim Taymans  <wim@fluendo.com>
10428
10429         * tools/gst-launch.c: (event_loop):
10430         Better message printout.
10431
10432 2005-10-08  Wim Taymans  <wim@fluendo.com>
10433
10434         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10435         (gst_bin_child_proxy_get_children_count):
10436         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10437         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10438         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10439         (gst_child_proxy_set_valist):
10440         * gst/parse/grammar.y:
10441         Make ChildProxy threadsafe and fix mem leaks.
10442
10443 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10444
10445         * gst/gst.c: (init_post):
10446           debug the GST_PLUGIN_ env vars
10447
10448 2005-10-08  Wim Taymans  <wim@fluendo.com>
10449
10450         * check/gst/gstbin.c: (GST_START_TEST):
10451         * check/gst/gstmessage.c: (GST_START_TEST):
10452         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10453         * gst/gstelement.c: (gst_element_commit_state),
10454         (gst_element_lost_state):
10455         * gst/gstmessage.c: (gst_message_new_state_changed),
10456         (gst_message_parse_state_changed):
10457         * gst/gstmessage.h:
10458         * tools/gst-launch.c: (event_loop):
10459         Added extra field to STATE_CHANGE message with the pending
10460         state, which will be different from the new state soon.
10461
10462 2005-10-08  Wim Taymans  <wim@fluendo.com>
10463
10464         * gst/gstbus.c: (gst_bus_pop):
10465         * gst/gstclock.c:
10466         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10467         Small cleanups and doc updates.
10468
10469 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10470
10471         * gst/gst.c: (init_pre):
10472         * gst/gstbin.c: (gst_bin_add_func):
10473           log distributing clocks and base time
10474         * gst/gstregistry.c: (gst_registry_add_plugin),
10475         (gst_registry_scan_path_level), (gst_registry_scan_path):
10476           clean up the debugging output a little
10477         * gst/gstutils.c: (gst_element_state_get_name):
10478           warn about a memleak (I've actually seen this be used, though
10479           it was probably a bug)
10480
10481 2005-10-07  Wim Taymans  <wim@fluendo.com>
10482
10483         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10484         (gst_base_src_init), (gst_base_src_default_newsegment),
10485         (gst_base_src_newsegment), (gst_base_src_do_seek),
10486         (gst_base_src_loop), (gst_base_src_start):
10487         * gst/base/gstbasesrc.h:
10488         Make the newsegment event customizable by subclasses.
10489
10490 2005-10-07  Wim Taymans  <wim@fluendo.com>
10491
10492         * gst/gstevent.c: (gst_event_new_buffersize),
10493         (gst_event_parse_buffersize):
10494         * gst/gstevent.h:
10495         New event for future idea.
10496
10497 2005-10-07  Andy Wingo  <wingo@pobox.com>
10498
10499         * gst/gstelement.c (gst_element_post_message): Doc update.
10500
10501         * docs/gst/gstreamer-sections.txt: Update.
10502
10503         * gst/gstmessage.c (gst_message_new_application): Made into a
10504         function like honest API calls.
10505         (gst_message_new_element): New message type.
10506
10507         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10508
10509         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10510         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10511         times.
10512
10513         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10514         NO_PREROLL from gst_element_change_state to fall through.
10515
10516 2005-10-07  Wim Taymans  <wim@fluendo.com>
10517
10518         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10519         (gst_ghost_pad_do_activate_push):
10520         Activating a ghostpad with no internal pad in push mode
10521         is ok.
10522
10523 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10524
10525         * gst/gstobject.h:
10526           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10527           Fixes compilation on Windows.
10528
10529 2005-10-07  Michael Smith <msmith@fluendo.com>
10530
10531         * tools/gst-inspect.c:
10532           Print out feature and plugin count at the end when printing out
10533           all features.
10534
10535 2005-10-04  Michael Smith <msmith@fluendo.com>
10536
10537         * gst/gsterror.c: (_gst_stream_errors_init):
10538           Add another error string used in a few existing plugins.
10539
10540         * gst/gstplugin.c:
10541         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10542         * tools/gst-inspect.c: (print_element_info):
10543           When a feature disappears from a plugin (and the feature exists in
10544           the cached registry file), things went horribly wrong. This isn't a
10545           complete fix, we should actually be removing the 'missing' features
10546           from the features list when we load the actual plugin. That's not
10547           yet implemented. 
10548
10549 2005-10-04  Johan Dahlin  <johan@gnome.org>
10550
10551         * check/gst/gstiterator.c: (GST_START_TEST):
10552         * gst/gstbin.c: (gst_bin_iterate_elements),
10553         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10554         * gst/gstelement.c: (gst_element_iterate_pads):
10555         * gst/gstformat.c: (gst_format_iterate_definitions):
10556         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10557         (gst_iterator_new_list), (gst_iterator_filter):
10558         * gst/gstiterator.h:
10559         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10560         Add a GType to GstIterator, update callsites and tests.
10561
10562 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10563
10564         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10565           give events a chance to be handled by event probes when the pad
10566           is not linked
10567
10568 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * gst/gstevent.c: (gst_event_type_get_name),
10571         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10572         * gst/gstevent.h:
10573           add string representations for event types
10574
10575 2005-10-06  Wim Taymans  <wim@fluendo.com>
10576
10577         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10578         Don't use NULL pointers.
10579
10580 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10581
10582         * gst/gst_private.h:
10583         * gst/gstbus.c:
10584         * gst/gstelement.c:
10585         * gst/gstinfo.c:
10586         * gst/gstpluginfeature.c:
10587           widen the debug category in output to fit the biggest one we have
10588           add a bus category and use it
10589           play with the colors
10590           fix up some categories
10591
10592 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10593
10594         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10595           add push activation of sink ghost pads.
10596           Andye, please verify
10597
10598 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10599
10600         * gst/gstutils.c: (gst_element_link_pads):
10601           fix a bug in the case where neither element has a pad
10602         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10603           add a test for that case
10604
10605 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10608           emit have-data before checking for peers.  This allows
10609           for probe handlers to connect elements.  This helps autopluggers.
10610         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10611         (gst_pad_suite):
10612           add six checks, linked/unlinked with no/true/false probe
10613
10614 2005-10-04  Wim Taymans  <wim@fluendo.com>
10615
10616         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10617         (gst_fake_sink_event), (gst_fake_sink_preroll),
10618         (gst_fake_sink_render), (gst_fake_sink_change_state):
10619         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10620         (gst_fake_src_get_property), (gst_fake_src_create),
10621         (gst_fake_src_stop):
10622         * gst/elements/gstidentity.c: (gst_identity_stop):
10623         Protect last_message with lock.
10624
10625 2005-10-04  Edward Hervey  <edward@fluendo.com>
10626
10627         * gst/gstformat.h: 
10628         Added precision in the comments for GST_FORMAT_DEFAULT
10629
10630 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10631
10632         * tools/gst-launch.c: (main):
10633           Don't try to run erroneous pipelines.
10634
10635 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10636
10637         * gst/gstbus.c: We don't need this header.
10638
10639 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10640
10641         * configure.ac:
10642           back to development
10643
10644 === release 0.9.3 ===
10645
10646 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10647
10648         * README:
10649         * configure.ac:
10650           Releasing 0.9.3, "Unregistered"
10651
10652 2005-10-03  Andy Wingo  <wingo@pobox.com>
10653
10654         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10655         whereby calling a pad's activatepush() function can start a thread
10656         that starts to push or pull before the pad gets the FLUSHING flag
10657         unset. Hack around it by holding the stream lock until the flag is
10658         set. Need to replace this with a proper solution. Together with
10659         the ghost pad fixes, this fixes mp3 playing/tagreading.
10660
10661         * docs/design/part-gstghostpad.txt: Add a note about activation of
10662         proxy pads outside of ghost pads.
10663
10664         * gst/gstghostpad.c: Implement the ghost pad activation design.
10665
10666 2005-10-02  Andy Wingo  <wingo@pobox.com>
10667
10668         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10669         It is volatile, after all.
10670
10671         * docs/design/part-gstghostpad.txt: Flesh out activation with
10672         ghost pads.
10673
10674         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10675         GST_DEBUG_FUNCPTR.
10676
10677 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10678
10679         * configure.ac:
10680           Fix (unused) AM_CONDITIONAL tests.
10681
10682 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10683
10684         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10685
10686         * gst/gstutils.c: (gst_pad_query_convert):
10687           Add assertion that makes sure src_val is >=0, just like
10688           gst_query_new_convert() has. (#315895)
10689
10690 2005-09-30  Edward Hervey  <edward@fluendo.com>
10691
10692         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10693         Let's not iterate pads we're not interested in, it avoids getting 
10694         sky-high refcounts on sinkpad.
10695
10696 2005-09-30  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/gstelement.c: (gst_element_set_state),
10699         (gst_element_change_state):
10700         Small tweak, element in ASYNC remains ASYNC.
10701
10702 2005-09-30  Wim Taymans  <wim@fluendo.com>
10703
10704         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10705         Only error is an error.
10706
10707         * gst/gstbin.c: (gst_bin_change_state):
10708         Better debugging.
10709
10710         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10711         Also call pad_block in pad alloc.
10712
10713         * gst/gstutils.c: (gst_flow_get_name):
10714         Better debugging.
10715
10716 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10717
10718         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10719         (gst_base_src_get_range):
10720           Fix documentation typos. Add some more debug info.
10721
10722 2005-09-29  David Schleef  <ds@schleef.org>
10723
10724         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10725           more end-user friendly.
10726         * tools/gst-inspect.c: (main): Check if command-line argument is
10727           a file and attempt to load that file as a plugin.
10728
10729 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * check/gst/gstbin.c:
10732         * check/states/sinks.c:
10733           fix tests for the new warning
10734         * check/gst/gstpipeline.c:
10735           add a test for pipeline and bus interaction
10736         * gst/gstelement.c:
10737           elements should be NULL if they get disposed; add a warning if not
10738
10739 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10740
10741         * gst/gstobject.c:
10742           for 2.6 refcounting, make debug log more correct by printing
10743           the actual refcounts at the time of swap (Wim)
10744
10745 2005-09-29  Andy Wingo  <wingo@pobox.com>
10746
10747         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10748         removes signal watches previously added via
10749         gst_bus_add_signal_watch.
10750         (gst_bus_add_signal_watch): Don't return the source id, just store
10751         it on the bus if there wasn't an id already.
10752
10753         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10754         add_signal_watch and remove_signal_watch.
10755
10756 2005-09-29  Edward Hervey  <edward@fluendo.com>
10757
10758         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10759         Better if we actually iterate the list :)
10760
10761 2005-09-29  Wim Taymans  <wim@fluendo.com>
10762
10763         * check/gst/gstbin.c: (GST_START_TEST):
10764         Change for new bus API.
10765
10766         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10767         (send_messages), (GST_START_TEST), (gstbus_suite):
10768         Change for new bus signal API.
10769
10770         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10771         (gst_bus_source_prepare), (gst_bus_source_check),
10772         (gst_bus_create_watch), (gst_bus_add_watch_full),
10773         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10774         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10775         * gst/gstbus.h:
10776         Remove support for multiple GSources operating on different
10777         message types as it is too complex and unneeded when using
10778         signals.
10779         Added support for receiving signals from the bus.
10780
10781 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * docs/libs/tmpl/gstdataprotocol.sgml:
10784         * docs/manual/advanced-dataaccess.xml:
10785         * gst/elements/gstcapsfilter.c:
10786         * gst/gstutils.c:
10787           rename filter-caps to caps property
10788
10789 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10790
10791         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10792           More robust fraction string parsing.
10793
10794         * docs/pwg/appendix-porting.xml:
10795           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10796
10797 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10798
10799         * gst/gstcaps.c: (gst_caps_do_simplify):
10800           Thou shalt not free a structure and then continue using it
10801           in the next loop iteration.
10802
10803         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10804         (gst_caps_suite):
10805           Add test case for caps simplification.
10806
10807 2005-09-29  Wim Taymans  <wim@fluendo.com>
10808
10809         * check/gst/gstbin.c: (GST_START_TEST):
10810         Oops.
10811
10812 2005-09-29  Wim Taymans  <wim@fluendo.com>
10813
10814         * check/gst/gstbin.c: (GST_START_TEST):
10815         Add bus to bin.
10816
10817         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10818         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10819         (find_element), (gst_bin_sort_iterator_next),
10820         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10821         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10822         (gst_bin_change_state), (gst_bin_dispose):
10823         A bin does not have a bus, it gets the bus from the parent.
10824
10825         * gst/gstelement.c: (gst_element_requires_clock),
10826         (gst_element_provides_clock), (gst_element_is_indexable),
10827         (gst_element_is_locked_state), (gst_element_change_state),
10828         (gst_element_set_bus_func):
10829         Small cleanups.
10830
10831         * gst/gstpipeline.c: (gst_pipeline_class_init),
10832         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10833         The pipeline provides a bus.
10834
10835 2005-09-28  Johan Dahlin  <johan@gnome.org>
10836
10837         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10838         gst_structure_get_enum instead of gst_structure_get_int
10839
10840         * gst/gststructure.c (gst_structure_get_enum): Impl.
10841
10842         * gst/gststructure.h (gst_structure_get_enum): Add
10843
10844         * docs/gst/gstreamer-sections.txt: Ditto
10845
10846         * gst/gstmessage.c (gst_message_new_state_changed): Use
10847         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10848         which does introspection.
10849         Reviewed by Christian Schaller
10850
10851 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10852
10853         * gst/gstinfo.c: (gst_debug_log_default):
10854           don't do dummy g_strdup()s
10855         * libs/gst/controller/gstcontroller.c:
10856         (on_object_controlled_property_changed),
10857         (gst_controlled_property_new), (gst_controller_new_valist),
10858         (gst_controller_new_list),
10859         (gst_controller_remove_properties_valist), (gst_controller_set),
10860         (gst_controller_get), (gst_controller_sync_values),
10861         (gst_controller_get_value_array), (_gst_controller_class_init),
10862         (gst_controller_get_type):
10863         * libs/gst/controller/gstcontroller.h:
10864         * libs/gst/controller/gstinterpolation.c:
10865         (gst_controlled_property_find_timed_value_node):
10866           convert // to /**/ comments
10867
10868 2005-09-28  Wim Taymans  <wim@fluendo.com>
10869
10870         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10871         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10872         (gst_bus_sync_signal_handler):
10873         * gst/gstbus.h:
10874         Added async-message and sync-message signals to the bus.
10875         Added helper BusFunc to emit signals for all posted messages.
10876
10877         * gst/gstmessage.c: (gst_message_type_get_name),
10878         (gst_message_type_to_quark), (gst_message_get_type):
10879         * gst/gstmessage.h:
10880         Register quarks for message names.
10881
10882 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10883
10884         * docs/libs/gstreamer-libs-sections.txt:
10885         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10886         (gst_controller_new_list):
10887         * libs/gst/controller/gstcontroller.h:
10888           added another constructor for language bindings
10889
10890 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10891
10892         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10893           add another check
10894         * gst/gstbus.c:
10895           add some doc
10896         * gst/gstinfo.c: (_gst_debug_init):
10897           slightly more readable color for refcount debugging
10898
10899 2005-09-28  Wim Taymans  <wim@fluendo.com>
10900
10901         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10902         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10903         (find_element), (gst_bin_sort_iterator_next),
10904         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10905         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10906         (gst_bin_change_state), (gst_bin_dispose):
10907         Small doc fixes. get_clock -> provide_clock.
10908
10909         * gst/gstelement.c: (gst_element_class_init),
10910         (gst_element_provides_clock), (gst_element_provide_clock),
10911         (gst_element_get_clock), (gst_element_commit_state),
10912         (gst_element_lost_state):
10913         * gst/gstelement.h:
10914         Make get/set_clock() symetric. Add provide_clock vmethod since
10915         that is actually what this function does.
10916
10917         * gst/gstpipeline.c: (gst_pipeline_class_init),
10918         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10919         (gst_pipeline_get_clock):
10920         get_clock -> provide_clock.
10921
10922 2005-09-28  Andy Wingo  <wingo@pobox.com>
10923
10924         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10925         lieu of real docs...
10926
10927         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10928
10929 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * gst/elements/gstcapsfilter.c:
10932         * gst/elements/gstfakesink.c:
10933         * gst/elements/gstfakesrc.c:
10934         * gst/elements/gstfdsink.c:
10935         * gst/elements/gstfdsrc.c:
10936         * gst/elements/gstfilesink.c:
10937         * gst/elements/gstfilesrc.c:
10938         * gst/elements/gstidentity.c:
10939         * gst/elements/gsttee.c:
10940         * gst/elements/gsttypefindelement.c:
10941           Make element details static.
10942
10943 2005-09-28  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10946         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10947         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10948         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10949         (gst_bin_change_state), (gst_bin_dispose):
10950         Some documentation updates.
10951         Clean up dispose handlers.
10952
10953         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10954         * gst/gstpad.c: (gst_pad_dispose):
10955         Clean up dispose handler.
10956
10957         * gst/gstpipeline.c: (gst_pipeline_change_state):
10958         Removed spurious UNLOCK.
10959
10960 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10961
10962         * docs/gst/gstreamer-sections.txt:
10963         * gst/base/gstbasesrc.h:
10964         * gst/gstelement.h:
10965         * gst/gstevent.h:
10966         * gst/gstobject.h:
10967         * gst/gstpad.h:
10968         * gst/gstpipeline.c:
10969         * gst/gstpipeline.h:
10970         * gst/gstutils.h:
10971         * gst/gstxml.h:
10972           added two new functions to the docs
10973                 documents all undocumented GstXXXFlags
10974                 completed some incomplete docs 
10975
10976 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10977
10978         * gst/gstbin.c: (gst_bin_dispose):
10979         * gst/gstelement.c: (gst_element_dispose):
10980           remove now useless and leaky resurrection code in dispose
10981         * gst/base/gstbasesrc.c: (gst_base_src_init):
10982         * gst/gstelementfactory.c: (gst_element_factory_create):
10983         * gst/gstobject.c: (gst_object_set_parent):
10984           add some debugging
10985
10986 2005-09-27  Wim Taymans  <wim@fluendo.com>
10987
10988         * docs/design/part-TODO.txt:
10989         Update TODO.
10990
10991         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10992         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10993         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10994         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10995         (gst_bin_change_state):
10996         * gst/gstelement.h:
10997         Remove element variable, we keep element info in the iterator now.
10998
10999 2005-09-27  Andy Wingo  <wingo@pobox.com>
11000
11001         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
11002         values.
11003
11004 2005-09-27  Wim Taymans  <wim@fluendo.com>
11005
11006         * check/gst/gstbin.c: (GST_START_TEST):
11007         Enable check that works now.
11008
11009         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11010         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11011         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11012         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11013         (gst_bin_change_state):
11014         * gst/gstbin.h:
11015         Redid the state change algorithm using a topological sort algo.
11016         Handles all cases correctly.
11017         Exposed iterator for state change order.
11018
11019         * gst/gstelement.h:
11020         Temp storage for state changes. Need to get rid of this soon.
11021
11022 2005-09-27  Wim Taymans  <wim@fluendo.com>
11023
11024         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11025         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11026         (link_fold_func), (gst_pad_proxy_setcaps):
11027         Leak fixes, the fold functions need to unref the passed object and
11028         _get_parent_*() returns ref to parent.
11029
11030 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11031
11032         * check/gst/gstbuffer.c: (test_make_writable):
11033           Plug leak in test case and fix 'make check-valgrind'
11034
11035 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11036
11037         * gst/gstbuffer.c: (gst_subbuffer_init):
11038           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11039           works correctly in all circumstances (we could have just copied
11040           the parent buffer's readonly flag, but conceptually it seems
11041           cleaner to mark all subbuffers as read-only). (based on patch
11042           by Alessandro Decina, #314710).
11043         
11044         * check/gst/gstbuffer.c: (create_read_only_buffer),
11045         (test_make_writable), (test_subbuffer_make_writable),
11046         (gst_test_suite):
11047           Add some tests for gst_buffer_make_writable().
11048
11049 2005-09-27  Wim Taymans  <wim@fluendo.com>
11050
11051         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11052         use gst_object_has_ancestor().
11053
11054         * gst/gstobject.c: (gst_object_has_ancestor):
11055         * gst/gstobject.h:
11056         gst_object_has_ancestor() copied from gstbin.c as it is a
11057         usefull function.
11058
11059         * tests/instantiate/create.c: (create_all_elements):
11060         * tests/lat.c: (handoff_src), (handoff_sink):
11061         * tests/sched/runxml.c: (main):
11062         * tests/seeking/seeking1.c: (main):
11063         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11064         (main):
11065         Fix compilation of some tests.
11066
11067 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11068
11069         * gst/gsterror.h:
11070           Remove comment. GST_TYPE_G_ERROR is here to stay,
11071           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11072           (#316961, #300610).
11073
11074 2005-09-26  Wim Taymans  <wim@fluendo.com>
11075
11076         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11077         Added check that shows error in state change order.
11078
11079 2005-09-26  Wim Taymans  <wim@fluendo.com>
11080
11081         * gst/gstbin.c: (gst_bin_change_state):
11082         Make state change function use 3 queues again, we were
11083         adding elements in the wrong order.
11084
11085         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11086         Some debug info,
11087
11088         * gst/gstpad.c: (gst_pad_dispose):
11089         Added some debug info first.
11090
11091 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11092
11093         * docs/design/draft-push-pull.txt:
11094         * docs/design/part-events.txt:
11095         * docs/design/part-overview.txt:
11096         * docs/design/part-scheduling.txt:
11097           Replace all _pull_region() with _pull_range()
11098           
11099 2005-09-26  Andy Wingo  <wingo@pobox.com>
11100
11101         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11102
11103         * check/gst-libs/controller.c: Update for controller api change.
11104
11105         * configure.ac: 
11106         * tests/Makefile.am:
11107         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11108         over by GLib bug 118439.
11109         
11110         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11111         routines to a function.
11112
11113         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11114
11115         * libs/gst/controller/gsthelper.c:
11116         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11117         (gst_object_sync_values): Renamed from sink_values. Ugh.
11118
11119         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11120
11121         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11122         Renamed from controller_key, as it is exported.
11123
11124         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11125
11126 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11127
11128         * gst/Makefile.am:
11129         * gst/gst.h:
11130         * gst/gstpad.h:
11131         * gst/gstpadtemplate.h:
11132         * gst/gstquery.c:
11133         * gst/gstquery.h:
11134         * gst/gstqueryutils.c:
11135         * gst/gstqueryutils.h:
11136           remove queryutils headers after moving the two used functions
11137           to gstquery.  also fixes build problem for gstsiddec
11138
11139 2005-09-26  Michael Smith <msmith@fluendo.com>
11140
11141         * tools/gst-launch.1.in:
11142         Correct documentation in manpage of debug syntax
11143
11144 2005-09-26  Wim Taymans  <wim@fluendo.com>
11145
11146         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11147         (gst_base_src_is_seekable), (gst_base_src_change_state):
11148         Some more debugging info.
11149
11150 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11151
11152         * docs/gst/gstreamer-sections.txt:
11153         * gst/base/gstbasetransform.h:
11154         * gst/gstindex.h:
11155           added more docs
11156
11157 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11158
11159         * docs/gst/.cvsignore:
11160         * docs/gst/tmpl/.cvsignore:
11161         * docs/gst/tmpl/gstpipeline.sgml:
11162         * docs/gst/tmpl/gstplugin.sgml:
11163         * gst/gstpipeline.c:
11164         * gst/gstplugin.c:
11165         * gst/gstplugin.h:
11166           inlined the last two docs files
11167           removed the tmpl directory from cvs (no more conflicts here!)
11168
11169 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11170
11171         * docs/gst/gstreamer-sections.txt:
11172         * docs/gst/tmpl/.cvsignore:
11173         * docs/gst/tmpl/gstpad.sgml:
11174         * docs/gst/tmpl/gstpadtemplate.sgml:
11175         * gst/Makefile.am:
11176         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11177         (gst_pad_finalize), (gst_pad_set_pad_template):
11178         * gst/gstpad.h:
11179         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11180         (gst_pad_template_class_init), (gst_pad_template_init),
11181         (gst_pad_template_dispose), (name_is_valid),
11182         (gst_static_pad_template_get), (gst_pad_template_new),
11183         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11184         (gst_pad_template_pad_created):
11185         * gst/gstpadtemplate.h:
11186           inlined two more docs
11187           factored gstpadtemplate out of gstpad
11188
11189 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11190
11191         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11192         (test_children_state_change_order_semi_sink):
11193           Fix test case: we can't rely on a fixed state change order when
11194           going from READY => PAUSED because the sink might commit its 
11195           new state first when the first buffer created by the source 
11196           reaches the sink before the source has finished its change state.
11197           (Test case still fails at times, see #316856, comment 5 onwards)
11198
11199 2005-09-24  Wim Taymans  <wim@fluendo.com>
11200
11201         * docs/design/part-events.txt:
11202         * docs/design/part-gstbus.txt:
11203         * docs/design/part-gstpipeline.txt:
11204         * docs/design/part-messages.txt:
11205         * docs/design/part-overview.txt:
11206         * docs/design/part-segments.txt:
11207         * gst/gstbin.c:
11208         * gst/gstbuffer.c:
11209         * gst/gstclock.c:
11210         * gst/gstelement.c:
11211         * gst/gstevent.c:
11212         * gst/gstfilter.c:
11213         * gst/gstiterator.c:
11214         Various documentation updates.
11215
11216 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11217
11218         * gst/gstclock.h:
11219           Well, that's embarassing.  Luckily we weren't using
11220           GST_CLOCK_DIFF anywhere.
11221
11222 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11223
11224         * common/gtk-doc.mak:
11225           don't fail on building XML, FC4 slave shows a bunch of doc
11226           missing bits that I don't get
11227         * gst/gstpad.c:
11228         * gst/gstpipeline.c:
11229         * gst/gststructure.c:
11230           some doc updates
11231
11232 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11233
11234         * docs/design/part-gstbin.txt:
11235         * docs/design/part-gstbus.txt:
11236         * gst/gstbus.c:
11237           Add blurb about how the bus goes into flushing mode and
11238           drops all messages when its bin goes from READY into NULL 
11239           state.
11240
11241 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11242
11243         * docs/gst/gstreamer-sections.txt:
11244         * gst/gststructure.c: (gst_structure_get_clock_time):
11245         * gst/gststructure.h:
11246           add a method to get a GstClockTime out of a structure
11247
11248 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11249
11250         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11251         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11252           Added test to check state change order in bins (can still be made
11253           to fail here under heavy disk load; bails out with 'Push on pad
11254           fakesink:sink0, but it was not activated in push mode').
11255
11256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11257           Fix state change order when there is only a semi sink (#316856)
11258
11259         * gst/gstbus.c: (gst_bus_class_init):
11260           Use _class_peek_parent(), not _class_ref(); fix docs to say
11261           'default main context' instead of 'mainloop' where that is
11262           what's meant.
11263
11264         * gst/gstelement.c: (gst_element_commit_state),
11265         (gst_element_set_state):
11266           Fix typos in debug messages
11267
11268 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11269
11270         * docs/README:
11271         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11272         * gst/gstpluginfeature.c:
11273         * gst/gstutils.c:
11274           various doc updates
11275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11276           change an assert into an error until it gets fixed properly
11277
11278 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11279
11280         * docs/gst/gstreamer-sections.txt:
11281         * docs/gst/tmpl/.cvsignore:
11282         * docs/gst/tmpl/gstelement.sgml:
11283         * docs/gst/tmpl/gstinfo.sgml:
11284         * docs/gst/tmpl/gstobject.sgml:
11285         * gst/gstelement.c:
11286         * gst/gstelement.h:
11287         * gst/gstinfo.c:
11288         * gst/gstinfo.h:
11289         * gst/gstobject.c: (gst_object_class_init):
11290         * gst/gstobject.h:
11291           inlined 3 more biiiig doc files and added some missing docs on the fly
11292
11293 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11294
11295         * check/gst/.cvsignore:
11296         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11297         * gst/gstregistryxml.c: (load_plugin),
11298         (gst_registry_xml_save_plugin):
11299           put back source in registry.  add checks for find_plugin.
11300         * testsuite/states/bin.c: (assert_state), (empty_bin),
11301         (test_adding_one_element), (main):
11302         * testsuite/states/locked.c: (main):
11303           some compile/run fixes
11304
11305 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11306
11307         * check/gst/gstvalue.c: (GST_START_TEST):
11308           fix leaks in the test itself
11309
11310 2005-09-22  Wim Taymans  <wim@fluendo.com>
11311
11312         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11313         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11314         (gst_base_sink_query):
11315         Prepare for more accurate position reporting and query
11316         handling.
11317
11318         * gst/gstelement.c: (gst_element_send_event),
11319         (gst_element_set_state):
11320         Add some comment.
11321
11322 2005-09-22  Wim Taymans  <wim@fluendo.com>
11323
11324         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11325         (gst_query_parse_segment):
11326         * gst/gstquery.h:
11327         More documentation.
11328         Add segment query for future use.
11329
11330 2005-09-22  Wim Taymans  <wim@fluendo.com>
11331
11332         * gst/gstbin.c: (gst_bin_add_func):
11333         Some more debug info.
11334
11335         * gst/gstelement.c: (gst_element_send_event):
11336         Simplify send_event
11337
11338         * gst/gstelement.h:
11339         Don't know how flags got broken.
11340
11341         * gst/gstquery.h:
11342         Added new query.
11343
11344 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11345
11346         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11347           Add simplistic test suite for GST_TYPE_DATE serialisation and
11348           deserialisation.
11349
11350 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11351
11352         * docs/gst/gstreamer-sections.txt:
11353         * gst/gststructure.c: (gst_structure_set_valist),
11354         (gst_structure_get_date):
11355         * gst/gststructure.h:
11356         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11357         (gst_date_copy), (gst_value_compare_date),
11358         (gst_value_serialize_date), (gst_value_deserialize_date),
11359         (gst_value_transform_date_string),
11360         (gst_value_transform_string_date), (_gst_value_initialize):
11361         * gst/gstvalue.h:
11362           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11363           bunch of utility functions along with a hack that checks that
11364           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11365           is required. Part of the grand scheme in #170777.
11366
11367 2005-09-22  Andy Wingo  <wingo@pobox.com>
11368
11369         * gst/gstconfig.h.in: Psych out gtk-doc.
11370
11371         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11372
11373         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11374
11375         * tools/gst-inspect.c (print_element_list): Plug some
11376         inconsequential leaks.
11377
11378         * gst/gstregistry.c (gst_registry_get_default): Doc.
11379
11380         * check/gst/gstplugin.c: 
11381         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11382         * gst/gstelementfactory.c (gst_element_factory_create): 
11383         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11384         refcount changes.
11385
11386         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11387         (gst_plugin_feature_load): Doc, don't eat refs.
11388
11389         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11390         (gst_plugin_list_free): Doc.
11391         (gst_plugin_load_file): Doc updates.
11392
11393         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11394         accessors returning refcounted objects, return a ref.
11395
11396         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11397         accessor for caps. IDEMPOTENCE. Oh yes.
11398
11399 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11400
11401         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11402
11403         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11404         (_gst_debug_register_funcptr):
11405           Add mutex to serialise access to the hash table with
11406           the function pointer => function name string mapping;
11407           make that hash table static scope (#316809).
11408
11409         * gst/registries/.cvsignore:
11410           Remove left-over file.
11411
11412 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11413
11414         * docs/pwg/appendix-porting.xml:
11415           And something about newsegment events and caps-on-buffers to
11416           the porting guide (feel free to improve).
11417
11418 2005-09-21  Andy Wingo  <wingo@pobox.com>
11419
11420         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11421         data and event probes on the same pad.
11422         (test_buffer_probe_once): Test that removing probes from within
11423         the probe functions works.
11424
11425 2005-09-21  Andy Wingo  <wingo@pobox.com>
11426
11427         * check/gst/gstutils.c: New file.
11428         (test_buffer_probe_n_times): A simple buffer probe test. More to
11429         come, foolios.
11430
11431         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11432         have-data::buffer, not have-data.
11433         (gst_pad_add_event_probe): Likewise for have-data::event.
11434         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11435         peer' isn't quite right yet though.
11436         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11437         (gst_pad_remove_data_probe): Change to take the guint handler_id
11438         as their arg, not the function+data, which is more glib-like.
11439
11440         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11441         the signal emission to indicate if the data is a buffer or an
11442         event.
11443         (gst_pad_get_type): Initialize buffer and event quarks.
11444         (gst_pad_class_init): have-data is now a detailed signal, yes it
11445         is.
11446
11447 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11448
11449         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11450         * gst/gstutils.c: (gst_util_set_value_from_string),
11451         (gst_util_set_object_arg):
11452           Don't put functional code in g_return_if_fail() or
11453           g_return_val_if_fail() statements, otherwise things will 
11454           break when G_DISABLE_CHECKS is defined during compilation.
11455
11456 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11457
11458         * docs/gst/tmpl/.cvsignore:
11459         * docs/gst/tmpl/gstvalue.sgml:
11460         * gst/gstvalue.c:
11461         * gst/gstvalue.h:
11462           inlied another one and added  some obvious docs
11463
11464 2005-09-21  Wim Taymans  <wim@fluendo.com>
11465
11466         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11467         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11468         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11469         (gst_fdsrc_get_property), (gst_fdsrc_create):
11470         * gst/elements/gstfdsrc.h:
11471         Properly implement fdsrc. Removed signal and timeout,
11472         better implemented somewhere else.
11473
11474 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11475
11476         * docs/gst/tmpl/.cvsignore:
11477         * docs/gst/tmpl/gstimplementsinterface.sgml:
11478         * gst/gstinterface.c:
11479           inlined more docs
11480
11481 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11482
11483         * docs/gst/gstreamer-sections.txt:
11484         * docs/gst/tmpl/.cvsignore:
11485         * docs/gst/tmpl/gstenumtypes.sgml:
11486           remove obsolete doc file
11487
11488 2005-09-21  David Schleef  <ds@schleef.org>
11489
11490         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11491         little beer, fix a little leak.
11492
11493 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11494
11495         * docs/gst/gstreamer-docs.sgml:
11496         * docs/gst/gstreamer-sections.txt:
11497         * docs/gst/tmpl/.cvsignore:
11498         * gst/Makefile.am:
11499         * gst/gst.h:
11500         * gst/gstbin.c:
11501         * gst/gstelement.h:
11502         * gst/gstindex.c: (gst_index_class_init):
11503         * gst/gstindex.h:
11504         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11505         (gst_index_factory_class_init), (gst_index_factory_init),
11506         (gst_index_factory_finalize), (gst_index_factory_new),
11507         (gst_index_factory_destroy), (gst_index_factory_find),
11508         (gst_index_factory_create), (gst_index_factory_make):
11509         * gst/gstindexfactory.h:
11510         * gst/gstpluginfeature.c:
11511         * gst/gstpluginfeature.h:
11512         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11513           more docs inlined, splitted gstindex.{c,h}
11514
11515 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11516
11517         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11518           fix a leak
11519
11520 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11521
11522         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11523           Set sync to FALSE by default.
11524
11525 2005-09-20  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11528         (gst_base_sink_init):
11529         Make sync property settable from subclass.
11530
11531         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11532         (gst_fake_sink_change_state):
11533         Set sync to FALSE by default.
11534
11535 2005-09-20  Wim Taymans  <wim@fluendo.com>
11536
11537         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11538         * tools/gst-launch.c: (main):
11539         The timeout handler should have lower priority than the source
11540         so we don't timeout before popping a message with 0 timeout.
11541         Dump error messages after failed state change.
11542
11543 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11544
11545         * tools/gst-inspect.c: (print_element_properties_info):
11546           Fix two typos.
11547
11548 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * check/gst/gstevent.c:
11551         * gst/elements/gstfakesink.c:
11552         * gst/elements/gstfakesink.h:
11553           remove the sync property from fakesink.
11554           has the side effect of setting sync TRUE
11555           for fakesink, which is a change.  Anyone who knows how
11556           to fix this nicely in a GObject-y way, feel free.
11557
11558 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11559
11560         * docs/gst/gstreamer-docs.sgml:
11561           remove probe refsection
11562
11563 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11564
11565         * check/Makefile.am:
11566           disable valgrinding the controller test again
11567         * docs/gst/gstreamer-sections.txt:
11568           update for api-changes
11569
11570 2005-09-20  Wim Taymans  <wim@fluendo.com>
11571
11572         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11573         (gst_base_sink_set_property), (gst_base_sink_get_property),
11574         (gst_base_sink_do_sync):
11575         * gst/base/gstbasesink.h:
11576         Added sync property to basesink to disable clock sync.
11577
11578 2005-09-20  Andy Wingo  <wingo@pobox.com>
11579
11580         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11581         eating the caller's refcount.
11582
11583         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11584         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11585         refcount.
11586
11587         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11588         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11589         of GLib 2.8 public, so we can know which refcount to check in
11590         tests.
11591
11592         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11593         (gst_object_init): Only set the gst refcount if we're going ahead
11594         with the refcount hack.
11595
11596 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11597
11598         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11599         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11600           more leaks plumbed, added more debug-logging
11601         * gst/gstmacros.h:
11602           whitespace fix
11603
11604 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11605
11606         * gst/gstmessage.c:
11607           remove include of gstmemchunk.h
11608
11609 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11610
11611         * gst/gstclock.c: (_gst_clock_id_free):
11612           Commit from the Political Party For More Atomic CVS Commits,
11613           so that people don't waste too much of their day fishing
11614           out obvious leaks out of massive commits.
11615           Oh, and fix a pretty damn obvious leak in the memchunk
11616           removal code.
11617
11618 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11619
11620         * check/Makefile.am:
11621         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11622           plug mem-leak, re-add to valgrindable tests
11623
11624 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11625
11626         * gst/gstplugin.h:
11627           unbreak the build for those who have chronic arthritis
11628           and typing "make check" is just too taxing on the hands
11629
11630 2005-09-20  Andy Wingo  <wingo@pobox.com>
11631
11632         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11633         really want it out, you should fix plugins at the same time.
11634
11635 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11636
11637         * configure.ac:
11638         * docs/gst/gstreamer-sections.txt:
11639         * gst/gstobject.c:
11640           added missing symbols to api docs
11641           disable ref-count hack if we have glib >= 2.8
11642
11643 2005-09-19  David Schleef  <ds@schleef.org>
11644
11645         * docs/gst/Makefile.am: Ignore a few more internal headers
11646         * docs/gst/gstreamer-docs.sgml: Remove old sections
11647         * docs/gst/gstreamer-sections.txt: Remove old sections
11648         * docs/gst/tmpl/gstobject.sgml: update
11649         * docs/gst/tmpl/gstplugin.sgml: update
11650         * docs/gst/tmpl/gstpluginfeature.sgml: update
11651         * docs/random/ds/0.9-suggested-changes: update.
11652         * gst/Makefile.am: remove memchunk and trashstack, since they're
11653           not used.
11654         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11655         * gst/gst.h: don't include some headers
11656         * gst/gstchildproxy.c: add gstmarshal.h
11657         * gst/gstclock.c: Don't use memchunks
11658         * gst/gstminiobject.c: Add some docs
11659         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11660         * gst/gstobject.h: same
11661         * gst/gstplugin.c: include gstmacros.h
11662         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11663         * gst/gstquery.c: don't use memchunks
11664         * gst/gstregistry.c: rename gst_registry_deinit()
11665         * gst/gstregistry.h: same
11666
11667 2005-09-19  David Schleef  <ds@schleef.org>
11668
11669         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11670         * docs/libs/gstreamer-libs-sections.txt:
11671         * docs/libs/tmpl/gstgetbits.sgml:
11672         * docs/libs/tmpl/gstputbits.sgml:
11673
11674 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11675
11676         * win32/gstenumtypes.c:
11677         * win32/gstenumtypes.h:
11678           Update.
11679
11680 2005-09-19  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11683         Automatically PAUSE and RESUME a pipeline when a flushing seek
11684         is performed.
11685
11686 2005-09-19  Andy Wingo  <wingo@pobox.com>
11687
11688         * gst/gstregistry.h: Spacing fixen.
11689
11690 2005-09-19  Wim Taymans  <wim@fluendo.com>
11691
11692         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11693         Handle state change failure more correctly.
11694
11695 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11696
11697         * check/Makefile.am:
11698         * check/pipelines/cleanup.c: (run_pipeline):
11699         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11700         (GST_START_TEST):
11701           enable cleanup again after fixing the leak
11702         * docs/README:
11703           some more info on docs
11704
11705 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11706
11707         * check/Makefile.am:
11708           re-enable tests now that leaks are plugged
11709         * check/gst/gst.c:
11710         * check/gst/gstbin.c:
11711         * check/gst/gstpipeline.c:
11712           add some more tests while fixing leaks
11713         * common/check.mak:
11714           make sure binaries are uptodate when valgrinding/gdbing
11715         * gst/gst.c:
11716         * gst/gstelementfactory.c:
11717           remove a ref too many, and add a FIXME for when we get
11718           round to disposing of classes
11719         * gst/gstplugin.c:
11720           fix the refcounting when loading a plugin from a file and
11721           the code pretends that the pointer is the same even though
11722           of course it can change
11723         * gst/gstpluginfeature.c:
11724           unref plugins marked cached (a bit confusing as a name)
11725           as the docs state should be done
11726           various doc additions to explain refcounting
11727         * gst/gstregistry.c:
11728         * gst/gstregistryxml.c:
11729           debugging
11730
11731 2005-09-19  Wim Taymans  <wim@fluendo.com>
11732
11733         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11734         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11735         (send_messages), (GST_START_TEST), (gstbus_suite):
11736         * check/gst/gstpipeline.c: (GST_START_TEST):
11737         * check/pipelines/cleanup.c: (run_pipeline):
11738         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11739         (GST_START_TEST):
11740         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11741         (gst_bus_source_check), (gst_bus_source_dispatch),
11742         (gst_bus_create_watch), (gst_bus_add_watch_full),
11743         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11744         * gst/gstbus.h:
11745         * tools/gst-launch.c: (event_loop):
11746         * tools/gst-md5sum.c: (event_loop):
11747         GstBusHandler -> GstBusFunc, return value has the same meaning as
11748         any other GSource (FALSE == remove source).
11749         _add_watch() and _add_watch_full() now take a MessageType mask to
11750         only handle specific types of messages.
11751         _poll() returns the GstMessage instead of the message type to avoid
11752         race conditions.
11753         _have_pending() takes a MessageType mask now too.
11754         Added testsuite for multiple bus watches.
11755         Fix testsuites and applications for new bus API.
11756
11757 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11758
11759         * check/Makefile.am:
11760           mark a bunch of the tests as to fix until we fix them
11761
11762 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11763
11764         * common/check.mak:
11765           use GST_PLUGIN settings for valgrind tests as well, so we're
11766           valgrinding the correct thing
11767         * gst/gst.c: (init_post):
11768           plug another leak
11769
11770 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11771
11772         * gst/gst.c: (init_post), (gst_deinit):
11773         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11774         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11775         * gst/gstindex.c: (gst_index_factory_class_init),
11776         (gst_index_factory_finalize):
11777         * gst/gstobject.c: (gst_object_dispose):
11778         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11779         (gst_plugin_load_file), (gst_plugin_desc_free):
11780         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11781         (gst_plugin_feature_finalize):
11782         * gst/gstregistry.c: (gst_registry_class_init),
11783         (gst_registry_init), (gst_registry_finalize),
11784         (gst_registry_get_default), (gst_registry_deinit):
11785         * gst/gstregistry.h:
11786         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11787           various cleanups and memleak plugging.  make valgrind is happy now.
11788
11789 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11790
11791         * common/check.mak:
11792           add a check-valgrind target
11793
11794 2005-09-18  David Schleef  <ds@schleef.org>
11795
11796         * tools/gst-inspect.c: Revert the GOption code.
11797
11798 2005-09-17  David Schleef  <ds@schleef.org>
11799
11800         * check/Makefile.am: Fix environment variables.
11801         * check/gst/gstplugin.c: Fix for API changes.
11802         * tools/gst-inspect.c: Fix for API changes.
11803         * tools/gst-xmlinspect.c: Fix for API changes.
11804         * gst/gstelementfactory.c:
11805         * gst/gstplugin.c:
11806         * gst/gstplugin.h:
11807         * gst/gstpluginfeature.c:
11808         * gst/gstpluginfeature.h:
11809         * gst/gstregistry.c:
11810         * gst/gstregistry.h:
11811         * gst/gstregistryxml.c:
11812         * gst/gsttypefind.c:
11813         * gst/gsttypefindfactory.c:
11814         * gst/indexers/gstfileindex.c:
11815         * gst/indexers/gstmemindex.c:
11816         * gst/schedulers/Makefile.am:
11817           Change registry to keep track of both plugins and features,
11818           removing the feature tracking from plugins themselves.
11819
11820 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11821
11822         * check/Makefile.am:
11823         * tools/gst-register.1.in:
11824           remove gst-register
11825
11826 2005-09-15  David Schleef  <ds@schleef.org>
11827
11828         * check/gst/gstplugin.c:
11829         * gst/gstelementfactory.c:
11830         * gst/gstplugin.c:
11831         * gst/gstpluginfeature.c:
11832         * gst/gstregistry.c:
11833           Getting tired of debugging.  Disabled all the unreffing of
11834           plugins and features, which fixes the segfaults, but of
11835           course leaks like crazy.  At least playbin works.
11836
11837 2005-09-15  David Schleef  <ds@schleef.org>
11838
11839         * check/gst/gstplugin.c: (register_check_elements),
11840         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11841         More testing
11842         * gst/elements/gsttypefindelement.c: Fix refcounting.
11843         * gst/gsttypefind.c:
11844         * gst/gsttypefindfactory.c:
11845         * gst/gsttypefindfactory.h:
11846
11847 2005-09-15  David Schleef  <ds@schleef.org>
11848
11849         * gst/gstindex.c: get refcounting correct.
11850         * gst/gstregistry.c: Handle the case where a feature/plugin is
11851           not found.
11852
11853 2005-09-15  David Schleef  <ds@schleef.org>
11854
11855         * check/Makefile.am:
11856         * check/gst/gstplugin.c: Add test
11857         * gst/gstplugin.c: Fix problems noticed by testsuite
11858         * gst/gstplugin.h:
11859         * gst/gstregistry.c: 
11860         * gst/gstregistry.h:
11861
11862 2005-09-15  David Schleef  <ds@schleef.org>
11863
11864         * gst/gstplugin.c: Implement semi-decent recounting and locking
11865           in plugins and plugin features.
11866         * gst/gstplugin.h:
11867         * gst/gstpluginfeature.c:
11868         * gst/gstpluginfeature.h:
11869         * gst/gstregistry.c:
11870
11871 2005-09-15  Michael Smith <msmith@fluendo.com>
11872
11873         * gst/gstregistry.c: (gst_registry_get_feature_list):
11874           Implement this. Makes oggdemux work; decodebin still broken.
11875
11876 2005-09-14  David Schleef  <ds@schleef.org>
11877
11878         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11879           #316076)
11880         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11881         * gst/check/Makefile.am:
11882         * libs/gst/controller/Makefile.am:
11883         * libs/gst/dataprotocol/Makefile.am:
11884
11885 2005-09-14  David Schleef  <ds@schleef.org>
11886
11887         * configure.ac: Remove getbits library.  Nothing uses it, and
11888           it should be in something like liboil if someone did want
11889           to use it.
11890         * libs/gst/Makefile.am:
11891         * libs/gst/getbits/Makefile.am:
11892         * libs/gst/getbits/gbtest.c:
11893         * libs/gst/getbits/getbits.c:
11894         * libs/gst/getbits/getbits.h:
11895         * libs/gst/getbits/gstgetbits_generic.c:
11896         * libs/gst/getbits/gstgetbits_i386.s:
11897         * libs/gst/getbits/gstgetbits_inl.h:
11898
11899 2005-09-14  David Schleef  <ds@schleef.org>
11900
11901         * gst/Makefile.am: Dist glib-compat.h
11902
11903 2005-09-14  David Schleef  <ds@schleef.org>
11904
11905         * configure.ac: Remove gst/registries, since it's no longer used.
11906         * gst/registries/Makefile.am:
11907         * gst/registries/gstlibxmlregistry.c:
11908         * gst/registries/gstlibxmlregistry.h:
11909         * gst/registries/gstxmlregistry.c:
11910         * gst/registries/gstxmlregistry.h:
11911         * gst/registries/registrytest.c:
11912
11913 2005-09-14  David Schleef  <ds@schleef.org>
11914
11915         * gst/glib-compat.h:
11916         * gst/gstregistryxml.c:
11917           Convergence is near.  Seriously.
11918
11919 2005-09-14  David Schleef  <ds@schleef.org>
11920
11921         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11922         * gst/glib-compat.h:
11923           Attempt #4 to appease the buildbots.
11924
11925 2005-09-14  David Schleef  <ds@schleef.org>
11926
11927         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11928           Attempt #3.
11929
11930 2005-09-14  David Schleef  <ds@schleef.org>
11931
11932         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11933         Attempt #2.
11934
11935 2005-09-14  David Schleef  <ds@schleef.org>
11936
11937         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11938           the new functions.
11939
11940 2005-09-14  David Schleef  <ds@schleef.org>
11941
11942         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11943         * gst/glib-compat.h: Add some functions that are in newer versions
11944           of glib than we care to require.
11945         * gst/gstregistryxml.c: Use them.
11946
11947 2005-09-14  David Schleef  <ds@schleef.org>
11948
11949         * po/POTFILES.in: remove gst-register.c
11950
11951 2005-09-14  David Schleef  <ds@schleef.org>
11952
11953         * docs/gst/gstreamer-docs.sgml:
11954         * docs/gst/gstreamer-sections.txt:
11955         * docs/gst/gstreamer.types:
11956         * docs/gst/tmpl/gstelement.sgml:
11957         * docs/gst/tmpl/gstplugin.sgml:
11958         * docs/gst/tmpl/gstpluginfeature.sgml:
11959           Documentation updates for registry changes.
11960
11961 2005-09-14  David Schleef  <ds@schleef.org>
11962
11963         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11964           because we don't require glib-2.8.
11965
11966 2005-09-14  David Schleef  <ds@schleef.org>
11967
11968         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11969           registries directory.
11970
11971 2005-09-14  David Schleef  <ds@schleef.org>
11972
11973         * check/Makefile.am:
11974         * check/generic/states.c:
11975         * gst/Makefile.am:
11976         * gst/gst.c:
11977         * gst/gst.h:
11978         * gst/gst_private.h:
11979         * gst/gstelementfactory.c:
11980         * gst/gstindex.c:
11981         * gst/gstinfo.c:
11982         * gst/gstplugin.c:
11983         * gst/gstplugin.h:
11984         * gst/gstpluginfeature.c:
11985         * gst/gstpluginfeature.h:
11986         * gst/gstregistry.c:
11987         * gst/gstregistry.h:
11988         * gst/gstregistrypool.c: remove
11989         * gst/gstregistrypool.h: remove
11990         * gst/gsttypefind.c:
11991         * gst/gsttypefindfactory.c:
11992         * gst/gsturi.c:
11993         * tools/Makefile.am:
11994         * tools/gst-compprep.c:
11995         * tools/gst-inspect.c:
11996         * tools/gst-register.c: remove
11997         * tools/gst-xmlinspect.c:
11998           Registry rewrite.  Changes registry from being a file created
11999           by a tool into a simple cache file created automatically by 
12000           libgstreamer.  Removed gst-register (because it's no longer
12001           needed).  Remove registry pools, because we only have one
12002           registry implementation (XML).  Fix up other subsystems as
12003           necessary.
12004
12005 2005-09-13  Michael Smith <msmith@fluendo.com>
12006
12007         * gst/gstconfig.h.in:
12008           Don't Use windows linking attributes for MinGW. Fixes #316157
12009
12010 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * gst/gstutils.c: (set_state_async_thread_func),
12013         (gst_element_set_state_async):
12014           Apparently people think it's better if this function doesn't
12015           try to set the state to whatever state was asked for on the first
12016           call to this function for any object.  Seriously.
12017
12018 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * check/gst/gstpipeline.c: (GST_START_TEST):
12021         * docs/gst/gstreamer-sections.txt:
12022         * gst/gstutils.c: (set_state_async_thread_func),
12023         (gst_element_set_state_async):
12024         * gst/gstutils.h:
12025           add a "gst_element_set_state_async" method that
12026           sets the state and starts a thread to make sure the state
12027           change completes as best as it can
12028
12029 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12030
12031         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12032           codify design+behaviour in testsuite after discussion
12033
12034 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12035
12036         * docs/gst/tmpl/gstelement.sgml:
12037         * docs/manual/appendix-quotes.xml:
12038           add a quote
12039         * gst/gstelement.c: (gst_element_set_state):
12040           add some debug
12041
12042 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12043
12044         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12045         (gst_base_transform_prepare_output_buf),
12046         (gst_base_transform_handle_buffer):
12047         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12048         (gst_capsfilter_prepare_buf):
12049           Remove the requirement for sub-classes to call the parent
12050           implementation of prepare_output_buffer with a wrapper function.
12051           
12052         * gst/gsttaglist.h:
12053         * gst/gsttagsetter.h:
12054           Fix #define wrapper
12055
12056 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12057
12058         * docs/gst/gstreamer-sections.txt:
12059           more doc cleanups
12060
12061 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12062
12063         * docs/gst/gstreamer-sections.txt:
12064         * docs/gst/tmpl/gstelement.sgml:
12065         * docs/gst/tmpl/gstplugin.sgml:
12066         * gst/gstminiobject.c:
12067         * gst/gstvalue.h:
12068           docs now stop throwing warnings
12069
12070 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * docs/gst/gstreamer-sections.txt:
12073         * docs/gst/gstreamer.types:
12074         * docs/gst/tmpl/gstpad.sgml:
12075         * docs/gst/tmpl/gsttypes.sgml:
12076         * gst/base/gstadapter.h:
12077         * gst/base/gstbasesink.h:
12078         * gst/base/gstbasesrc.h:
12079         * gst/gstbin.h:
12080         * gst/gstbuffer.h:
12081         * gst/gstbus.h:
12082         * gst/gstcaps.h:
12083         * gst/gstclock.h:
12084         * gst/gstelement.h:
12085         * gst/gstevent.h:
12086         * gst/gstmessage.h:
12087         * gst/gstpad.h:
12088         * gst/gststructure.c:
12089         * gst/registries/gstlibxmlregistry.h:
12090           various documentation fixes
12091
12092 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * docs/gst/gstreamer-sections.txt:
12095         * docs/gst/tmpl/gstvalue.sgml:
12096           rearrange gstvalue section
12097         * gst/gstutils.c: (gst_element_state_get_name):
12098           NONE -> VOID
12099         * gst/gstvalue.c: (_gst_value_initialize):
12100         * gst/gstvalue.h:
12101           doc updates
12102
12103 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12104
12105         * check/gst-libs/controller.c:
12106           Header include fix.
12107         * gst/base/gstbasetransform.c:
12108         (gst_base_transform_default_prepare_buf),
12109         (gst_base_transform_handle_buffer):
12110         * gst/base/gstbasetransform.h:
12111           Some more basetransform changes and fixes to enable sub-classes
12112           that modify buffer metadata only.
12113         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12114         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12115         (gst_capsfilter_prepare_buf):
12116           If the output pad has fixed allowed caps and input buffers 
12117           don't have any, set the fixed caps on outgoing buffers.
12118
12119 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12120         * check/elements/identity.c: (GST_START_TEST):
12121           Make the error a little clearer when the test fails because
12122           identity made a copy of the buffer.
12123         * docs/gst/gstreamer-sections.txt:
12124           New symbols in gstbasetransform.h
12125         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12126         (gst_base_transform_init), (gst_base_transform_transform_size),
12127         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12128         (gst_base_transform_default_prepare_buf),
12129         (gst_base_transform_get_unit_size),
12130         (gst_base_transform_buffer_alloc),
12131         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12132         (gst_base_transform_change_state),
12133         (gst_base_transform_set_passthrough),
12134         (gst_base_transform_set_in_place),
12135         (gst_base_transform_is_in_place):
12136         * gst/base/gstbasetransform.h:
12137           Change BaseTransform to separate in_place operate from same_caps
12138           output. in_place implies that the element can perform the transform
12139           on incoming buffers in-place, even if the caps on the output are
12140           different.
12141           Sub-class elements can now implement special buffer allocation
12142           methods for outgoing buffers if they wish to.
12143           Big documentation addition.
12144         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12145         * gst/elements/gstelements.c:
12146           Changes for basetransform modifications.
12147         * gst/elements/Makefile.am:
12148         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12149           Compile fix. Extra debug output.
12150
12151 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12152
12153         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12154         (gst_pad_suite):
12155           add tests for valid pad naming
12156         * gst/check/gstcheck.c: (gst_check_log_message_func),
12157         (gst_check_log_critical_func):
12158           add ASSERT_WARNING
12159           remove printing of code, it is fragile when the code contains
12160           % and the line number is enough info
12161         * gst/check/gstcheck.h:
12162         * gst/gstpad.c: (gst_pad_template_new):
12163           fix memleaks
12164
12165 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12166
12167         * configure.ac:
12168           say what CHECK flags we use
12169         * docs/libs/gstreamer-libs.types:
12170         * libs/gst/controller/Makefile.am:
12171         * libs/gst/controller/gst-controller.c:
12172         * libs/gst/controller/gst-controller.h:
12173         * libs/gst/controller/gst-helper.c:
12174         * libs/gst/controller/gst-interpolation.c:
12175         * libs/gst/controller/gstcontroller.c:
12176         * libs/gst/controller/gsthelper.c:
12177         * libs/gst/controller/gstinterpolation.c:
12178         * tools/gst-inspect.c: (print_plugin_info):
12179           we don't use dashes in header names
12180
12181 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12182
12183         * check/Makefile.am:
12184         * check/gst/.cvsignore:
12185         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12186         (gst_pipeline_suite), (main):
12187           adding a test for pipelines and state changes
12188         * gst/gstutils.c: (get_state_func):
12189           add some debugging
12190         * gstreamer.spec.in:
12191           fix up spec file
12192
12193 2005-09-08  Michael Smith <msmith@fluendo.com>
12194
12195         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12196         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12197         (gst_file_src_is_seekable), (gst_file_src_get_size),
12198         (gst_file_src_start):
12199         * gst/elements/gstfilesrc.h:
12200           Various fixes for unseekable, unmmapable, and non-normal files, so
12201           that fallback to read() rather than mmap() works.
12202         * gst/gstevent.c: (gst_event_new_newsegment):
12203           Allow newsegment events with segment_start == segment_end, as will
12204           correctly happen if you use filesrc on a zero-size file, for
12205           example.
12206
12207 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12208
12209         * gst/gstplugin.c: (gst_plugin_load_file):
12210           Call g_module_close when we don't load the module
12211
12212         * gst/registries/gstlibxmlregistry.c:
12213         (gst_xml_registry_get_property):
12214           Port leak fix from 0.8
12215
12216 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12217
12218         * docs/gst/gstreamer-docs.sgml:
12219         * docs/gst/tmpl/.cvsignore:
12220         * docs/gst/tmpl/gsttrace.sgml:
12221         * docs/gst/tmpl/gsttrashstack.sgml:
12222         * gst/Makefile.am:
12223         * gst/gst.h:
12224         * gst/gstelement.h:
12225         * gst/gstevent.h:
12226         * gst/gstmessage.c:
12227         * gst/gstmessage.h:
12228         * gst/gsttag.c:
12229         * gst/gsttag.h:
12230         * gst/gsttaginterface.c:
12231         * gst/gsttaginterface.h:
12232         * gst/gsttaglist.c:
12233         * gst/gsttaglist.h:
12234         * gst/gsttagsetter.c:
12235         * gst/gsttagsetter.h:
12236         * gst/gsttrace.c:
12237         * gst/gsttrace.h:
12238         * gst/gsttrashstack.c:
12239           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12240           inlined docs for gsttrace, gsttrashstack
12241
12242 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12243
12244         * gst/Makefile.am:
12245         * gst/elements/gstbufferstore.h:
12246         * gst/elements/gsttypefindelement.c:
12247         * gst/elements/gsttypefindelement.h:
12248         * gst/gst.h:
12249         * gst/gsttypefind.c:
12250         * gst/gsttypefind.h:
12251         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12252         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12253         (gst_type_find_factory_dispose),
12254         (gst_type_find_factory_unload_thyself),
12255         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12256         (gst_type_find_factory_get_caps),
12257         (gst_type_find_factory_get_extensions),
12258         (gst_type_find_factory_call_function):
12259         * gst/gsttypefindfactory.h:
12260         * gst/registries/gstlibxmlregistry.c:
12261         * gst/registries/gstxmlregistry.c:
12262           splitted gsttypefind into gsttypefind, gsttypefindfactory
12263
12264 2005-09-07  Andy Wingo  <wingo@pobox.com>
12265
12266         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12267         condition whereby the pad's task function is entered before the
12268         pad_mode variable was set.
12269
12270 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12271
12272         * gst/gstpad.c: (gst_pad_alloc_buffer):
12273           Catch misbehaving pad_alloc functions that don't
12274           set up caps and do it for them.
12275
12276 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12277
12278         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12279           test for pipe!=NULL
12280         * docs/gst/tmpl/.cvsignore:
12281         * docs/gst/tmpl/gstmemchunk.sgml:
12282         * docs/gst/tmpl/gstparse.sgml:
12283         * docs/gst/tmpl/gsttaglist.sgml:
12284         * docs/gst/tmpl/gsttagsetter.sgml:
12285         * docs/gst/tmpl/gsttypefind.sgml:
12286         * docs/gst/tmpl/gsttypefindfactory.sgml:
12287         * gst/gstmemchunk.c:
12288         * gst/gstparse.c:
12289         * gst/gsttag.c:
12290         * gst/gsttaginterface.c:
12291         * gst/gsttypefind.c:
12292         * gst/gsttypefind.h:
12293           inlined more docs
12294
12295 === release 0.9.2 ===
12296
12297 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * NEWS:
12300         * RELEASE:
12301         * configure.ac:
12302           releasing 0.9.2, "South"
12303
12304 2005-09-05  Andy Wingo  <wingo@pobox.com>
12305
12306         * gst/registries/gstxmlregistry.h:
12307         * gst/registries/gstxmlregistry.c: Um... resurrect...
12308         
12309         * gst/registries/gstxmlregistry.h:
12310         * gst/registries/gstxmlregistry.c: and update to newer API.
12311         Incidentally they should be a bit faster now that they don't have
12312         to parse the caps.
12313         
12314 2005-09-05  Andy Wingo  <wingo@pobox.com>
12315
12316         * gst/registries/gstxmlregistry.h:
12317         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12318         replaced by the libxml registry a while back
12319
12320 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12321
12322         * docs/gst/tmpl/gstplugin.sgml:
12323         * gst/elements/gstelements.c:
12324         * gst/gst.c:
12325         * gst/gstplugin.c: (gst_plugin_register_func),
12326         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12327         (gst_plugin_get_source):
12328         * gst/gstplugin.h:
12329         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12330         (gst_xml_registry_save_plugin):
12331         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12332         (gst_xml_registry_save_plugin):
12333         * tools/gst-inspect.c: (print_plugin_info):
12334           add a "source" plugin description field, to represent the source
12335           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12336           will set it to PACKAGE, which is automake's idea of the name of
12337           the source project.
12338
12339 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12340
12341         * Makefile.am:
12342         * autogen.sh:
12343         * configure.ac:
12344         * docs/Makefile.am:
12345         * docs/faq/Makefile.am:
12346         * docs/gst/tmpl/gstelement.sgml:
12347         * docs/gst/tmpl/gsttypes.sgml:
12348         * docs/htmlinstall.mak:
12349         * docs/manual/Makefile.am:
12350         * docs/pwg/Makefile.am:
12351           reorganize doc build a little
12352           split out docbook and gtk-doc stuff
12353           have two separate --enable's and enable them through autogen
12354           but disable by default in configure (to be similar to other
12355           projects)
12356         * gstreamer.spec.in:
12357           clean up docs install
12358         * po/af.po:
12359         * po/az.po:
12360         * po/ca.po:
12361         * po/cs.po:
12362         * po/de.po:
12363         * po/en_GB.po:
12364         * po/fr.po:
12365         * po/it.po:
12366         * po/nb.po:
12367         * po/nl.po:
12368         * po/ru.po:
12369         * po/sq.po:
12370         * po/sr.po:
12371         * po/sv.po:
12372         * po/tr.po:
12373         * po/uk.po:
12374         * po/vi.po:
12375           translation updates
12376
12377 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12378
12379         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12380           Add comment.
12381           
12382         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12383         (gst_fake_sink_change_state):
12384           Make state change function thread-safe.
12385           
12386         * gst/gstpad.c: (gst_pad_alloc_buffer):
12387           Set offset on generic buffer allocated by fallback.
12388
12389 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12390
12391         * docs/gst/gstreamer-sections.txt:
12392         * docs/gst/tmpl/gstelement.sgml:
12393         * gst/gstpad.c:
12394         * libs/gst/controller/gst-controller.c:
12395         (gst_controlled_property_set_interpolation_mode),
12396         (gst_controlled_property_new),
12397         (gst_controller_find_controlled_property):
12398          run the wingo-magic script against the docs
12399
12400 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12401
12402         * docs/gst/gstreamer-docs.sgml:
12403         * docs/gst/gstreamer-sections.txt:
12404         * docs/gst/tmpl/.cvsignore:
12405         * docs/gst/tmpl/gstelementdetails.sgml:
12406         * docs/gst/tmpl/gstelementfactory.sgml:
12407         * gst/gst.c:
12408         * gst/gstbus.c:
12409         * gst/gstelementfactory.c:
12410         * gst/gstelementfactory.h:
12411           merged elementdetails docs into elementfactory docs
12412           inlined both
12413
12414 2005-09-02  Andy Wingo  <wingo@pobox.com>
12415
12416         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12417         consider this enum an enum and not a flags.
12418
12419 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12420
12421         * docs/gst/gstreamer-docs.sgml:
12422         * docs/gst/tmpl/.cvsignore:
12423         * docs/gst/tmpl/gstghostpad.sgml:
12424         * docs/gst/tmpl/gstiterator.sgml:
12425         * docs/gst/tmpl/gstmacros.sgml:
12426         * docs/gst/tmpl/gstrealpad.sgml:
12427         * docs/gst/tmpl/gstregistry.sgml:
12428         * docs/gst/tmpl/gstregistrypool.sgml:
12429         * docs/gst/tmpl/gststructure.sgml:
12430         * docs/gst/tmpl/gstsystemclock.sgml:
12431         * docs/gst/tmpl/gsttrace.sgml:
12432         * gst/gstghostpad.c:
12433         * gst/gstmacros.h:
12434         * gst/gstmemchunk.c:
12435         * gst/gstmemchunk.h:
12436         * gst/gstqueue.c:
12437         * gst/gstregistry.c:
12438         * gst/gstregistrypool.c:
12439         * gst/gststructure.c:
12440         * gst/gstsystemclock.c:
12441           more docs inlined
12442
12443 2005-09-02  Andy Wingo  <wingo@pobox.com>
12444
12445         * gst/gstelement.h (GstState): Renamed from GstElementState,
12446         changed to be a normal enum instead of flags.
12447         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12448         munged to be GST_STATE_CHANGE_*.
12449         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12450         work with the new state representation.
12451         (GstStateChange): New enumeration of possible state transitions.
12452         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12453         (GstElementClass::change_state): Pass the GstStateChange along as
12454         an argument. Helps language bindings, so they don't have to use
12455         tricky lock-needing macros like GST_STATE_CHANGE ().
12456
12457         * scripts/update-states (file): New script. Run it on a file to
12458         update it for state naming and API changes. Updates files in
12459         place.
12460
12461         * All files updated for the new API.
12462
12463 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12464
12465         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12466         * gst/gstutils.c: (gst_util_set_value_from_string),
12467         (gst_util_set_object_arg):
12468           fix a bunch of unchecked return values
12469         * tools/gst-complete.c: (main):
12470         * gstreamer.spec.in:
12471           clean up a little
12472
12473 2005-09-01  Wim Taymans  <wim@fluendo.com>
12474
12475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12476         (gst_base_sink_event), (gst_base_sink_do_sync),
12477         (gst_base_sink_handle_event):
12478         * gst/base/gstbasesink.h:
12479         Handle newsegments more correctly.
12480
12481         * gst/gstbus.c:
12482         Fix docs.
12483
12484         * gst/gstevent.c: (gst_event_new_newsegment):
12485         A newsegment cannot have a start_time of -1
12486
12487 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12488
12489         * win32/gstenumtypes.c:
12490         * win32/gstenumtypes.h:
12491           Update
12492
12493 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12494
12495         * libs/gst/controller/gst-controller.c:
12496         (gst_controlled_property_set_interpolation_mode),
12497         (gst_controlled_property_new):
12498          fixed boolean again
12499
12500 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * docs/faq/gst-uninstalled:
12503           add -good
12504         * gst/gstevent.c:
12505         * gst/gstevent.h:
12506           remove wrong docs
12507         * gst/gstutils.c: (gst_element_link_filtered):
12508         * gst/gstutils.h:
12509           add gst_element_link_filtered
12510
12511 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12512
12513         * docs/gst/gstreamer-docs.sgml:
12514         * docs/gst/gstreamer-sections.txt:
12515         * docs/gst/tmpl/.cvsignore:
12516         * docs/gst/tmpl/gsterror.sgml:
12517         * docs/gst/tmpl/gstfilter.sgml:
12518         * docs/gst/tmpl/gsturihandler.sgml:
12519         * docs/gst/tmpl/gsturitype.sgml:
12520         * docs/gst/tmpl/gstutils.sgml:
12521         * docs/gst/tmpl/gstxml.sgml:
12522         * gst/gsterror.c:
12523         * gst/gsterror.h:
12524         * gst/gstfilter.c:
12525         * gst/gsturi.c:
12526         * gst/gsturitype.c:
12527         * gst/gstutils.c:
12528         * gst/gstxml.c:
12529           inlined more docs, fixed double id-ref
12530
12531 2005-08-31  Wim Taymans  <wim@fluendo.com>
12532
12533         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12534         (gst_base_transform_handle_buffer):
12535         Passthrough elements don't need the caps as they don't care.
12536
12537 2005-08-31  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12540         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12541         Don't leak refcounts on buffers.
12542
12543 2005-08-31  Wim Taymans  <wim@fluendo.com>
12544
12545         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12546         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12547         (gst_base_transform_chain), (gst_base_transform_change_state):
12548         * gst/base/gstbasetransform.h:
12549         Handle the case where we are not negotiated more gracefully.
12550
12551 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12552
12553         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12554         (gst_file_src_map_region):
12555           Set READONLY flag on mmap'ed buffers, otherwise
12556           gst_buffer_make_writable() won't work properly (#314708).
12557
12558 2005-08-31  Wim Taymans  <wim@fluendo.com>
12559
12560         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12561         passthrough elements can even do inplace on non writable
12562         buffers (as they don't touch them).
12563
12564 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12565
12566         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12567         (gst_test_mono_source_set_property),
12568         (gst_test_mono_source_class_init), (GST_START_TEST),
12569         (gst_controller_suite):
12570           more tests (hehe I have the most)
12571         * gst/gstbus.c:
12572           describe popping messages whenusing mulltiple sources
12573         * libs/gst/controller/gst-controller.c:
12574         (gst_controlled_property_set_interpolation_mode),
12575         (gst_controlled_property_new):
12576         * libs/gst/controller/gst-controller.h:
12577         * libs/gst/controller/gst-interpolation.c:
12578           implement boolean properties
12579
12580 2005-08-31  Wim Taymans  <wim@fluendo.com>
12581
12582         * gst/gstminiobject.c: (gst_mini_object_ref):
12583         Cannot assert that the refcount has to be positive
12584         since a disposed object can be resurrected.
12585
12586 2005-08-31  Wim Taymans  <wim@fluendo.com>
12587
12588         * gst/gstpad.c: (gst_pad_init):
12589         Revert change, need to first fix badly behaving 
12590         apps.
12591
12592 2005-08-30  Wim Taymans  <wim@fluendo.com>
12593
12594         * check/elements/fakesrc.c: (setup_fakesrc):
12595         * check/elements/identity.c: (setup_identity):
12596         Activate pads before using them.
12597
12598 2005-08-30  Wim Taymans  <wim@fluendo.com>
12599
12600         * gst/base/gstadapter.c: (gst_adapter_flush):
12601         Flushing out 0 bytes is ok for this function.
12602
12603         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12604         no newsegment gives a warning and sets the start/stop to 
12605         invalid.
12606
12607         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12608         (gst_base_transform_set_passthrough):
12609         Some debug info.
12610
12611         * gst/gstminiobject.c: (gst_mini_object_ref):
12612         Check refcount here too.
12613
12614         * gst/gstpad.c: (gst_pad_init):
12615         Pads are initially flushing and refusing data.
12616
12617         * gst/gstutils.c: (gst_element_link_pads_filtered):
12618         When adding a capsfilter element make sure it has the
12619         same state as the parent bin.
12620
12621 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12622
12623         * docs/gst/tmpl/.cvsignore:
12624         * docs/gst/tmpl/gstformat.sgml:
12625         * docs/gst/tmpl/gstversion.sgml:
12626         * gst/gstbus.h:
12627         * gst/gstformat.c:
12628         * gst/gstformat.h:
12629         * gst/gstversion.h.in:
12630           more docs and two more inlined
12631
12632 2005-08-30  Wim Taymans  <wim@fluendo.com>
12633
12634         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12635         Don't sync to clock.
12636
12637 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12638
12639         * docs/gst/gstreamer-sections.txt:
12640           ultral33t func10ns deserve to appear in the docs actually
12641         * docs/gst/tmpl/.cvsignore:
12642         * docs/gst/tmpl/gstcompat.sgml:
12643         * docs/gst/tmpl/gstconfig.sgml:
12644         * gst/check/gstcheck.c:
12645         * gst/gstcompat.h:
12646         * gst/gstconfig.h.in:
12647           inlined more docs
12648
12649 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12650
12651         * docs/gst/tmpl/.cvsignore:
12652         * docs/gst/tmpl/gstquery.sgml:
12653         * docs/gst/tmpl/gstutils.sgml:
12654         * gst/gstquery.c:
12655         * gst/gstquery.h:
12656           inlined and extended docs
12657
12658 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12659
12660         * check/gst-libs/controller.c: (GST_START_TEST),
12661         (gst_controller_suite):
12662           more tests
12663         * docs/gst/tmpl/gstutils.sgml:
12664         * docs/libs/gstreamer-libs-sections.txt:
12665         * docs/libs/tmpl/gstdataprotocol.sgml:
12666           include path fixes
12667         * examples/controller/audio-example.c: (main):
12668           controller example works now
12669         * gst/gstclock.h:
12670           doc fixes
12671         * tools/gst-inspect.c: (print_element_properties_info):
12672           show param spec flags
12673
12674 2005-08-29  Andy Wingo  <wingo@pobox.com>
12675
12676         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12677
12678 2005-08-28  Andy Wingo  <wingo@pobox.com>
12679
12680         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12681         as having two arguments instead of just one. Allows superclasses
12682         to access information on subclasses -- see the terrible for() loop
12683         in gtype.c:g_type_create_instance for the reason why. All callers
12684         changed.
12685
12686 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12687
12688         * docs/design/part-messages.txt:
12689           update info
12690         * docs/gst/tmpl/.cvsignore:
12691         * docs/gst/tmpl/gstcaps.sgml:
12692         * docs/gst/tmpl/gstclock.sgml:
12693         * gst/gstbus.c:
12694         * gst/gstcaps.c:
12695         * gst/gstcaps.h:
12696         * gst/gstclock.c:
12697         * gst/gstclock.h:
12698         * gst/gstmessage.c:
12699           added descriptions for bus and message
12700           inline caps and clock docs
12701
12702 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12703
12704         * gst/gstmessage.c:
12705         * gst/gstmessage.h:
12706           doc fixes
12707
12708 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12709
12710         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12711           fix div-by-zero
12712
12713 2005-08-26  Andy Wingo  <wingo@pobox.com>
12714
12715         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12716         element_set_state's return val.
12717         (test_2_elements): Add test that's been disabled for months.
12718
12719         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12720         can-activate-pull properties.
12721
12722         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12723         can-activate-pull properties. Implement is_seekable so fakesrc can
12724         operate in pull mode.
12725
12726         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12727         properties.
12728         (gst_base_sink_activate, gst_base_sink_activate_pull)
12729         (gst_base_sink_activate_push): Make activation mode choosing work.
12730         Cleanups.
12731         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12732         is right. Make pull mode work. Post an eos before pausing in pull
12733         mode.
12734         (gst_base_sink_change_state): Pay attention to the core's
12735         change_state() return val.
12736         
12737         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12738         has-getrange properties. Cleanups.
12739         
12740         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12741         has_getrange and replace with can_activate_pull and
12742         can_activate_push.
12743
12744         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12745         locking comments. Remove has_loop, has_chain and replace with
12746         can_activate_pull and can_activate_push.
12747
12748 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12749
12750         * configure.ac:
12751         * examples/Makefile.am:
12752         * examples/metadata/Makefile.am:
12753         * examples/metadata/read-metadata.c: (message_loop),
12754         (have_pad_handler), (make_pipeline), (print_tag), (main):
12755           Add metadata reading example that loops over a list of filenames,
12756           dumping any tags found.
12757
12758         * gst/gstbus.c: (gst_bus_dispose):
12759         * gst/gstelement.c: (gst_element_dispose):
12760           Release a few potentially-held references in dispose.
12761
12762 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12763
12764         * docs/gst/tmpl/gstminiobject.sgml:
12765           do *not* add tmpl/*.sgml files to CVS!
12766
12767 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12768
12769         * libs/gst/bytestream/.cvsignore:
12770         * libs/gst/bytestream/Makefile.am:
12771         * libs/gst/bytestream/adapter.c:
12772         * libs/gst/bytestream/adapter.h:
12773         * libs/gst/bytestream/bytestream.c:
12774         * libs/gst/bytestream/bytestream.h:
12775         * libs/gst/bytestream/filepad.c:
12776         * libs/gst/bytestream/filepad.h:
12777           removing obsolete files
12778
12779 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12780
12781         * docs/gst/gstreamer-docs.sgml:
12782         * docs/libs/gstreamer-libs-docs.sgml:
12783           disabed additional index entries again, as this makes docs-gen just
12784           slow and they aren't useful yet
12785         * docs/libs/gstreamer-libs-sections.txt:
12786           little -section.txt cleanup for libs
12787
12788 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12789
12790         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12791         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12792           fix up some debugging
12793         (gst_base_transform_get_unit_size),
12794         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12795         (gst_base_transform_handle_buffer):
12796         * gst/base/gstbasetransform.h:
12797           handle and store timed NEWSEGMENT events so that subclasses that
12798           calculate time by counting samples have a segment_start time they
12799           need to add to their timestamps - see audioresample
12800
12801 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12802
12803         * gst/gstbin.h:
12804           removed ';' from the end of macro defs
12805         * docs/gst/gstreamer-docs.sgml:
12806         * docs/gst/gstreamer-sections.txt:
12807         * docs/gst/tmpl/.cvsignore:
12808         * gst/gstbus.h:
12809         * gst/gstelement.c: (gst_element_class_init),
12810         (gst_element_set_state), (activate_pads),
12811         (gst_element_save_thyself):
12812         * gst/gstevent.c: (gst_event_new_newsegment):
12813         * gst/gstevent.h:
12814         * gst/gstiterator.c:
12815         * gst/gstiterator.h:
12816         * gst/gstpad.c:
12817         * gst/gstprobe.h:
12818         * gst/gstutils.c: (gst_pad_query_convert):
12819         * gst/gstutils.h:
12820           fixed parameter name mismatches between source, header and docs
12821           added some more docs, resolved the last batch of unused elements in
12822           docs (now someone needs to doc them)
12823
12824 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12825
12826         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12827         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12828           don't walk through the plugins backwards.  Where is all this
12829           reversed logic coming from ?
12830
12831 2005-08-25  Wim Taymans  <wim@fluendo.com>
12832
12833         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12834         (gst_base_transform_transform_size),
12835         (gst_base_transform_configure_caps),
12836         (gst_base_transform_get_unit_size),
12837         (gst_base_transform_buffer_alloc),
12838         (gst_base_transform_change_state):
12839         * gst/base/gstbasetransform.h:
12840         Cache caps unit_size.
12841         Make sure we cannot negotiate up and downstream at the
12842         same time.
12843
12844 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12845
12846         * gst/gst.c: (init_pre), (init_post):
12847           register the installed plugin path after the env var
12848         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12849         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12850           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12851           directories, so the tests can prefer uninstalled over installed
12852
12853 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12854
12855         * gst/base/gstbasetransform.h:
12856           comment
12857         * gst/gstpad.c:
12858           add to docs
12859
12860 2005-08-25  Wim Taymans  <wim@fluendo.com>
12861
12862         * gst/gstbin.c: (bin_bus_handler):
12863         Be a bit more conservative about the posted message.
12864         
12865         * gst/gstbus.c: (gst_bus_post):
12866         Some cleanups, warn wrong return values.
12867
12868 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12869
12870         * check/gst/gstbin.c: (GST_START_TEST):
12871         * gst/gstbin.c: (bin_bus_handler):
12872         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12873         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12874         (gst_message_new_warning), (gst_message_new_tag),
12875         (gst_message_new_state_changed), (gst_message_new_segment_start),
12876         (gst_message_new_segment_done), (gst_message_new_custom):
12877         * gst/gstmessage.h:
12878         * tools/gst-launch.c: (event_loop):
12879         * tools/gst-md5sum.c: (event_loop):
12880           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12881
12882 2005-08-25  Wim Taymans  <wim@fluendo.com>
12883
12884         * check/generic/states.c: (GST_START_TEST):
12885         Cleanup can be done at the end.
12886
12887         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12888         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12889         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12890         Oh boy.. Thanks for finding this, Thomas. 
12891
12892 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12893
12894         * docs/gst/gstreamer.types:
12895           added missing types
12896
12897 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12898
12899         * docs/gst/gstreamer-docs.sgml:
12900         * docs/gst/gstreamer-sections.txt:
12901         * docs/gst/tmpl/.cvsignore:
12902         * gst/gstbin.c:
12903         * gst/gstiterator.c:
12904         * gst/gstutils.c:
12905         * gst/registries/gstxmlregistry.h:
12906           added missing classes and symbols (123 more to go)
12907           removed removed symbols from section file
12908           fixed many doc-comments
12909
12910 2005-08-24  Wim Taymans  <wim@fluendo.com>
12911
12912         * check/generic/states.c: (GST_START_TEST):
12913         Make sure all tasks are stopped.
12914
12915         * check/gst/gstbin.c: (GST_START_TEST):
12916         Unref after usage for proper valgrinding.
12917
12918         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12919         Really wait for the task to stop before destroying the
12920         mutex.
12921
12922         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12923         (gst_queue_src_activate_push):
12924         Small cleanups. Don't stop the task when we did not start
12925         it.
12926
12927         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12928         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12929         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12930         (gst_task_join):
12931         * gst/gsttask.h:
12932         Protect the stream lock with the object lock.
12933         Disallow setting the stream lock when running.
12934         Add cleanup_all to wait for the threadpool to finish.
12935         Remove code to autoallocate a mutex if none was provided.
12936         Add _join() to wait for a task to stop.
12937         Protect the thread pool with a global lock.
12938
12939 2005-08-24  Wim Taymans  <wim@fluendo.com>
12940
12941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12942         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12943         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12944         * gst/base/gstbasesink.h:
12945         Handle newsegment events correctly.
12946         Drop buffers out of the segment range.
12947
12948 2005-08-22  Andy Wingo  <wingo@pobox.com>
12949
12950         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12951         macro, implements an interface and gstimplementsinterface for a
12952         new type.
12953
12954 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12955
12956         * check/Makefile.am:
12957         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12958           add a test that does a bunch of state changes on elements
12959           needs some fixing for valgrind
12960         * check/states/sinks.c: (gst_object_suite):
12961           whitespace
12962         * gst/gstcaps.h:
12963           add prototype for gst_caps_is_equal_fixed
12964         * gst/gstplugin.c:
12965         * gst/gstregistrypool.c:
12966           doc fixes
12967
12968 2005-08-24  Andy Wingo  <wingo@pobox.com>
12969
12970         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12971         convert a negative value. Doesn't make much sense. Mostly this is
12972         here to force callers to ensure -1 maps to -1.
12973
12974 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12975
12976         * docs/pwg/advanced-types.xml:
12977           Well done to Michael for catching my deliberate introduction
12978           of this spelling mistake. 
12979         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12980         * gst/gstelement.h:
12981           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12982           unlink pads before removing the element from the bin.
12983
12984 2005-08-24  Andy Wingo  <wingo@pobox.com>
12985
12986         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12987         the same thing as GST_DEBUG=*:4.
12988         (parse_debug_level, parse_debug_category): New helper parsers.
12989
12990 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12993         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12994         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12995         (gst_base_transform_buffer_alloc),
12996         (gst_base_transform_handle_buffer):
12997           use gboolean return values and pointers to size so we can use the
12998           full GST_BUFFER_SIZE range (guint) for buffer sizes
12999           use GstPadDirection for transform_caps
13000         * gst/base/gstbasetransform.h:
13001           rename get_size to get_unit_size since that's what it is
13002         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
13003           use GstPadDirection for transform_caps
13004         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13005         * gst/gstutils.h:
13006           cleanup and debugging
13007
13008 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13009
13010         * gst/gstelement.c: (gst_element_class_init),
13011         (gst_element_set_state), (activate_pads),
13012         (gst_element_save_thyself):
13013         * tools/gst-compprep.c: (main):
13014         * tools/gst-inspect.c: (print_element_properties_info):
13015         * tools/gst-xmlinspect.c: (print_element_properties):
13016           Fixed long standing mem-leak
13017
13018 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13019
13020         * check/gst/gstbin.c: (GST_START_TEST):
13021         * gst/gstbin.c: (bin_bus_handler):
13022         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13023         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13024         (gst_message_new_warning), (gst_message_new_tag),
13025         (gst_message_new_state_changed), (gst_message_new_segment_start),
13026         (gst_message_new_segment_done), (gst_message_new_custom):
13027         * gst/gstmessage.h:
13028         * tools/gst-launch.c: (event_loop):
13029         * tools/gst-md5sum.c: (event_loop):
13030           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13031           that applications can sensibly post custom messages with references
13032           to their own objects.
13033
13034 2005-08-24  Andy Wingo  <wingo@pobox.com>
13035
13036         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13037         already.
13038
13039 2005-08-24  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13042         (gst_base_transform_transform_caps),
13043         (gst_base_transform_transform_size),
13044         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13045         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13046         (gst_base_transform_handle_buffer):
13047         * gst/base/gstbasetransform.h:
13048         Many fixes and new features added by Thomas. Can now also do
13049         transforms with variable sizes and a custom fixate_caps function.
13050
13051 2005-08-24  Wim Taymans  <wim@fluendo.com>
13052
13053         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13054         Some debugging.
13055
13056         * gst/gstclock.h:
13057         Cast to ClockTime before formatting to time.
13058
13059         * gst/gstutils.h:
13060         Cleanups.
13061
13062 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13063
13064         * check/gst-libs/controller.c: (GST_START_TEST),
13065         (gst_controller_suite):
13066         * docs/gst/tmpl/gstcaps.sgml:
13067         * docs/gst/tmpl/gstghostpad.sgml:
13068         * docs/gst/tmpl/gstquery.sgml:
13069         * docs/gst/tmpl/gstutils.sgml:
13070         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13071         (gst_object_sink_values), (gst_object_get_value_arrays),
13072         (gst_object_get_value_array):
13073           gracefully handle helper method calls to objects that are not beeing
13074           controlled, added test case for that          
13075
13076 2005-08-23  Wim Taymans  <wim@fluendo.com>
13077
13078         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13079         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13080         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13081         (gst_event_parse_qos), (gst_event_new_seek),
13082         (gst_event_parse_seek):
13083         * gst/gstevent.h:
13084         Some more debugging output and doc cleanups.
13085
13086         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13087         Fix possible deadlock.
13088
13089 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13090
13091         * docs/gst/gstreamer-docs.sgml:
13092         * docs/gst/gstreamer-sections.txt:
13093         * docs/gst/gstreamer.types:
13094         * docs/gst/tmpl/.cvsignore:
13095         * gst/gstbin.h:
13096         * gst/gstbus.c:
13097         * gst/gstelement.c:
13098         * gst/gstevent.h:
13099           added 100 symbols from gstreamer-unused.txt to the right sections
13100           fixed more broken comments
13101           added GstBus to docs
13102
13103 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13104
13105         * docs/gst/gstreamer-sections.txt:
13106         * docs/gst/tmpl/.cvsignore:
13107         * docs/gst/tmpl/gstbin.sgml:
13108         * docs/gst/tmpl/gstbuffer.sgml:
13109         * gst/base/gstbasesrc.c:
13110         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13111         * gst/gstbuffer.c:
13112         * gst/gstbuffer.h:
13113         * tools/gst-launch.1.in:
13114           inlined more doc comments, added missing comments and fixed comments
13115           fixed typos
13116
13117 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13120           some debugging
13121         * gst/gstcaps.h:
13122           whitespace fixes
13123         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13124           more debugging
13125         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13126         * gst/gststructure.h:
13127           add a fixate function for booleans; add a FIXME that these func
13128           names should probably be gst_structure_fixate_*
13129
13130 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13131
13132         * docs/gst/gstreamer-docs.sgml:
13133         * docs/gst/gstreamer-sections.txt:
13134         * gst/Makefile.am:
13135         * gst/gstbin.c: (gst_bin_get_type),
13136         (gst_bin_child_proxy_get_child_by_index),
13137         (gst_bin_child_proxy_get_children_count),
13138         (gst_bin_child_proxy_init):
13139         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13140         (gst_child_proxy_get_child_by_index),
13141         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13142         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13143         (gst_child_proxy_get), (gst_child_proxy_set_property),
13144         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13145         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13146         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13147         * gst/gstchildproxy.h:
13148         * gst/parse/grammar.y:
13149         * tools/gst-inspect.c: (print_interfaces),
13150         (print_element_properties_info), (print_element_info):
13151           ported gstchildproxy over from 0.8
13152           ported gst-inspect fixes and enhancements over from 0.8
13153
13154 2005-08-22  Wim Taymans  <wim@fluendo.com>
13155
13156         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13157         (gst_base_transform_handle_buffer):
13158         Also call the transform function if we have ANY caps.
13159
13160         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13161         Fix debug info.
13162
13163 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13164
13165         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13166           Don't pretend to handle seek events if the source is not seekable
13167
13168 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13169
13170         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13171           Remove extra parameter to debug output
13172
13173         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13174         (gst_base_src_do_seek), (gst_base_src_activate_push):
13175           Fix seek event handling.
13176
13177         * gst/gstpipeline.c: (gst_pipeline_change_state):
13178         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13179         (gst_queue_src_activate_push):
13180           Don't start the src pad task on FLUSH_STOP if the pad
13181           isn't linked.
13182           Debug changes.
13183
13184 2005-08-22  Wim Taymans  <wim@fluendo.com>
13185
13186         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13187         Added check for gst_static_caps_get() refcounting.
13188
13189 2005-08-22  Wim Taymans  <wim@fluendo.com>
13190
13191         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13192         Make _static_caps_get() refcounting sane.
13193         
13194         * gst/gstelement.c: (gst_element_set_state):
13195         Add g_return_val_if_fail() to protect against segfaults.
13196
13197 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13198
13199         * docs/gst/tmpl/gstevent.sgml:
13200         * gst/gstevent.c:
13201         * gst/gstevent.h:
13202           inlined remaining docs, added missing doc comments
13203
13204 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13205
13206         * check/gst/gstbin.c: (GST_START_TEST):
13207           since we don't know when preroll is done, use refcount range
13208           check for the sink
13209         * gst/check/gstcheck.h:
13210           add macro for checking refcount range
13211
13212 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13213
13214         * check/Makefile.am:
13215           clean up environment for when registry gets built versus
13216           when actual tests are run; valgrind seems to not report
13217           leaks if GST_PLUGIN_PATH is set to some specific values
13218         * check/gst/gstbin.c: (GST_START_TEST):
13219           add more refcounting checks; maybe this exposes a
13220           preroll lock bug ?
13221         * common/check.mak:
13222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13223         * gst/check/gstcheck.h:
13224         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13225         (gst_bin_change_state):
13226         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13227           add/fix debugging/whitespace
13228
13229 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13230
13231         * check/gst/gstevent.c: (event_probe), (test_event),
13232         (GST_START_TEST):
13233          Er, don't call gst_bin_watch_for_state_change you idiot.
13234
13235 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13236
13237         * check/Makefile.am:
13238           Use CHECK_CFLAGS and CHECK_LIBS
13239         * check/gst/gstevent.c: (event_probe), (test_event),
13240         (GST_START_TEST):
13241           Don't leak events.
13242         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13243         (gst_base_src_start), (gst_base_src_stop),
13244         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13245         (gst_base_src_change_state):
13246           Sprinkle gst_base_src_stop liberally around error paths to fix
13247           problems reusing a source after failed state changes.
13248         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13249         (helper_find_suggest), (gst_type_find_helper):
13250           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13251         * gst/gstevent.h:
13252         * docs/gst/tmpl/gstevent.sgml:
13253           Migrate part of the docs from the SGML file. Wait for ensonic to
13254           tell me how I did it wrong ;)
13255         * tools/gst-typefind.c: (main):
13256           Extra robustness to state changes between files.
13257
13258 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13259
13260         * check/Makefile.am:
13261           don't valgrind the controller test - it's leaking - Stefan, HELP
13262         * gst/check/gstcheck.c: (gst_check_message_error),
13263         (gst_check_chain_func), (gst_check_setup_element),
13264         (gst_check_teardown_element), (gst_check_setup_src_pad),
13265         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13266         (gst_check_teardown_sink_pad):
13267         * gst/check/gstcheck.h:
13268           add a bunch of methods to set up elements, and src and sink pads
13269         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13270         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13271         (GST_START_TEST):
13272           use them
13273         * gst/gstmessage.c:
13274         * gst/gsttag.h:
13275           whitespace/doc fixes
13276
13277 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13278
13279         * gst/gstelement.h:
13280           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13281           be handled by the application and not always printed as well
13282
13283 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13284
13285         * check/Makefile.am:
13286           set GST_TOOLS_DIR
13287         * gst/check/gstcheck.c: (gst_check_message_error):
13288         * gst/check/gstcheck.h:
13289           add a fail_unless_equals_int
13290           add fail_unless for error messages
13291
13292 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13293
13294         * check/Makefile.am:
13295         * check/gst.supp:
13296         * common/Makefile.am:
13297         * common/check.mak:
13298         * common/gst.supp:
13299           factor out some of the common stuff so we can use it
13300
13301 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13302
13303         * check/Makefile.am:
13304         * check/gst/gstiterator.c: (GST_START_TEST):
13305         * check/gst/gstsystemclock.c: (GST_START_TEST),
13306         (gst_systemclock_suite):
13307         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13308         * gst/gstclock.c:
13309           valgrind more tests
13310
13311 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13312
13313         * check/elements/.cvsignore:
13314         * check/elements/gstfakesrc.c:
13315           rename to name of element
13316         * check/elements/identity.c: (chain_func), (event_func),
13317         (setup_identity), (cleanup_identity), (GST_START_TEST),
13318         (identity_suite), (main):
13319           add a test for identity
13320         * check/Makefile.am:
13321         * pkgconfig/Makefile.am:
13322         * pkgconfig/gstreamer-check.pc.in:
13323         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13324         * gst/check:
13325         * gst/Makefile.am:
13326         * configure.ac:
13327           move the check stuff to a library that gets installed
13328         * check/gst-libs/controller.c: (GST_START_TEST):
13329         * check/gst-libs/gdp.c:
13330         * check/gst/gst.c: (GST_START_TEST):
13331         * check/gst/gstbin.c:
13332         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13333         * check/gst/gstbus.c:
13334         * check/gst/gstcaps.c: (GST_START_TEST):
13335         * check/gst/gstelement.c:
13336         * check/gst/gstghostpad.c:
13337         * check/gst/gstiterator.c:
13338         * check/gst/gstmessage.c:
13339         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13340         * check/gst/gstobject.c:
13341         * check/gst/gstpad.c: (GST_START_TEST):
13342         * check/gst/gststructure.c: (GST_START_TEST):
13343         * check/gst/gstsystemclock.c: (GST_START_TEST),
13344         (gst_systemclock_suite):
13345         * check/gst/gsttag.c: (gst_tag_suite):
13346         * check/gst/gstvalue.c:
13347         * check/pipelines/cleanup.c:
13348         * check/pipelines/simple_launch_lines.c:
13349         * check/states/sinks.c:
13350           change include statement
13351
13352         * docs/gst/gstreamer-sections.txt:
13353         * docs/gst/tmpl/gstpad.sgml:
13354           document more pad stuff
13355         * gst/gstminiobject.c: (gst_mini_object_ref),
13356         (gst_mini_object_unref):
13357           debug refcounting
13358
13359 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13360
13361         * docs/gst/tmpl/gst.sgml:
13362         * gst/gst.c:
13363           eliminate another tmpl file, fix spelling in the long-description
13364
13365 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13366
13367         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13368         (test_event), (timediff), (gstevents_suite):
13369           Should fix build on 64-bit arch's
13370
13371 2005-08-18  Andy Wingo  <wingo@pobox.com>
13372
13373         Make sure that when a pipeline goes to PLAYING, that data has
13374         actually hit the sink.
13375
13376         * check/states/sinks.c (test_sink): A sink that doesn't get any
13377         data shouldn't return SUCCESS for going to either PLAYING or
13378         PAUSED. Test also the return values on the way back down.
13379
13380         * gst/gstelement.c (gst_element_set_state): When changing the
13381         state of an element currently changing state asynchronously, go to
13382         lost-state after commiting the pending state. Makes future calls
13383         to get_state continue to return ASYNC.
13384
13385         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13386         ASYNC when going to PLAYING if we still don't have preroll, as can
13387         happen with live sources.
13388
13389 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13390
13391         * docs/pwg/advanced-types.xml:
13392           Hack long paragraph into 2 chunks as a workaround for buggy
13393           jadetex version in sid and breezy that loops infinitely and
13394           eats all RAM.
13395
13396 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13397
13398         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13399         (test_event), (timediff), (gstevents_suite):
13400           Provide more error margin in clock measurements to allow for 
13401           g_get_current_time inaccuracies.
13402
13403 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13404
13405         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13406         (test_event), (timediff), (gstevents_suite):
13407            Fix error message output so I might be able to tell why the
13408            test works here but fails on the build farm.
13409
13410 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13411
13412         * check/Makefile.am:
13413         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13414         (test_event), (timediff), (gstevents_suite), (main):
13415           I wrote a test!
13416
13417         * docs/design/part-seeking.txt:
13418           Spelling correction
13419
13420         * docs/gst/tmpl/gstevent.sgml:
13421         * docs/gst/tmpl/gstfakesrc.sgml:
13422           Docs updates.
13423
13424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13425           Treat a buffer-without-newsegment the same as a receiving 
13426           a newsegment not in time format, and disable syncing to the clock
13427           with a warning.
13428
13429         * gst/gstbus.c: (gst_bus_set_sync_handler):
13430           Assert if anyone tries to replace the existing sync_handler for bus, 
13431           as only the owner should be setting it.
13432
13433         * gst/gstevent.h:
13434           Have a fixed set of custom event enums with events identified by
13435           their structure name (as in 0.8), rather than a free-for-all
13436           allowing collisions between enum values from different plugins.
13437
13438         * gst/gstpad.c: (gst_pad_class_init):
13439           Docs change.
13440           
13441         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13442           Handle out-of-band downstream events from the sending thread.
13443
13444 2005-08-17  Andy Wingo  <wingo@pobox.com>
13445
13446         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13447         play-timeout==0 to mean no timeout at all. In that case, don't
13448         bother with a get_state or a warning, just return directly, even
13449         if it's ASYNC.
13450
13451         * gst/base/gstbasetransform.c: Debug changes.
13452
13453         * gst/gstutils.h:
13454         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13455         ensure bins post state change messages. A bit of a hack but I can't
13456         think of a way to avoid it.
13457
13458         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13459
13460 2005-08-16  Andy Wingo  <wingo@pobox.com>
13461
13462         * gst/base/gstadapter.h:
13463         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13464         peek() but you own the data. Not terribly efficient atm.
13465
13466 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13467
13468         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13469         (gst_element_found_tags):
13470         * gst/gstutils.h:
13471           Add two utility functions for tag handling.
13472
13473 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13474
13475         * docs/manual/advanced-dataaccess.xml:
13476         * docs/manual/basics-helloworld.xml:
13477           Fix docs to use _bin_add() before _link(), which fixes the examples
13478           with recent core versions (reported by Madhan Raj M
13479           <raj_madan@rediffmail.com>, #313199).
13480
13481 2005-08-16  Wim Taymans  <wim@fluendo.com>
13482
13483         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13484         Added subtract checks.
13485
13486         * docs/design/part-events.txt:
13487         Some more docs about newsegment
13488
13489         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13490         Fix FIXME
13491
13492         * gst/gstcaps.c: (gst_caps_to_string):
13493         Add comments, cleanups.
13494         
13495         * gst/gstelement.c: (gst_element_save_thyself):
13496         cleanups
13497         
13498         * gst/gstvalue.c: (gst_value_collect_int_range),
13499         (gst_string_unwrap), (gst_value_union_int_int_range),
13500         (gst_value_union_int_range_int_range),
13501         (gst_value_intersect_int_int_range),
13502         (gst_value_intersect_int_range_int_range),
13503         (gst_value_intersect_double_double_range),
13504         (gst_value_intersect_double_range_double_range),
13505         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13506         (gst_value_subtract_int_range_int),
13507         (gst_value_subtract_double_range_double),
13508         (gst_value_subtract_double_range_double_range),
13509         (gst_value_subtract_from_list), (gst_value_subtract_list),
13510         (gst_value_can_compare), (gst_value_compare_fraction):
13511         Cleanups, add comments, remove unneeded asserts.
13512
13513 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13514
13515         * tools/gst-launch.c: (event_loop):
13516           don't convert NULL structures to strings
13517
13518 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13519
13520         * docs/gst/gstreamer-sections.txt:
13521           made some defines private
13522         * docs/gst/tmpl/gstconfig.sgml:
13523         * docs/gst/tmpl/gstqueue.sgml:
13524         * docs/gst/tmpl/gsttaglist.sgml:
13525         * docs/gst/tmpl/gsttypes.sgml:
13526         * docs/gst/tmpl/gstutils.sgml:
13527         * docs/pwg/appendix-porting.xml:
13528         * gst/base/gstbasesink.h:
13529         * gst/base/gstbasesrc.c:
13530         * gst/base/gstbasesrc.h:
13531         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13532         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13533         * gst/gstelement.c: (gst_element_class_init):
13534         * gst/gstpad.c: (gst_pad_class_init):
13535         * gst/gstqueue.c: (gst_queue_class_init):
13536         * gst/gstxml.c: (gst_xml_class_init):
13537           documented all undocumented signal inline
13538         * libs/gst/controller/gst-controller.h:
13539           added padding
13540
13541 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13542
13543         * docs/pwg/appendix-porting.xml:
13544           Document _set_link_function -> _set_setcaps_function.
13545
13546 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13547
13548         * check/Makefile.am:
13549           add a .check target for running the check
13550         * check/gst-libs/controller.c: (GST_START_TEST):
13551           cosmetic fixups
13552         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13553           complete checks for gstbuffer; would be nice if I could get the
13554           gcov stuff to work so I can see if I actually completed gstbuffer.c
13555         * check/gstcheck.h:
13556           add ASSERT_BUFFER_REFCOUNT
13557
13558 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13559
13560         * docs/gst/gstreamer-sections.txt:
13561         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13562         * gst/gsttag.h:
13563           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13564           spew out a warning if a tag that is already registered
13565           is re-registered, unless it is re-registered with a 
13566           different type (#308438).
13567
13568 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13569
13570         * docs/pwg/appendix-porting.xml:
13571         * docs/pwg/building-state.xml:
13572           Add some paragraphs about state changes in 0.9 to the PWG
13573           and the porting guide, in particular about the new meaning
13574           of GST_STATE_PAUSED and how to write state change functions
13575           with concurrent access by multiple threads in mind.
13576
13577 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13578
13579         * docs/gst/gstreamer-docs.sgml:
13580         * docs/libs/gstreamer-libs-docs.sgml:
13581           added deprecation and since indexes
13582         * libs/gst/controller/gst-controller.c:
13583         * libs/gst/controller/gst-helper.c:
13584           added since tags
13585
13586
13587 2005-08-11  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13590         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13591         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13592         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13593         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13594         (gst_ghost_pad_set_target):
13595         Actually implement (re)setting the target on a ghostpad
13596         as described in the docs.
13597
13598 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13599
13600         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13601           Check whether GST_DEBUG_NO_COLOR environment variable is
13602           set and disable coloured debug output if that is the case.
13603
13604 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13605
13606         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13607         (gst_type_find_helper):
13608           The memory returned by gst_type_find_peek() needs to
13609           stay valid until the end of a typefind function, and
13610           typefind functions may keep results from different 
13611           offsets around, so we can't just unref the buffer from
13612           the previous _peek(), but have to save all buffers 
13613           returned by _peek() until typefinding is done and only
13614           free them then.
13615
13616 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13617
13618         * docs/gst/gstreamer-sections.txt:
13619         * gst/gstutils.h:
13620           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13621
13622 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13623
13624         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13625           Fix a pretty good memleak.
13626
13627 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13628
13629         * gst/gstiterator.h:
13630           Fix wrong include and 'make distcheck'.
13631
13632 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13633
13634         * gst/gstbin.c: (bin_bus_handler):
13635           Use gst_element_post_message() instead.
13636
13637 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13638
13639         * gst/base/gstadapter.h:
13640         * gst/base/gstbasesink.h:
13641         * gst/base/gstbasesrc.h:
13642         * gst/base/gstbasetransform.h:
13643         * gst/base/gstcollectpads.h:
13644         * gst/base/gstpushsrc.h:
13645         * gst/gstiterator.h:
13646           Add padding to our base elements' class and instance structs and
13647           to GstIterator (you will need to rebuild all plugins and apps!)
13648
13649 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13650
13651         * gst/gstbin.c: (bin_bus_handler):
13652           Make default message forwarding from child->bus to bin->bus
13653           threadsafe and make it not emit warnings if the parent has no bus.
13654
13655 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13656
13657         * gst/gstelement.c: (activate_pads):
13658           On paused->ready, set pad->caps to NULL, as is the documented
13659           behaviour in this state change. Fixes playback of series of
13660           media files when visualization is enabled in Totem.
13661
13662 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13663
13664         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13665           Allow NULL as filter-caps (which means "any").
13666
13667 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13668
13669         * docs/libs/gstreamer-libs-sections.txt:
13670         * libs/gst/controller/gst-controller.c:
13671         * libs/gst/controller/gst-controller.h:
13672         * libs/gst/controller/gst-helper.c:
13673           adding more entries to the docs and fix small doc-bugs
13674
13675 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13676
13677         * docs/gst/gstreamer-docs.sgml:
13678         * docs/gst/gstreamer-sections.txt:
13679         * docs/gst/gstreamer.types:
13680         * docs/gst/tmpl/gstbasesink.sgml:
13681         * docs/gst/tmpl/gstbasesrc.sgml:
13682         * docs/gst/tmpl/gstbasetransform.sgml:
13683         * docs/gst/tmpl/gstfakesrc.sgml:
13684         * gst/base/gstcollectpads.c:
13685         * gst/base/gstcollectpads.h:
13686         * libs/gst/controller/gst-controller.c:
13687         * libs/gst/controller/gst-controller.h:
13688         * libs/gst/controller/gst-helper.c:
13689         * libs/gst/controller/gst-interpolation.c:
13690         * libs/gst/controller/lib.c:
13691           added long/short desc for controller docs
13692           added collectpads base class docs
13693           added correct includes to base-class docs
13694
13695 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13696
13697         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13698         (gst_test_mono_source_set_property),
13699         (gst_test_mono_source_class_init), (GST_START_TEST),
13700         (gst_controller_suite):
13701         * docs/gst/gstreamer-docs.sgml:
13702         * docs/gst/gstreamer-sections.txt:
13703         * docs/gst/gstreamer.types:
13704         * docs/libs/gstreamer-libs-docs.sgml:
13705         * docs/libs/gstreamer-libs-sections.txt:
13706         * gst/base/gstadapter.c:
13707         * libs/gst/controller/gst-controller.c:
13708         (gst_controlled_property_new), (gst_controlled_property_free),
13709         (gst_controller_new_valist),
13710         (gst_controller_remove_properties_valist),
13711         (gst_controller_sink_values), (_gst_controller_finalize):
13712         * libs/gst/controller/gst-controller.h:
13713         * libs/gst/controller/gst-helper.c:
13714         (gst_object_control_properties), (gst_object_uncontrol_properties),
13715         (gst_object_get_controller), (gst_object_set_controller),
13716         (gst_object_sink_values), (gst_object_get_value_arrays),
13717         (gst_object_get_value_array):
13718           more tests (and fixes) for the controller
13719           more docs for the controller
13720           integrated companies docs for the adapter 
13721
13722 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13723
13724         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13725         (GST_START_TEST), (fakesrc_suite):
13726           add tests for sizetype
13727
13728 2005-08-04  Andy Wingo  <wingo@pobox.com>
13729
13730         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13731         fixes buffer_alloc proxying among other things.
13732
13733         * gst/base/gstbasetransform.c:
13734         * gst/base/gstbasetransform.h:
13735         Revert patch to gstbasetransform from 7-28 removing
13736         delay_configure.
13737
13738         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13739         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13740         Semantics changed, should return not the size of the output buffer
13741         but the byte size of a buffer with a given caps.
13742
13743         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13744         debug object.
13745         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13746         out) are not the pad caps until setcaps finishes.
13747         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13748         not-in-place case as well. Deal with changing from in-place to
13749         not-in-place within calling pad_alloc_buffer. Still a bit
13750         concerned about the overhead here...
13751
13752 2005-08-03  Andy Wingo  <wingo@pobox.com>
13753
13754         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13755         fixating is an error.
13756
13757 2005-08-04  Edward Hervey  <edward@fluendo.com>
13758
13759         * gst/base/gstadapter.h: 
13760         Added gst_adapter_get_type() to the header
13761
13762 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13763
13764         * check/Makefile.am:
13765         * check/gst-libs/controller.c:
13766         * libs/gst/controller/gst-controller.c:
13767         (gst_controller_new_valist):
13768           added check test suite for the controller
13769         * gst/base/gstpushsrc.c:
13770           fixed a doc typo
13771
13772 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13773
13774         * docs/gst/Makefile.am:
13775         * docs/gst/gstreamer-docs.sgml:
13776         * docs/gst/gstreamer-sections.txt:
13777         * docs/gst/gstreamer.types:
13778         * docs/gst/tmpl/gstfakesrc.sgml:
13779         * gst/base/README:
13780         * gst/base/gstbasesink.c:
13781         * gst/base/gstbasesink.h:
13782         * gst/base/gstbasesrc.c:
13783         * gst/base/gstbasesrc.h:
13784         * gst/base/gstbasetransform.c:
13785         * gst/base/gstpushsrc.c:
13786         * gst/base/gstpushsrc.h:
13787           add short/long description docs to base classes
13788           add pushsrc to the docs
13789           remove consolidated doc fragments
13790
13791 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13792
13793         * configure.ac:
13794         * docs/libs/Makefile.am:
13795         * docs/libs/gstreamer-libs-docs.sgml:
13796         * docs/libs/gstreamer-libs-sections.txt:
13797         * docs/libs/gstreamer-libs.types:
13798         * examples/Makefile.am:
13799         * examples/controller/.cvsignore:
13800         * examples/controller/Makefile.am:
13801         * examples/controller/audio-example.c: (main):
13802         * libs/gst/Makefile.am:
13803         * libs/gst/controller/.cvsignore:
13804         * libs/gst/controller/Makefile.am:
13805         * libs/gst/controller/gst-controller.c:
13806         (on_object_controlled_property_changed), (gst_timed_value_compare),
13807         (gst_timed_value_find),
13808         (gst_controlled_property_set_interpolation_mode),
13809         (gst_controlled_property_new), (gst_controlled_property_free),
13810         (gst_controller_find_controlled_property),
13811         (gst_controller_new_valist), (gst_controller_new),
13812         (gst_controller_remove_properties_valist),
13813         (gst_controller_remove_properties), (gst_controller_set),
13814         (gst_controller_set_from_list), (gst_controller_unset),
13815         (gst_controller_get), (gst_controller_get_all),
13816         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13817         (gst_controller_get_value_array),
13818         (gst_controller_set_interpolation_mode),
13819         (_gst_controller_finalize), (_gst_controller_init),
13820         (_gst_controller_class_init), (gst_controller_get_type):
13821         * libs/gst/controller/gst-controller.h:
13822         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13823         (g_object_uncontrol_properties), (g_object_get_controller),
13824         (g_object_set_controller), (g_object_sink_values),
13825         (g_object_get_value_arrays), (g_object_get_value_array):
13826         * libs/gst/controller/gst-interpolation.c:
13827         (gst_controlled_property_find_timed_value_node),
13828         (interpolate_none_get), (interpolate_trigger_get),
13829         (interpolate_trigger_get_value_array):
13830         * libs/gst/controller/lib.c: (gst_controller_init):
13831         * pkgconfig/Makefile.am:
13832         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13833         * pkgconfig/gstreamer-control.pc.in:
13834         * testsuite/Makefile.am:
13835         * testsuite/controller/.cvsignore:
13836         * testsuite/controller/Makefile.am:
13837         * testsuite/controller/interpolator.c: (main):
13838           added controller code
13839           removed dparam pc files
13840
13841 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13842         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13843         (gst_collectpads_stop):
13844           Broadcast the condition when shutting down, to make sure we wake all
13845           threads up. Shut down pads on finalize, for safety.
13846
13847 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13848         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13849         (gst_base_transform_handle_buffer),
13850         (gst_base_transform_change_state):
13851           Handle PAUSED->READY->PAUSED transition after negotiation
13852           occurred already.
13853         * gst/gstmessage.c: (gst_message_init):
13854           Extra piece of debug for new messages.
13855
13856 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13857
13858         * configure.ac:
13859         * docs/gst/tmpl/gstbasesrc.sgml:
13860         * docs/gst/tmpl/gstelement.sgml:
13861         * docs/gst/tmpl/gstevent.sgml:
13862         * docs/gst/tmpl/gstfakesrc.sgml:
13863         * docs/gst/tmpl/gstformat.sgml:
13864         * docs/gst/tmpl/gstghostpad.sgml:
13865         * docs/gst/tmpl/gstpad.sgml:
13866         * docs/gst/tmpl/gstquery.sgml:
13867         * docs/gst/tmpl/gststructure.sgml:
13868         * docs/gst/tmpl/gsttaglist.sgml:
13869         * docs/gst/tmpl/gstvalue.sgml:
13870         * docs/libs/gstreamer-libs-docs.sgml:
13871         * docs/libs/gstreamer-libs-sections.txt:
13872         * docs/libs/gstreamer-libs.types:
13873         * libs/gst/Makefile.am:
13874         * libs/gst/control/.cvsignore:
13875         * libs/gst/control/Makefile.am:
13876         * libs/gst/control/control.c:
13877         * libs/gst/control/control.h:
13878         * libs/gst/control/dparam.c:
13879         * libs/gst/control/dparam.h:
13880         * libs/gst/control/dparam_smooth.c:
13881         * libs/gst/control/dparam_smooth.h:
13882         * libs/gst/control/dparamcommon.h:
13883         * libs/gst/control/dparammanager.c:
13884         * libs/gst/control/dparammanager.h:
13885         * libs/gst/control/dplinearinterp.c:
13886         * libs/gst/control/dplinearinterp.h:
13887         * libs/gst/control/unitconvert.c:
13888         * libs/gst/control/unitconvert.h:
13889         * testsuite/Makefile.am:
13890         * testsuite/dynparams/.cvsignore:
13891         * testsuite/dynparams/Makefile.am:
13892         * testsuite/dynparams/dparamstest.c:
13893         * tools/Makefile.am:
13894         * tools/gst-inspect.c: (print_element_info), (main):
13895         * tools/gst-xmlinspect.c: (print_element_info), (main):
13896           deactivate and remove dparams (libgstcontrol)
13897
13898 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13899
13900         * gst/elements/gsttypefindelement.c:
13901         (gst_type_find_element_have_type), (gst_type_find_element_init),
13902         (stop_typefinding), (gst_type_find_element_handle_event),
13903         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13904         * gst/elements/gsttypefindelement.h:
13905           Set caps on all outgoing buffers, not just the first one.
13906
13907 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13908
13909         * gst/elements/gsttypefindelement.c:
13910         (gst_type_find_element_have_type),
13911         (gst_type_find_element_check_set_buffer_caps),
13912         (gst_type_find_element_init), (stop_typefinding),
13913         (gst_type_find_element_handle_event),
13914         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13915         * gst/elements/gsttypefindelement.h:
13916           Set caps on first outgoing buffer when we've found the type.
13917
13918 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13919
13920         * docs/gst/gstreamer-docs.sgml:
13921         * docs/gst/gstreamer-sections.txt:
13922         * docs/gst/tmpl/gstscheduler.sgml:
13923         * docs/gst/tmpl/gstschedulerfactory.sgml:
13924           Remove some old cruft from docs.
13925
13926 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13927
13928         * gst/gstpad.h:
13929           Fix inline docs for GstPadLinkReturn.
13930           
13931         * gst/gststructure.c: (gst_structure_has_name):
13932         * gst/gststructure.h:
13933         * docs/gst/gstreamer-sections.txt:
13934           New API: gst_structure_has_name().
13935
13936 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13937
13938         * configure.ac:
13939           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13940           and _LARGEFILE_SOURCE in config.h as required. Do not 
13941           export those flags in our .pc files any longer (#142209).
13942
13943           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13944
13945         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13946         (gst_file_sink_do_seek), (gst_file_sink_event),
13947         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13948           Redo seek/tell calls with large file support in mind; add some
13949           debugging messages; add log message that tells us when large
13950           file support is unavailable or not enabled for some reason.
13951
13952         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13953           Add log message that tells us when large file support 
13954           is unavailable or not enabled for some reason.
13955
13956 2005-07-29  Wim Taymans  <wim@fluendo.com>
13957
13958         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13959         Added test for removing an element with ghostpad from a bin.
13960         Fixed test as current implementation does the right thing.
13961
13962         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13963         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13964         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13965         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13966         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13967         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13968         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13969         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13970         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13971         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13972         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13973         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13974         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13975         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13976         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13977         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13978         * gst/gstghostpad.h:
13979         Clean up ghostpads, remove properties for internal stuff.
13980         Make threadsafe.
13981         Fix refcounting.
13982         Prepare for switching targets, not all use cases work yet.
13983
13984 2005-07-29  Wim Taymans  <wim@fluendo.com>
13985
13986         * docs/design/part-gstghostpad.txt:
13987         Small update.
13988
13989         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13990         (gst_bin_remove_func):
13991         Unlinking pads while holding the bin LOCK is not a good
13992         idea.
13993
13994         * gst/gstpad.c: (gst_pad_class_init),
13995         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13996         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13997         No prob setting template after creating the pad.
13998
13999 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
14000
14001         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
14002         (gst_bus_peek), (gst_bus_source_dispatch),
14003         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
14004         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14005           gst_bus_poll may be called from other threads. Handle
14006           this nicely by not making poll_data disappear off the
14007           stack once gst_bus_poll returns.
14008           gst_bus_peek now increments the refcount on the returned
14009           message.
14010
14011 2005-07-29  Wim Taymans  <wim@fluendo.com>
14012
14013         * docs/design/part-gstghostpad.txt:
14014         Overview of current GhostPad datastructures and use
14015         cases for changing the target.
14016
14017 2005-07-28  Wim Taymans  <wim@fluendo.com>
14018
14019         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14020         Added checks for hierarchy consistency whan adding linked
14021         elements to bins.
14022
14023         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14024         Added check to test element scheduling without bin/pipeline.
14025
14026         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14027         First add elements to bin, then link.
14028         
14029         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14030         (gst_bin_remove_func):
14031         Unlink pads from elements added/removed from bin to maintain
14032         hierarchy consistency.
14033
14034 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14035
14036         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14037         (gst_base_transform_handle_buffer):
14038         * gst/base/gstbasetransform.h:
14039           Remove broken delay_configure (fixes renegotiation of software
14040           scaling pipelines); remove some leftover printf()s.
14041
14042 2005-07-28  Wim Taymans  <wim@fluendo.com>
14043
14044         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14045         Added some more tests for wrong hierarchy
14046
14047         * docs/design/part-overview.txt:
14048         Some updates.
14049
14050         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14051         Cleanups.
14052
14053         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14054         (gst_element_dispose):
14055         Some more cleanups.
14056
14057         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14058         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14059         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14060         (gst_pad_set_caps), (gst_pad_send_event):
14061         Check for correct hierarchy when linking pads. Moving to
14062         strict requirement for ghostpads when linking elements in
14063         different bins.
14064
14065         * gst/gstpad.h:
14066         Clean ups. Added WRONG_HIERARCHY return value.
14067
14068 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14069
14070         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14071           Better debug if no transform is possible.
14072
14073 2005-07-27  Wim Taymans  <wim@fluendo.com>
14074
14075         * docs/random/wtay/network-transp:
14076         Some old doc I had.
14077
14078 2005-07-27  Wim Taymans  <wim@fluendo.com>
14079
14080         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14081         (gst_dp_event_from_packet):
14082         Fix serialization of seek events.
14083
14084 2005-07-27  Wim Taymans  <wim@fluendo.com>
14085
14086         * check/gst-libs/gdp.c: (GST_START_TEST):
14087         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14088         Fix compilation and fix event serialization.
14089
14090 2005-07-27  Wim Taymans  <wim@fluendo.com>
14091
14092         * CHANGES-0.9:
14093         * docs/design/part-TODO.txt:
14094         * docs/design/part-events.txt:
14095         Some docs updates
14096
14097         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14098         (gst_base_sink_event), (gst_base_sink_do_sync),
14099         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14100         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14101         (gst_base_src_do_seek), (gst_base_src_event_handler),
14102         (gst_base_src_loop):
14103         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14104         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14105         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14106         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14107         (gst_base_transform_set_passthrough),
14108         (gst_base_transform_is_passthrough):
14109         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14110         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14111         Event updates.
14112
14113         * gst/gstbuffer.h:
14114         Use faster casts.
14115
14116         * gst/gstelement.c: (gst_element_seek):
14117         * gst/gstelement.h:
14118         Update gst_element_seek.
14119
14120         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14121         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14122         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14123         (gst_event_new_eos), (gst_event_new_newsegment),
14124         (gst_event_parse_newsegment), (gst_event_new_tag),
14125         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14126         (gst_event_parse_qos), (gst_event_new_seek),
14127         (gst_event_parse_seek), (gst_event_new_navigation):
14128         * gst/gstevent.h:
14129         Make GstEvent use GstStructure. Add parsing code, make sure the
14130         API is sufficiently generic.
14131         Mark possible directions of events and serialization.
14132
14133         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14134         (_gst_message_copy), (gst_message_new_segment_start),
14135         (gst_message_new_segment_done), (gst_message_new_custom),
14136         (gst_message_parse_segment_start),
14137         (gst_message_parse_segment_done):
14138         Small cleanups.
14139
14140         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14141         (gst_pad_set_caps), (gst_pad_send_event):
14142         Update for new events. 
14143         Catch events sent in wrong directions.
14144
14145         * gst/gstqueue.c: (gst_queue_link_src),
14146         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14147         (gst_queue_handle_src_query):
14148         Event updates.
14149
14150         * gst/gsttag.c:
14151         * gst/gsttag.h:
14152         Remove event code from this file.
14153
14154         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14155         (gst_dp_event_from_packet):
14156         Event updates.
14157
14158 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14159
14160         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14161         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14162         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14163           Make debugging actually useful.
14164
14165 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14166
14167         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14168         (gst_pad_fixate_caps):
14169           Implement default fixation once again, so that gst_pad_fixate()
14170           actually does anything at all. This probably needs to be some
14171           sort of a last resort, and use profile-based fixation first, but
14172           since that doesn't exist yet, this is the best we have. Fixes
14173           visualization in Totem.
14174
14175 2005-07-22  Wim Taymans  <wim@fluendo.com>
14176
14177         * docs/design/part-events.txt:
14178         Small update.
14179
14180         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14181         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14182         (gst_base_sink_activate_pull):
14183         Some more comments.
14184
14185         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14186         (gst_fake_src_create):
14187         Fix handoff marshall.
14188
14189         * gst/elements/gstidentity.c: (gst_identity_class_init),
14190         (gst_identity_transform_ip):
14191         We're a real inplace element.
14192
14193         * gst/gstbus.c: (gst_bus_post):
14194         Added some comments.
14195
14196         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14197         * tests/muxing/case1.c: (main):
14198         * tests/sched/dynamic-pipeline.c: (main):
14199         * tests/sched/interrupt1.c: (main):
14200         * tests/sched/interrupt2.c: (main):
14201         * tests/sched/interrupt3.c: (main):
14202         * tests/sched/runxml.c: (main):
14203         * tests/sched/sched-stress.c: (main):
14204         * tests/seeking/seeking1.c: (event_received), (main):
14205         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14206         (main):
14207         * tests/threadstate/threadstate3.c: (main):
14208         * tests/threadstate/threadstate4.c: (main):
14209         * tests/threadstate/threadstate5.c: (main):
14210         Fix the tests.
14211
14212 2005-07-21  Wim Taymans  <wim@fluendo.com>
14213
14214         * docs/design/part-seeking.txt:
14215         Some small additions.
14216
14217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14218         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14219         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14220         * gst/base/gstbasesink.h:
14221         discont values are gint64, handle the math correctly.
14222
14223         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14224         Make the basesrc report error if the source pad is not linked.
14225
14226         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14227         (gst_queue_loop), (gst_queue_handle_src_query),
14228         (gst_queue_src_activate_push):
14229         Make queue collect data even if the srcpad is not linked.
14230         Start pushing out data as soon as it is linked.
14231
14232         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14233         * gst/gstutils.h:
14234         Added gst_flow_get_name() to ease error reporting.
14235
14236 2005-07-20  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/gstmessage.c: (gst_message_new_segment_start),
14239         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14240         (gst_message_parse_segment_done):
14241         * gst/gstmessage.h:
14242         Added a bunch of messages for advanced seeking.
14243
14244         * gst/parse/grammar.y:
14245         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14246         (gst_dpman_state_changed):
14247         Fix some new-pad -> pad-added signals
14248
14249 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14250
14251         * docs/manual/appendix-porting.xml:
14252         * docs/pwg/appendix-porting.xml:
14253           Document new-pad/state-change signal renames and the FixedList
14254           type rename.
14255
14256 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14257
14258         * docs/manual/advanced-autoplugging.xml:
14259         * docs/manual/basics-helloworld.xml:
14260         * docs/manual/basics-pads.xml:
14261         * docs/random/ds/0.9-suggested-changes:
14262         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14263         * gst/gstelement.h:
14264         * gst/gstevent.h:
14265         * gst/gstformat.h:
14266         * gst/gstquery.h:
14267         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14268         (gst_structure_parse_array), (gst_structure_parse_value):
14269         * gst/gstvalue.c: (gst_type_is_fixed),
14270         (gst_value_list_prepend_value), (gst_value_list_append_value),
14271         (gst_value_list_get_size), (gst_value_list_get_value),
14272         (gst_value_transform_array_string), (gst_value_serialize_array),
14273         (gst_value_deserialize_array), (gst_value_intersect_array),
14274         (gst_value_is_fixed), (_gst_value_initialize):
14275         * gst/gstvalue.h:
14276           GstElement::new-pad -> pad-added, GstElement::state-change ->
14277           state-changed, GstValueFixedList -> GstValueArray, add format and
14278           flags as their own arguments in gst_element_seek() (should improve
14279           "bindeability"), remove function generators since they don't work
14280           under a whole bunch of compilers (they were deprecated already
14281           anyway).
14282
14283 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14284
14285         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14286         (_gst_debug_register_funcptr):
14287         * gst/gstinfo.h:
14288           Fix illegal cast on some platforms (#309253).
14289
14290 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14291
14292         * gst/gstmessage.c: (gst_message_new_custom):
14293         * gst/gstmessage.h:
14294           Add _new_custom, make _new_application a macro to _new_custom.
14295
14296 2005-07-20  Wim Taymans  <wim@fluendo.com>
14297
14298         * gst/base/gstbasesrc.c: (gst_base_src_init),
14299         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14300         * gst/base/gstbasesrc.h:
14301         Add a gboolean to decide when to push out a discont.
14302
14303         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14304         (gst_queue_loop), (gst_queue_handle_src_query),
14305         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14306         (gst_queue_set_property), (gst_queue_get_property):
14307         Some cleanups.
14308
14309         * tests/threadstate/threadstate1.c: (main):
14310         Make a thread test compile and run... very silly..
14311
14312
14313 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14314
14315         * docs/manual/appendix-porting.xml:
14316           Mention removal of libgstgconf-0.9.la and existence of gconf
14317           elements.
14318
14319 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14320
14321         * docs/pwg/advanced-clock.xml:
14322         * docs/pwg/appendix-porting.xml:
14323         * docs/pwg/intro-preface.xml:
14324         * docs/pwg/other-base.xml:
14325         * docs/pwg/other-manager.xml:
14326         * docs/pwg/other-nton.xml:
14327         * docs/pwg/other-ntoone.xml:
14328         * docs/pwg/other-oneton.xml:
14329         * docs/pwg/pwg.xml:
14330           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14331           demuxer), remove n-to-n (was never written), fix some code examples
14332           and links and update the porting section to include all this.
14333
14334 2005-07-19  Wim Taymans  <wim@fluendo.com>
14335
14336         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14337         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14338         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14339         (gst_queue_src_activate_push), (gst_queue_change_state),
14340         (gst_queue_get_property):
14341         * gst/gstqueue.h:
14342         Propagate GstFlowReturn more intelligently upstream and output
14343         an ERROR/EOS when streaming stopped due to fatal error.
14344
14345 2005-07-19  Wim Taymans  <wim@fluendo.com>
14346
14347         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14348         Don't block forever for the state change to complete, the
14349         pipeline already did with a sensible timeout.
14350
14351 2005-07-19  Wim Taymans  <wim@fluendo.com>
14352
14353         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14354         Make sure we never call the create function is we
14355         got deactivated.
14356
14357 2005-07-19  Andy Wingo  <wingo@pobox.com>
14358
14359         * gst/parse/parse.l: Attempt to solve bug #172815.
14360
14361 2005-07-19  Wim Taymans  <wim@fluendo.com>
14362
14363         * docs/design/part-clocks.txt:
14364         * docs/design/part-events.txt:
14365         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14366         Small docs updates.
14367         Only update the seeking values when we are not
14368         busy streaming.
14369
14370 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14371
14372         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14373           Oops, ignore the result of gst_pad_push_event here.
14374
14375 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14376
14377         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14378         (gst_base_src_activate_push):
14379           Send discont event from the loop function, as pads
14380           aren't activated yet in the activate_push handler.
14381
14382         * gst/gstbin.c: (bin_bus_handler):
14383           Don't leak element name.
14384
14385 2005-07-18  Andy Wingo  <wingo@pobox.com>
14386
14387         * configure.ac: Use AS_LIBTOOL_TAGS.
14388
14389 2005-07-18  Wim Taymans  <wim@fluendo.com>
14390
14391         * docs/gst/gstreamer.types:
14392         Remove deleted types.
14393
14394 2005-07-18  Wim Taymans  <wim@fluendo.com>
14395
14396         * check/elements/gstfakesrc.c: (GST_START_TEST):
14397         * configure.ac:
14398         * gst/Makefile.am:
14399         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14400         (init_popt_callback):
14401         * gst/gst.h:
14402         * gst/gst_private.h:
14403         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14404         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14405         * gst/gstbin.h:
14406         * gst/gstbus.h:
14407         * gst/gstconfig.h.in:
14408         * gst/gstelement.c: (gst_element_class_init),
14409         (gst_element_set_base_time), (gst_element_get_base_time),
14410         (iterator_fold_with_resync), (gst_element_change_state),
14411         (gst_element_dispose), (gst_element_get_bus):
14412         * gst/gstelement.h:
14413         * gst/gstelementfactory.h:
14414         * gst/gsterror.c: (_gst_core_errors_init):
14415         * gst/gsterror.h:
14416         * gst/gstevent.h:
14417         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14418         * gst/gstindex.c:
14419         * gst/gstinfo.c: (_gst_debug_init):
14420         * gst/gstmessage.c: (_gst_message_copy):
14421         * gst/gstmessage.h:
14422         * gst/gstminiobject.h:
14423         * gst/gstobject.c:
14424         * gst/gstobject.h:
14425         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14426         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14427         * gst/gstpad.h:
14428         * gst/gstparse.h:
14429         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14430         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14431         (gst_pipeline_get_last_stream_time):
14432         * gst/gstpipeline.h:
14433         * gst/gstpluginfeature.h:
14434         * gst/gstquery.h:
14435         * gst/gstscheduler.c:
14436         * gst/gstscheduler.h:
14437         * gst/gststructure.h:
14438         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14439         (gst_task_finalize), (gst_task_func), (gst_task_create),
14440         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14441         (gst_task_stop), (gst_task_pause):
14442         * gst/gsttask.h:
14443         * gst/gsttypefind.h:
14444         * gst/gsttypes.h:
14445         * gst/registries/gstlibxmlregistry.c: (load_feature),
14446         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14447         * gst/registries/gstxmlregistry.c:
14448         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14449         * gst/schedulers/threadscheduler.c:
14450         * libs/gst/control/dparammanager.h:
14451         * tools/gst-inspect.c: (print_element_list),
14452         (print_plugin_features), (print_element_features):
14453         * tools/gst-xmlinspect.c: (print_element_list),
14454         (print_plugin_info), (main):
14455         Removed plugable schedulers.
14456         Removed Scheduler/Manager from elements.
14457         Removed gsttypes.h, rearranged includes.
14458         Removed dependency pad<->element, element<>pipeline, and
14459         various others,  fix includes.
14460         implement gst_pad_get_parent() with gst_object_get_parent()
14461         Make GstTask sefcontained.
14462         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14463         timeout.
14464         Fix endless loop in iterator_fold_with_resync.
14465
14466
14467 2005-07-18  Wim Taymans  <wim@fluendo.com>
14468
14469         * gst/Makefile.am:
14470         * gst/gstarch.h:
14471         Remove old file.
14472
14473 2005-07-18  Wim Taymans  <wim@fluendo.com>
14474
14475         * gst/Makefile.am:
14476         No more cothreads.h
14477
14478 2005-07-18  Wim Taymans  <wim@fluendo.com>
14479
14480         * gst/cothreads.c:
14481         * gst/cothreads.h:
14482         Let's remove these.
14483
14484 2005-07-18  Wim Taymans  <wim@fluendo.com>
14485
14486         * docs/design/part-dynamic.txt:
14487         * docs/design/part-events.txt:
14488         * docs/design/part-seeking.txt:
14489         Some more docs in the works.
14490
14491         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14492         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14493         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14494         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14495         (gst_base_transform_handle_buffer),
14496         (gst_base_transform_sink_activate_push),
14497         (gst_base_transform_src_activate_pull),
14498         (gst_base_transform_set_passthrough),
14499         (gst_base_transform_is_passthrough):
14500         Refcounting fixes.
14501
14502         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14503         Cleanups.
14504
14505         * gst/gstevent.c: (gst_event_finalize):
14506         Set SRC to NULL.
14507
14508         * gst/gstutils.c: (gst_element_unlink),
14509         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14510         (gst_pad_proxy_setcaps):
14511         * gst/gstutils.h:
14512         Add _get_parent_element() to get a pads parent as an element.
14513
14514 2005-07-18  Wim Taymans  <wim@fluendo.com>
14515
14516         * check/gst/gstbin.c: (GST_START_TEST):
14517         Remove bogus test.
14518
14519 2005-07-18  Wim Taymans  <wim@fluendo.com>
14520
14521         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14522         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14523         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14524         (gst_base_sink_event), (gst_base_sink_do_sync),
14525         (gst_base_sink_chain), (gst_base_sink_loop),
14526         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14527         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14528         Refcounting fixes.
14529         Fix logic for returning ASYNC when not prerolled.
14530
14531 2005-07-18  Wim Taymans  <wim@fluendo.com>
14532
14533         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14534         Fix nasty refcount bug.
14535
14536 2005-07-16 Philippe Khalaf <burger@speedy.org>
14537
14538         * gst/elements/gstfdsrc.c:
14539         * gst/elements/gstfdsrc.h:
14540         * gst/elements/gstelements.c:
14541         * gst/elements/Makefile.am:
14542         Ported fdsrc to 0.9.
14543
14544 2005-07-16  Wim Taymans  <wim@fluendo.com>
14545
14546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14547         (gst_base_sink_do_sync):
14548         Fix compile error.
14549
14550 2005-07-16  Wim Taymans  <wim@fluendo.com>
14551
14552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14553         (gst_base_sink_event), (gst_base_sink_get_times),
14554         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14555         * gst/base/gstbasesink.h:
14556         Store and use discont values when syncing buffers as described
14557         in design docs.
14558         
14559         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14560         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14561         (gst_base_src_activate_push):
14562         Push discont event when starting.
14563
14564         * gst/elements/gstidentity.c: (gst_identity_transform):
14565         Small cleanups.
14566
14567         * gst/gstbin.c: (gst_bin_change_state):
14568         Small cleanups in base_time  distribution.
14569
14570         * gst/gstelement.c: (gst_element_set_base_time),
14571         (gst_element_get_base_time), (gst_element_change_state):
14572         * gst/gstelement.h:
14573         Added methods for the base_time of the element.
14574         Some MT fixes.
14575
14576         * gst/gstpipeline.c: (gst_pipeline_send_event),
14577         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14578         (gst_pipeline_get_last_stream_time):
14579         * gst/gstpipeline.h:
14580         MT fixes.
14581         Handle seeking as described in design doc, remove stream_time
14582         hack.
14583         Cleanups clock and stream_time selection code. Added accessors
14584         for the stream_time.
14585         
14586
14587 2005-07-16  Andy Wingo  <wingo@pobox.com>
14588
14589         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14590         (#305291).
14591
14592 2005-07-16  Wim Taymans  <wim@fluendo.com>
14593
14594         * check/gst/gstbin.c: (GST_START_TEST):
14595         Make elements silent as the deep_notify refs the
14596         parent, which might make the test fail.
14597
14598         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14599         Don't hold the lock for too long.
14600
14601 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14602
14603         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14604           Don't unref the caps we passed to gst_caps_make_writable() after
14605           passing them. gst_caps_make_writable() will do that for us.
14606
14607 2005-07-15  Andy Wingo  <wingo@pobox.com>
14608
14609         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14610         (#157311).
14611
14612         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14613         own marshalling function for the handoff signal. Properly type the
14614         buffer as a buffer. Fixes some warnings. Should do a more general
14615         solution.
14616         (gst_identity_class_init): Plug into the right marshaller.
14617
14618 2005-07-15  Wim Taymans  <wim@fluendo.com>
14619
14620         * docs/design/part-TODO.txt:
14621         * docs/design/part-clocks.txt:
14622         * docs/design/part-element-sink.txt:
14623         * docs/design/part-events.txt:
14624         * docs/design/part-gstpipeline.txt:
14625         Updated docs, mostly DISCONT related.
14626
14627 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14628
14629         * docs/pwg/building-pads.xml:
14630           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14631
14632 2005-07-15  Andy Wingo  <wingo@pobox.com>
14633
14634         * tools/gst-typefind.c: Update, add copyright block.
14635
14636         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14637         Normalize and truncate caps before fixation.
14638
14639         * gst/gstcaps.h:
14640         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14641         discards all but the first structure from its argument.
14642
14643 2005-07-15  Wim Taymans  <wim@fluendo.com>
14644
14645         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14646         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14647         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14648         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14649         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14650         (gst_base_transform_chain), (gst_base_transform_change_state),
14651         (gst_base_transform_set_passthrough),
14652         (gst_base_transform_is_passthrough):
14653         * gst/base/gstbasetransform.h:
14654         Make passthrough work using the bufferpools.
14655         Changed API a bit, subclasses have to write into a buffer
14656         provided by the base class.
14657         More debug info in nego functions.
14658         
14659         * gst/elements/gstidentity.c: (gst_identity_init),
14660         (gst_identity_transform):
14661         Port to new base class.
14662
14663 2005-07-15  Wim Taymans  <wim@fluendo.com>
14664
14665         * gst/gstmessage.c: (gst_message_new_state_changed):
14666         * tools/gst-launch.c: (event_loop), (main):
14667         Totally dump messages in -launch with the -m option.
14668         Fix message name for State messages,
14669
14670 2005-07-14  Wim Taymans  <wim@fluendo.com>
14671
14672         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14673         Post error messages on errors.
14674
14675 2005-07-14  Wim Taymans  <wim@fluendo.com>
14676
14677         * gst/gstcaps.c: (gst_caps_do_simplify):
14678         Remove debug info.
14679
14680         * gst/gsterror.h:
14681         Define error for stream stopped.
14682
14683         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14684         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14685         Do proper return values.
14686
14687         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14688         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14689         (gst_pad_get_range):
14690         Better return values.
14691
14692         * gst/gstpad.h:
14693         Reorganise return values, add macro to check for fatal errors.
14694
14695         * gst/gstqueue.c: (gst_queue_chain):
14696         Return proper GstFlowReturn values,
14697
14698 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14699
14700         * docs/gst/gstreamer-sections.txt:
14701         * docs/gst/gstreamer.types:
14702         * docs/gst/tmpl/gst.sgml:
14703         * docs/gst/tmpl/gstbasesink.sgml:
14704         * docs/gst/tmpl/gstbasesrc.sgml:
14705         * docs/gst/tmpl/gstbasetransform.sgml:
14706         * docs/gst/tmpl/gstbin.sgml:
14707         * docs/gst/tmpl/gstbuffer.sgml:
14708         * docs/gst/tmpl/gstcaps.sgml:
14709         * docs/gst/tmpl/gstclock.sgml:
14710         * docs/gst/tmpl/gstcompat.sgml:
14711         * docs/gst/tmpl/gstconfig.sgml:
14712         * docs/gst/tmpl/gstelement.sgml:
14713         * docs/gst/tmpl/gstelementdetails.sgml:
14714         * docs/gst/tmpl/gstelementfactory.sgml:
14715         * docs/gst/tmpl/gstenumtypes.sgml:
14716         * docs/gst/tmpl/gsterror.sgml:
14717         * docs/gst/tmpl/gstevent.sgml:
14718         * docs/gst/tmpl/gstfakesink.sgml:
14719         * docs/gst/tmpl/gstfakesrc.sgml:
14720         * docs/gst/tmpl/gstfilesink.sgml:
14721         * docs/gst/tmpl/gstfilesrc.sgml:
14722         * docs/gst/tmpl/gstfilter.sgml:
14723         * docs/gst/tmpl/gstformat.sgml:
14724         * docs/gst/tmpl/gstghostpad.sgml:
14725         * docs/gst/tmpl/gstimplementsinterface.sgml:
14726         * docs/gst/tmpl/gstindex.sgml:
14727         * docs/gst/tmpl/gstindexfactory.sgml:
14728         * docs/gst/tmpl/gstinfo.sgml:
14729         * docs/gst/tmpl/gstiterator.sgml:
14730         * docs/gst/tmpl/gstmacros.sgml:
14731         * docs/gst/tmpl/gstmemchunk.sgml:
14732         * docs/gst/tmpl/gstminiobject.sgml:
14733         * docs/gst/tmpl/gstobject.sgml:
14734         * docs/gst/tmpl/gstpad.sgml:
14735         * docs/gst/tmpl/gstpadtemplate.sgml:
14736         * docs/gst/tmpl/gstparse.sgml:
14737         * docs/gst/tmpl/gstpipeline.sgml:
14738         * docs/gst/tmpl/gstplugin.sgml:
14739         * docs/gst/tmpl/gstpluginfeature.sgml:
14740         * docs/gst/tmpl/gstquery.sgml:
14741         * docs/gst/tmpl/gstqueue.sgml:
14742         * docs/gst/tmpl/gstregistry.sgml:
14743         * docs/gst/tmpl/gstregistrypool.sgml:
14744         * docs/gst/tmpl/gstscheduler.sgml:
14745         * docs/gst/tmpl/gstschedulerfactory.sgml:
14746         * docs/gst/tmpl/gststructure.sgml:
14747         * docs/gst/tmpl/gstsystemclock.sgml:
14748         * docs/gst/tmpl/gsttaglist.sgml:
14749         * docs/gst/tmpl/gsttagsetter.sgml:
14750         * docs/gst/tmpl/gsttrace.sgml:
14751         * docs/gst/tmpl/gsttrashstack.sgml:
14752         * docs/gst/tmpl/gsttypefind.sgml:
14753         * docs/gst/tmpl/gsttypefindfactory.sgml:
14754         * docs/gst/tmpl/gsttypes.sgml:
14755         * docs/gst/tmpl/gsturihandler.sgml:
14756         * docs/gst/tmpl/gsturitype.sgml:
14757         * docs/gst/tmpl/gstutils.sgml:
14758         * docs/gst/tmpl/gstvalue.sgml:
14759         * docs/gst/tmpl/gstversion.sgml:
14760         * docs/gst/tmpl/gstxml.sgml:
14761         * docs/libs/tmpl/gstcontrol.sgml:
14762         * docs/libs/tmpl/gstdataprotocol.sgml:
14763         * docs/libs/tmpl/gstdparam.sgml:
14764         * docs/libs/tmpl/gstdplinint.sgml:
14765         * docs/libs/tmpl/gstdpman.sgml:
14766         * docs/libs/tmpl/gstdpsmooth.sgml:
14767         * docs/libs/tmpl/gstgetbits.sgml:
14768         * docs/libs/tmpl/gstunitconvert.sgml:
14769         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14770         (gst_push_src_base_init), (gst_push_src_class_init),
14771         (gst_push_src_init), (gst_push_src_create):
14772         * gst/base/gstpushsrc.h:
14773         * gst/elements/gstelements.c:
14774         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14775         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14776         (gst_fake_sink_init), (gst_fake_sink_set_property),
14777         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14778         (gst_fake_sink_event), (gst_fake_sink_preroll),
14779         (gst_fake_sink_render), (gst_fake_sink_change_state):
14780         * gst/elements/gstfakesink.h:
14781         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14782         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14783         (gst_fake_src_base_init), (gst_fake_src_class_init),
14784         (gst_fake_src_init), (gst_fake_src_event_handler),
14785         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14786         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14787         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14788         (gst_fake_src_create_buffer), (gst_fake_src_create),
14789         (gst_fake_src_start), (gst_fake_src_stop):
14790         * gst/elements/gstfakesrc.h:
14791         * gst/elements/gstfilesink.c: (_do_init),
14792         (gst_file_sink_base_init), (gst_file_sink_class_init),
14793         (gst_file_sink_init), (gst_file_sink_dispose),
14794         (gst_file_sink_set_location), (gst_file_sink_set_property),
14795         (gst_file_sink_get_property), (gst_file_sink_open_file),
14796         (gst_file_sink_close_file), (gst_file_sink_query),
14797         (gst_file_sink_event), (gst_file_sink_render),
14798         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14799         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14800         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14801         * gst/elements/gstfilesink.h:
14802         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14803         (gst_file_src_class_init), (gst_file_src_init),
14804         (gst_file_src_finalize), (gst_file_src_set_location),
14805         (gst_file_src_set_property), (gst_file_src_get_property),
14806         (gst_file_src_map_region), (gst_file_src_map_small_region),
14807         (gst_file_src_create_mmap), (gst_file_src_create_read),
14808         (gst_file_src_create), (gst_file_src_is_seekable),
14809         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14810         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14811         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14812         (gst_file_src_uri_handler_init):
14813         * gst/elements/gstfilesrc.h:
14814           more autistic cleanliness in functions/names/defines
14815
14816 2005-07-13  Andy Wingo  <wingo@pobox.com>
14817
14818         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14819         source couldn't negotiate.
14820
14821         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14822         connections again.
14823
14824         * gst/gstutils.h:
14825         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14826         function. I am channeling Hades. Put your boots on suckers!!!
14827
14828 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14829
14830         * testsuite/caps/Makefile.am:
14831         * testsuite/caps/value_compare.c:
14832         * testsuite/caps/value_intersect.c:
14833         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14834           move two testsuite apps over to the check dir
14835
14836 2005-07-12  Wim Taymans  <wim@fluendo.com>
14837
14838         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14839         Added more debug info in the negotiate process.
14840
14841         * gst/gstmessage.h:
14842         Prepare for segment playback.
14843
14844         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14845         Better debugging.
14846
14847         * gst/gstutils.c:
14848         Some more docs.
14849
14850         * tools/gst-launch.c: (main):
14851         NULL pipeline on errors.
14852
14853 2005-07-12  Andy Wingo  <wingo@pobox.com>
14854
14855         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14856         not it comes from a malloc region. Make sure our copy gets freed.
14857
14858 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14859
14860         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14861         * check/gst/gstmessage.c: (GST_START_TEST):
14862         * check/gst/gststructure.c: (GST_START_TEST),
14863         (gst_structure_suite), (main):
14864           more testing
14865         * gst/gstelement.c: (gst_element_message_full):
14866           clean up GError and debug string now that they get copied
14867         * gst/gstmessage.c: (gst_message_new_error),
14868         (gst_message_new_warning), (gst_message_parse_error),
14869         (gst_message_parse_warning):
14870           use GST_TYPE_G_ERROR for structure_new, and take copies of
14871           arguments, so that we don't mess up refcounting
14872
14873 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14874
14875         * check/Makefile.am:
14876           add per-test valgrind targets
14877         * check/gst-libs/gdp.c: (GST_START_TEST),
14878         (gst_data_protocol_suite), (main):
14879           clean up
14880
14881 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14882
14883         * check/Makefile.am:
14884           instate more valgrindable tests
14885         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14886         (GST_START_TEST), (fakesrc_suite):
14887         * check/gst/gstpad.c: (GST_START_TEST):
14888         * check/gst/gststructure.c: (GST_START_TEST):
14889           fix test leaks
14890         * docs/gst/tmpl/gstminiobject.sgml:
14891         * gst/gstpad.c: (gst_pad_finalize):
14892           fix the static mutex leak
14893
14894 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14895
14896         * check/Makefile.am:
14897           add two more tests for valgrinding
14898         * check/gst/gstvalue.c: (GST_START_TEST):
14899           test refcount of deserialized buffer, found a leak
14900         * docs/gst/gstreamer-docs.sgml:
14901         * docs/gst/gstreamer-sections.txt:
14902         * docs/gst/gstreamer.types:
14903         * docs/gst/tmpl/gstminiobject.sgml:
14904           add miniobject to docs
14905         * gst/gstminiobject.c:
14906           add some docs
14907         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14908         (gst_string_unwrap):
14909           fix a hard-to-find invalid write for one of the tests
14910           fix a leak for deserialized buffers
14911
14912 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14913
14914         * docs/pwg/advanced-events.xml:
14915         * docs/pwg/advanced-request.xml:
14916         * docs/pwg/advanced-scheduling.xml:
14917         * docs/pwg/appendix-porting.xml:
14918         * docs/pwg/building-boiler.xml:
14919         * docs/pwg/intro-preface.xml:
14920         * docs/pwg/other-ntoone.xml:
14921           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14922           of example code and explanation for pad activation, loop() and
14923           getrange() functions and a bit more. Remove old comments pointing
14924           to loop-functions.
14925         * examples/pwg/Makefile.am:
14926           Add loop/getrange examples.
14927
14928 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14929
14930         * configure.ac:
14931           check for valgrind binary + some fixes
14932         * check/gst.supp:
14933           valgrind suppressions for the tests
14934         * check/Makefile.am:
14935           add a valgrind: target that valgrinds the unit tests
14936         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14937         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14938         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14939         * check/gst/gstghostpad.c:
14940           added some cleanup
14941         * check/gst/gstdata.c:
14942           removed
14943         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14944         (thread_unref), (gst_mini_object_suite), (main):
14945           added
14946         * gst/gst.c: (gst_deinit):
14947         * gst/gst.h:
14948           add a method to clean up.
14949         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14950         (gst_system_clock_obtain):
14951           allow for disposing the system clock.
14952         * tools/gst-launch.c: (main):
14953           deinit
14954
14955 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14956
14957         * docs/gst/tmpl/gstbasesrc.sgml:
14958         * docs/gst/tmpl/gstfakesrc.sgml:
14959         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14960         (gst_base_src_init), (gst_base_src_set_property),
14961         (gst_base_src_get_property), (gst_base_src_get_range),
14962         (gst_base_src_start):
14963         * gst/base/gstbasesrc.h:
14964           add num-buffers property
14965         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14966         (gst_fakesrc_init), (gst_fakesrc_set_property),
14967         (gst_fakesrc_get_property), (gst_fakesrc_create),
14968         (gst_fakesrc_start):
14969           remove num-buffers property
14970
14971 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14972
14973         * docs/gst/gstreamer-sections.txt:
14974         * docs/gst/tmpl/gstbasesink.sgml:
14975         * docs/gst/tmpl/gstbasesrc.sgml:
14976         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14977         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14978         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14979         (gst_base_sink_set_property), (gst_base_sink_get_property),
14980         (gst_base_sink_handle_object), (gst_base_sink_event),
14981         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14982         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14983         (gst_base_sink_loop), (gst_base_sink_deactivate),
14984         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14985         (gst_base_sink_change_state):
14986         * gst/base/gstbasesink.h:
14987         * gst/base/gstbasesrc.h:
14988         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14989         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14990         (gst_filesink_init):
14991           more macro splitting
14992
14993 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14994
14995         * gst/gstelement.c: (gst_element_get_bus):
14996           add debug
14997         * tools/gst-launch.c: (check_intr), (event_loop):
14998           fix bus leaks
14999
15000 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15001
15002         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15003           fix a caps leak
15004
15005 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15006
15007         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15008         (gst_base_src_finalize):
15009           add finalize method and clean up properly
15010         * gst/gstpipeline.c: (gst_pipeline_dispose):
15011           add debug
15012
15013 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15014
15015         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15016         (gst_bin_suite):
15017           add more things to check
15018         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15019         * gst/gstelement.c:
15020           more debug
15021
15022 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15023
15024         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15025         (GST_START_TEST), (fakesrc_suite):
15026         * check/gst-libs/gdp.c: (GST_START_TEST):
15027         * check/gst/gst.c: (GST_START_TEST):
15028         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15029         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15030         * check/gst/gstbus.c: (GST_START_TEST):
15031         * check/gst/gstcaps.c: (GST_START_TEST):
15032         * check/gst/gstdata.c: (GST_START_TEST):
15033         * check/gst/gstelement.c: (GST_START_TEST):
15034         * check/gst/gstghostpad.c: (GST_START_TEST):
15035         * check/gst/gstiterator.c: (GST_START_TEST):
15036         * check/gst/gstmessage.c: (GST_START_TEST):
15037         * check/gst/gstobject.c: (GST_START_TEST):
15038         * check/gst/gstpad.c: (GST_START_TEST):
15039         * check/gst/gststructure.c: (GST_START_TEST):
15040         * check/gst/gstsystemclock.c: (GST_START_TEST),
15041         (gst_systemclock_suite):
15042         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15043         * check/gst/gstvalue.c: (GST_START_TEST):
15044         * check/pipelines/cleanup.c: (GST_START_TEST):
15045         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15046         * check/states/sinks.c: (GST_START_TEST):
15047         * check/gstcheck.c: (gst_check_init):
15048         * check/gstcheck.h:
15049           add debugging category
15050           use GST_START_TEST now, so we add a debug line
15051
15052 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15053
15054         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15055           add test for state change message on a bin
15056         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15057           add another test
15058         * gst/gstbin.c: (gst_bin_init):
15059         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15060         * gst/gstelement.c: (gst_element_post_message),
15061         (gst_element_set_state):
15062         * gst/gstelementfactory.c: (gst_element_factory_create):
15063         * gst/gstmessage.c: (gst_message_new):
15064         * gst/gstscheduler.c:
15065           various debugging additions and cleanups
15066
15067 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15068
15069         * check/Makefile.am:
15070         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15071         (main):
15072           adding tests for elements
15073         * gst/gstelement.c: (gst_element_dispose):
15074
15075 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15076
15077         * gst/registries/gstlibxmlregistry.c: (load_feature):
15078           plug more leaks.  A simple gst_init() now is leakfree, yay.
15079
15080 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15081
15082         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15083         (gst_xml_registry_load):
15084           plug another memleak
15085
15086 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15087
15088         * configure.ac:
15089           use GST_SET_ERROR_CFLAGS
15090         * docs/faq/cvs.xml:
15091           change to ERROR_CFLAGS
15092
15093 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15094
15095         * configure.ac:
15096           make GST_ERROR_CFLAGS overridable and re-enable Werror
15097         * docs/faq/cvs.xml:
15098           add a note about error CFLAGS
15099         * docs/gst/tmpl/gstfakesrc.sgml:
15100         * gst/elements/gstfakesrc.c:
15101           comment out some unused code
15102         * gst/gst.c: (split_and_iterate):
15103         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15104         (load_feature):
15105           plug some memleaks
15106
15107 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15108
15109         * common/Makefile.am:
15110         * common/gtk-doc.mak:
15111         * docs/gst/Makefile.am:
15112           factor out gtk-doc.mak
15113
15114 2005-07-07  Wim Taymans  <wim@fluendo.com>
15115
15116         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15117         (gst_thread_scheduler_dispose):
15118         Unlock the STREAM_LOCK completely.
15119
15120 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15121
15122         * check/Makefile.am:
15123         * check/elements/.cvsignore:
15124         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15125         (START_TEST), (fakesrc_suite), (main):
15126         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15127         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15128         (gst_fakesrc_create), (gst_fakesrc_start):
15129         * gst/elements/gstfakesrc.h:
15130           adding a first element test
15131
15132 2005-07-07  Andy Wingo  <wingo@pobox.com>
15133
15134         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15135         debug message.
15136
15137 2005-07-07  Wim Taymans  <wim@fluendo.com>
15138
15139         * gst/gstquery.c:
15140         * gst/gstquery.h:
15141         Remove old types
15142
15143 2005-07-07  Wim Taymans  <wim@fluendo.com>
15144
15145         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15146         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15147         Allow subclasses to implement their own negotiation.
15148
15149 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15150
15151         * docs/design/part-gstbin.txt:
15152         * docs/design/part-gstpipeline.txt:
15153           Update design notes to reflect the movement of
15154           responsibility for bus handling from GstPipeline to
15155           GstBin
15156
15157 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15158
15159         * configure.ac:
15160           Remove unnecessary queue2/3/4 examples.
15161
15162 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15163
15164         * examples/Makefile.am:
15165         * examples/helloworld/helloworld.c: (event_loop), (main):
15166         * examples/queue/queue.c: (event_loop), (main):
15167         * examples/queue2/queue2.c: (main):
15168           Update a couple of the examples to work again.
15169
15170         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15171         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15172          Spelling corrections and extra debug.
15173         
15174         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15175         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15176         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15177         * gst/gstbin.h:
15178         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15179         (gst_pipeline_change_state):
15180         * gst/gstpipeline.h:
15181           Move the bus handler for children to the GstBin, and create a
15182           separate bus for receiving messages from children to the one the
15183           bus sends 'upwards' on.
15184
15185 2005-07-06  Wim Taymans  <wim@fluendo.com>
15186
15187         * gst/base/README:
15188         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15189         (gst_base_sink_handle_object), (gst_base_sink_loop),
15190         (gst_base_sink_change_state):
15191         * gst/base/gstbasesink.h:
15192         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15193         (gst_base_src_init), (gst_base_src_setcaps),
15194         (gst_base_src_getcaps), (gst_base_src_loop),
15195         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15196         (gst_base_src_start), (gst_base_src_change_state):
15197         * gst/base/gstbasesrc.h:
15198         Make basesrc negotiate.
15199         Handle the case where preroll fails in basesink.
15200         Update README.
15201
15202 2005-07-06  Wim Taymans  <wim@fluendo.com>
15203
15204         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15205         Implement the fixate function.
15206         Clean up acceptcaps.
15207
15208 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15209
15210         * docs/pwg/building-filterfactory.xml:
15211         * docs/pwg/pwg.xml:
15212           Remove never-written filter-factory chapter; I'll add the various
15213           base classes to part 4 ("other element types") later on.
15214
15215 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15216
15217         * docs/pwg/advanced-negotiation.xml:
15218         * docs/pwg/building-boiler.xml:
15219         * docs/pwg/building-pads.xml:
15220         * docs/pwg/pwg.xml:
15221         * examples/pwg/Makefile.am:
15222           Add a chapter on caps negotiation, simplify the original code
15223           samples a bit w.r.t. caps negotiation, add link to the advanced
15224           section. Add a bunch of examples showing different use cases of
15225           different types of caps negotiation. Upstream renegotiation isn't
15226           fully documented yet since nobody knows how that works.
15227
15228 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15229
15230         * check/gst/gstpad.c:
15231         * check/gstcheck.c:
15232         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15233           if pad has no parent, return NULL as list of internal links
15234
15235 2005-07-05  Andy Wingo  <wingo@pobox.com>
15236
15237         * gst/elements/gstfilesrc.c:
15238         * gst/elements/gstfakesrc.c: 
15239         * gst/base/gstpushsrc.c:
15240         * gst/base/gstbasesrc.h: 
15241         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15242         
15243 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15244
15245         * Makefile.am:
15246           better report generation target (lcov needs a patch)
15247
15248 2005-07-05  Andy Wingo  <wingo@pobox.com>
15249
15250         * gst/elements, testsuite: Null if we got it...
15251
15252 2005-07-05  Wim Taymans  <wim@fluendo.com>
15253
15254         * configure.ac:
15255         * libs/gst/dataprotocol/Makefile.am:
15256         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15257         * libs/gst/dataprotocol/dataprotocol.h:
15258         * pkgconfig/Makefile.am:
15259         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15260         * pkgconfig/gstreamer-dataprotocol.pc.in:
15261         Ported dataprotol to 0.9. 
15262         Added pkgconfig files.
15263
15264 2005-07-05  Andy Wingo  <wingo@pobox.com>
15265
15266         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15267         Default to returning TRUE for the case when tranform_caps returns
15268         a fixed caps, like for identity or volume.
15269
15270         * check/gst/gstbus.c (pound_bus_with_messages): 
15271         * check/gst/gstmessage.c (START_TEST): 
15272         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15273         message API change.
15274
15275         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15276         logic weaks here: always run transform_caps, trying passthrough
15277         operation only if the original caps intersects with the transform.
15278
15279         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15280         source and sink caps.
15281
15282         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15283         Intersect the peer caps with the pad template before going into
15284         transform_caps.
15285         (gst_base_transform_transform_caps): More debugging.
15286
15287         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15288         src argument.
15289
15290 2005-07-04  Edward Hervey  <edward@fluendo.com>
15291
15292         * gst/gstutils.c:
15293         * gst/gstutils.h:
15294         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15295         in bindings.
15296
15297 2005-07-04  Andy Wingo  <wingo@pobox.com>
15298
15299         * check/gst/gstpad.c: Only set explicit caps on pads.
15300
15301 2005-07-01  Andy Wingo  <wingo@pobox.com>
15302
15303         * tests/network-clock.scm: Commentary update.
15304
15305         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15306         Didn't really make sense, not implementable with basetransform,
15307         etc.
15308         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15309         attempt at implementing the sync property, needs an unlock method.
15310
15311         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15312         New func, by default returns the same caps (the identity
15313         transformation).
15314         (gst_base_transform_getcaps): Uses transform_caps to return
15315         something sensible.
15316         (gst_base_transform_setcaps): Complicated logic to get caps on
15317         both pads, even if they are different, and to call set_caps once
15318         for every time both pads get their caps set.
15319         (gst_base_transform_handle_buffer): Give the ref to the transform
15320         function. Allows in-place modification of the buffer.
15321
15322         * gst/base/gstbasetransform.h (transform_caps): New class method.
15323         Given caps on one side, what can I do on the other.
15324         (set_caps): Take two caps, one for each side of the element.
15325
15326         * gst/gstpad.h:
15327         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15328         caps in place. This is safe because we can check the mutability of
15329         the caps, and a good idea because fixate functions are just called
15330         as a matter of last resort. (Not actually implemented.)
15331         (gst_pad_set_caps): If the caps we're setting is actually the same
15332         as the existing pad caps, just update the pointer without calling
15333         setcaps. Assert that caps is either NULL or fixed, as per the
15334         docs.
15335
15336         * gst/gstghostpad.c: Update for fixate changes.
15337
15338 2005-07-02  Andy Wingo  <wingo@pobox.com>
15339
15340         * gst/gstcaps.c:
15341         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15342         two refcounts makes it immutable, which is enough. Doc more.
15343
15344 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15345
15346         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15347           Put the mini_object into GValue as a mini_object,
15348           not a gpointer, since that's how we declared
15349           the signal.
15350
15351 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15352
15353         * examples/pwg/Makefile.am:
15354           Fix buildbot again.
15355
15356 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15357
15358         * docs/pwg/building-testapp.xml:
15359           Add extra check.
15360         * examples/pwg/Makefile.am:
15361           Fix buildbot.
15362
15363 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15364
15365         * configure.ac:
15366         * examples/Makefile.am:
15367         * examples/pwg/Makefile.am:
15368         * examples/pwg/extract.pl:
15369           Enable building the PWG examples.
15370         * docs/pwg/advanced-interfaces.xml:
15371           Add URI interface stub.
15372         * docs/pwg/advanced-types.xml:
15373         * docs/pwg/other-autoplugger.xml:
15374         * docs/pwg/appendix-porting.xml:
15375         * docs/pwg/pwg.xml:
15376           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15377         * docs/pwg/building-boiler.xml:
15378         * docs/pwg/building-chainfn.xml:
15379         * docs/pwg/building-pads.xml:
15380         * docs/pwg/building-props.xml:
15381         * docs/pwg/building-state.xml:
15382         * docs/pwg/building-testapp.xml:
15383           Update the building-*.xml parts for 0.9 changes. All examples
15384           code blocks compile in examples/pwg/*.
15385
15386 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15387
15388         * docs/manual/advanced-autoplugging.xml:
15389         * docs/manual/appendix-checklist.xml:
15390         * docs/manual/appendix-integration.xml:
15391         * docs/manual/highlevel-components.xml:
15392           Fix playbin/decodebin examples, update docs a bit, mention bus
15393           instead of signals in various places, mention kmplayer and
15394           kaffeine since they have a working GStreamer backend in the KDE
15395           section.
15396
15397 2005-06-30  Wim Taymans  <wim@fluendo.com>
15398
15399         * CHANGES-0.9:
15400         * docs/design/draft-ghostpads.txt:
15401         * docs/design/draft-push-pull.txt:
15402         * docs/design/draft-query.txt:
15403         * docs/design/part-TODO.txt:
15404         * docs/design/part-query.txt:
15405         Added CHANGES-0.9 doc, updated status of other docs.
15406         
15407         * gst/gstquery.h:
15408         Remove "hmm" macro
15409
15410 2005-06-30  Wim Taymans  <wim@fluendo.com>
15411
15412         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15413         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15414         (gst_base_sink_change_state):
15415         * gst/base/gstbasesink.h:
15416         Some tweaks, only EOS and a buffer complete a preroll.
15417
15418 2005-06-30  Andy Wingo  <wingo@pobox.com>
15419
15420         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15421         activate_push down to the internal pad as well.
15422
15423 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15424
15425         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15426
15427         * gst/gsttaginterface.c:
15428           Some documentation fixes (#307394 and #307397).
15429
15430 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15431
15432         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15433
15434         * gst/gstvalue.c: (gst_value_intersect_list):
15435           Fix memleak (#309125).
15436
15437 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15438
15439         * docs/manual/advanced-dataaccess.xml:
15440           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15441         * docs/manual/basics-pads.xml:
15442           Add reference for filtered caps to above chapter.
15443
15444 2005-06-30  Wim Taymans  <wim@fluendo.com>
15445
15446         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15447         (gst_bin_change_state):
15448         Probes are gone.
15449         Lame attempt at making the state change function a bit
15450         more readable.
15451
15452 2005-06-30  Wim Taymans  <wim@fluendo.com>
15453
15454         * docs/design/part-clocks.txt:
15455         * docs/design/part-element-sink.txt:
15456         * docs/design/part-events.txt:
15457         * docs/design/part-preroll.txt:
15458         * docs/design/part-states.txt:
15459         Some more tweeks and additions to the docs.
15460
15461 2005-06-30  Wim Taymans  <wim@fluendo.com>
15462
15463         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15464         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15465         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15466         (gst_pad_check_pull_range), (gst_pad_get_range),
15467         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15468         * gst/gstpad.h:
15469         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15470         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15471         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15472         (gst_pad_remove_buffer_probe):
15473         Removed atomic operations, use existing LOCK.
15474         Move exception handling out of main code path.
15475
15476 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15477
15478         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15479         (silly_return_true_function), (gst_pad_class_init),
15480         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15481         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15482         (gst_pad_send_event):
15483           Fix accumulator, add default value by using _emitv() instead
15484           of _emit() for signal emission.
15485
15486 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15487
15488         * docs/manual/advanced-dataaccess.xml:
15489         * examples/manual/Makefile.am:
15490           Add probe example.
15491         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15492           Make work (??).
15493
15494 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15495
15496         * gst/elements/gstfilesink.c: (gst_filesink_render):
15497           Simplify code so that we don't have to handle short
15498           writes and return GST_FLOW_ERROR if an error occured.
15499
15500 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15501
15502         * docs/gst/gstreamer-docs.sgml:
15503           Remove probes more.
15504
15505 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15506
15507         * docs/gst/gstreamer-sections.txt:
15508         * docs/gst/tmpl/gstpad.sgml:
15509         * docs/gst/tmpl/gstprobe.sgml:
15510         * gst/Makefile.am:
15511         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15512         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15513         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15514         (gst_pad_push_event), (gst_pad_send_event):
15515         * gst/gstpad.h:
15516         * gst/gstutils.c: (gst_pad_add_data_probe),
15517         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15518         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15519         (gst_pad_remove_buffer_probe):
15520         * gst/gstutils.h:
15521           Remove old probes, add new g-signal-based probes and some utility
15522           functions.
15523
15524 2005-06-29  Edward Hervey  <edward@fluendo.com>
15525
15526         * gst/gstelementfactory.c:
15527         * gst/gstutils.h:
15528         * gst/gstutils.c:
15529         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15530         the definition to the header file.
15531
15532 2005-06-29  Andy Wingo  <wingo@pobox.com>
15533
15534         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15535         plugins from the source directory.
15536
15537 2005-06-29  Wim Taymans  <wim@fluendo.com>
15538
15539         * docs/gst/tmpl/gstbuffer.sgml:
15540         * docs/gst/tmpl/gstclock.sgml:
15541         Some fixings for blantently wrong text.
15542
15543 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15544
15545         * check/Makefile.am:
15546         * gst/gst.c: (add_path_func), (init_pre):
15547         * gst/gstregistry.c: (gst_registry_add_path):
15548           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15549           only scan the GST_PLUGIN_PATH locations, and not add
15550           system locations
15551
15552 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15553
15554         * docs/gst/gstreamer-sections.txt:
15555         * docs/gst/tmpl/gstbasesrc.sgml:
15556         * gst/gstelement.c:
15557         * gst/gstelement.h:
15558         * gst/gstevent.c:
15559         * gst/gstutils.c:
15560           doc fixes
15561
15562 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15563
15564         * docs/manual/advanced-autoplugging.xml:
15565           Fix autoplugging example.
15566
15567 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15568
15569         * docs/manual/advanced-autoplugging.xml:
15570         * docs/manual/mime-world.fig:
15571           Try to get autoplugging working, fix type detection. Fix text
15572           in hello-world image.
15573
15574 2005-06-29  Wim Taymans  <wim@fluendo.com>
15575
15576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15577         (gst_base_sink_change_state):
15578         Small debug line.
15579
15580         * gst/gstclock.h:
15581         map SIGNAL and BROADCAST to the right function.
15582
15583         * gst/gstobject.h:
15584         Remove redundant braces.
15585
15586         * gst/gstpad.c: (gst_pad_set_caps):
15587         Don't call setcaps function when reseting caps to NULL.
15588
15589         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15590         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15591         (gst_system_clock_id_unschedule):
15592         Use BROADCAST as this is what we do.
15593
15594 2005-06-29  Wim Taymans  <wim@fluendo.com>
15595
15596         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15597         We are actually prerolling before commiting the state
15598         change. 
15599
15600 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15601
15602         * docs/manual/advanced-clocks.xml:
15603         * docs/manual/advanced-interfaces.xml:
15604         * docs/manual/advanced-metadata.xml:
15605         * docs/manual/advanced-position.xml:
15606         * docs/manual/advanced-schedulers.xml:
15607         * docs/manual/advanced-threads.xml:
15608         * docs/manual/appendix-porting.xml:
15609         * docs/manual/basics-bins.xml:
15610         * docs/manual/basics-bus.xml:
15611         * docs/manual/basics-elements.xml:
15612         * docs/manual/basics-helloworld.xml:
15613         * docs/manual/basics-pads.xml:
15614         * docs/manual/highlevel-components.xml:
15615         * docs/manual/manual.xml:
15616         * docs/manual/thread.fig:
15617           Update (until threads/scheduling) Application Development Manual;
15618           remove GstThread, add GstBus, add simple porting checklist, add
15619           documentation for tag writing, clocks, make all examples until this
15620           part compile and run.
15621         * examples/manual/Makefile.am:
15622           Update from changes to Application Development Manual; add bus
15623           example, remove thread example.
15624
15625 2005-06-28  Wim Taymans  <wim@fluendo.com>
15626
15627         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15628         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15629         (gst_bus_source_dispatch):
15630         Add debugging messages.
15631         Make internal methods static.
15632         Handle the case where the bus is flushed in the handler.
15633         
15634         * gst/gstelement.c: (gst_element_get_bus):
15635         Fix refcount in _get_bus();
15636
15637         * gst/gstpipeline.c: (gst_pipeline_change_state),
15638         (gst_pipeline_get_clock_func):
15639         Clock refcounting fixes.
15640         Handle the case where preroll timed out more gracefully.
15641         
15642         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15643         Clean up the internal thread in dispose. This is needed
15644         for subclasses that actually get disposed.
15645         
15646         * gst/schedulers/threadscheduler.c:
15647         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15648         (gst_thread_scheduler_dispose):
15649         Free thread pool in dispose.
15650
15651 2005-06-28  Andy Wingo  <wingo@pobox.com>
15652
15653         * tests/network-clock-utils.scm (debug, print-event): New utils.
15654
15655         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15656         (*packet-loss*): Unified loss probability.
15657         (network-time): Report out-of-band events.
15658
15659         * tests/plot-data: Add support for out-of-band events. Hack it
15660         into this script instead of passing it down the pipe; should fix
15661         this later.
15662
15663 2005-06-28  Wim Taymans  <wim@fluendo.com>
15664
15665         * docs/gst/gstreamer.types:
15666         * docs/gst/tmpl/gstbasesrc.sgml:
15667         * docs/gst/tmpl/gstpad.sgml:
15668         Docs fixes.
15669
15670 2005-06-28  Wim Taymans  <wim@fluendo.com>
15671
15672         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15673         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15674         (gst_proxy_pad_do_fixatecaps):
15675         Correctly proxy the check_pull_range function.
15676
15677 2005-06-28  Andy Wingo  <wingo@pobox.com>
15678
15679         * tests/network-clock.scm: Removed need for slib.
15680         
15681 2005-06-28  Wim Taymans  <wim@fluendo.com>
15682
15683         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15684         (gst_basesink_preroll_queue_flush):
15685         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15686         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15687         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15688         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15689         (gst_proxy_pad_set_property):
15690         * gst/gstpad.c:
15691         * gst/gstpad.h:
15692         * gst/gstqueue.c: (gst_queue_init):
15693         The deprecated pad loop function is removed now.
15694
15695 2005-06-28  Andy Wingo  <wingo@pobox.com>
15696
15697         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15698         New parameters, simulate network packet loss.
15699
15700         * tests/network-clock-utils.scm: Initialize the RNG.
15701
15702 2005-06-28  Wim Taymans  <wim@fluendo.com>
15703
15704         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15705         (gst_basesink_event), (gst_basesink_deactivate):
15706         Flushing the preroll queue always needs to unlock the waiters.
15707
15708 2005-06-28  Edward Hervey  <edward@fluendo.com>
15709
15710         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15711         Wheen a seek was successful on a pipeline, set the stream_time to the
15712         seek offset in order to have a synchronized stream_time.
15713
15714 2005-06-28  Wim Taymans  <wim@fluendo.com>
15715
15716         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15717         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15718         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15719         (gst_proxy_pad_do_fixatecaps):
15720         Call wrapper function instead of just calling the function
15721         pointers. This takes care of any locking and whatmore.
15722
15723 2005-06-28  Wim Taymans  <wim@fluendo.com>
15724
15725         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15726         (gst_pad_pull_range):
15727         * gst/gstpad.h:
15728         CONNECTED -> LINKED.
15729
15730 2005-06-28  Andy Wingo  <wingo@pobox.com>
15731
15732         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15733         source-munging commit!!!
15734
15735         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15736         (gst_object_sink): Take gpointer arguments, not GstObject --
15737         avoids casts. Like GLib.
15738
15739         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15740         activate.
15741
15742 2005-06-27  Andy Wingo  <wingo@pobox.com>
15743
15744         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15745         remaining buffer.
15746
15747         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15748         returns a sorted copy of the trace list.
15749         (gst_alloc_trace_print_live): New API, only prints traces with
15750         live objects. Sort the list.
15751         (gst_alloc_trace_print_all): Sort the list.
15752         (gst_alloc_trace_print): Align columns.
15753
15754         * gst/elements/gstttypefindelement.c:
15755         * gst/elements/gsttee.c:
15756         * gst/base/gstbasesrc.c:
15757         * gst/base/gstbasesink.c:
15758         * gst/base/gstbasetransform.c:
15759         * gst/gstqueue.c: Adapt for pad activation changes.
15760
15761         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15762         sched.
15763         (gst_pipeline_dispose): Drop ref on sched.
15764
15765         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15766         (gst_pad_activate_default): Push mode by default.
15767         (pre_activate_switch, post_activate_switch): New stubs, things to
15768         do before and after switching activation modes on pads.
15769         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15770         the pad's activate function to choose which mode to activate.
15771         Shortcut on deactivation and call the right function directly.
15772         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15773         mode.
15774         (gst_pad_activate_push): New API, same for push mode.
15775         (gst_pad_set_activate_function) 
15776         (gst_pad_set_activatepull_function) 
15777         (gst_pad_set_activatepush_function): Setters for new API.
15778
15779         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15780         Trace all miniobjects.
15781         (gst_mini_object_make_writable): Unref the arg if we copy, like
15782         gst_caps_make_writable.
15783
15784         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15785
15786         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15787         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15788         Adapt for new pad API.
15789
15790         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15791
15792         * gst/gstelement.h:
15793         * gst/gstelement.c (gst_element_iterate_src_pads) 
15794         (gst_element_iterate_sink_pads): New API functions.
15795         
15796         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15797         should fold into gstiterator.c in some form.
15798         (gst_element_pads_activate): Simplified via use of fold and
15799         delegation of decisions to gstpad->activate.
15800
15801         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15802         help in debugging.
15803
15804         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15805         class once in init, like gstmessage. Didn't run into this issue
15806         but it seems correct. Don't initialize a trace, gstminiobject does
15807         that.
15808
15809         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15810         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15811         to the bus.
15812         (assert_live_count): New util function, uses alloc traces to check
15813         cleanup.
15814
15815         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15816         To be modified when unlink drops the internal pad.
15817
15818 2005-06-27  Wim Taymans  <wim@fluendo.com>
15819
15820         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15821         (gst_bin_change_state):
15822         Cleanup the get_state() function a little, make sure it
15823         iterates the same set of elements.
15824         Added stub iterate_state_order().
15825
15826 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15827
15828         * docs/gst/gstreamer-docs.sgml:
15829         * docs/gst/gstreamer-sections.txt:
15830         * docs/gst/gstreamer.types:
15831         * docs/gst/tmpl/gstbasesink.sgml:
15832         * docs/gst/tmpl/gstbasesrc.sgml:
15833         * docs/gst/tmpl/gstbasetransform.sgml:
15834         * docs/gst/tmpl/gstelement.sgml:
15835         * docs/gst/tmpl/gstiterator.sgml:
15836         * gst/base/gstbasesrc.c:
15837         * gst/base/gstbasesrc.h:
15838         * gst/base/gstbasetransform.h:
15839         * gst/gstelement.c:
15840         * gst/gstiterator.h:
15841           adding basetransform and iterator docs
15842
15843 2005-06-27  Andy Wingo  <wingo@pobox.com>
15844
15845         * docs/design/part-activation.txt: Notes on how activation should
15846         work -- not quite implemented yet.
15847
15848 2005-06-25  Wim Taymans  <wim@fluendo.com>
15849
15850         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15851         At least get the chain function correct, needs more
15852         fixing.
15853
15854 2005-06-25  Wim Taymans  <wim@fluendo.com>
15855
15856         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15857         (gst_basesink_handle_object), (gst_basesink_event),
15858         (gst_basesink_do_sync), (gst_basesink_handle_event),
15859         (gst_basesink_change_state):
15860         * gst/gsttask.h:
15861         Right, two problems here: ghostpads don't take locks and
15862         glib _rec_mutex_lock_full() with depth==0 still locks.
15863         Catch illegal locking and g_warn them.
15864
15865 2005-06-25  Wim Taymans  <wim@fluendo.com>
15866
15867         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15868         Have to check for completion now...
15869
15870 2005-06-25  Wim Taymans  <wim@fluendo.com>
15871
15872         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15873         (gst_basesink_handle_object), (gst_basesink_event),
15874         (gst_basesink_do_sync), (gst_basesink_handle_event),
15875         (gst_basesink_change_state):
15876         * gst/gstpad.h:
15877         Unlock STREAM_LOCK whatever the recursion was.
15878
15879 2005-06-25  Wim Taymans  <wim@fluendo.com>
15880
15881         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15882         (gst_basesink_preroll_queue_empty),
15883         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15884         (gst_basesink_event), (gst_basesink_do_sync),
15885         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15886         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15887         (gst_basesink_change_state):
15888         Reworked the base sink, handle event and buffer serialisation
15889         correctly and removed possible deadlock.
15890         Handle EOS correctly.
15891
15892 2005-06-25  Wim Taymans  <wim@fluendo.com>
15893
15894         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15895         (gst_pipeline_change_state):
15896         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15897         Allow elements to post EOS in the state change function.
15898         Fix up -launch, make it exit the poll loop when the
15899         pipeline actually changed state.
15900         Fix up warning parsing in -launch.
15901
15902 2005-06-25  Wim Taymans  <wim@fluendo.com>
15903
15904         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15905         (gst_tee_sink_activate):
15906         Core takes STREAM_LOCK for us now.
15907
15908 2005-06-25  Wim Taymans  <wim@fluendo.com>
15909
15910         * gst/gstelement.c: (gst_element_get_state_func),
15911         (gst_element_set_state):
15912         * gst/gstelement.h:
15913         * gst/gstmessage.c: (gst_message_parse_error),
15914         (gst_message_parse_warning):
15915         Keep track of current target state while performing a state
15916         change so that subclasses can do something interesting.
15917         Fix parsing of warning/error messages when GError is NULL.
15918
15919 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15920
15921         * docs/gst/Makefile.am:
15922         * docs/gst/gstreamer-docs.sgml:
15923         * docs/gst/gstreamer-sections.txt:
15924         * docs/gst/gstreamer.types:
15925         * docs/gst/tmpl/gstbasesink.sgml:
15926         * docs/gst/tmpl/gstbasesrc.sgml:
15927         * docs/gst/tmpl/gstbin.sgml:
15928         * docs/gst/tmpl/gstcompat.sgml:
15929         * docs/gst/tmpl/gstfakesink.sgml:
15930         * docs/gst/tmpl/gstfakesrc.sgml:
15931         * docs/gst/tmpl/gstfilesink.sgml:
15932         * docs/gst/tmpl/gstfilesrc.sgml:
15933         * docs/gst/tmpl/gstindex.sgml:
15934         * docs/manual/appendix-quotes.xml:
15935         * gst/base/gstbasesrc.h:
15936         * gst/elements/gstfakesrc.h:
15937         * gst/gstmessage.h:
15938           start pulling in base classes and elements in our docs
15939
15940 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15941
15942         * docs/gst/Makefile.am:
15943         * docs/libs/Makefile.am:
15944           fixed make distcheck with gtk-doc 1.3
15945
15946 2005-06-23  Wim Taymans  <wim@fluendo.com>
15947
15948         * gst/gstelement.c: (gst_element_get_state_func),
15949         (gst_element_set_state), (gst_element_change_state):
15950         When the state did not change, also report NO_PREROLL
15951         when it matters.
15952
15953 2005-06-23  Wim Taymans  <wim@fluendo.com>
15954
15955         * gst/gstpad.c: (gst_pad_event_default):
15956         * gst/gstqueue.c: (gst_queue_loop):
15957         No unsafe task pausing please.
15958
15959 2005-06-23  Wim Taymans  <wim@fluendo.com>
15960
15961         * gst/schedulers/threadscheduler.c:
15962         (gst_thread_scheduler_task_start),
15963         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15964         Ref the task before pushing it on the threadpool. This
15965         makes sure that we have a ref when the threadfunction is
15966         actually called.
15967
15968 2005-06-23  Andy Wingo  <wingo@pobox.com>
15969
15970         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15971         offset is greater than the file's size.
15972
15973         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15974         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15975         * gst/gstobject.c (gst_object_class_init): Make the class lock
15976         recursive. Wim won't let me drop deep_notify. Decodebin works
15977         again, whoopdy doo.
15978
15979         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15980         internal pad, and hacks accordingly. Doesn't do it on the target
15981         pad because we change its caps. Probably catches all cases of
15982         interest tho.
15983         (gst_ghost_pad_set_property): Connect to notify::caps as
15984         appropritate.
15985
15986         * tests/network-clock.scm (plot-simulation): Pipe data to the
15987         elite python skript.
15988
15989         * tests/network-clock-utils.scm (define-parameter): New macro,
15990         defines a parameter that can be set via the command line.
15991         (set-parameter!, parse-parameter-arguments): Command line args
15992         parser.
15993
15994         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15995         stdin.
15996
15997 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15998
15999         * gst/elements/gsttypefindelement.c:
16000         (gst_type_find_element_handle_event):
16001           Don't restart typefinding on a discont.
16002         * gst/gstelement.c: (gst_element_set_state):
16003           Debug spelling fix.
16004         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16005           Allow changing mode of an active pad.
16006           Debug output fixes.
16007         * gst/registries/gstlibxmlregistry.c: (load_feature):
16008           Don't cast a static pad template to a normal pad template.
16009
16010 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16011
16012         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16013         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16014           remove gst_strtoll completely, since it didn't actually do
16015           anything more than what g_ascii_strtoull already does.
16016           check for range errors when deserializing
16017           do a cast for the unsigned cases; but further fixing needs
16018           a decision on what the interpretation of "(int)" and
16019           deserialization should be for values that fall outside the
16020           type's boundaries (ie, refuse, or interpret as casting)
16021
16022 2005-06-23  Wim Taymans  <wim@fluendo.com>
16023
16024         * check/Makefile.am:
16025         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16026         * docs/design/part-live-source.txt:
16027         * docs/design/part-states.txt:
16028         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16029         (gst_basesrc_set_live), (gst_basesrc_is_live),
16030         (gst_basesrc_get_range), (gst_basesrc_activate),
16031         (gst_basesrc_change_state):
16032         * gst/base/gstbasesrc.h:
16033         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16034         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16035         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16036         * gst/gstelement.c: (gst_element_get_state_func),
16037         (gst_element_set_state):
16038         * gst/gstelement.h:
16039         * gst/gsttypes.h:
16040         * tools/gst-launch.c: (event_loop), (main):
16041         Added support for live sources and other elements that
16042         cannot do preroll.
16043         Updated design docs, added live-source design doc.
16044         Implemented live source functionality in basesrc
16045         Fix error condition in _bin_get_state()
16046         Implement live source handling in -launch.
16047         Added check for live sources.
16048         Fixed case in GstBin where elements were changed state
16049         multiple times.
16050
16051
16052 2005-06-23  Andy Wingo  <wingo@pobox.com>
16053
16054         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16055         borken refcounting.
16056
16057         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16058         gst_caps_replace takes care of this for us.
16059
16060         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16061         gst_pad_set_caps on the target, not just its setcaps() function.
16062
16063         * tests/network-clock.scm: 
16064         * tests/network-clock-utils.scm: A network clock simulator.
16065         Something of an algorithmic testbed before doing something in C.
16066
16067 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16068
16069         * check/Makefile.am:
16070         * check/gst/capslist.h:
16071           copy over from 0.8, and add two with bitmasks specified with
16072           (int) 0xFF...
16073         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16074           add test to parse everything from capslist.h
16075         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16076         (main):
16077           add test for structure deserialization
16078         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16079           add tests for deserialization of strings to int types
16080         * gst/gststructure.c: (gst_structure_nth_field_name):
16081         * gst/gststructure.h:
16082           add a way to get the name of a field referenced by index
16083         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16084           instead of checking if the resulting long long lies between
16085           min and max, we check if the long long would fit into
16086           a number of bytes for the final type.
16087           This fixes cases where a string represents 2^32 - 1, which
16088           when cast to int would be the (valid) -1, but is bigger than
16089           G_MAXINT
16090
16091 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16092
16093         * gst/parse/grammar.y:
16094           add a log line for type deserialization
16095
16096 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16097
16098         * check/gst/gstvalue.c: (START_TEST):
16099         * gst/gstvalue.c: (gst_value_deserialize):
16100           return long long, not int, so gint64 deserialization actually
16101           works.  Is there any flag that makes the compiler check this ?
16102           Fixes #308559
16103
16104 2005-06-22  Wim Taymans  <wim@fluendo.com>
16105
16106         * gst/gstbuffer.h:
16107         Added convenience macros for setting buffers in GValue.
16108
16109 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16110
16111         * check/gst/.cvsignore:
16112         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16113           add a test deserializing int64, and comment part out because
16114           it fails, yay !
16115
16116 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16117
16118         * check/Makefile.am:
16119         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16120         * testsuite/Makefile.am:
16121         * testsuite/caps/Makefile.am:
16122         * testsuite/caps/value_serialize.c:
16123         * testsuite/test_gst_init.c:
16124           move a value_serialize test over
16125
16126 2005-06-20  Wim Taymans  <wim@fluendo.com>
16127
16128         * gst/gstpad.c:
16129         Small doc updates.
16130         
16131         * gst/gstvalue.c: (gst_value_compare_buffer),
16132         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16133         (gst_value_compare_flags), (gst_value_serialize_flags),
16134         (gst_value_deserialize_flags), (_gst_value_initialize):
16135         Fix serialisation of buffers, they are not boxed types anymore
16136
16137 2005-06-20  Wim Taymans  <wim@fluendo.com>
16138
16139         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16140         Testcase to show error in buffer-on-caps serialisation.
16141
16142 2005-06-20  Andy Wingo  <wingo@pobox.com>
16143
16144         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16145         will be adding to later.
16146
16147         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16148         if its socks fill with rocks.
16149         (gst_system_clock_obtain): Set the name on object construction.
16150         Avoid double-checked locking.
16151
16152 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16153
16154         * gst/gsturi.c: (gst_element_make_from_uri):
16155           Fix potential endless loop.
16156
16157 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16158
16159         * check/Makefile.am:
16160           add gsttag
16161         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16162         (main):
16163           move over from testsuite dir and clean up
16164         * configure.ac:
16165         * gst/gsttag.c:
16166         * testsuite/Makefile.am:
16167         * testsuite/tags/.cvsignore:
16168         * testsuite/tags/Makefile.am:
16169         * testsuite/tags/merge.c:
16170           remove testsuite/tags
16171
16172 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16173
16174         * docs/gst/gstreamer-sections.txt:
16175         * docs/gst/tmpl/gstenumtypes.sgml:
16176         * win32/gstenumtypes.c:
16177           clean up documentation build a little
16178
16179 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16180
16181         * check/gstcheck.h:
16182           add macros for checking refcounts on objects and caps
16183         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16184           add some more unit tests
16185         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16186         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16187           fix leaked refcounts (I hope :)) so unittest works
16188         * gst/gstpad.h:
16189           whitespace removal
16190
16191 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16192
16193         * configure.ac: back to HEAD
16194
16195 === release 0.9.1 ===
16196
16197 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16198
16199         * NEWS:
16200         * RELEASE:
16201           updated
16202
16203 2005-06-17  Andy Wingo  <wingo@pobox.com>
16204
16205         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16206         assert; it's always possible that the pad gets deactivated in
16207         between the checks in gstpad.c and the implementation. Rely on
16208         finish_preroll() to return a FLUSHING or similar instead of on the
16209         assert.
16210         
16211         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16212         clock and post an EOS message if we come out of finish_preroll in
16213         the playing state.
16214
16215 2005-06-16  David Schleef  <ds@schleef.org>
16216
16217         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16218         (gst_capsfilter_set_property): Allow NULL as possible value
16219         for filter_caps property, indicating GST_CAPS_ANY.
16220
16221 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16222
16223         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16224           fix debug output
16225         * gst/schedulers/Makefile.am:
16226           use libgst prefix
16227         * gstreamer.spec.in:
16228           fix spec for it
16229
16230 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16231
16232         * gstreamer.spec.in:
16233           clean up
16234
16235 2005-06-08  Andy Wingo  <wingo@pobox.com>
16236
16237         * gst/gstutils.c: RPAD fixes all around.
16238         (gst_element_link_pads): Refcounting fixes.
16239
16240         * tools/gst-inspect.c:
16241         * tools/gst-xmlinspect.c:
16242         * parse/grammar.y:
16243         * gst/base/gsttypefindhelper.c:
16244         * gst/base/gstbasesink.c:
16245         * gst/gstqueue.c: RPAD fixes.
16246
16247         * gst/gstghostpad.h:
16248         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16249         pads. The tricky thing is they provide both source and sink
16250         interfaces, since they proxy the internal pad for the external
16251         pad, and vice versa. Implement with lower-level ProxyPad objects,
16252         with the interior proxy pad as a child of the exterior ghost pad.
16253         Should write a doc on this.
16254         
16255         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16256         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16257         gst_object API.
16258         
16259         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16260         pads are real pads. No ghost pads in this file. Not documenting
16261         the myriad s/RPAD/PAD/ and REALIZE fixes.
16262         (gst_pad_class_init): Add properties for "direction" and
16263         "template". Both are construct-only, so they can't change during
16264         the life of the pad. Fixes properly deriving from GstPad.
16265         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16266         derived objects, just set properties when creating the objects via
16267         g_object_new.
16268         (gst_pad_get_parent): Implement as a function, return NULL if the
16269         parent is not an element.
16270         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16271         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16272         
16273         * gst/gstobject.c (gst_object_class_init): Make name a construct
16274         property. Don't set it in the object init.
16275
16276         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16277         with UNKNOWN direction.
16278         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16279         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16280         (gst_element_remove_pad): Remove ghost-pad special cases.
16281         (gst_element_pads_activate): Remove rpad cruft.
16282
16283         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16284         catch the pad's-parent-not-an-element case.
16285
16286         * gst/gst.h: Include gstghostpad.h.
16287
16288         * gst/gst.c (init_post): No more real, ghost pads.
16289
16290         * gst/Makefile.am: Add gstghostpad.[ch].
16291
16292         * check/Makefile.am:
16293         * check/gst/gstbin.c:
16294         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16295         into a bin creates ghost pads, and that the refcounts are right.
16296         Partly moved from gstbin.c.
16297
16298 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16299
16300         * check/gst-libs/.cvsignore:
16301         * check/gst/.cvsignore:
16302         * check/pipelines/.cvsignore:
16303           ignore more
16304         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16305         (START_TEST), (cleanup_suite), (main):
16306           add some tests related to cleanup after running pipelines
16307
16308 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16309
16310         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16311           add a testsuite for GstBuffer
16312
16313 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16314
16315         * gst/gstminiobject.h:
16316           add defines for accessing the refcount
16317
16318 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16319
16320         * Makefile.am: added support for html unit test coverage reports
16321
16322 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16323
16324         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16325           Free existing caps if the capsfilter changes. Add a FIXME about
16326           setting those caps on the pads.
16327
16328         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16329           Before adding a ghost pad to a parent bin, check that there isn't
16330           already one for the element on the bin. Prevents infinite recursion
16331           when using decodebin in parse pipelines. Andy says he'll rewrite the
16332           way this works anyway, so ignore the hack.
16333
16334 2005-06-02  Andy Wingo  <wingo@pobox.com>
16335
16336         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16337         file size, pass it on to the type find helper.
16338
16339         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16340         segment_start and segment_end properly according to the seek
16341         method. Segment_end is still a bit flaky because offset can be
16342         negative for CUR and END cases, but it takes -1 as an "unset"
16343         value.
16344
16345 2005-06-02  Wim Taymans  <wim@fluendo.com>
16346
16347         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16348         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16349         (gst_basesink_activate):
16350         * gst/base/gstbasesink.h:
16351         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16352         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16353         (gst_pad_query), (gst_pad_start_task):
16354         * gst/gstpad.h:
16355         * gst/gstqueue.c: (gst_queue_bufferalloc),
16356         (gst_queue_handle_sink_event), (gst_queue_chain):
16357         Bufferalloc: return GstFlowReturn to more accuratly report
16358         why allocation failed.
16359
16360 2005-06-02  Wim Taymans  <wim@fluendo.com>
16361
16362         * gst/gstpipeline.c: (gst_pipeline_send_event):
16363         Take snapshot of state without blocking.
16364
16365 2005-06-02  Wim Taymans  <wim@fluendo.com>
16366
16367         * docs/design/part-TODO.txt:
16368         * docs/design/part-caps.txt:
16369         * docs/design/part-clocks.txt:
16370         * docs/design/part-negotiation.txt:
16371         * docs/design/part-preroll.txt:
16372         Small doc updates 
16373
16374 2005-05-30  Wim Taymans  <wim@fluendo.com>
16375
16376         * gst/elements/gstidentity.c: (gst_identity_event),
16377         (gst_identity_transform), (gst_identity_get_property):
16378         Protect last_message property as it is accessed from
16379         multiple threads.
16380
16381 2005-05-30  Wim Taymans  <wim@fluendo.com>
16382
16383         * gst/gstelement.c: (gst_element_init),
16384         (gst_element_pads_activate), (gst_element_change_state):
16385         Slicker pad activation code.
16386
16387 2005-05-30  Wim Taymans  <wim@fluendo.com>
16388
16389         * gst/Makefile.am:
16390         * gst/gstelement.h:
16391         * gst/gstelementfactory.h:
16392         * gst/gsttypes.h:
16393         Move elementfactory methods to separate .h file.
16394
16395 2005-05-30  Wim Taymans  <wim@fluendo.com>
16396
16397         * docs/design/part-overview.txt:
16398         * gst/gstsystemclock.h:
16399         Small typo fixes, doc updates.
16400
16401 2005-05-30  Wim Taymans  <wim@fluendo.com>
16402
16403         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16404         (init_popt_callback):
16405         Remove cpu-opt flag.
16406
16407 2005-05-30  Wim Taymans  <wim@fluendo.com>
16408
16409         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16410         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16411         * gst/gstbuffer.h:
16412         Avoid typechecking in places where not needed.
16413         Added accessor for malloc_data.
16414
16415 2005-05-30  Wim Taymans  <wim@fluendo.com>
16416
16417         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16418         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16419         (gst_pad_configure_sink), (gst_pad_configure_src),
16420         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16421         (gst_pad_start_task):
16422         Propagate errors from _set_caps() in configure_src/sink
16423         functions instead of returning TRUE.
16424         FLUSH events can travel up and downstream
16425
16426
16427 2005-05-30  Wim Taymans  <wim@fluendo.com>
16428
16429         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16430         (gst_basesink_activate):
16431         Handle EOS in preroll.
16432
16433 2005-05-30  Wim Taymans  <wim@fluendo.com>
16434
16435         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16436         (gst_queue_loop), (gst_queue_handle_src_event):
16437         Remove old pieces of code
16438         Flushing the queue in an upstream event is a very bad idea.
16439
16440 2005-05-26  Andy Wingo  <wingo@pobox.com>
16441
16442         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16443         gst_value_set_mini_object so as to add a ref on the object (which
16444         will be removed when the value is unset).
16445
16446         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16447         arg type in ::handoff.
16448
16449         * gst/gstelement.c (gst_element_change_state): Also deactivate
16450         pads in READY->NULL, just in case the element didn't make it to
16451         PAUSED. Wingo tested, Wim approved.
16452
16453 2005-05-26  Wim Taymans  <wim@fluendo.com>
16454
16455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16456         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16457         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16458         A flushing pad cannot be used to alloc_buffer from.
16459
16460 2005-05-26  Wim Taymans  <wim@fluendo.com>
16461
16462         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16463         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16464         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16465         (gst_bus_create_watch), (gst_bus_add_watch_full):
16466         * gst/gstbus.h:
16467         Implement a real GSource and use g_main_context_wakeup() to
16468         signal new messages instead of the socketpair.
16469
16470 2005-05-25  Wim Taymans  <wim@fluendo.com>
16471
16472         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16473         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16474         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16475         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16476         (gst_pad_send_event), (gst_pad_start_task):
16477         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16478         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16479         (gst_queue_sink_activate), (gst_queue_src_activate),
16480         (gst_queue_change_state):
16481         * gst/gstqueue.h:
16482         Fix state changes for non sinks. We now change sinks, then elements
16483         with unconnected srcpads, then the rest.
16484         More efficient queue unlocking in flush and state changes.
16485         Set the pad activate mode even if it does not have an activate
16486         function.
16487
16488 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16489
16490         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16491           Don't go in pull mode for non-seekable sources.
16492         * gst/elements/gsttypefindelement.h:
16493         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16494         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16495         (free_entry), (stop_typefinding),
16496         (gst_type_find_element_handle_event), (find_peek),
16497         (gst_type_find_element_chain), (do_pull_typefind),
16498         (gst_type_find_element_change_state):
16499           Allow typefinding (w/o seeking) in push-mode, simplified version
16500           of what was in 0.8.
16501         * gst/gstutils.c: (gst_buffer_join):
16502         * gst/gstutils.h:
16503           gst_buffer_join() from 0.8.
16504
16505 2005-05-25  Wim Taymans  <wim@fluendo.com>
16506
16507         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16508         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16509         (gst_pad_send_event), (gst_pad_start_task):
16510         Disable attempt at mode switching until it is figured out.
16511
16512 2005-05-25  Wim Taymans  <wim@fluendo.com>
16513
16514         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16515         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16516         (gst_basesink_finish_preroll), (gst_basesink_chain),
16517         (gst_basesink_loop), (gst_basesink_activate),
16518         (gst_basesink_change_state):
16519         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16520         (gst_basesrc_get_range), (gst_basesrc_loop),
16521         (gst_basesrc_activate):
16522         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16523         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16524         (gst_real_pad_init), (gst_real_pad_set_property),
16525         (gst_real_pad_get_property), (gst_pad_set_active),
16526         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16527         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16528         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16529         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16530         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16531         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16532         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16533         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16534         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16535         (gst_pad_stop_task):
16536         * gst/gstpad.h:
16537         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16538         (gst_queue_loop), (gst_queue_src_activate):
16539         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16540         (gst_task_get_state):
16541         * gst/gsttask.h:
16542         * gst/schedulers/threadscheduler.c:
16543         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16544         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16545         in task function.
16546         Remove ACTIVE pad flag, use FLUSHING everywhere
16547         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16548         functions.
16549         Add locks around IS_FLUSHING when reading.
16550         Take STREAM lock in chain(), get_range() functions so plugins
16551         don't need to take it anymore.
16552         
16553
16554
16555 2005-05-25  Wim Taymans  <wim@fluendo.com>
16556
16557         * tools/gst-launch.c: (event_loop):
16558         Unref message after using its contents instead of
16559         before.
16560
16561 2005-05-24  Wim Taymans  <wim@fluendo.com>
16562
16563         * docs/design/draft-ghostpads.txt:
16564         * docs/design/draft-push-pull.txt:
16565         * docs/design/draft-query.txt:
16566         * docs/design/part-overview.txt:
16567         Docs updates, added general overview doc.
16568
16569 2005-05-21  David Schleef  <ds@schleef.org>
16570
16571         * docs/gst/tmpl/old/GstBin.sgml:
16572         * docs/gst/tmpl/old/GstBuffer.sgml:
16573         * docs/gst/tmpl/old/GstCaps.sgml:
16574         * docs/gst/tmpl/old/GstClock.sgml:
16575         * docs/gst/tmpl/old/GstCompat.sgml:
16576         * docs/gst/tmpl/old/GstData.sgml:
16577         * docs/gst/tmpl/old/GstElement.sgml:
16578         * docs/gst/tmpl/old/GstEvent.sgml:
16579         * docs/gst/tmpl/old/GstIndex.sgml:
16580         * docs/gst/tmpl/old/GstStructure.sgml:
16581         * docs/gst/tmpl/old/GstTag.sgml:
16582         * docs/gst/tmpl/old/cothreads.sgml:
16583         * docs/gst/tmpl/old/cothreads_compat.sgml:
16584         * docs/gst/tmpl/old/gettext.sgml:
16585         * docs/gst/tmpl/old/gobject2gtk.sgml:
16586         * docs/gst/tmpl/old/grammar.tab.sgml:
16587         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16588         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16589         * docs/gst/tmpl/old/gst_private.sgml:
16590         * docs/gst/tmpl/old/gstaggregator.sgml:
16591         * docs/gst/tmpl/old/gstarch.sgml:
16592         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16593         * docs/gst/tmpl/old/gstbufferstore.sgml:
16594         * docs/gst/tmpl/old/gstdata_private.sgml:
16595         * docs/gst/tmpl/old/gstdisksink.sgml:
16596         * docs/gst/tmpl/old/gstdisksrc.sgml:
16597         * docs/gst/tmpl/old/gstelementfactory.sgml:
16598         * docs/gst/tmpl/old/gstextratypes.sgml:
16599         * docs/gst/tmpl/old/gstfakesink.sgml:
16600         * docs/gst/tmpl/old/gstfakesrc.sgml:
16601         * docs/gst/tmpl/old/gstfdsink.sgml:
16602         * docs/gst/tmpl/old/gstfdsrc.sgml:
16603         * docs/gst/tmpl/old/gstfilesink.sgml:
16604         * docs/gst/tmpl/old/gstfilesrc.sgml:
16605         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16606         * docs/gst/tmpl/old/gstidentity.sgml:
16607         * docs/gst/tmpl/old/gstindexfactory.sgml:
16608         * docs/gst/tmpl/old/gstmarshal.sgml:
16609         * docs/gst/tmpl/old/gstmd5sink.sgml:
16610         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16611         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16612         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16613         * docs/gst/tmpl/old/gstpipefilter.sgml:
16614         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16615         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16616         * docs/gst/tmpl/old/gstshaper.sgml:
16617         * docs/gst/tmpl/old/gstspider.sgml:
16618         * docs/gst/tmpl/old/gstspideridentity.sgml:
16619         * docs/gst/tmpl/old/gststatistics.sgml:
16620         * docs/gst/tmpl/old/gsttee.sgml:
16621         * docs/gst/tmpl/old/gsttimecache.sgml:
16622         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16623         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16624         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16625         * docs/gst/tmpl/old/types.sgml:
16626           I didn't intend to add these or check them in.
16627
16628 2005-05-19  David Schleef  <ds@schleef.org>
16629
16630         * configure.ac: Use -no-common everywhere.  In a sane world, it
16631           would be the default in libtool, because without it, you can't
16632           build DLLs on Windows.
16633         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16634         * docs/gst/gstreamer-sections.txt:
16635         * docs/gst/tmpl/gstcpu.sgml:
16636         * docs/gst/tmpl/gstdata.sgml:
16637         * docs/gst/tmpl/gstthread.sgml:
16638
16639 2005-05-19  David Schleef  <ds@schleef.org>
16640
16641         * gst/gstminiobject.c: (gst_value_set_mini_object),
16642         (gst_value_take_mini_object), (gst_value_get_mini_object):
16643         * gst/gstminiobject.h: Add GValue set/get functions.
16644
16645 2005-05-19  Wim Taymans  <wim@fluendo.com>
16646
16647         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16648         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16649         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16650         * gst/gstbuffer.h:
16651         * gst/gstbus.c: (gst_bus_post):
16652         * gst/gstelement.c: (gst_element_get_random_pad):
16653         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16654         Make subbufer unref the parent in finalize.
16655         some more debugging info.
16656
16657
16658 2005-05-19  Wim Taymans  <wim@fluendo.com>
16659
16660         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16661         (gst_basesink_init), (gst_basesink_finalize),
16662         (gst_basesink_activate), (gst_basesink_change_state):
16663         Don't free preroll queue too early.
16664
16665 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16666
16667         * gst/Makefile.am:
16668         * gst/ROADMAP:
16669           Hi, I'm outdated. Please shoot me.
16670
16671 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16672
16673         * gst/gstpipeline.c: (gst_pipeline_send_event):
16674           Do not access variables after they have been deleted.
16675
16676 2005-05-19  Wim Taymans  <wim@fluendo.com>
16677
16678         * tools/gst-inspect.c: (print_plugin_features):
16679         A plugin feature does unfortunatly not use the
16680         object name yet...
16681
16682 2005-05-18  Wim Taymans  <wim@fluendo.com>
16683
16684         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16685         Port _span() functions to new subbuffers.
16686
16687 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16688
16689         * gst/gstbin.c: (gst_bin_add_func):
16690           Fix clock settery in bins when adding kids after the clock has
16691           been selected.
16692
16693 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16694
16695         * gst/elements/gstidentity.c: (gst_identity_class_init):
16696           Workaround until signals support GstMiniObject.
16697
16698 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16699
16700         * gst/gstbuffer.c:
16701         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16702
16703 2005-05-18  Wim Taymans  <wim@fluendo.com>
16704
16705         * gst/base/Makefile.am:
16706         * gst/base/gstadapter.c: (gst_adapter_base_init),
16707         (gst_adapter_class_init), (gst_adapter_init),
16708         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16709         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16710         (gst_adapter_flush), (gst_adapter_available),
16711         (gst_adapter_available_fast):
16712         * gst/base/gstadapter.h:
16713         Ported and added adapter to the base classes.
16714
16715 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16716
16717         * gst/gst.c:
16718         * gst/gstmessage.c:
16719           Make sure the class is reffed/unreffed once before threads can be
16720           used.  Fixes #304551.
16721
16722 2005-05-17  Wim Taymans  <wim@fluendo.com>
16723
16724         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16725         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16726         * gst/gstminiobject.c: (gst_mini_object_get_type),
16727         (gst_mini_object_free):
16728         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16729         (gst_pad_push), (gst_pad_push_event):
16730         * gst/gstqueue.c: (gst_queue_change_state):
16731         Don't queue buffers in basesink when we are flushing.
16732         Unref buffer when flushing in basesink.
16733         Flush queue when going to READY
16734         Unref buffer when _push() returns an error.
16735         Don't free MiniObject instance when refcount is incremented
16736         in _finalize() so that we can recover objects.
16737
16738 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16739
16740         * docs/manual/advanced-schedulers.xml:
16741         * docs/manual/appendix-checklist.xml:
16742         * docs/pwg/advanced-clock.xml:
16743         * docs/pwg/advanced-interfaces.xml:
16744         * docs/pwg/advanced-request.xml:
16745         * docs/pwg/advanced-types.xml:
16746         * docs/pwg/intro-preface.xml:
16747         * examples/plugins/example.c: (gst_example_get_type),
16748         (gst_example_class_init), (gst_example_chain),
16749         (gst_example_set_property), (gst_example_get_property),
16750         (gst_example_change_state), (plugin_init):
16751         * examples/plugins/example.h:
16752           small doc fixes
16753
16754 2005-05-17  Wim Taymans  <wim@fluendo.com>
16755
16756         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16757         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16758         * gst/gstqueue.c: (gst_queue_change_state):
16759         Clear queue when going to READY.
16760         Remove IN_SETCAPS flag too.
16761
16762 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16763
16764         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16765           Remove implicit cast from gboolean to GstElementStateReturn;
16766           make sure we still return failure in paused => ready case if
16767           the parent class fails to change state and our own stop 
16768           vfunc succeeds.
16769
16770 2005-05-17  Wim Taymans  <wim@fluendo.com>
16771
16772         * tools/gst-launch.c: (event_loop):
16773         Message was unreffed too soon.
16774
16775 2005-05-16  Andy Wingo  <wingo@pobox.com>
16776
16777         * gst/gstbin.c (sink_iterator_filter): Err... um...
16778
16779         * check/gst/gstbin.c (test_ghost_pads): New test for the
16780         ghosting-if-elements-not-in-same-bin behavior.
16781
16782 2005-05-16  David Schleef  <ds@schleef.org>
16783
16784         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16785         accessing refcount directly.
16786
16787 2005-05-15  David Schleef  <ds@schleef.org>
16788
16789         * check/Makefile.am: remove GstData checks
16790         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16791         * gst/Makefile.am: add miniobject, remove data
16792         * gst/gst.h: add miniobject, remove data
16793         * gst/gstdata.c: remove
16794         * gst/gstdata.h: remove
16795         * gst/gstdata_private.h: remove
16796         * gst/gsttypes.h: remove GstEvent and GstMessage
16797         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16798         * gst/gstmarshal.list: change BOXED -> OBJECT
16799
16800         Implement GstMiniObject.
16801         * gst/gstminiobject.c:
16802         * gst/gstminiobject.h:
16803
16804         Modify to be subclasses of GstMiniObject.
16805         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16806         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16807         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16808         (gst_subbuffer_get_type), (gst_subbuffer_init),
16809         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16810         (gst_buffer_span):
16811         * gst/gstbuffer.h:
16812         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16813         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16814         (_gst_event_copy), (gst_event_new):
16815         * gst/gstevent.h:
16816         * gst/gstmessage.c: (_gst_message_initialize),
16817         (gst_message_get_type), (gst_message_class_init),
16818         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16819         (gst_message_new), (gst_message_new_error),
16820         (gst_message_new_warning), (gst_message_new_tag),
16821         (gst_message_new_state_changed), (gst_message_new_application):
16822         * gst/gstmessage.h:
16823         * gst/gstprobe.c: (gst_probe_perform),
16824         (gst_probe_dispatcher_dispatch):
16825         * gst/gstprobe.h:
16826         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16827         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16828         (_gst_query_copy), (gst_query_new):
16829
16830         Update elements for GstData -> GstMiniObject changes
16831         * gst/gstquery.h:
16832         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16833         (gst_queue_chain), (gst_queue_loop):
16834         * gst/elements/gstbufferstore.c:
16835         (gst_buffer_store_add_buffer_func),
16836         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16837         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16838         (gst_fakesink_render):
16839         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16840         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16841         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16842         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16843         (gst_filesrc_create_read):
16844         * gst/elements/gstidentity.c: (gst_identity_class_init):
16845         * gst/elements/gsttypefindelement.c:
16846         (gst_type_find_element_src_event), (free_entry_buffers),
16847         (gst_type_find_element_handle_event):
16848         * libs/gst/dataprotocol/dataprotocol.c:
16849         (gst_dp_header_from_buffer):
16850         * libs/gst/dataprotocol/dataprotocol.h:
16851         * libs/gst/dataprotocol/dp-private.h:
16852
16853 2005-05-15  David Schleef  <ds@schleef.org>
16854
16855         * gst/elements/gstelements.c: Don't include headers that were
16856         just removed.
16857
16858 2005-05-15  David Schleef  <ds@schleef.org>
16859
16860         * gst/elements/Makefile.am: Remove some elements that don't
16861         need to be in the core (or even exist at all).
16862         * gst/elements/gstaggregator.c:
16863         * gst/elements/gstaggregator.h:
16864         * gst/elements/gstmd5sink.c:
16865         * gst/elements/gstmd5sink.h:
16866         * gst/elements/gstmultifilesrc.c:
16867         * gst/elements/gstmultifilesrc.h:
16868         * gst/elements/gstpipefilter.c:
16869         * gst/elements/gstpipefilter.h:
16870         * gst/elements/gstshaper.c:
16871         * gst/elements/gstshaper.h:
16872         * gst/elements/gststatistics.c:
16873         * gst/elements/gststatistics.h:
16874         * po/POTFILES.in: Remove above files.
16875
16876 2005-05-14  Andy Wingo  <wingo@pobox.com>
16877
16878         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16879         so as to get the refs right.
16880         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16881         unreffing objects that don't pass the filter.
16882
16883         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16884         gst_element_set_bus.
16885         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16886         normal cases, this will destroy the bus.
16887
16888         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16889         object.
16890
16891         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16892         has no sinks.
16893
16894 2005-05-13  Andy Wingo  <wingo@pobox.com>
16895
16896         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16897         gst_pad_link, call pad_link_maybe_ghosting,
16898         (pad_link_maybe_ghosting): Links pads, making sure that the
16899         elements being linked are in the same bin.
16900         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16901         Helpers for pad_link_maybe_ghosting.
16902
16903 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16904
16905         * configure.ac:
16906           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16907
16908 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16909
16910         * docs/design/part-element-source.txt:
16911           Mention GstPushSrc
16912
16913 2005-05-12  Wim Taymans  <wim@fluendo.com>
16914
16915         * gst/base/gstbasesink.c: (gst_basesink_init),
16916         (gst_basesink_activate):
16917         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16918         (gst_basesrc_is_seekable):
16919         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16920         (bin_element_is_sink), (gst_bin_change_state):
16921         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16922         * gst/gstelement.h:
16923         Identify sinks by their flag to avoid overly complicated
16924         checks (fow now).
16925         Do state changes even for elements not reachable from the
16926         sinks.
16927         BaseSink is a sink now :)
16928         Some more debugging info in the basesrc.
16929
16930
16931 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16932
16933         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16934           Implement _query on a bin, similar to _send_event.
16935
16936 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16937
16938         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16939           Discont event offset format should be GST_FORMAT_BYTES,
16940           not GST_FORMAT_TIME.
16941
16942 2005-05-12  Wim Taymans  <wim@fluendo.com>
16943
16944         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16945         Same fix as Ronald's but without the signal. 
16946
16947 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16948
16949         * gst/gstutils.c: (gst_element_query_position):
16950           No, an element is not a pad.
16951
16952 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16953
16954         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16955         (gst_bin_get_state):
16956           If a child is removed from a bin while we remove the child from
16957           the bin and while we're retrieving its state, signal this to the
16958           get_state function so we abort the wait (instead of waiting for
16959           a timeout) and can immediately re-iterate over all other elements.
16960
16961 2005-05-12  Wim Taymans  <wim@fluendo.com>
16962
16963         * gst/base/Makefile.am:
16964         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16965         (gst_basesrc_start):
16966         * gst/base/gstbasesrc.h:
16967         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16968         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16969         (gst_pushsrc_init), (gst_pushsrc_create):
16970         * gst/base/gstpushsrc.h:
16971         Added is_seekable to BaseSrc
16972         Added simple PushSrc.
16973
16974 2005-05-11  Wim Taymans  <wim@fluendo.com>
16975
16976         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16977         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16978         (gst_element_link_pads), (gst_element_query_position),
16979         (gst_element_query_convert), (intersect_caps_func),
16980         (gst_pad_query_position), (gst_pad_query_convert):
16981         Fix refcounting in utils function.
16982         No point in trying to activate a pad when it's added, it could
16983         be added from the state change function and then we deadlock, the
16984         element has to decide what to do.
16985
16986 2005-05-10  Andy Wingo  <wingo@pobox.com>
16987
16988         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16989         *all* the arguments.
16990
16991         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16992         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16993         lock (according to the docs -- if this is wrong change the docs).
16994
16995         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16996         flush messages in the NULL state.
16997
16998         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16999         message immediately and return.
17000         (gst_bus_set_flushing): New function. If a bus is flushing, it
17001         flushes out any queued messages and immediately unrefs new
17002         messages. This is so when an element goes to NULL, all of the
17003         unhandled messages coming from it can be freed, and their
17004         references to the element dropped. In other words: message source
17005         ref considered harmful :P
17006
17007         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17008         we're finished with it.
17009
17010         * gst/gstmessage.c (gst_message_new_state_changed): 
17011
17012 2005-05-10  Wim Taymans  <wim@fluendo.com>
17013
17014         * gst/gstvalue.c: (gst_value_compare_flags),
17015         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17016         (_gst_value_initialize):
17017         Added flags serialize/deserialize/compare code.
17018
17019 2005-05-09  Andy Wingo  <wingo@pobox.com>
17020
17021         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17022         Intersect the peer's caps with our caps.
17023
17024 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17025
17026         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17027         * gst/elements/gsttypefindelement.c: (find_peek):
17028           Handle negative offsets better. Fixes decodebin.
17029
17030 2005-05-09  Wim Taymans  <wim@fluendo.com>
17031
17032         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17033         (gst_base_transform_event):
17034         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17035         Implement accept_caps.
17036         Fix silly lock/unlock mismatch in base class.
17037
17038 2005-05-09  Wim Taymans  <wim@fluendo.com>
17039
17040         * docs/design/draft-push-pull.txt:
17041         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17042         * gst/elements/gstfilesink.c: (gst_filesink_init),
17043         (gst_filesink_query):
17044         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17045         (gst_type_find_handle_src_query), (find_element_get_length):
17046         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17047         * gst/gstelement.h:
17048         * gst/gstmessage.c:
17049         * gst/gstmessage.h:
17050         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17051         (gst_real_pad_get_caps_unlocked),
17052         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17053         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17054         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17055         (gst_real_pad_dispose), (gst_real_pad_finalize),
17056         (gst_pad_load_and_link), (gst_pad_save_thyself),
17057         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17058         (gst_pad_check_pull_range), (gst_pad_pull_range),
17059         (gst_pad_template_get_type), (gst_pad_template_class_init),
17060         (gst_pad_template_init), (gst_pad_template_dispose),
17061         (name_is_valid), (gst_static_pad_template_get),
17062         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17063         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17064         (gst_pad_get_element_private), (gst_pad_start_task),
17065         (gst_pad_pause_task), (gst_pad_stop_task),
17066         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17067         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17068         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17069         (gst_ghost_pad_new):
17070         * gst/gstpad.h:
17071         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17072         (gst_query_new_position), (gst_query_set_position),
17073         (gst_query_parse_position), (gst_query_new_convert),
17074         (gst_query_set_convert), (gst_query_parse_convert):
17075         * gst/gstquery.h:
17076         * gst/gstqueryutils.c:
17077         * gst/gstqueryutils.h:
17078         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17079         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17080         (gst_queue_handle_src_query):
17081         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17082         (gst_element_query_position), (gst_element_query_convert),
17083         (intersect_caps_func), (gst_pad_query_position),
17084         (gst_pad_query_convert):
17085         * gst/gstutils.h:
17086         * tools/gst-inspect.c: (print_pad_info):
17087         * tools/gst-xmlinspect.c: (print_element_info):
17088         Remove old query functions. Ported old code.
17089         Added position/convert helper functions to gstutils.
17090         Reordered gstpad.c code, grouping relevant things.
17091         Remove gst_message_new(), always need to speficy a specific
17092         message.
17093
17094
17095 2005-05-09  Andy Wingo  <wingo@pobox.com>
17096
17097         * gst/gstiterator.h: Add some includes.
17098
17099         * gst/gstqueryutils.h: Include more headers.
17100
17101         * gst/gstpad.h:
17102         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17103         some uses of gst_pad_query.
17104
17105         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17106         NULL out parameters.
17107         (gst_query_new_position): New proc, allocates a new position
17108         query.
17109
17110         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17111         gstqueryutils.c to the build.
17112
17113         * gst/gststructure.c (gst_structure_set_valist): Implement with
17114         the generic G_VALUE_COLLECT.
17115         
17116 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17117
17118         * gst/Makefile.am: (gst_headers):
17119         Added gstqueryutils.h to the list of headers to install, that was
17120         a 'nachty' move wingo :)
17121
17122 2005-05-06  Andy Wingo  <wingo@pobox.com>
17123
17124         * gst/gstquery.h
17125         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17126         GstData, init a memchunk.
17127         (standard_definitions): Add a few query types, deprecate a few.
17128         (gst_query_get_type): New proc.
17129         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17130         implementation.
17131         (gst_query_new_application, gst_query_get_structure): New public
17132         procs.
17133
17134         * docs/design/draft-query.txt: Removed LINKS from the query types,
17135         because all the rest can be dispatched to other pads -- seemed
17136         ugly to have a query that couldn't be dispatched. internal_links
17137         is fine as a pad method.
17138
17139         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17140         in gstpad.c, but maintain binary compatibility for the moment.
17141         Will fix before 0.9 is out.
17142
17143         * gst/gstqueryutils.c: 
17144         * gst/gstqueryutils.h: New files, implement 3 methods for each
17145         query type: parse_query, parse_response, and set. Probably need an
17146         allocator as well.
17147
17148         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17149
17150         * gst/elements/gstfilesink.c (gst_filesink_query2):
17151         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17152         query_types, and formats methods.
17153
17154         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17155         (gst_pad_set_query2_function): New functions.
17156         (gst_real_pad_init): Set query2_default as the default query2
17157         function. Basically just dispatches to internally linked pads.
17158
17159         Needs review!
17160         
17161         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17162         without using the atomic operations. Only one thread can possibly
17163         be accessing the data at this point. Changed so as to avoid
17164         gst_atomic operations.
17165
17166 2005-05-06  Wim Taymans  <wim@fluendo.com>
17167
17168         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17169         Also set caps if we use the fallback buffer alloc.
17170
17171 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17172
17173         * docs/gst/Makefile.am:
17174         * docs/gst/gstreamer-docs.sgml:
17175         * docs/gst/gstreamer-sections.txt:
17176         * docs/gst/tmpl/gstatomic.sgml:
17177         * docs/gst/tmpl/gstmemchunk.sgml:
17178         * testsuite/elements/struct_i386.h:
17179         * win32/GStreamer.vcproj:
17180         * win32/Makefile:
17181           Purge GstAtomic stuff from docs and win32 makefiles as well
17182
17183 2005-05-06  Wim Taymans  <wim@fluendo.com>
17184
17185         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17186         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17187         * gst/gstpad.c: (gst_pad_peer_get_caps):
17188         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17189         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17190         (gst_queue_src_activate), (gst_queue_change_state):
17191         * gst/gstqueue.h:
17192         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17193         (intersect_caps_func):
17194         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17195         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17196         Some fixes for the peer_get_caps() change.
17197
17198 2005-05-06  Wim Taymans  <wim@fluendo.com>
17199
17200         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17201         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17202         (gst_basesink_activate):
17203         Actually do something with error codes returned from the push
17204         functions.
17205
17206 2005-05-06  Wim Taymans  <wim@fluendo.com>
17207
17208         * docs/design/part-element-sink.txt:
17209         * docs/design/part-element-source.txt:
17210         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17211         (gst_basesink_event), (gst_basesink_activate):
17212         * gst/base/gstbasesink.h:
17213         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17214         (gst_basesrc_activate):
17215         * gst/base/gstbasesrc.h:
17216         * gst/gstelement.c: (gst_element_pads_activate):
17217         Some more documentation.
17218         Fixed scheduling decision in _pads_activate().
17219
17220 2005-05-05  Andy Wingo  <wingo@pobox.com>
17221
17222         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17223         the test suite.
17224
17225 2005-05-05  Wim Taymans  <wim@fluendo.com>
17226
17227         * gst/base/Makefile.am:
17228         * gst/base/gstbasesink.h:
17229         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17230         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17231         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17232         (gst_collectpads_class_init), (gst_collectpads_init),
17233         (gst_collectpads_finalize), (gst_collectpads_new),
17234         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17235         (find_pad), (gst_collectpads_remove_pad),
17236         (gst_collectpads_is_active), (gst_collectpads_collect),
17237         (gst_collectpads_collect_range), (gst_collectpads_start),
17238         (gst_collectpads_stop), (gst_collectpads_peek),
17239         (gst_collectpads_pop), (gst_collectpads_available),
17240         (gst_collectpads_read), (gst_collectpads_flush),
17241         (gst_collectpads_chain):
17242         * gst/base/gstcollectpads.h:
17243         * gst/elements/Makefile.am:
17244         * gst/elements/gstelements.c:
17245         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17246         (gst_fakesink_get_times), (gst_fakesink_event),
17247         (gst_fakesink_preroll), (gst_fakesink_render):
17248         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17249         (gst_filesink_init), (gst_filesink_set_location),
17250         (gst_filesink_open_file), (gst_filesink_close_file),
17251         (gst_filesink_pad_query), (gst_filesink_event),
17252         (gst_filesink_render), (gst_filesink_change_state):
17253         * gst/elements/gstfilesink.h:
17254         Added object to help in making collect pad based elements.
17255         Ported filesink.
17256         Make event function in sink baseclass return gboolean.
17257
17258 2005-05-05  Wim Taymans  <wim@fluendo.com>
17259
17260         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17261         (gst_bin_get_by_name):
17262         * gst/gstbuffer.h:
17263         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17264         (gst_clock_finalize):
17265         * gst/gstdata.c: (gst_data_replace):
17266         * gst/gstdata.h:
17267         * gst/gstelement.c: (gst_element_request_pad),
17268         (gst_element_pads_activate):
17269         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17270         (gst_object_unref):
17271         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17272         (gst_pad_set_checkgetrange_function),
17273         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17274         (gst_pad_check_pull_range), (gst_pad_pull_range),
17275         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17276         (gst_pad_pause_task), (gst_pad_stop_task):
17277         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17278         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17279         Fix name lookup in GstBin.
17280         Added _data_replace() function and _buffer_replace()
17281         Use finalize method to clean up clock.
17282         Fix refcounting on request pads.
17283         Fix pad schedule mode error.
17284         Some more object refcounting debug info,
17285
17286
17287 2005-05-04  Andy Wingo <wingo@pobox.com>
17288
17289         * check/Makefile.am:
17290         * docs/gst/tmpl/gstatomic.sgml:
17291         * docs/gst/tmpl/gstplugin.sgml:
17292         * gst/base/gstbasesink.c: (gst_basesink_activate):
17293         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17294         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17295         (gst_basesrc_query), (gst_basesrc_set_property),
17296         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17297         (gst_basesrc_activate):
17298         * gst/base/gstbasesrc.h:
17299         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17300         (gst_base_transform_src_activate):
17301         * gst/elements/gstelements.c:
17302         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17303         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17304         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17305         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17306         (gst_type_find_element_checkgetrange),
17307         (gst_type_find_element_activate):
17308         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17309         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17310         (gst_caps_load_thyself):
17311         * gst/gstelement.c: (gst_element_pads_activate),
17312         (gst_element_save_thyself), (gst_element_restore_thyself):
17313         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17314         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17315         * gst/gstpad.h:
17316         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17317         (gst_xml_parse_file), (gst_xml_parse_memory),
17318         (gst_xml_get_element), (gst_xml_make_element):
17319         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17320         (_file_index_id_save_xml), (gst_file_index_commit):
17321         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17322         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17323         (load_paths):
17324         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17325         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17326         * tools/gst-complete.c: (main):
17327         * tools/gst-compprep.c: (main):
17328         * tools/gst-inspect.c: (print_element_properties_info):
17329         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17330         * tools/gst-xmlinspect.c: (print_element_properties):
17331         GCC 4 fixen.
17332         
17333 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17334
17335         * gst/gstplugin.c: (gst_plugin_check_module),
17336         (gst_plugin_check_file), (gst_plugin_load_file):
17337             apply patch from #172526 to make register work on MacOSX
17338
17339 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17340
17341         * docs/gst/tmpl/gstconfig.sgml:
17342         * gst/gstconfig.h.in:
17343           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17344         * testsuite/debug/printf_extension.c: (main):
17345           Do not use GST_PTR_FORMAT on pointers to types with
17346           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17347         * testsuite/elements/property.h:
17348           use correct printf format
17349
17350 2005-05-02  Wim Taymans  <wim@fluendo.com>
17351
17352         * docs/design/draft-push-pull.txt:
17353         * docs/design/draft-query.txt:
17354         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17355         (gst_basesrc_start):
17356         Added draft for new query API.
17357         Added draft for better selecting scheduling methods.
17358         Make basesrc ignore length if the subclass does not support
17359         it.
17360
17361 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17362
17363         * gst/Makefile.am:
17364           possible fixes for automake-1.5 - _LIBADD is reserved
17365
17366 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17367
17368         * docs/faq/Makefile.am:
17369         * docs/manual/Makefile.am:
17370         * docs/manuals.mak:
17371         * docs/pwg/Makefile.am:
17372         * gst/Makefile.am:
17373           possible fixes for automake-1.5
17374
17375 2005-04-28  Wim Taymans  <wim@fluendo.com>
17376
17377         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17378         (gst_basesink_pad_getcaps), (gst_basesink_init),
17379         (gst_basesink_do_sync):
17380         * gst/gstclock.c: (gst_clock_entry_new):
17381         * gst/gstevent.c: (gst_event_discont_get_value):
17382         * gst/gstpipeline.c: (pipeline_bus_handler),
17383         (gst_pipeline_change_state):
17384         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17385         Better debugging of clocking info.
17386         Allow NULL values when getting discont values.
17387
17388 2005-04-27  Wim Taymans  <wim@fluendo.com>
17389
17390         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17391         * check/gst/gstpad.c: (gst_pad_suite):
17392         Increase timeout for checks.
17393
17394 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17395
17396         * check/Makefile.am:
17397           fix the broken rule for cleanup.  Apparently this rule is
17398           only needed on FC2, so maybe this warrants further autotool
17399           inspection.
17400
17401 2005-04-26  Wim Taymans  <wim@fluendo.com>
17402
17403         * gst/gsttrashstack.h:
17404         Ooohh. a nasty one! After having a failed pop() from the stack,
17405         it's possible that the stack is empty. In that case, don't
17406         follow the NULL pointer.
17407
17408 2005-04-25  Wim Taymans  <wim@fluendo.com>
17409
17410         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17411         (gst_pad_set_checkgetrange_function),
17412         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17413         (gst_pad_check_pull_range), (gst_pad_pull_range),
17414         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17415         (gst_pad_pause_task), (gst_pad_stop_task):
17416         * gst/gstplugin.c: (gst_plugin_load):
17417         * gst/gstplugin.h:
17418         Remove gst_library_load as it does more harm than good with
17419         the new g_module flags.
17420         Revert bogus caps template check in pad linking, pad caps
17421         are important when linking not the template, which is more
17422         general than the current caps.
17423
17424 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17425
17426         * gst/autoplug/.cvsignore:
17427         * gst/autoplug/Makefile.am:
17428         * gst/autoplug/gstsearchfuncs.c:
17429         * gst/autoplug/gstsearchfuncs.h:
17430         * gst/autoplug/gstspider.c:
17431         * gst/autoplug/gstspider.h:
17432         * gst/autoplug/gstspideridentity.c:
17433         * gst/autoplug/gstspideridentity.h:
17434         * gst/autoplug/spidertest.c:
17435           Die, spider, die.
17436
17437 2005-04-25  Wim Taymans  <wim@fluendo.com>
17438
17439         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17440         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17441         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17442         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17443         * gst/gstpad.h:
17444         Added stubs for unimplemented functions. 
17445
17446 2005-04-24  David Schleef  <ds@schleef.org>
17447
17448         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17449         please fix.
17450
17451 2005-04-24  David Schleef  <ds@schleef.org>
17452
17453         Convert everything from GstAtomicInt to g_atomic_int_*, and
17454         remove gstatomic.
17455         * gst/Makefile.am:
17456         * gst/gstatomic.c:
17457         * gst/gstatomic.h:
17458         * gst/gstatomic_impl.h:
17459         * gst/gstbuffer.c:
17460         * gst/gstcaps.c:
17461         * gst/gstcaps.h:
17462         * gst/gstclock.c:
17463         * gst/gstclock.h:
17464         * gst/gstdata.c:
17465         * gst/gstdata.h:
17466         * gst/gstdata_private.h:
17467         * gst/gstevent.c:
17468         * gst/gstinfo.c:
17469         * gst/gstinfo.h:
17470         * gst/gstmessage.c:
17471         * gst/gstobject.c:
17472         * gst/gstobject.h:
17473         * gst/gststructure.c:
17474         * gst/gststructure.h:
17475         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17476         * gst/gstutils.h:
17477
17478 2005-04-24  David Schleef  <ds@schleef.org>
17479
17480         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17481         make the regressions tests work.  Remove some code that is no
17482         longer true.
17483         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17484         Disable warning for pads without templates.
17485
17486 2005-04-24  David Schleef  <ds@schleef.org>
17487
17488         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17489         functions that handle filtered links.
17490         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17491         removed functions.
17492         * gst/gstutils.c: Fix/remove utility functions that handle
17493         filtered caps.
17494         * gst/gstutils.h:
17495         * gst/gstvalue.c: Add serialization/deserialization of caps
17496         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17497         requires fixing so that the filter caps notation creates
17498         a capsfilter element and sets the filter_caps property.  I
17499         think everyone probably wants to keep the shorthand notation.
17500         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17501         * docs/gst/tmpl/gstpad.sgml:
17502
17503         * gst/elements/gstelements.c: Register capsfilter element.
17504         * gst/Makefile.am: fix spacing
17505         * docs/random/ds/0.9-suggested-changes: random
17506
17507 2005-04-23  David Schleef  <ds@schleef.org>
17508
17509         * gst/elements/Makefile.am:
17510         * gst/elements/gstcapsfilter.c: New element that acts like an
17511         identity, but filters caps.  Will eventually replace filtered
17512         caps in pad linking.
17513         * gst/gstutils.c: (gst_element_create_all_pads): New function
17514         to create all the ALWAYS pads that are registered with an
17515         element class.  This functionality should eventually be
17516         merged in with GstElement initialization.
17517         * gst/gstutils.h:
17518         * testsuite/trigger/README: part of trigger test code that should
17519         have been checked in a long time ago.
17520
17521 2005-04-23  David Schleef  <ds@schleef.org>
17522
17523         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17524         needed with new versions of libtool (nobody will confirm this),
17525         and hard to carry around.
17526         * gst/autoplug/Makefile.am:
17527         * gst/base/Makefile.am:
17528         * gst/elements/Makefile.am:
17529         * gst/indexers/Makefile.am:
17530         * gst/schedulers/Makefile.am:
17531         * libs/gst/bytestream/Makefile.am:
17532         * libs/gst/control/Makefile.am:
17533         * libs/gst/dataprotocol/Makefile.am:
17534         * libs/gst/getbits/Makefile.am:
17535
17536 2005-04-21  Wim Taymans  <wim@fluendo.com>
17537
17538         * docs/design/draft-push-pull.txt:
17539         * docs/design/part-MT-refcounting.txt:
17540         * docs/design/part-TODO.txt:
17541         * docs/design/part-caps.txt:
17542         * docs/design/part-events.txt:
17543         * docs/design/part-gstbus.txt:
17544         * docs/design/part-gstpipeline.txt:
17545         * docs/design/part-messages.txt:
17546         * docs/design/part-push-pull.txt:
17547         * docs/design/part-query.txt:
17548         Some more docs.
17549
17550 2005-04-21  Wim Taymans  <wim@fluendo.com>
17551
17552         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17553         (gst_message_new), (gst_message_new_error),
17554         (gst_message_new_warning), (gst_message_new_tag),
17555         (gst_message_new_state_changed), (gst_message_new_application),
17556         (gst_message_get_structure):
17557         * gst/gstmessage.h:
17558         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17559         (gst_structure_copy_conditional):
17560         Use parent refcount in GstMessage to ensure GstStructure
17561         consistency.
17562         Cleaned up headers a bit.
17563         
17564
17565 2005-04-20  Wim Taymans  <wim@fluendo.com>
17566
17567         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17568         (gst_basesink_pad_getcaps), (gst_basesink_init),
17569         (gst_basesink_chain_unlocked):
17570         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17571         (gst_type_find_helper):
17572         * gst/elements/gsttypefindelement.c:
17573         (gst_type_find_element_have_type), (gst_type_find_element_init),
17574         (stop_typefinding), (gst_type_find_element_handle_event),
17575         (find_suggest), (gst_type_find_element_chain),
17576         (gst_type_find_element_checkgetrange),
17577         (gst_type_find_element_getrange), (do_typefind),
17578         (gst_type_find_element_activate):
17579         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17580         (gst_buffer_default_free), (gst_buffer_default_copy),
17581         (gst_buffer_set_caps):
17582         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17583         (gst_caps_replace):
17584         * gst/gstmessage.c: (gst_message_new),
17585         (gst_message_new_state_changed):
17586         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17587         (gst_pad_set_checkgetrange_function),
17588         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17589         (gst_pad_set_caps), (gst_pad_check_pull_range),
17590         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17591         * gst/gstpad.h:
17592         * gst/gsttypefind.c: (gst_type_find_register):
17593         Make gst_caps_replace() work like other _replace() functions.
17594         Use _caps_replace() where possible.
17595         Make sure _message_new() initialises its field.
17596         Add gst_static_pad_template_get_caps()
17597
17598
17599 2005-04-18  Andy Wingo  <wingo@pobox.com>
17600
17601         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17602         on the peer, not the pad. I think that was a typo. Pass an extra
17603         arg to see if random access is possible. Activate the pads as
17604         PULL_RANGE if possible.
17605
17606         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17607
17608         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17609         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17610         to PROP_....
17611
17612 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17613
17614         * docs/faq/using.xml:
17615           Add note on gstreamer-properties (#154996).
17616
17617 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17618
17619         * docs/random/bbb/optional-properties:
17620           Some analysis on optional properties.
17621
17622 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17623
17624         * docs/gst/tmpl/gstelementfactory.sgml:
17625         * gst/gstelement.h:
17626         * gst/gstelementfactory.c: (gst_element_factory_init),
17627         (gst_element_factory_cleanup), (gst_element_register),
17628         (__gst_element_factory_add_static_pad_template),
17629         (gst_element_factory_get_static_pad_templates),
17630         (gst_element_factory_can_src_caps),
17631         (gst_element_factory_can_sink_caps):
17632         * gst/registries/Makefile.am:
17633         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17634         (gst_xml_registry_class_init), (gst_xml_registry_init),
17635         (gst_xml_registry_new), (gst_xml_registry_set_property),
17636         (gst_xml_registry_get_property), (get_time), (make_dir),
17637         (gst_xml_registry_get_perms_func),
17638         (plugin_times_older_than_recurse), (plugin_times_older_than),
17639         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17640         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17641         (add_to_char_array), (read_string), (read_uint), (read_enum),
17642         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17643         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17644         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17645         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17646         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17647         (gst_xml_registry_rebuild):
17648         * gst/registries/gstlibxmlregistry.h:
17649         * tools/gst-compprep.c: (main):
17650         * tools/gst-inspect.c: (print_pad_templates_info):
17651         * tools/gst-xmlinspect.c: (print_element_info):
17652           Use libxml2 for registry parsing, use staticpadtemplates in
17653           elementfactories. Makes gst_init() +/- 10x faster.
17654
17655 2005-04-12  Wim Taymans  <wim@fluendo.com>
17656
17657         * gst/base/Makefile.am:
17658         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17659         (gst_basesink_pad_getcaps), (gst_basesink_init),
17660         (gst_basesink_event), (gst_basesink_change_state):
17661         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17662         (gst_basesrc_init), (gst_basesrc_query),
17663         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17664         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17665         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17666         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17667         (gst_basesrc_stop), (gst_basesrc_activate),
17668         (gst_basesrc_change_state):
17669         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17670         (helper_find_suggest), (gst_type_find_helper):
17671         * gst/base/gsttypefindhelper.h:
17672         * gst/elements/Makefile.am:
17673         * gst/elements/gstelements.c:
17674         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17675         (gst_fakesink_get_times), (gst_fakesink_event),
17676         (gst_fakesink_preroll), (gst_fakesink_render):
17677         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17678         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17679         (gst_fakesrc_get_property), (gst_fakesrc_create),
17680         (gst_fakesrc_start), (gst_fakesrc_stop):
17681         * gst/elements/gstfakesrc.h:
17682         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17683         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17684         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17685         (gst_filesrc_create_read), (gst_filesrc_create),
17686         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17687         (gst_filesrc_start):
17688         * gst/elements/gsttypefindelement.c:
17689         (gst_type_find_element_have_type), (gst_type_find_element_init),
17690         (start_typefinding), (stop_typefinding), (push_buffer_store),
17691         (gst_type_find_element_handle_event),
17692         (gst_type_find_element_chain),
17693         (gst_type_find_element_checkgetrange),
17694         (gst_type_find_element_getrange), (do_typefind),
17695         (gst_type_find_element_activate),
17696         (gst_type_find_element_change_state):
17697         * gst/elements/gsttypefindelement.h:
17698         * gst/gstpipeline.c: (pipeline_bus_handler):
17699         Added typefind helper.
17700         Small preroll fix in the base sink.
17701         Disable typefind code in basesrc.
17702         Crude port of typefindelement.
17703         Fakesrc cleanups.
17704
17705
17706 2005-04-11  Wim Taymans  <wim@fluendo.com>
17707
17708         * check/gst/gstbus.c: (gstbus_suite):
17709         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17710         * check/gstcheck.h:
17711           Fix up the timeout so that the test does not fail.
17712
17713 2005-04-06  Wim Taymans  <wim@fluendo.com>
17714
17715         * gst/base/README:
17716         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17717         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17718         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17719         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17720         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17721         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17722         (gst_basesrc_stop), (gst_basesrc_activate),
17723         (gst_basesrc_change_state), (basesrc_find_peek),
17724         (basesrc_find_suggest), (gst_basesrc_type_find):
17725         * gst/base/gstbasesrc.h:
17726         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17727         (gst_filesrc_class_init), (gst_filesrc_init),
17728         (gst_filesrc_finalize), (gst_filesrc_set_location),
17729         (gst_filesrc_set_property), (gst_filesrc_get_property),
17730         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17731         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17732         (gst_filesrc_create_read), (gst_filesrc_create),
17733         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17734         * gst/elements/gstfilesrc.h:
17735         * gst/gstelement.c: (gst_element_get_state_func),
17736         (gst_element_lost_state), (gst_element_pads_activate):
17737         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17738         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17739         (gst_pad_pull_range):
17740         * gst/gstpad.h:
17741         More work on the generic source base class, implement seeking,
17742         query.
17743         Make filesrc extend the base source class.
17744         Added gst_pad_set_checkgetrange_function to GstPad.
17745
17746 2005-04-06  Andy Wingo  <wingo@pobox.com>
17747
17748         * pkgconfig/gstreamer-base.pc.in:
17749         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17750
17751         * pkgconfig/Makefile.am:
17752         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17753
17754 2005-04-04  Wim Taymans  <wim@fluendo.com>
17755
17756         * gst/base/Makefile.am:
17757         * gst/base/README:
17758         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17759         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17760         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17761         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17762         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17763         (gst_basesrc_base_init), (gst_basesrc_class_init),
17764         (gst_basesrc_init), (gst_basesrc_get_formats),
17765         (gst_basesrc_get_query_types), (gst_basesrc_query),
17766         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17767         (gst_basesrc_set_property), (gst_basesrc_get_property),
17768         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17769         (gst_basesrc_loop), (gst_basesrc_activate),
17770         (gst_basesrc_change_state):
17771         * gst/base/gstbasesrc.h:
17772         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17773         (gst_fakesrc_class_init), (gst_fakesrc_init),
17774         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17775         (gst_fakesrc_get_property), (gst_fakesrc_create):
17776         * gst/elements/gstfakesrc.h:
17777         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17778         (gst_filesrc_open_file), (gst_filesrc_loop),
17779         (gst_filesrc_activate), (filesrc_find_peek),
17780         (gst_filesrc_type_find):
17781         Made base source class, make fakesrc extend it.
17782         Add comments to basesink class.
17783         Some filesrc cleanup.
17784
17785 2005-03-31  David Schleef  <ds@schleef.org>
17786
17787         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17788         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17789         expected to link against libgstreamer.
17790         * gst/base/Makefile.am: link against libgstreamer
17791         * gst/elements/Makefile.am: same
17792
17793 2005-03-31  Andy Wingo  <wingo@pobox.com>
17794
17795         * tests/instantiate/Makefile.am:
17796         * tests/instantiate/caps.c: Add test to test speed of caps copy
17797         and free.
17798
17799         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17800         GMemChunk to be fair.
17801
17802         * gst/gsttrashstack.h: Remove warning about using the fallback
17803         trash stack implementation, it's still faster than malloc.
17804
17805 2005-03-30  Andy Wingo  <wingo@pobox.com>
17806
17807         * tests/complexity.c: Add a copyright.
17808
17809 2005-03-31  Wim Taymans  <wim@fluendo.com>
17810
17811         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17812         (gst_base_transform_class_init), (gst_base_transform_init),
17813         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17814         (gst_base_transform_get_property),
17815         (gst_base_transform_sink_activate),
17816         (gst_base_transform_src_activate),
17817         (gst_base_transform_change_state):
17818         * gst/base/gstbasetransform.h:
17819         * gst/elements/gstidentity.c: (gst_identity_class_init),
17820         (gst_identity_event), (gst_identity_check_perfect),
17821         (gst_identity_transform), (gst_identity_start),
17822         (gst_identity_stop):
17823         Added start/stop methods to transform base class so subclasses 
17824         don't need to deal with state changes even.
17825
17826 2005-03-31  Wim Taymans  <wim@fluendo.com>
17827
17828         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17829         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17830         * gst/gstevent.h:
17831         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17832         (gst_pad_pull_range):
17833         Added rate to the discont event to prepare for variable speed
17834         and reverse playback.
17835
17836 2005-03-29  David Schleef  <ds@schleef.org>
17837
17838         * configure.ac:
17839         * testsuite/trigger/Makefile.am:
17840         * testsuite/trigger/trigger.c: A little example program to show
17841         how trigger-based elements can work.
17842
17843 2005-03-29  Wim Taymans  <wim@fluendo.com>
17844
17845         * gst/base/Makefile.am:
17846         * gst/base/README:
17847         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17848         (gst_basesink_base_init), (gst_basesink_class_init),
17849         (gst_basesink_pad_getcaps), (gst_basesink_init),
17850         (gst_basesink_activate), (gst_basesink_change_state):
17851         * gst/base/gstbasesink.h:
17852         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17853         (gst_base_transform_base_init), (gst_base_transform_finalize),
17854         (gst_base_transform_class_init), (gst_base_transform_init),
17855         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17856         (gst_base_transform_event), (gst_base_transform_getrange),
17857         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17858         (gst_base_transform_set_property),
17859         (gst_base_transform_get_property),
17860         (gst_base_transform_sink_activate),
17861         (gst_base_transform_src_activate),
17862         (gst_base_transform_change_state):
17863         * gst/base/gstbasetransform.h:
17864         * gst/elements/gstidentity.c: (gst_identity_finalize),
17865         (gst_identity_class_init), (gst_identity_init),
17866         (gst_identity_event), (gst_identity_check_perfect),
17867         (gst_identity_transform), (gst_identity_set_property),
17868         (gst_identity_get_property), (gst_identity_change_state):
17869         * gst/elements/gstidentity.h:
17870         * gst/gstelement.c: (gst_element_get_state_func),
17871         (gst_element_lost_state), (gst_element_pads_activate):
17872         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17873         (gst_pad_check_pull_range), (gst_pad_pull_range):
17874         * gst/gstpad.h:
17875         Simplify pad activation.
17876         Added function to check if pull_range can be performed.
17877         Error out when pulling inactive or flushing pads.
17878         Removed const from refcounted types as it does not make sense.
17879         Simplify pad templates in basesink
17880         Added base class for simple 1-to-1 transforms.
17881         Make identity subclass the base transform.
17882
17883 2005-03-29  Andy Wingo  <wingo@pobox.com>
17884
17885         * docs/libs/gstreamer-libs-overrides.txt: 
17886         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17887         really don't understand what's going on, but like whatever. I want
17888         green buildbot!
17889
17890         * docs/gst/Makefile.am:
17891         * docs/libs/Makefile.am: Dist the overrides files.
17892
17893         * check/Makefile.am (clean-local): Remove .libs directories.
17894
17895         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17896         elements to EXTRA_DIST, so po/ files are happy.
17897
17898         * po/POTFILES.in: Er, remove it here.
17899
17900         * po/POTFILES: Remove gstspider.c.
17901
17902         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17903
17904         * docs/libs/gstreamer-libs-docs.sgml: 
17905         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17906         bytestream.
17907
17908         * tests/complexity.c (main): Set the length of the preroll queue
17909         on the sinks to prevent a lockup.
17910
17911         * libs/gst/dataprotocol/Makefile.am: 
17912         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17913         the same as the one in check/gst-libs/gdp.c.
17914
17915         * po/, docs/gst/: Commit automatic changes to docs and po files.
17916
17917         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17918         the versioned libgstbase.
17919
17920         * check/Makefile.am: Depend on an unversioned gst-register, seems
17921         to make autoconf happier.
17922
17923         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17924
17925 2005-03-28  Wim Taymans  <wim@fluendo.com>
17926
17927         * configure.ac:
17928         * docs/design/part-gstelement.txt:
17929         * docs/design/part-negotiation.txt:
17930         * docs/design/part-preroll.txt:
17931         * docs/design/part-scheduling.txt:
17932         * docs/design/part-states.txt:
17933         * gst/Makefile.am:
17934         * gst/base/Makefile.am:
17935         * gst/base/README:
17936         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17937         (gst_basesink_base_init), (gst_basesink_class_init),
17938         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17939         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17940         (gst_basesink_set_pad_functions),
17941         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17942         (gst_basesink_set_property), (gst_basesink_get_property),
17943         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17944         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17945         (gst_basesink_preroll_queue_push),
17946         (gst_basesink_preroll_queue_empty),
17947         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17948         (gst_basesink_event), (gst_basesink_get_times),
17949         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17950         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17951         (gst_basesink_loop), (gst_basesink_activate),
17952         (gst_basesink_change_state):
17953         * gst/base/gstbasesink.h:
17954         * gst/elements/Makefile.am:
17955         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17956         (gst_fakesink_class_init), (gst_fakesink_init),
17957         (gst_fakesink_set_property), (gst_fakesink_get_property),
17958         (gst_fakesink_get_times), (gst_fakesink_event),
17959         (gst_fakesink_preroll), (gst_fakesink_render),
17960         (gst_fakesink_change_state):
17961         * gst/elements/gstfakesink.h:
17962         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17963         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17964         * gst/gstelement.c: (gst_element_add_pad),
17965         (gst_element_get_state_func), (gst_element_abort_state),
17966         (gst_element_commit_state), (gst_element_lost_state),
17967         (gst_element_set_state), (gst_element_pads_activate):
17968         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17969         * gst/gstpipeline.c: (gst_pipeline_send_event),
17970         (gst_pipeline_change_state):
17971         Added state change code.
17972         Added/updated docs.
17973         Added sink base class, make fakesink extend the base class.
17974         Small cleanups in GstPipeline.
17975
17976 2005-03-26  David Schleef  <ds@schleef.org>
17977
17978         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17979         is broken and should be implemented in a different library.
17980         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17981         * gst/gst.h: remove gstcpu.h
17982         * gst/gstcpu.c: remove
17983         * gst/gstcpu.h: remove
17984         * gst/Makefile.am.future: Remove this file.  It's ancient.
17985
17986 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17987
17988         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17989         (gst_bin_send_event):
17990           Add default event/set_manager handlers. The set_manager handler
17991           takes care that the manager is distributed over kids that were
17992           already in the bin before the manager was set. The event handler
17993           is a utility virtual function that sends the event over all sinks,
17994           so that gst_element_send_event (bin, event); has the expected
17995           behaviour.
17996         * gst/gstpad.c: (gst_pad_event_default):
17997           Re-install default event handling for discontinuities, so that
17998           seeking works without requiring hacks in applications or extra
17999           code in sinks.
18000         * gst/gstpipeline.c: (gst_pipeline_class_init),
18001         (gst_pipeline_send_event):
18002           Half hack, half utility: set a pipeline to PAUSED for seek events,
18003           since that is the only way we can guarantee a/v sync. Means that
18004           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18005           and it "just works".
18006
18007 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18008
18009         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18010           Lock/unlock mismatch.
18011
18012 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18013
18014         * docs/faq/gst-uninstalled:
18015           add gst-plugins-base
18016         * docs/gst/Makefile.am:
18017           don't error out until docs are fixed
18018         * docs/gst/gstreamer.types:
18019           remove thread
18020
18021 2005-03-22  Wim Taymans  <wim@fluendo.com>
18022
18023         * check/Makefile.am:
18024         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18025         * gst/gststructure.c: (gst_structure_set_valist),
18026         (gst_structure_copy_conditional):
18027         Activated more tests.
18028         Added message test.
18029         Added G_TYPE_POINTER to GstStructure.
18030         
18031
18032 2005-03-22  Wim Taymans  <wim@fluendo.com>
18033
18034         * docs/design/part-TODO.txt:
18035         * docs/design/part-events.txt:
18036         * docs/design/part-gstbin.txt:
18037         * docs/design/part-gstbus.txt:
18038         * docs/design/part-gstpipeline.txt:
18039         * docs/design/part-messages.txt:
18040         * gst/gstbus.c:
18041         * gst/gstmessage.c:
18042         Docs updates
18043
18044 2005-03-21  Wim Taymans  <wim@fluendo.com>
18045
18046         * gst/gstbus.c: (gst_bus_post):
18047         Fix copy-and-paste error.
18048
18049 2005-03-21  Wim Taymans  <wim@fluendo.com>
18050
18051         * check/Makefile.am:
18052         * gst/Makefile.am:
18053         * gst/elements/Makefile.am:
18054         * gst/elements/gstelements.c:
18055         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18056         (gst_fakesink_event), (gst_fakesink_chain):
18057         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18058         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18059         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18060         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18061         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18062         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18063         (gst_fakesrc_loop), (gst_fakesrc_activate),
18064         (gst_fakesrc_change_state):
18065         * gst/elements/gstfakesrc.h:
18066         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18067         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18068         (gst_filesrc_open_file), (gst_filesrc_loop),
18069         (gst_filesrc_activate), (gst_filesrc_change_state),
18070         (filesrc_find_peek), (filesrc_find_suggest),
18071         (gst_filesrc_type_find):
18072         * gst/elements/gstidentity.c: (gst_identity_finalize),
18073         (gst_identity_class_init), (gst_identity_init),
18074         (gst_identity_proxy_getcaps), (identity_queue_push),
18075         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18076         (gst_identity_getrange), (gst_identity_chain),
18077         (gst_identity_sink_loop), (gst_identity_src_loop),
18078         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18079         (gst_identity_set_property), (gst_identity_get_property),
18080         (gst_identity_change_state):
18081         * gst/elements/gstidentity.h:
18082         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18083         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18084         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18085         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18086         (gst_tee_sink_activate):
18087         * gst/elements/gsttee.h:
18088         * gst/gst.c: (gst_register_core_elements), (init_post):
18089         * gst/gst.h:
18090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18091         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18092         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18093         (gst_bin_change_state):
18094         * gst/gstbin.h:
18095         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18096         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18097         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18098         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18099         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18100         (bus_watch_callback), (bus_watch_destroy),
18101         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18102         (poll_timeout), (gst_bus_poll):
18103         * gst/gstbus.h:
18104         * gst/gstcaps.h:
18105         * gst/gstdata.h:
18106         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18107         (gst_element_post_message), (gst_element_message_full),
18108         (gst_element_get_state_func), (gst_element_get_state),
18109         (gst_element_abort_state), (gst_element_commit_state),
18110         (gst_element_lost_state), (gst_element_set_state),
18111         (gst_element_pads_activate), (gst_element_change_state),
18112         (gst_element_dispose), (gst_element_set_manager_func),
18113         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18114         (gst_element_set_manager), (gst_element_get_manager),
18115         (gst_element_set_bus), (gst_element_get_bus),
18116         (gst_element_set_scheduler), (gst_element_get_scheduler):
18117         * gst/gstelement.h:
18118         * gst/gstevent.c: (gst_event_new_segment_seek),
18119         (gst_event_new_flush):
18120         * gst/gstevent.h:
18121         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18122         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18123         (gst_message_new_eos), (gst_message_new_error),
18124         (gst_message_new_warning), (gst_message_new_tag),
18125         (gst_message_new_state_changed), (gst_message_new_application),
18126         (gst_message_get_structure), (gst_message_parse_tag),
18127         (gst_message_parse_state_changed), (gst_message_parse_error),
18128         (gst_message_parse_warning):
18129         * gst/gstmessage.h:
18130         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18131         (gst_real_pad_set_property), (gst_pad_set_active),
18132         (gst_pad_is_active), (gst_pad_set_blocked_async),
18133         (gst_pad_set_blocked), (gst_pad_is_blocked),
18134         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18135         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18136         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18137         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18138         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18139         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18140         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18141         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18142         (gst_pad_set_caps), (gst_pad_configure_sink),
18143         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18144         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18145         (gst_real_pad_dispose), (gst_real_pad_finalize),
18146         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18147         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18148         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18149         * gst/gstpad.h:
18150         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18151         (pipeline_bus_handler), (gst_pipeline_change_state),
18152         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18153         * gst/gstpipeline.h:
18154         * gst/gstprobe.h:
18155         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18156         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18157         (gst_queue_link_src), (gst_queue_bufferalloc),
18158         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18159         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18160         (gst_queue_loop), (gst_queue_handle_src_event),
18161         (gst_queue_handle_src_query), (gst_queue_src_activate),
18162         (gst_queue_change_state):
18163         * gst/gstqueue.h:
18164         * gst/gstscheduler.c: (gst_scheduler_init),
18165         (gst_scheduler_dispose), (gst_scheduler_create_task),
18166         (gst_scheduler_factory_create):
18167         * gst/gstscheduler.h:
18168         * gst/gststructure.c: (gst_structure_get_type),
18169         (gst_structure_copy_conditional):
18170         * gst/gststructure.h:
18171         * gst/gsttaginterface.h:
18172         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18173         (gst_task_init), (gst_task_dispose), (gst_task_create),
18174         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18175         (gst_task_pause):
18176         * gst/gsttask.h:
18177         * gst/gstthread.c:
18178         * gst/gstthread.h:
18179         * gst/gsttypes.h:
18180         * gst/schedulers/Makefile.am:
18181         * gst/schedulers/cothreads_compat.h:
18182         * gst/schedulers/entryscheduler.c:
18183         * gst/schedulers/faircothreads.c:
18184         * gst/schedulers/faircothreads.h:
18185         * gst/schedulers/fairscheduler.c:
18186         * gst/schedulers/gstbasicscheduler.c:
18187         * gst/schedulers/gstoptimalscheduler.c:
18188         * gst/schedulers/gthread-cothreads.h:
18189         * gst/schedulers/threadscheduler.c:
18190         (gst_thread_scheduler_task_get_type),
18191         (gst_thread_scheduler_task_class_init),
18192         (gst_thread_scheduler_task_init),
18193         (gst_thread_scheduler_task_start),
18194         (gst_thread_scheduler_task_stop),
18195         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18196         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18197         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18198         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18199         (plugin_init):
18200         * libs/gst/Makefile.am:
18201         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18202         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18203         (gst_file_pad_parent_set):
18204         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18205         (gst_dp_event_from_packet):
18206         * tests/complexity.c: (main):
18207         * tests/mass_elements.c: (main):
18208         * testsuite/states/locked.c: (message_received), (main):
18209         * testsuite/states/parent.c: (main):
18210         * tools/gst-inspect.c: (print_element_flag_info),
18211         (print_implementation_info), (print_pad_info):
18212         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18213         (main):
18214         * tools/gst-md5sum.c: (event_loop), (main):
18215         * tools/gst-typefind.c: (main):
18216         * tools/gst-xmlinspect.c: (print_element_info):
18217         Next big merge.
18218         Added GstBus for mainloop integration.
18219         Added GstMessage for sending notifications on the bus.
18220         Added GstTask as an abstraction for pipeline entry points.
18221         Removed GstThread.
18222         Removed Schedulers.
18223         Simplified GstQueue for multithreaded core.
18224         Made _link threadsafe, removed old capsnego.
18225         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18226         Added pad blocking functions.
18227         Reworked scheduling functions in GstPad to prepare for
18228         scheduling updates soon.
18229         Moved events out of data stream.
18230         Simplified GstEvent types.
18231         Added return values to push/pull.
18232         Removed clocking from GstElement.
18233         Added prototypes for state change function for next merge.
18234         Removed iterate from bins and state change management.
18235         Fixed some elements, disabled others for now.
18236         Fixed -inspect and -launch.
18237         Added check for GstBus.
18238
18239 2005-03-10  Wim Taymans  <wim@fluendo.com>
18240
18241         * docs/design/part-MT-refcounting.txt:
18242         * docs/design/part-clocks.txt:
18243         * docs/design/part-gstelement.txt:
18244         * docs/design/part-gstobject.txt:
18245         * docs/design/part-standards.txt:
18246         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18247         (gst_bin_remove_func), (gst_bin_remove):
18248         * gst/gstbin.h:
18249         * gst/gstbuffer.c:
18250         * gst/gstcaps.h:
18251         * testsuite/clock/clock1.c: (main):
18252         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18253         (main):
18254         * testsuite/dlopen/loadgst.c: (do_test):
18255         * testsuite/refcounting/bin.c: (add_remove_test1),
18256         (add_remove_test2), (main):
18257         * testsuite/refcounting/element.c: (main):
18258         * testsuite/refcounting/element_pad.c: (main):
18259         * testsuite/refcounting/pad.c: (main):
18260         * tools/gst-launch.c: (sigint_handler_sighandler):
18261         * tools/gst-typefind.c: (main):
18262         Doc updates.
18263         Added doc about clock.
18264         removed gst_bin_iterate_recurse_up(), marked methods
18265         for removal.
18266         Fix more testsuites.
18267
18268 2005-03-09  Wim Taymans  <wim@fluendo.com>
18269
18270         * gst/gstpad.c: (gst_pad_get_direction),
18271         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18272         (gst_pad_collect_valist):
18273         * testsuite/bins/interface.c: (main):
18274         * testsuite/caps/audioscale.c: (test_caps):
18275         * testsuite/caps/caps.c: (test1), (test2), (test3):
18276         * testsuite/caps/deserialize.c: (main):
18277         * testsuite/caps/enumcaps.c: (main):
18278         * testsuite/caps/filtercaps.c: (main):
18279         * testsuite/caps/intersect2.c: (main):
18280         * testsuite/caps/random.c: (main):
18281         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18282         * testsuite/caps/sets.c: (check_caps):
18283         * testsuite/caps/simplify.c: (check_caps), (main):
18284         * testsuite/caps/subtract.c: (check_caps):
18285         Fix _pad_get_direction wrt ghostpads.
18286         Fix caps testsuite.
18287
18288 2005-03-09  Wim Taymans  <wim@fluendo.com>
18289
18290         * check/Makefile.am:
18291         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18292         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18293         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18294         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18295         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18296         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18297         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18298         (bin_element_is_sink), (gst_bin_iterate_sinks),
18299         (gst_bin_iterate_all_by_interface):
18300         * gst/gstbin.h:
18301         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18302         (gst_element_change_state), (gst_element_dispose),
18303         (gst_element_finalize), (gst_element_set_loop_function):
18304         * gst/gstelement.h:
18305         * gst/gstiterator.c: (find_custom_fold_func):
18306         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18307         (gst_pad_collectv), (gst_pad_collect_valist),
18308         (gst_pad_template_new):
18309         * gst/gstpipeline.c: (gst_pipeline_class_init),
18310         (gst_pipeline_dispose), (gst_pipeline_set_property),
18311         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18312         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18313         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18314         * gst/gstutils.h:
18315         * gst/schedulers/entryscheduler.c:
18316         * gst/schedulers/gstbasicscheduler.c:
18317         (gst_basic_scheduler_cothreaded_chain),
18318         (gst_basic_scheduler_chain_add_element):
18319         * testsuite/bins/interface.c: (main):
18320         Added GstBin test.
18321         Added GstSystemClock test.
18322         Implemented clock distribution code in GstBin.
18323         Implemented iterate sinks method for future use.
18324         Rearranged gstelement.h
18325         Fix GstIterator comparison bug.
18326         Moved some code to GstPipeline, mostly clocking related.
18327
18328 2005-03-09  Wim Taymans  <wim@fluendo.com>
18329
18330         * configure.ac:
18331         * gst/gst_private.h:
18332         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18333         (gst_bin_remove_func), (gst_bin_remove),
18334         (gst_bin_get_by_name_recurse_up):
18335         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18336         (gst_clock_id_compare_func), (gst_clock_id_wait),
18337         (gst_clock_id_wait_async), (gst_clock_init),
18338         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18339         * gst/gstelement.h:
18340         * gst/gstinfo.c: (_gst_debug_init):
18341         * gst/gstobject.h:
18342         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18343         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18344         * gst/gstpad.h:
18345         Bump version number, we're now 0.9.0
18346         Add future debugging category.
18347         Fix NULL _unref() in _get_by_name_recurse_up
18348         Rearrange gstpad.h.
18349         Update some docs.
18350
18351 2005-03-08  Wim Taymans  <wim@fluendo.com>
18352
18353         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18354         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18355         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18356         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18357         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18358         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18359         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18360         * gst/elements/gstidentity.c: (gst_identity_class_init):
18361         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18362         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18363         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18364         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18365         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18366         (gst_tee_link):
18367         * gst/gstelement.c: (gst_element_class_init),
18368         (gst_element_base_class_init), (gst_element_init),
18369         (gst_element_get_random_pad), (gst_element_wait_state_change),
18370         (gst_element_change_state), (gst_element_dispose),
18371         (gst_element_finalize), (gst_element_set_loop_function):
18372         * gst/gstelement.h:
18373         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18374         * gst/gstthread.c: (gst_thread_class_init),
18375         (gst_thread_release_children_locks), (gst_thread_change_state):
18376         * gst/schedulers/gstbasicscheduler.c:
18377         (gst_basic_scheduler_loopfunc_wrapper),
18378         (gst_basic_scheduler_chain_wrapper),
18379         (gst_basic_scheduler_src_wrapper),
18380         (gst_basic_scheduler_remove_element):
18381         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18382         Remove threadsafe properties. Fix elements because GObject
18383         complains when installing a property before declaring a
18384         set/get_property handler.
18385         Rearrange gstelement.h file, use STATE macros for state locks.
18386         Free mutexes in the finalize method instead of dispose.
18387
18388 2005-03-08  Wim Taymans  <wim@fluendo.com>
18389
18390         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18391         * gst/gstthread.c: (gst_thread_release_children_locks):
18392         Added parentage check.
18393         Fix build og GstThread again.
18394
18395 2005-03-08  Wim Taymans  <wim@fluendo.com>
18396
18397         * docs/design/part-MT-refcounting.txt:
18398         * docs/design/part-conventions.txt:
18399         * docs/design/part-gstobject.txt:
18400         * docs/design/part-relations.txt:
18401         * docs/design/part-standards.txt:
18402         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18403         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18404         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18405         (gst_bin_iterate_all_by_interface):
18406         * gst/gstbuffer.h:
18407         * gst/gstclock.h:
18408         * gst/gstelement.c: (gst_element_class_init),
18409         (gst_element_change_state), (gst_element_set_loop_function):
18410         * gst/gstelement.h:
18411         * gst/gstiterator.c:
18412         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18413         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18414         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18415         (gst_object_set_parent), (gst_object_unparent),
18416         (gst_object_check_uniqueness):
18417         * gst/gstobject.h:
18418         Docs updates, clean up some headers.
18419
18420 2005-03-07  Wim Taymans  <wim@fluendo.com>
18421
18422         * check/.cvsignore:
18423         * check/Makefile.am:
18424         * check/gst-libs/.cvsignore:
18425         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18426         * check/gst/.cvsignore:
18427         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18428         (START_TEST), (gstbus_suite), (main):
18429         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18430         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18431         (gst_data_suite), (main):
18432         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18433         (add_fold_func), (gstiterator_suite), (main):
18434         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18435         (thread_name_object), (thread_name_object_default),
18436         (gst_object_name_compare), (gst_object_suite), (main):
18437         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18438         (gst_pad_suite), (main):
18439         * check/gstcheck.c: (gst_check_log_message_func),
18440         (gst_check_log_critical_func), (gst_check_init):
18441         * check/gstcheck.h:
18442         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18443         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18444         Added checks.
18445
18446 2005-03-07  Wim Taymans  <wim@fluendo.com>
18447
18448         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18449         (gst_list_iterator_next), (gst_list_iterator_resync),
18450         (gst_list_iterator_free), (gst_iterator_new_list),
18451         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18452         (gst_iterator_free), (gst_iterator_push), (filter_next),
18453         (filter_resync), (filter_uninit), (filter_free),
18454         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18455         (gst_iterator_foreach), (find_custom_fold_func),
18456         (gst_iterator_find_custom):
18457         * gst/gstiterator.h:
18458         Added missing files.
18459
18460 2005-03-07  Wim Taymans  <wim@fluendo.com>
18461
18462         * Makefile.am:
18463         * configure.ac:
18464         * docs/design/part-MT-refcounting.txt:
18465         * docs/design/part-conventions.txt:
18466         * docs/design/part-gstobject.txt:
18467         * docs/design/part-relations.txt:
18468         * examples/mixer/mixer.c: (main):
18469         * examples/thread/thread.c: (eos), (main):
18470         * gst/Makefile.am:
18471         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18472         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18473         (gst_spider_plug_from_srcpad):
18474         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18475         (gst_spider_identity_change_state),
18476         (gst_spider_identity_sink_loop_type_finding):
18477         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18478         * gst/elements/gstidentity.c: (gst_identity_init):
18479         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18480         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18481         * gst/elements/gsttypefindelement.c: (free_entry):
18482         * gst/gst.c:
18483         * gst/gst.h:
18484         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18485         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18486         (gst_bin_set_index), (gst_bin_set_element_sched),
18487         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18488         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18489         (gst_bin_iterate_elements), (iterate_child_recurse),
18490         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18491         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18492         (compare_interface), (gst_bin_get_by_interface),
18493         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18494         * gst/gstbin.h:
18495         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18496         (gst_buffer_default_free), (gst_buffer_default_copy),
18497         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18498         (gst_buffer_create_sub):
18499         * gst/gstbuffer.h:
18500         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18501         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18502         (gst_caps_unref), (gst_static_caps_get),
18503         (gst_caps_remove_and_get_structure), (gst_caps_append),
18504         (gst_caps_append_structure), (gst_caps_remove_structure),
18505         (gst_caps_copy_nth), (gst_caps_set_simple),
18506         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18507         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18508         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18509         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18510         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18511         (gst_caps_structure_figure_out_union),
18512         (gst_caps_switch_structures), (gst_caps_do_simplify),
18513         (gst_caps_replace), (gst_caps_from_string),
18514         (gst_caps_copy_conditional):
18515         * gst/gstcaps.h:
18516         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18517         (_gst_clock_id_free), (gst_clock_id_unref),
18518         (gst_clock_id_compare_func), (gst_clock_id_wait),
18519         (gst_clock_id_wait_async), (gst_clock_class_init),
18520         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18521         (gst_clock_get_time), (gst_clock_set_time_adjust),
18522         (gst_clock_set_property), (gst_clock_get_property):
18523         * gst/gstclock.h:
18524         * gst/gstcompat.h:
18525         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18526         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18527         * gst/gstdata.h:
18528         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18529         (gst_element_requires_clock), (gst_element_provides_clock),
18530         (gst_element_set_clock), (gst_element_clock_wait),
18531         (gst_element_wait), (gst_element_set_time_delay),
18532         (gst_element_is_indexable), (gst_element_add_pad),
18533         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18534         (pad_compare_name), (gst_element_get_static_pad),
18535         (gst_element_request_pad), (gst_element_get_request_pad),
18536         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18537         (gst_element_class_get_pad_template_list),
18538         (gst_element_class_get_pad_template), (gst_element_error_func),
18539         (gst_element_get_random_pad), (gst_element_get_event_masks),
18540         (gst_element_send_event), (gst_element_seek),
18541         (gst_element_get_query_types), (gst_element_query),
18542         (gst_element_get_formats), (gst_element_convert),
18543         (gst_element_is_locked_state), (gst_element_set_locked_state),
18544         (gst_element_sync_state_with_parent), (gst_element_change_state),
18545         (gst_element_finalize), (gst_element_yield),
18546         (gst_element_interrupt), (gst_element_set_scheduler),
18547         (gst_element_get_scheduler), (gst_element_set_loop_function):
18548         * gst/gstelement.h:
18549         * gst/gstevent.h:
18550         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18551         (gst_format_get_by_nick), (gst_format_get_details),
18552         (gst_format_iterate_definitions):
18553         * gst/gstformat.h:
18554         * gst/gstindex.c: (gst_index_gtype_resolver):
18555         * gst/gstinfo.c:
18556         * gst/gstinfo.h:
18557         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18558         (gst_mem_chunk_free):
18559         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18560         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18561         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18562         (gst_object_dispatch_properties_changed),
18563         (gst_object_set_name_default), (gst_object_set_name),
18564         (gst_object_get_name), (gst_object_set_name_prefix),
18565         (gst_object_get_name_prefix), (gst_object_set_parent),
18566         (gst_object_get_parent), (gst_object_unparent),
18567         (gst_object_check_uniqueness), (gst_object_save_thyself),
18568         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18569         (gst_object_set_property), (gst_object_get_property),
18570         (gst_object_get_path_string):
18571         * gst/gstobject.h:
18572         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18573         (gst_real_pad_init), (gst_real_pad_get_property),
18574         (gst_pad_custom_new), (gst_pad_get_direction),
18575         (gst_pad_set_active), (gst_pad_is_active),
18576         (gst_pad_set_event_function), (gst_pad_is_linked),
18577         (gst_pad_link_free), (gst_pad_link_intersect),
18578         (gst_pad_link_fixate), (gst_pad_set_caps),
18579         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18580         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18581         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18582         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18583         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18584         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18585         (gst_pad_realize), (gst_pad_get_allowed_caps),
18586         (gst_real_pad_dispose), (gst_real_pad_finalize),
18587         (gst_pad_collectv), (gst_pad_collect_valist),
18588         (gst_pad_template_dispose), (gst_pad_template_new),
18589         (gst_pad_get_internal_links):
18590         * gst/gstpad.h:
18591         * gst/gstpipeline.c: (gst_pipeline_dispose),
18592         (gst_pipeline_change_state):
18593         * gst/gstpipeline.h:
18594         * gst/gstplugin.c:
18595         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18596         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18597         * gst/gstpluginfeature.h:
18598         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18599         * gst/gstquery.c: (_gst_query_type_initialize),
18600         (gst_query_type_register), (gst_query_type_get_by_nick),
18601         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18602         * gst/gstquery.h:
18603         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18604         * gst/gstscheduler.c: (gst_scheduler_add_element),
18605         (gst_scheduler_factory_create):
18606         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18607         (gst_structure_free), (gst_structure_set_name),
18608         (gst_structure_id_set_value), (gst_structure_set_value),
18609         (gst_structure_set_valist), (gst_structure_remove_field),
18610         (gst_structure_remove_fields),
18611         (gst_structure_remove_fields_valist),
18612         (gst_structure_remove_all_fields), (gst_structure_foreach),
18613         (gst_structure_map_in_place),
18614         (gst_caps_structure_fixate_field_nearest_int),
18615         (gst_caps_structure_fixate_field_nearest_double):
18616         * gst/gststructure.h:
18617         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18618         (gst_system_clock_init), (gst_system_clock_dispose),
18619         (gst_system_clock_async_thread),
18620         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18621         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18622         * gst/gstsystemclock.h:
18623         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18624         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18625         * gst/gsttaginterface.c:
18626         * gst/gstthread.c: (gst_thread_dispose),
18627         (gst_thread_release_children_locks), (gst_thread_change_state),
18628         (gst_thread_main_loop):
18629         * gst/gsttrashstack.h:
18630         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18631         * gst/gsttypes.h:
18632         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18633         (gst_element_request_pad), (gst_element_get_pad_from_template),
18634         (gst_element_request_compatible_pad),
18635         (gst_element_get_compatible_pad_filtered),
18636         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18637         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18638         (gst_element_link_many), (gst_element_link),
18639         (gst_element_link_pads), (gst_element_unlink_pads),
18640         (gst_element_unlink_many), (gst_element_unlink),
18641         (gst_pad_can_link_filtered), (gst_pad_can_link),
18642         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18643         (gst_object_default_error), (gst_bin_add_many),
18644         (gst_bin_remove_many), (gst_element_populate_std_props),
18645         (gst_element_class_install_std_props), (gst_buffer_merge),
18646         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18647         (link_fold_func), (gst_pad_proxy_setcaps):
18648         * gst/gstutils.h:
18649         * gst/gstvalue.c: (gst_value_deserialize_string):
18650         * gst/parse/grammar.y:
18651         * gst/schedulers/gstbasicscheduler.c:
18652         (gst_basic_scheduler_cothreaded_chain),
18653         (gst_basic_scheduler_chain_recursive_add),
18654         (gst_basic_scheduler_pad_link):
18655         * gst/schedulers/gstoptimalscheduler.c:
18656         (get_group_schedule_function),
18657         (gst_opt_scheduler_state_transition),
18658         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18659         * libs/gst/bytestream/bytestream.c:
18660         * libs/gst/dataprotocol/dataprotocol.c:
18661         (gst_dp_header_from_buffer):
18662         * po/nb.po:
18663         * po/ru.po:
18664         * tests/threadstate/threadstate2.c: (eos):
18665         * tools/gst-compprep.c: (main):
18666         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18667         (print_pad_info), (print_children_info):
18668         * tools/gst-launch.c: (idle_func), (main):
18669         * tools/gst-md5sum.c: (idle_func), (main):
18670         * tools/gst-xmlinspect.c: (print_element_info):
18671         First THREADED backport attempt, focusing on adding locks and
18672         making sure the API is threadsafe. Needs more work. More docs
18673         follow this week.
18674
18675 2005-02-24  Andy Wingo  <wingo@pobox.com>
18676
18677         * tests/bench-complexity.scm:
18678         * tests/complexity.gnuplot: New files, good for running complexity
18679         benchmarks.
18680
18681         * tests/Makefile.am:
18682         * tests/complexity.c: New test, sets up N elements, at each level
18683         teeing into M streams per element. Eeeenteresting.
18684
18685         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18686         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18687         running bench-mass_elements.scm.
18688
18689         * tests/bench-mass_elements.scm: New script, runs mass_elements
18690         for various numbers of identities, outputting the results to a
18691         file. Requires guile 1.6. Just for testing.
18692
18693 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18694
18695         * gst/schedulers/fairscheduler.c:
18696           compile with debug disabled
18697
18698 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18699
18700         * configure.ac:
18701           hunting season on 0.9 is now OPEN